Sei sulla pagina 1di 208

Application of wave generator theory to the

development of a Wave Energy Converter






by

Maila Sepri


Bachelor of Science in Engineering
Swarthmore College
2005






A thesis submitted to
Florida Institute of Technology
in partial fulfillment of the requirements for the degree of



Master of Science
In Ocean Engineering








Melbourne, Florida
September 2008


















Copyright 2008 Maila Sepri
All Rights Reserved























The author grants permission to make single copies ________________________






We the undersigned committee hereby approve the attached thesis


Application of wave generator theory to the
development of a Wave Energy Converter

by Maila Sepri


as fulfilling in part the requirements for the degree of
Master of Science in Ocean Engineering.






__________________________________
E.D. Thosteson, Ph.D., P.E.
Assistant Professor, Ocean Engineering



__________________________________
S.L. Wood, Ph.D., P.E.
Assistant Professor, Ocean Engineering



__________________________________
H.M. Gutirrez, Ph.D., P.E.
Associate Professor, Mechanical and Aerospace Engineering



__________________________________
G.A. Maul, Ph.D.
Professor and Head of Department, Marine and Environmental Systems

iii


Abstract

Application of wave generator theory to the development of a
Wave Energy Converter
by
Maila Sepri
Principal Advisor: E.D. Thosteson, Ph.D., P.E.


This project was intended as a the initial step towards developing a wave
energy converter (WEC) capable of providing at least a quarter-Watt of power to a
small aquatic environmental monitoring sensor package being developed by Ocean
Research and Conservation Association (ORCA) in Ft. Pierce, Florida. The focus of
this project was to apply theoretical wave mechanics equations and basic wave
generation technology to improving the power capture design of a basic direct drive
WEC. A single WEC with a linear induction generator as its power take-off
mechanism was designed and constructed, along with two interchangeable wave
absorbers. The base absorber design, a cylindrical buoy comparable to the
Archimedes Wave Swing, was intended to harness primarily potential energy. The
second absorber design employs a unique buoy with a hyperbolic curve on its
windward face, specially shaped to take advantage of both the kinematic energy in
water wave particles and the waves potential energy.
In order to estimate the available wave power and wave parameters at
deployment sites around the Indian River Lagoon on the east coast of Florida, a
computer model based on meteorological hindcasting and wave generation equations
was created. The model predicted that sufficient energy is available year-round for

iv
supporting the low-power sensor, given at least a 5% efficiency of input wave power to
output power across the load. Comparison to wave measurements made in the lagoon
show that, on average, the model overestimates the power by 38%. Nevertheless,
dependence of the hindcasting data on daily averages recorded some distance from the
coast suggests that more thorough calibration from in situ wind data should be
conducted.
A design wave of 10cm height and 1.2-second period traveling in 1m of water
depth was selected to determine the dimensions of the second buoys curved face.
Upon deployment, the WEC successfully logged the power output of the system in
multiple wave conditions. A set of data in which the wave conditions experienced by
both buoys were consistent was used to form a direct comparison of their
performances. The deployment conditions consisted of 8.48cm wave heights at
approximately 1.5-second periods in 1.7m water depth. Contrary to predictions, the
specially-designed buoy in fact showed wave absorption performance inferior to that
of the cylinder. Hydrodynamic effects, including smaller buoyant forces for a given
wave height, were observed to interfere with the curved buoys intended mode of
operation. Detailed modeling of the constructed systems mechanical frequency
response is necessary for tuning the electrical system and developing an unbiased
analysis of the advantage of incorporating wave mechanics into WEC designs. In
addition, adaptive load and generator circuitry must be incorporated before the WEC
will be capable of achieving the efficiency needed to support a sensor system load.

v
Table of Contents
List of Keywords.................................................................................................... vi
List of Figures....................................................................................................... vii
List of Tables ....................................................................................................... viii
List of Abbreviations.............................................................................................. ix
List of Symbols ....................................................................................................... x
Preface ................................................................................................................. xii
Acknowledgements.............................................................................................. xiv
Dedication............................................................................................................ xv

1. Introduction.................................................................................................... 1
1.1 Existing WEC Designs ............................................................................ 1
1.2 Design Constraints .................................................................................. 6
1.2.1. Sensor Suite Requirements ............................................................... 6
1.2.2. Wave Energy Available in the IRL ................................................... 7
1.2.3. Challenges in Wave Energy Converter Design ................................ 19
1.3 Objective and Scope .............................................................................. 22
2. Design Concepts ........................................................................................... 23
2.1 Wave Generators and Absorbers ............................................................ 23
2.2 Application of Wave Theory to Buoy Design.......................................... 26
2.3 Mechanical Components ....................................................................... 32
2.3.1. Hydrodynamics ............................................................................. 34
2.3.2. Materials Selection......................................................................... 41
2.3.3. Dimensions ................................................................................... 42
2.4 Electronics Design................................................................................. 44
2.4.1. Power Generation Components...................................................... 50
2.4.2. Data Collection Circuitry ............................................................... 56
2.5 Software................................................................................................ 63
2.5.1 PIC Microcontroller Code.................................................................. 63
2.5.2 Post-processing Matlab Code........................................................... 66
3. Construction................................................................................................. 67
4. Testing Procedures ........................................................................................ 74
4.1. Calibration............................................................................................ 74
4.1.1. ADC analog input block calibration................................................ 74
4.1.2. Frequency testing........................................................................... 76
4.2. Deployment .......................................................................................... 80
5. Results and Conclusions ................................................................................ 82
5.1. Practical Observations ........................................................................... 82
5.2. Testing Conditions ................................................................................ 84
5.3. WEC Performance Results..................................................................... 87
6. Recommendations for Future Work............................................................... 93

References ............................................................................................................ 98
Appendices......................................................................................................... 103

vi

List of Keywords

Alternative energy sources
Direct drive
Evanescent waves
Hindcasting
Hydrodynamics
Impedance matching
Indian River Lagoon
Linear generator
Sustainability
Wave absorber
Wave Energy Converter (WEC)
Wave mechanics




vii
List of Figures
Figure 1: Commercial WEC design drawings. .......................................................... 2
Figure 2: AWS scale prototype and OPT PowerBuoy ............................................... 3
Figure 3: ORCA sensor suite ................................................................................... 6
Figure 4: Example map from IRL wave power distribution model............................. 9
Figure 5: Pixel-scale image of Melbourne Harbor. .................................................. 13
Figure 6: Example of daily wind variation.............................................................. 14
Figure 7: PAFB 2006 wind speed histogram and density distribution....................... 15
Figure 8: Cumulative distribution of annual wind speeds ........................................ 16
Figure 9: Seasonal wave power maps ..................................................................... 17
Figure 10: Piston paddle, flap-type paddle, and plunger wavemakers ....................... 23
Figure 11: Difference between proposed buoy shapes.............................................. 24
Figure 12: Water particle trajectories under progressive waves at different depths..... 26
Figure 13: Block diagram of the WEC system......................................................... 33
Figure 14: Populated PCB..................................................................................... 45
Figure 15: WEC printed circuit board schematic and layout.................................... 46
Figure 16: Block diagram of inputs and outputs to major circuitry components ........ 49
Figure 17: Magnetic gearing in a transverse flux machine........................................ 51
Figure 18: Winding the generator coil .................................................................... 68
Figure 19: Linear Inductance Generator box .......................................................... 70
Figure 20: Mechanical and structural components .................................................. 71
Figure 21: Buoy manufacturing processes............................................................... 73
Figure 22: Frequency calibration test configuration................................................. 77
Figure 23: Capacitor charging profiles and DC/DC converter power output plots. ... 79
Figure 24: Deployment site.................................................................................... 80
Figure 25: Frame assembly and deployment ........................................................... 81
Figure 26: Floating levels of the buoys during deployment ...................................... 82
Figure 27: Incident wave analysis from 13 August 2008.. ........................................ 85
Figure 28: Capacitor voltage and DC/DC converter power output .......................... 88

viii


List of Tables
Table 1: PAFB 2006 wind speed and frequency of occurrence ................................. 16
Table 2: Seasonal wave height and power characteristics......................................... 17
Table 3: Comparison of modeled and measured wave conditions ............................ 19
Table 4: Comparison between standing wave coefficients of piston and exponential
curve wavemakers..................................................................................... 31
Table 5: Oscillation table calibration trial results..................................................... 79
Table 6: Deployment log ....................................................................................... 84
Table 7: Comparative performance characteristics for the cylindrical and hyperbolic
curve buoys .............................................................................................. 87


ix
List of Abbreviations

ADC Analog-to-Digital Converter
CEM Coastal Engineering Manual
CTD Conductivity (Salinity), Temperature, and Depth sensor
FDS Fully-Developed Seas
IRL Indian River lagoon
NWS National Weather Service
ORCA Ocean Research and Conservation Association
PAFB Patrick Air Force Base
PIC Programmable Interrupt Controller
PTO Power Take-Off
RMS Root-Mean-Square
RTC Real-Time clock
WEC Wave Energy Converter

x
List of Symbols
A
p
Progressive wave coefficient
C Capacitance
C
D
Wind drag coefficient
C
m
Standing wave coefficient
c
o
Deep-water wave celerity
c
g
Group celerity
Volumetric displacement
Induced voltage (electromotive force)
F Force (subscripted for identification)
g Acceleration due to gravity
h water depth
H
s
Significant wave height, esp. determined by time-series analysis
H
mo
Significant wave height, esp. determined by spectral frequency analysis
k Wave number
k
p
Progressive wave number
k
s
Standing wave component
Wavelength (EM wave)
L Inductance, Wavelength (Water wave)
m Mass (subscripted for identification)
mA-h Milliamp-hours
Velocity potential of a water wave
Magnetic flux
Density, specifically of lagoon water
R Real resistance (electrical or mechanical analog)
Wave frequency
S Stroke length of wave generator/absorber, Buoyant spring constant
T Wave period
T
p
Peak wave period

xi
u Water particle velocity in the x-direction
U
10
Wind speed at 10m altitude
w Water particle velocity in the z-direction
x Displacement along the X-axis (horizontal) direction
X Reactance, Fetch
Water particle trajectory in z-direction
Water particle trajectory in x-direction
y Displacement along the Y-axis (horizontal) direction
z Displacement along the Z-axis (vertical) direction, esp. height of a water
particle within the water column or the buoy with respect to the still water
line.
Z Impedance

xii


Preface
Concerns over climate change and fossil fuel availability have channeled
attention toward revising systems of energy usage around the world. Numerous
proposals for alternative energy solutions have been presented, ranging from wind
turbines and solar panels to biofuels and tidal and wave energy converters. Naturally,
these solutions are all application-dependent. While biofuels offer a renewable fuel
alternative for mobile vehicle engines, they are not viable for applications far from
filling stations, such as remote sensor packages. Similarly, solar and wind power
technologies have advanced to commercial availability, but some characteristics make
them non-ideal for the application targeted in this project. Firstly, both solar and
wind power devices must have the majority of their components above the surface of
the water, and the initial deployment locations in the Indian River Lagoon see a good
deal of recreational traffic. Any visible devices are thus susceptible to vandalism,
whether malicious or simply curiosity-driven, and weather. Specifically pertaining to
solar panels, bird-induced fouling and salt accumulation require constant cleaning to
allow sunlight to penetrate the housing. Another drawback to solar panels is that they
collect energy only for small angles of incidence; this limits the collection time to
approximately 5.5 hours per day for non-tracking solar panels. If the panel cover is
clouded by bird excretions or salt deposits, the energy collection during the key hours
will be further inhibited. Developing alternatives to these energy capture methods
may make the difference between creating an economical sensor and one that is
prohibitively expensive for widespread use.
While marine sources of stored energy also include tides and currents, this
project concerns only wave energy. This decision was made partly to focus the

xiii
project, but also because waves have a more pervasive effect throughout the entirety of
the lagoon and its tributaries than do currents or tides.
Taking advantage of localized renewable energy sources averts the energy loss
inherent in power transmission over long distances. Moreover, such a configuration
makes use of previously untapped mesoscale renewable energy supplies, which may be
on the scale of just tens of Watts or less, but which still provide sufficient power to
satisfy individual applications. For example, running a remote sensor suite on
traditional battery power would require frequent travel to the field site or a permanent
power line connecting the site to shore. This configuration would demand a larger
sum of energy than providing the low-power instrument with its own robust recharger,
based on renewable technology. Optimizing a wave energy converter design to take
advantage of the small ripples and chop in the Indian River Lagoon would make use
of readily available local reserves of energy.
Although coastal Floridas wave and wind levels do not make it a candidate
for megawatt-scale generator research, small-scale development environments provide
a platform for economical testing and polishing of technology in natural conditions.
Improvements in wave energy absorption demonstrated as a result of testing this
projects apparatus would allow it to serve as a scale model for enhancing a larger
systems performance.

xiv
Acknowledgements
Dr. Edith Widder, Ocean Research and Conservation Association
Dr. Eric Thosteson
Dr. Stephen Wood
Dr. Hctor Gutirrez
Edward W. and Lee Hill Snowdon Administrative Fund
Gertrude E. Skelly Foundation
Mr. Tony Cimaglia
Mr. Benjamin Burns
Mr. Doug Bowlus
Mr. Ed Martin
Mr. Bill Bailey
Mr. Bill Battin
Mr. Charley Phelps
Mr. Kevin Donnelly
Dr. Geoffrey Swain
Dr. Lee Harris
Dr. David Fleming
Dr. Lee Caraway
Dr. Kenneth Fulton and Family
Mr. Michael Vergalla
Mr. Anthony Tedeschi
Mr. Anass Jerrari
Ms. Kelli Zargiel
Dr. Paavo Sepri
Mrs. Ann Sepri
Ms. Ashley Naimaster
Mr. Abraham Stephens

xv


Dedication


To my parents, for their devotion to my multiple activities, encouragement of any
interest I decide to adopt, and for their patience

and

to Tiia, my sister and best friend, for all our laughter.


1


1. Introduction

1.1 Existing WEC Designs

Although U.S. patents making use of wave energy date back to the 1880s,
interest in wave energy converters (WECs) gained speed after the oil crisis of the
1970s. Over the past 3 decades a number of schemes have been proposed for capturing
wave energy and converting it into a useable form (see Appendix A). Developments
have increased pace in the past few years, buoyed by recent technological
improvements. A few WEC designs have progressed past the prototyping stage to be
integrated into a power grid [17]. A majority of the designs employ hydraulics or
pneumatics to spin turbines or pumps and power conventional generators. Design
drawings for four of these devices are shown in Figure 1. WaveGens Limpet 500 uses
the oscillating level of water in an inverted chamber to force air through a Wells
turbine at the roof [21]. Similarly, the OWEL (Offshore Wave Energy, Ltd) WEC
utilizes wave front forces to compress air in the preceding trough through a chamber,
and the rushing air in turn rotates a turbine [30]. Another, the Pelamis by Ocean
Power Delivery, Ltd., depends directly on wave steepness to pump pressurized oil
through hydraulic motors [31]. Aalborg Universitys wave overtopping system Wave
Dragon channels waves into an artificial shoal and traps water from the breaking wave
crests at a higher elevation, then releasing it down to sea level through turbines [42].
The explanation behind implementing pneumatics or hydraulics in rotary
wave generators lies in the slow reciprocation speed of waves; gearing is needed to
increase the direct drive linear speed from only 0.5 to 2m/s to a typical generator

2
speed near 1500rpm [24]. Drawbacks to the pneumatics and hydraulics designs
include complexity and efficiency. The number of moving parts required for gearing
increases maintenance costs, and unavoidable part-loading (operation out of
resonance) drastically reduces turbine efficiency. In addition, hydraulic seal durability
has been drawn into question for variable velocity applications [24].

(a)

(b)

(c)

(d)

Figure 1: Commercial WEC design drawings, from their website descriptions. (a) Limpet
500 [21]. (b) OWEL [30]. (c) Pelamis [31]. (d) Wave Dragon [42].

The most commonly proposed alternative to conventional generators is the
linear inductance generator. This device employs permanent magnets to induce
electromagnetic fields on coils, exciting electrical current. Since any change in the
magnetic field creates a current in the wire, mechanical coupling to wave motion
ensures that some amount of power is transferred to the circuitry. This design offers
the advantage of fewer moving parts to be threatened by biofouling and corrosion, and
also less complexity in the generator stage. Unlike a rotating motor, the linear motion
of a magnet through a coil is one of the most basic concepts in electromagnetic theory.
Other benefits include high force density in the generator and reasonable efficiency at

3
low speeds [32]. Nevertheless, higher velocities are preferable because they induce
higher voltages on the coils, and many aspects of linear generator design determine
their performance efficiencies.
Despite a plethora of studies on linear generators for WECs [19, 20, 23, 24, 32,
39, 43, 41, 45], only two systems are notably beyond the design stage: the Archimedes
Wave Swing (AWS) and Ocean Power
Technologies PowerBuoy. These devices,
made by AWS Ocean Energy, Ltd., and
Ocean Power Technologies (OPT),
respectively, share generator geometries, but
their absorber components operate on
different principles. The moving component
of the AWS is a cylindrical, air-filled,
pressurized chamber that rises and plunges
according to the pressure head created by
waves propagating above it. The Power Take-
Off (PTO) system is a linear synchronous
generator using multiple permanent magnets
on the translator [32]. The relative motion of
the translator (coupled to the floater
cylinder) to the base section (secured to the
sea-floor) induces current in the inductor
located in the base. Creative positioning of
the magnets, coils, and core material on this
translator are being explored for increased
efficiency of the generator. Scale prototypes
of the AWS have verified model predictions,
and a pilot plant is currently being studied off the coast of Portugal (Figure 2). OPTs
PowerBuoy, which has undergone field testing in both the Atlantic and Pacific
Oceans, pierces the water surface and depends on wave heights lifting of the buoy to
drive its linear generator [28]. While little has been published to reveal the
(a)

(b)

Figure 2: (a) AWS scale prototype
before deploy-ment [32], and (b) OPT
PowerBuoy [28]

4
composition and operation of the PowerBuoys generator, OPT has acted as the
assignee in multiple patents on piezoelectric power conversion systems, such as that in
[11].
Literature has not yet concluded on the comparative efficiency of linear
generators versus that of rotary generators in WECs. An industry standard procedure
for rating efficiencies must be established for the blossoming WEC designs to resolve
the question of optimal topology. Meanwhile, it is instructive to weigh other factors.
Only two other challenges have been presented in literature regarding linear
generators. These are weight requirements and the increased difficulty in transferring
power to a grid due to amplitude and frequency fluctuations in the voltage [10].
Firstly, large quantities of permanent magnets needed for large-scale generation add
substantial weight to the translator. The WEC must be designed to accommodate or
make use of this weight. Secondly, rotary generators are intended to operate at a rated
voltage, with power generation levels thus determined by current output, but linear
generators will vary in both voltage and current. This complicates the powering of a
battery charger circuit, which requires a clean DC signal, so a rectifier and DC-DC
converter must be used.
One way to interpret the wide variety of WEC designs discussed above is that
each wave energy capture mechanism is designed around the PTO technology
available. Logically, if rotary generators are to be used, the motion of the wave must
be converted into rotary motion. For linear generators, linear motion is needed. The
challenge to WECs is that wave energy consists of both types of motion: vertical
(linear) displacement of the surface as a wave propagates through the water mass, and
elliptical motion of the water particles themselves. An energy analysis of a wave shows
that wave energy consists of equal parts hydrostatic (potential) energy and kinetic
energy. Simply harvesting the potential energy stored by the water surface, as does the
AWS, neglects to use the dynamic portion of the energy. Using only the waves
velocity loses the hydrostatic portion of the energy.
This concept indicates that, while efficiency of the generator is crucial to the
systems performance, the other requirement for efficiency is effective transfer of
kinetic and potential energy from the wave to the absorption device. Fortunately,

5
wave absorption is not a newborn field. Numerous attempts have been made to
dissipate wave energy in laboratory wave tanks by using the reverse technology of
wave generators. The original motivation behind these efforts was to minimize noise
from reflections and reduce settling time between experiments by removing wave
energy at the end of the wave channel. The development also shows that computations
nearly identical to wave generation equations may be applied to wave absorption [98].
Conveniently, wave generators have become quite efficient. A logical next step, then,
is to design a WEC that operates in the reverse of a wave generator. In this case, a
variety of wave generator geometries are available, including both piston- and flapper-
paddle generators, as well as plunger-type generators. In the wave absorber scheme,
the motor that conventionally drives the wave generation paddle or plunger becomes
the electrical generator driven by the paddle or plunger. Integrating the PTO with the
absorber then becomes a study on inverse-engineering efficient wave generators. This
thesis hypothesizes that focusing the design process on wave generation technology
should improve wave energy capture efficiency.



6
1.2 Design Constraints

This section discusses the conditions that determined basic design decisions,
motivated by the intended application.

1.2.1. Sensor Suite Requirements
The marine monitoring sensor suite for which this WEC system is intended is
being developed from the component level upwards by Ocean Research and
Conservation Association (ORCA) in order to create an affordable platform for
collecting oceanographic data. Its first generation version includes the sensors and
supporting circuitry to record water conductivity, temperature, depth, flow magnitude
and direction, optical backscatter (turbidity), wave height, wave period, package GPS
location, orientation, and speed of sound. Additional capabilities are planned for
future versions. Currently, resolution and regularity of data collection in the field is
severely limited by the power available to remote sensor systems. The purpose of this
system is to make spatially and temporally dense sampling economically and
logistically feasible for the scientific and educa-
tional communities by providing ample data
storage, regular data transmission and low
power consumption.
In the current design, a continuous
supply of 0.25W enables a pair of Li-Polymer
batteries to support the system for 2.5 days,
sampling at a rate of once every five minutes
and transmitting data via cellular
communications every hour. Since the sensor
suite can support six of these batteries and
deployment durations of at least a month are
desired, the package will require a lengthy
power supply tether if a local (renewable energy) battery recharger is not implemented.

Figure 3: ORCA sensor suite

7
While initial tests are being conducted on boat dock pilings in the Indian River
Lagoon (IRL) near Fort Pierce, Florida, future deployments in remote locations will
require reliable alternatives to a land-based power tether. The device in this project
was designed as a stand-alone mechanism that would eventually support a short tether
for feeding power to a battery charger within the sensor suite.
As per the power requirements mentioned above, the equivalent continuous
supply required to maintain operation is 0.25W. This is a time-averaged value; up to
6W is required during sampling and data transmission, and only a few milliwatts
during the intervals between. Similarly, wave power is neither continuous nor
smooth, so a WEC serving the sensor package would be expected to smooth the
supply voltage and store excess power as it becomes available so that reserves are
available when waves dwindle.

1.2.2. Wave Energy Available in the IRL
In order to gage the feasibility of harnessing the equivalent of 0.25W
continuously in the intended deployment region, it was first necessary to quantify the
wave power available in the region. For instance, useful estimates include the energy
content of the predominant IRL wave climate, the mean energy value, the energy
content of peak and lull wave events, the number of hours per day during which these
conditions are likely to occur, and seasonal variation statistics. The following sections
detail the computer model written to arrive at these estimates. First, a few definitions
will be helpful.

1.2.2.1 Wave Parameters and Theory
As detailed in [7], wave energy is dependent upon the height of the wave. The
potential energy is the work involved in lifting a volume of water of a given density
from the troughs center of gravity to the height of the crests center of gravity; kinetic
energy is the energy of water particles moving at a given velocity. Both the potential
and kinetic components of the energy are proportional to the square of the wave
height, so the average energy per unit surface area is given by

8
{1}
2
8
1
gH E =
where is the water density, g is gravitational acceleration, and H is the wave height
from trough to crest. Note that wave energy is described in terms of energy density:
the amount of energy per unit area of water surface, integrated over the depth of the
water. While wave energy is dependent upon only wave height (not depth or period),
most of the energy is concentrated in the region between the surface and a depth equal
to half the wavelength. For this reason, and for power calculation, the height, period,
and water depth must be known in WEC design. Energy flux, or power per unit
width of wave crest, is the amount of energy per unit time that a wave carries over a
line of unit width parallel to its crest.
{2}
g
Ec P =

where C
g
is the speed of energy transmission, called the group velocity. This value
depends on the ratio of depth to wavelength. In shallow water, the group velocity is
the same as the phase celerity of individual waves, but as the depth increases to greater
than 5% of the wavelength, the group celerity begins to approach half the phase speed.
To put a physical scale on the power predicted by these equations into familiar terms,
a 0.75m, 6-second wave breaking in 1m of sea water, not uncommon on Floridas
Atlantic coast during the winter [27], carries over 2.04kW of power per meter of wave
front. During the summer, a typical 0.25m, 8-second wave carries just over 0.23kW.
In conclusion, in order to calculate the wave power in a certain area, the regions
typical wave heights, periods, and water depth must be known. Design depth for the
wave absorber should be based upon half the wavelength of the predominant wave
climate.

1.2.2.2 Modeling the IRL Wave Energy
Installing sensors in multiple locations and collecting data over a period of
time offers a straightforward and reliable method for determining typical local wave
climates, but at the current time an extensive set of wave data is not available for the
IRL. Meteorological data, on the other hand, is accessible, so an alternative method is

9
to use historical meteorological data to hindcast, or mathematically model, the wave
conditions corresponding to the wind record. Sample data must be collected to verify
the models predictions, yet the model is useful for both creating initial estimates of
energy magnitudes and discerning trends and relationships between locations in close
proximity. A convenient way to present results from these models is to generate color-
coded maps of the IRL showing available wave power, in W/m of wave front, at each
location, such as in Figure 4. The full MathWorks Matlab code for completing the
maps can be found in Appendix C, but the general equations and concepts will be
discussed here so that the procedures followed are clear.

Figure 4: Example map of IRL wave power distribution, in W/m,
generated using wind data hindcasting models

The equations used to calculate wave height based on wind data are provided
in the Coastal Engineering Manual (CEM), compiled by the United States Army
Corps of Engineers [32]. The equations are both theoretically- and empirically-based,
and they state that the main input arguments to the hindcasting model are the water
depth, d, 10-m elevation wind speed, U
10
, and straight-line wind fetch, X. Due to the
empirical coefficients in these formulas, SI units must be used. Equations for wave
growth that take fetch into account were needed because of the limitations imposed by

10
the barrier island on one side of the lagoon and the mainland on the other. The
significant wave height, H
s
, is defined as the highest 1/3 of the waves, and is given by
{3}
2
1
2
2
2
10 13 4
|
|

\
|
|
|

\
|
=

*
*
s
u
gX
g
u
. H
where g is gravitational acceleration and
*
u is the friction velocity related to the
standard 10-m elevation wind speed by
{4}
2
10 *
*U C u
D
=
with wind stress drag coefficient C
D
calculated as below.
{5} ( ) *U . . * . C
D 10
035 0 1 1 001 0 + =
If the wind speed is measured at an altitude other than the standard reference height of
10m, or if it is measured inland or for only a short time interval, equations and plots
are given to adjust the value, but the author refers interested readers to Part II, Chapter
2 of the CEM for further information. The peak period is given by
{6}
3
1
2
751 0
|
|

\
|
|
|

\
|
=
*
*
p
u
gX
g
u
. T
The CEM equations account for depth, steepness, and fetch limitations on the wave
height and period. With the exception of a deep shipping channel that runs along the
axis of the lagoon, the water depth of the IRL averages to slightly over 1.5m. For
simplicity and also conservatism in energy estimates, 1m was chosen as the water
depth for all predictions. This imparts a factor of safety into the calculations, since
larger waves generated in 1.5m water depth would break upon encountering a shoal of
1m water depth. Since studies have refuted the effect of bottom friction on wave
generation, shallow-water wave generation is calculated in the same way as in deep
water, with the exception that the peak periods upper bound is given by
{7}
2
1
,
78 . 9
|
|

\
|
=
g
h
T
SW p
.

11
In the case that the period in {6} is greater than that of {7}, the T
p,SW
value should
replace T
p,
and the measured fetch X should be replaced by a dimensionless fetch
X

derived from the new peak period and Equation {6}.


{8}
3
*
751 . 0

|
|

\
|
=
u
gT
X
p

Since winds often change frequently, a criterion for assessing the applicability
of these equations is the duration for which wind traveling at U
10
traversed the fetch X.
Intervals shorter than t(x,u) given below yield duration-limited waves.
{9}
33 . 0 34 . 0
67 . 0
*
23 . 77 ) , (
g U
X
u x t
a
=
This criterion is not automatically tested in the Matlab code, but the result is printed
so that the user may check the wind record to verify that the wind blew at the input
speed and direction for a sufficient amount of time. The code does ensure that wave
height predictions do not exceed depth and steepness breaking limitations by applying
the relations in {10} and {11}, respectively.
{10} h H
d
6 . 0
lim _
=
1

{11}
7
lim _
L
H
s
=
One important point to note is that this depth limitation is not the same as the
dispersion equation depth limitation based on the value of kh, explained further in
Section 2.2 below. This means that waves predicted by the model will not exceed the
breaking criterion, but they are not necessarily deep water waves. This condition must
be tested independently when the shape of the waves predicted by this model is of
concern.
Since the above formulas all assume that the waves are fetch-limited, the fully-
developed sea (FDS) wave height is calculated very approximately for comparison.

1
This depth-limitation coefficient of 0.6 is used for random waves. The less
conservative coefficient accepted for monochromatic waves is 0.78, but the use of
significant wave height inherently implies random wave conditions.

12
{12}
g
U
. H
FDS
2
10
27 0 =
After significant wave heights and peak periods have been assigned to the locations of
interest, the wave energy and power can be computed using {1} and {2}. In the
process, the group velocity of the waves must be computed. The dispersion equation
relates wavelength and period at a given depth and requires iteration to solve for the
wavelength.
{13} ) tanh(
2
kh gk =
In {13}, is the wave frequency equal to 2/T, and k is the wave number, given by
2/L. The wave celerity is given simply by wavelength L divided by wave period T,
{14}
T
L
c =
and the group velocity by
{15} nc c
g
=
where
{16}
|
|

\
|
+ =
) 2 sinh(
2
1
2
1
kh
kh
n .
The factor n accounts for the phenomenon that energy propagates at the speed of the
group of waves, which may be different than the phase speed of individual waves. The
energy travels only as fast as the foremost boundary of the group, so the power is
limited by the group velocity. In deep water (h/L > ), Equation {16} simplifies to
0.5, while in shallow water (h/L < 1/20), n approaches unity.
Equation {16} concludes the inventory of formulas included in the modeling
code, so before the results of the simulations are presented, an account of the fetch-
and wind velocity- determination is needed. The maps generated by the simulation
are intended to show the power distribution over the entire lagoon, so fetch is very
direction- and location- dependent. In order to assign each point in the lagoon an X-
value for a given wind velocity, a basic image-processing program was written to find
the straight-line distance from each pixel on a map to the shoreline in the direction of
the wind. First a screen capture is taken of a Google Earth satellite image of the

13
region of interest in the lagoon. By enabling the Postal Code Boundaries layer
(within the US Government menu), yellow lines highlighting the coastlines are
conveniently added to the image, so that the program will be able to pick out the land
from the water. One caveat is that the image must be aligned such that the north-
south compass direction is exactly vertical while the screen shot is taken. The image is
then saved as a bitmap, and the actual east-west and north-south distances (in meters)
spanned by the image must be noted using the ruler tool in Google Earth. These
dimensions provide the program with a scale upon which the fetches are calculated.
For some maps, a good deal of pixel-level editing must precede application of the
fetch-calculating code. For instance, the barrier islands eastern coast must be
highlighted red rather than yellow in order to decrease computation time and increase
color resolution within the lagoon on the final power maps. In addition, intricate
coastlines with capes and north/south-oriented corners confuse the program unless a
distinct coastline-land-coastline pattern is drawn (see Figure 5).


Figure 5: Pixel-scale image of Melbourne Harbor showing (a) the original intricate coastline
highlighted with yellow corners and (b) edited so that all corners and jetties have gaps
between yellow pixels to create a distinct coastline-land-coastline pixel pattern.

When these steps are completed, the program uses the yellow borders to create
a black and white image (black land and white water) and then assigns a fetch value to
each pixel in the water by following a search in the direction of the approaching wind
until it finds the first coastline pixel.
The last parameter required to run the program is wind velocity. As stated
earlier, useful wave energy estimates would include predominant, peak, and lull

14
conditions, as well as the frequency with which those conditions should be expected.
A study conducted over 30 years by the National Weather Service (NWS) at the
Melbourne International Airport [100] and another conducted over 66 years by the
National Climatic Data Center (NCDC) [98] provided monthly summaries of speed
and direction in wind rose format, and a years worth of digital wind data from Patrick
Air Force Base (PAFB) was used to create histograms of the wind speeds and their
yearly duration. The PAFB data was recorded every five minutes throughout 2006. A
qualitative comparison of the PAFB data with the NWS wind roses showed (a) that
the wind distribution on the barrier island (PAFB) does not differ greatly from that of
the mainland (NWS) and (b) that 2006 did not deviate greatly from the 30-year
average [24]. Another important conclusion derived from the digital data is that the
minimum duration to achieve fetch-limited conditions should be checked when
conditions are predicted, because both wind speed and direction can vary greatly over
the span of a day. As seen in Figure 6, variations of 7 m/s and 150 may occur in just
a few hours.

0
1
2
3
4
5
6
7
8
9
Time of Day
W
i
n
d

S
p
e
e
d

(
m
/
s
)
-40
10
60
110
160
210
260
310
360
W
i
n
d

d
i
r
e
c
t
i
o
n

(
d
e
g
r
e
e
s

f
r
o
m

N
o
r
t
h
)
Wind Speed
Wind Direction

Figure 6: Example of daily wind variation, plotted from
PAFB digital data from 7 June 2006.

This minimum duration varies primarily with the direction of the wind, as approaches
parallel to the length of the lagoon (maximum possible fetch) will need time to

15
generate their maximum power potential. If the minimum duration is not met,
changes in wind will simply be assumed to reduce the predicted energy, as the CEM
monograms do not account for such small-scale fetch and time parameters. A
normalized histogram compiling data from the entire year is shown in Figure 7.

0 2 4 6 8 10 12 14 16 18
0
0.02
0.04
0.06
0.08
0.1
0.12
Windspeed (m/s)
P
e
r
c
e
n
t
a
g
e

o
f

H
o
u
r
s

A
n
n
u
a
l
l
y

Figure 7: PAFB 2006 wind speed histogram and density distribution

Aptly similar in shape to the JONSWAP spectrum for fetch-limited, deep-water
waves, the histogram shows the number of hours over the course of 2006 that PAFB
experienced winds of the given speed. The mode is easily seen as the peak in Figure 7;
it represents the wind speed that occurs most often annually. This value corresponds
to the predominant wave climate mentioned above. The power mean is given as the
speed that generates the mean value of wave energy flux density, calculated as the first
moment of the wave power histogram.
2
Peak and lull periods of energy content are
integral in determining the survivability and dependability, respectively, of the WEC,
and should not be omitted from any long-term study of WEC feasibility. However,

2
The power histogram was determined by plotting on a log-log scale the wave energy versus
wind speed for a range of wind speeds and a given average fetch, and then measuring the slope
in order to assign an exponent to the wind speed/wave energy relationship. This exponent was
determined to be 1.3 for a fetch of 1.5km and 2.38 for 4.5km.

16
these events were not simulated extensively with the modeling in this project, as the
requisite statistical analysis of daily patterns of wind durations is beyond the scope of
the project. In a related strain, it is worth noting that no tropical events occurred in
the region in 2006, so the extreme weather conditions are not factored into this data.
The number of bins into which the histogram is divided greatly affects the number of
hours corresponding to each speed, so a cumulative probability density function
method is useful in quantifying the number of hours per year that winds of at least a
given speed are likely to occur. The results are given in Figure 8 and Table 1.
0 2 4 6 8 10 12 14 16 18
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
Wind speed (m/s)
H
o
u
r
s

p
e
r

y
e
a
r

Figure 8: Cumulative distribution of annual wind speeds


Table 1: PAFB 2006 wind speed and frequency of occurrence

Wind speed
(m/s)
Annual hours
during which
speed is greater
Average daily hours
during which speed
is greater
Mode 3.15 4665 12.7
Power mean 4.11 3050 8.35

Using the wind directions from the 30-year studys monthly wind roses to associate
months with a season, the years worth of digital data was divided into winter
(November February), spring (March April), and summer/fall (May October). A

17
fourth season is not distinguished here due to the similarity of the fall months wind
directions to those of the summer months. The wind speed corresponding to the first
moment of each seasons wave power distribution was used with the MATLAB
program to generate the wave power maps in Figure 9. This wind speed represents the
wind that creates the average power seen in the location annually.


Figure 9: Seasonal wave power maps. (a) Winter prevalent conditions of 4.76 m/s winds
from the north yield power up to 65 W/m
2
. (b) Spring prevalent conditions of 4.34 m/s
winds from the southeast yield power up to 27 W/m
2
. (c) Summer prevalent conditions of
4.11 m/s winds from the east yield power up to 13 W/m
2
.

Table 2: Seasonal wave height and power characteristics
Annual Spring Summer/Fall Winter
Wind Direction E SE E N
Mean Power Wind Speed (m/s) 4.11 4.34 4.11 4.75
H
s
(m) 0.10 0.13 0.10 0.18
T
p
(s) 1.2 1.3 1.2 1.6
Mean Condition Max Power (W/m) 13 27 13 65

It is important to note that the equations used to generate the maps do not
account for diffraction of waves around barriers or bathymetric effects like refraction
over sloped terrain, so the boundaries between regions sheltered by outcroppings of

18
land and those less sheltered are defined with artificial sharpness. Other factors that
affect wave parameters include temperature gradients, reflection, and tides.

1.2.2.3. Comparison to Field Measurements
In order to verify that the wave properties predicted by the hindcasting model
do indeed correspond to actual conditions in the IRL, a series of water level
measurements was conducted. A 0.5m-long Ocean Sensor Systems Wave Logger was
deployed on a piling at various locations around the lagoon in the vicinity of
Melbourne, FL. This instrument is a user-calibrated capacitive-type wave gage with a
programmable data collection frequency. It stores the stream of water level data to a
Compact Flash Card in text form in a CSV file. The wind and wave directions, GPS
coordinates, and sample time were documented during each deployment, and the
average wind speed for that time was recorded from the NWS webpage. In addition,
the wind speeds from the hours preceding the data collection time were noted in order
to determine if the minimum wave-generating wind duration had been achieved.
The documented wave-generating wind speeds and directions were then used
as input conditions in the models, and the output peak periods, significant wave
heights, and minimum durations were compared to the measured data. In order to
extract these characterizing properties from the wave gage water level data, the CSV
file had to be re-saved as an Excel (.xls) file and reformatted using the
convertOSS_WEC.m Matlab program given in Appendix C. The time series was
then run through a zero up-crossing routine to identify individual waves, and a
cumulative distribution was created to determine the height of the largest third of the
waves. The frequency of peak energy content, and thus the peak period, was
determined by generating a wave energy spectrum. The period associated with the
peak in the energy spectrum was selected as the peak period. The results of the
comparison are presented in Table 3. The comparison reveals that the model is useful
for targeting a very approximate range of wave heights and periods for given weather
conditions. Wave periods generally corresponded within 15%, but percent differences
in the 40% range were common with the wave heights. Notably, the modeling
conducted here overestimated wave heights, causing the average overestimation of

19
wave power to be 38%. Nevertheless, trends were preserved, so WEC designs based
on modeling wave parameters may be improved after a sufficient amount of wave data
is collected for the specific site of deployment.

Table 3: Comparison of modeled and measured wave conditions
Location/
Date
Generating
Wind
direction
Avg. Wind
Speed
(m/s)
Hs (m)
measured
Hs (m)
model
T (s)
measured
T (s)
model
Anchorage/
Aug 13
130 3.5 0.108 0.141 1.52 1.59
Front Street/
Aug 17
115 2.6 0.065 0.076 0.93 1.16
Front Street/
Aug 21
108 5.3 0.055 0.094 1.05 1.2

An important consideration is the source of the wind data used to hindcast the
waves; the daily average speed and direction from the NWS record at the Melbourne
Airport may not represent actual on-site meteorological conditions. For true
calibration of the model, multiple data sets must be collected that include in situ wind
records for the period of time leading up to wave data collection.

1.2.3. Challenges in Wave Energy Converter Design
WECs face a unique set of challenges to implementation and efficiency. Like
marine structures of all kinds, they are subject to the extreme biofouling and corrosion
elements in the aquatic environment. Not all marine structures, however, rely on
constant unimpeded movement for efficiency, as WECs do. Lancaster Universitys PS
Frog addresses this by minimizing external moving components, by encasing all power
take-off (PTO) mechanisms within a closed hull [13]. For designs in which this is not
possible, bio-resistant materials and coatings should be used for long-term
deployments. As this project is a proof-of-concept, a brief materials study was
conducted before purchasing construction materials, but long-term performance under
loading design will be left for future generations of the WEC. Exposure to continual
wave forces and episodic storm forces make robustness and simplicity of repair a
major design consideration.

20
A second hurdle, and one that has been studied extensively, is tuning the WEC
system to efficiently use a broad spectrum of wave frequencies, heights, and shapes.
As was mentioned briefly above with conventional rotational generators, any dynamic
system has a characteristic resonance frequency at which it operates most efficiently.
Resonance means that, as the exciting force acting on the system approaches a
particular frequency, the system reacts with the greatest possible amplitude of
oscillation. When no damping is present, an excitation force matching the systems
natural frequency will produce undamped motion at the same frequency, such that the
resonant and natural frequencies of the system coincide. However, damping from the
waters viscosity, system friction and loading, etc., will always be present, so the
damped natural frequency is slightly lower than the resonant frequency. The motion
is still maximized when the systems actual natural frequency and the excitation
frequency are equal. This sensitivity to excitation frequency can both help and hinder
wave energy capture. If the WEC has a natural frequency in water that is close to that
of the approaching waves, maximum oscillation speeds and therefore maximum
power transfer will occur [11]. However, for wave periods dissimilar to the resonance
period, efficiency will drop. Ocean waves are rarely monochromatic, and the wave
climate of any location is not constant over time. For the WEC designer this creates
an unavoidable trade-off between optimizing the resonance frequency for maximum
performance efficiency at peak frequency and optimizing for fairly high efficiency over
a broad range of frequencies [3, 8, 9]. The optimal design would balance high
efficiency at the resonant frequency with fairly efficient operation over a wide
bandwidth. An ideal solution, although one that has yet to be successfully
implemented, is to enable the WEC to adjust its natural frequency in real time to
match current wave conditions. The models and measurements detailed above were
used to select an appropriate characteristic frequency, but attempts to optimize for or
adapt to multiple frequencies is beyond the scope of this project.
Another challenge, and the one that has been specifically addressed with this
project, is capturing the most energy possible from an approaching wave. As
discussed in Section 1.1, many current designs make use of either the hydrostatic or
the dynamic portions of the waves energy. A wave generator, however, supplies both

21
components of energy to the generated wave. This project proposes the use of inverse
wave generator theory so that the maximum possible energy may be absorbed for
conversion to electricity.

22
1.3 Objective and Scope

In an effort to improve wave energy capture efficiency, the wave absorber
shape of a basic direct drive WEC was modified using knowledge of wave mechanics
and wave generators. A single PTO section consisting of a linear induction generator
and its supporting circuitry was designed and built to accommodate interchangeable
buoys. Both a cylindrical buoy shaped like the AWS floater and a plunger buoy with
a specially curved face were constructed. The curve was contoured to match the
hyperbolic profile of water particle displacements in an approaching wave of height
0.1m and period 1.2 seconds in a water depth of 1m. The two buoys were then
deployed in same location during similar conditions in order to ascertain whether the
customized shape enhances wave energy absorption. In this way, the system focuses
upon testing the wave absorber efficiencys effect on WEC power generation. The
device was designed as a stand-alone, watertight mechanism such that future versions
may be connected to the sensor suite with a short tether, over which power can be fed
to a battery charger.




23


2. Design Concepts

2.1 Wave Generators and Absorbers

In deciding to use wave generation technology to design wave absorbers, a few
design options were available. The two main classes of wave generators are paddles
(including both piston and flapper types) and plungers [41]. As seen in Figure 10,
paddle-type generators are simple boards that translate while positioned vertically (in
the case of the piston) or that pivot about the end attached to the ground (in the case of
the flap). The plunger type generally consists of a wedge-shaped block that is thrust
downwards into the waters surface and pulled up again at a desired frequency. The
angle the wedge face makes with the vertical wall is denoted .


Figure 10: Piston paddle, flap-type paddle, and plunger wavemakers

As the motion of the plunger is similar to that of a buoy bobbing at the surface, this
wave generator design is similar to that of the AWS and PowerBuoys absorbers, and
their cylindrical body shapes provide the control model for this projects wave absorber
comparison. The WECs linear inductor PTO is coupled to the vertical motion of the
buoy, as shown in Figure 11. As the wave moves the buoy up and down, the magnet

24
is driven through a coil in the box above the buoy. This WEC is anchored to a piling
during deployment, with the buoy submerged and its top resting on the surface. An
advantage discussed earlier is shielding the WEC from of both storm forces and
curious vandals by positioning the entire PTO under the surface, like the AWS. For
simplicity of construction and deployment, that geometry was not used in this
prototype, but the same technology may be inverted and submerged in a subsequent
version, after the concepts have been successfully demonstrated. The floater of the
AWS was designed with survivability in mind; it is actually submerged at least 6m
below the surface so that a large passing wave pushes it downwards under the
hydrostatic pressure, rather than lifts it to the point of structural damage. Also shown
in Figure 11 is the proposed change to the buoy shape, which centers upon buoy
movement being directly coupled to wave motion. Any improvement in energy
capture displayed by the modified floater shape would suggest that increased emphasis
on wave mechanics would be a beneficial consideration for direct-drive WECs like the
AWS.

Figure 11: Difference between proposed buoy shapes

In general, plunger wavemakers are designed for single-direction wave
generation. In the new buoy design, all sides except the wave-absorbing face are flat in
order to minimize transmission of wave energy back to the water in other directions.
The rod restrains the buoy to vertical movement, and thus the wave energy
retransmitted to the water through radiation from the reverse side of the buoy is kept
to a minimum. Eventually, giving the buoy freedom to rotate on the rod that connects

25
it to the translator would allow the buoy to rotate as wave direction shifts without
requiring the entire apparatus to be moved. However, due to the potential
complication of the buoys yaw dynamics, the direction was fixed in the prototype to
avoid admitting too many variables into the performance analysis. The primary
reasoning behind the hyperbolic curve-shaped profile of the new wedge buoy is to
better match the wavemaker surface with the natural particle trajectories in waves.
Hence the hyperbolic profile is derived from theoretical equations of water particle
trajectories in wave mechanics.
In any wave generator geometry, the forced displacement of water transfers
both potential and kinetic energy to the water particles. However, the boundary
conditions at the paddles, cylinders, and wedge-shaped plungers faces do not match
the elliptical trajectories of water particles under the progressive wave at a figurative
infinite distance from the wave generator. For this reason, some of the power put
into a wave generation system is lost in creating vertical standing, or evanescent, waves
that compensate for the mismatch at the boundary. In essence, some of the wave
energy approaching the paddle will be diffused into creating vertically propagating
standing waves that oscillate in front of the paddle. These evanescent waves decay
with distance from the paddle in the same way that particle movement decays with
depth in progressive waves. A quantitative explanation of this is given in the next
section.



26
2.2 Application of Wave Theory to Buoy Design

Many of the most energetic waves generated by IRL wave simulations based
on meteorological hindcasting have depth-to-wavelength ratios that qualify them as
transitional depth waves, rather than as shallow- or deep-water waves. The deep
depth regime criterion is important during the WEC design process because it
determines the shape of water particle movements. Particles in a wave do not translate
significantly as the wave propagates; they travel in elliptical trajectories given by
{17}

+
= =

+
= =
) cos(
sinh
) ( sinh
2
) sin(
sinh
) ( cosh
2
t kx
kh
z h k H
wdt
t kx
kh
z h k H
udt



where and are the time-variant positions in the x- and y-directions, respectively.
The depth of the water particle, z, becomes increasingly negative as depth from the
surface at z=0 increases. The time-invariant terms in these equations are the
horizontal and vertical axes lengths. As kh0 in shallow water, shrinks relative to
, so the ellipses become increasingly horizontal. In deep water, however, the
trajectories are circular, and axis magnitude decreases exponentially with depth.

Figure 12: Water particle trajectories under progressive waves at different depths [8]

These particle trajectories come into consideration when deciding on the type of wave
generator to use. Piston paddles force equal horizontal displacement of water particles

27
over the entire depth, thus creating waves more akin to shallow water-type waves than
do flapper paddles. In the absorber regime, it is therefore logical that piston paddles
should better absorb energy from shallow water waves than from deep water waves.
The following equation can be used to predict the stroke of a piston paddle generating
a wave of height H:
{18}
( )
h k h k
h k
S
H
p p
p
2 2 sinh
1 2 cosh 2
+

=
Dean and Dalrymple state that linear theory for plunger wavemakers making small
vertical motions and with small angle is the same as that for piston paddle
wavemakers. This is logical because as a triangular wedge oscillates vertically, the
proximal water particles all experience forced horizontal displacement of equal
magnitude, regardless of depth, as with a piston paddle. The cylindrical buoy has =0,
and the curve-faced buoy has a small at the deepest section. Using {18} for the latter
buoy, however, would result in an underestimated height-to-stroke prediction because
it does not accurately represent the effect of the upper portion of the hyperbolic curve-
faced buoy, where is large. Due to this section the buoys profile has some similarity
to a flapper paddle, which displaces surface particles more than particles near the sea
floor. The flapper paddle has a height-to-stroke ratio given by
{19}
h k h k
h k h k h k
h k
h k
S
H
p p
p p p
p
p
2 2 sinh
1 cosh sinh sinh
4
+
+
|
|

\
|
=
These equations are derived from the Laplace equation with the dynamic and
kinematic free surface boundary conditions, the bottom boundary condition, and the
lateral boundary condition imposed by the wavemaker. The following equation,
derived in Appendix E, expresses the height-to-stroke ratio of an exponential decay-
faced plunger optimized for strictly deep water waves:
{20}
( )
( )
( ) 1 2
2 2 sinh
sinh

2
+

+
=
h k
p
h k
p p
p
p p
e h k e
h k h k
h k
S
H

If, however, the plungers curved face is shaped to match exactly the water particle
trajectories magnitudes in shallow-water or transitional regime waves, a hyperbolic
curve results of the form

28
{21}
( ) ( )
( ) h k
z h k S
z S
p
p
sinh
cosh
) (
+
=
Evidence that this stroke profile should perfectly match the water particle trajectory in
a linear wave is shown when the S(z) in {21} is substituted into the equation relating
generated waveforms and the progressive wave heights far from the paddle (see
Appendix E); the height-to-stroke ratio is exactly equal to one. Since basic
wavemaker theory is based upon volumetric displacement of water by the wavemaking
body, a plunger whose stroke displaces the same volume of water from a certain
control volume as a progressive wave would move naturally from that control volume
needs to travel only the same distance as the water particles it is exciting.
For a given stroke S, a flapper paddle creates smaller amplitude wave than a
piston paddle, since it displaces half the water volume. This means that in the inverse,
the same wave will create a greater stroke on a flapper paddle absorber than on a
piston paddle absorber. By extension, a concave-faced paddle (or plunger) displaces
even less water per stroke than a flapper paddle and therefore would undergo a greater
stroke when absorbing a given wave. For a 13cm wave in a meter of water with a 1.3-
second period (generated by a northerly 5m/s wind in the IRL), the flapper paddle
stroke would be between 10 and 11cm while the piston paddle stroke would be slightly
over 7cm. An exponential decay plunger traverses a stroke of 13.7cm, and the
hyperbolic curve plunger has a stroke equal to the wave height, 13cm. The average
power needed to generate such waves with a comparable wavemaker is given by
Equation {2}. For this example, the result is approximately 20 W/m.
Since kh=2.419 (between /10 and ) in example above, this is a transitional
water depth wave, and the particle motions will be more like those created by the
generator of Equation {21} than any of the other three. The reason behind the
hyperbolic curve buoy traversing a greater stroke than the cylinder is that, in the wave
generator scheme, its smaller internal volume requires a larger stroke to displace the
amount of water contained in the wave peak. The exponential decay plunger
displaces even less volume and therefore needs a greater stroke length, regardless of
the wave type. Nevertheless, the theory in this project recommends the hyperbolic
decay buoy over the exponential decay buoy for intermediate wave types. While a

29
linear generator does depend on translator speed to spike its voltage, matching the
wave mechanics should take maximum advantage of both the kinetic and potential
energy in the waves. In the absorber scheme, if the wave transmits energy to the buoy
as it would another water particle, the buoy will gain both the kinetic and potential
components of the wave energy. If, however, the wave encounters the buoy as a
disruptive solid body, wave forces vary over the extent of the buoys surface.
Momentum is instead transferred back to the water particles as the wave energy is
partially dissipated in diffraction and radiation of waves off the buoy. These concepts
are discussed further in the Hydrodynamics section below, and they explain why the
cylindrical buoy should dissipate more energy per unit absorption width than the
hyperbolically curved block. For the similar shapes of the exponential and hyperbolic
curves, we look to evanescent wave generation to determine the better choice. The
hyperbolic curve-shaped absorber face is an attempt to minimize evanescent wave
generation by matching the face movement with water particle movement. The
exponential decay buoy is specifically targeted for deep-water waves. Ideally the front
face of a wave generator, be it a paddle or a plunger, would move identically to the
motion of water particles to create deep water wave particle motions directly in front
of the paddle. This condition would not produce evanescent waves. While elliptical
motion is impossible for a flat piston or flapper face, a specially curved face should
better match the trajectories, since the face displaces neighboring water particles by the
same amount as particles move far from the paddle. By making the remaining faces of
the plunger vertical, little energy will be transferred back into wave energy on the other
sides of the buoy.
In order to verify that the hyperbolic curve profile associated with water
particles in a progressive wave will minimize evanescent wave generation, the
wavemaker theory velocity potential, , was calculated for a paddle with a stroke
s(z)=S*cosh(k
p
(h+z))/sinh(k
p
h) for z=0 at the surface and increasingly negative z with
depth. For comparison, calculations for the exponential decay profile s(z) = S*exp(k
p
z)
were also performed.
Before the equations for velocity potential are presented, a side note
concerning these stroke equations should be discussed. In each of the three cases, s(z)

30
represents the maximum stroke width at a given depth, and not the equation defining
the curve of the plungers face. If f(z,t) represents the curve of the buoys geometry,
s(z)=f(z, T/2 ) - f(z,0). In other words, s(z) represents the difference between the buoy
faces positions at the crest and at the trough. For a wedge plunger, f(z,t)=S
1
/h[z-
(t)+h], but the stroke width resulting from a sinusoidal wave of amplitude H/2 is a
constant: s(z) = S
1
H/h. Thus the wedge-shaped piston emulates a piston paddle with
stroke s(z) =S
2
=S
1
H/h. As it turns out, for both curved buoy geometries, the difference
between the face positions over time results in a stroke width defined by the same form
of equation, simply with a different magnitude value. This means that the buoy must
be dimensioned such that a stroke width of magnitude S, matching the particles
horizontal displacements, is a result of the difference in face positions at the crest and
trough of the design waves height.
The velocity potential is defined by
{22}

=
+
+ + =
1
) cos( )] )( ( cos[ ) ) ( exp(
)) sin( )) ( cosh(
n
s s n
p p p
t z h n k x n k C
t x k z h k A



where subscripts p are associated with progressive waves and subscripts s with standing
waves, and
{23}

+
+
=
0
2
0
)) ( ( cosh
)) ( cosh(
2
) (
h
p p
h
p
p
dz z h k k
dz z h k
z S
A


and
{24}

+
+
=
0
2
0
)) )( ( ( cos ) (
)) )( ( cos(
2
) (
h
s s
h
s
m
dz z h m k m k
dz z h m k
z S
C


Applying the paddle wavemaker velocity potential equations to the curved plunger is
valid because of the condition that linear theory closely matches the theory of piston
wavemakers for plungers with a small and small vertical motion [7]. Since all terms

31
within the summation in Equation {22} correspond to standing (evanescent) waves,
any stroke S(z) that results in all C
m
terms approaching zero will minimize the standing
wave magnitude. The Matlab code that performed this test is given in Appendix C.
Under a given set of wave conditions, inserting s(z) = S for the profile of a wedge-
shaped plunger, s(z) =S*exp(k
p
z) for an exponential decay plunger, and
s(z)=S*cosh(k
p
(h+z))/sinh(k
p
h) for a hyperbolically curved plunger shows that the C
m
values are smaller for the exponential decay paddle than for a straight piston paddle.
The magnitude of this reduction depends upon how closely the wave conforms to the
deep water regime. Under the mean power conditions predicted with the IRL
simulations, the difference was on the order of 2.5 to 12.5 times smaller, as shown in
Table 4. Because these incident waves were of the transitional regime, the
hyperbolically curved plunger conformed to water particle motion even more aptly
than the exponential decay plunger. The C
m
values resulting from the hyperbolically
curved plunger were 6 orders of magnitude smaller than the piston paddle. A
numerical integration routine was used to perform these calculations, but the results
were made independent of the trapezoidal integration resolution by running the code
with finer and finer resolution until the output did not change with a finer grid. This
also suggests that the C
m
values of the hyperbolically curved plunger might have been
zero if not for rounding in the numerical computation process.

Table 4: Comparison between standing wave coefficients of piston and exponential curve
wavemakers for various wave conditions and integration resolutions in 1m water
depth with a resolution of 0.0001m.
Piston
Exponential Curve
Hyperbolic curve
C
m
(1) C
m
(2) C
m
(3) C
m
(4) C
m
(5) C
m
(6) C
m
(7) C
m
(8)
0.0563 -0.0039 0.0011 -0.0004 0.0002 -0.0001 0.0001 -0.0001
-0.0076 -0.0005 -0.0002 -0.0001 0.0 0.0 0.0 0.0
T1 = 1.3s
H1 = 0.13m
0.64e-5 -0.09e-5 0.02e-5 -0.04e-5 0.02e-5 -0.01e-5 0.01e-5 0.0
0.0432 -0.0034 0.0009 -0.0004 0.0002 -0.0001 0.0001 0.0
-0.0165 -0.0008 -0.0004 -0.0001 -0.0001 0.0 0.0 0.0
T2 = 1.6s
H2 = 0.18m
0.31e-5 -0.18e-5 0.05e-5 -0.04e-5 0.03e-5 -0.02e-5 0.01e-5 0.0
0.0540 -0.0037 0.0010 -0.0004 0.0002 -0.0001 0.0001 0.0
-0.0043 -0.0004 -0.0001 0.0 0.0 0.0 0.0 0.0
T3 = 1.2s
H3 = 0.1m
0.44e-5 -0.04e-5 0.04e-5 -0.01e-5 0.0 0.0 0.0 0.0

32
2.3 Mechanical Components

Mechanically, the WEC operates by coupling the movement of a magnet with
the vertical movement of the plunger suspended at the surface of the waves. As the
buoy plunger moves up and down with passing waves, it lifts the long vertical rod
above it, as shown in Figure 11. This rod slides through the bearings on the piling-
secured frame, which in turn supports the electronics box containing the linear
generators coil. Thus as the buoy moves up and down, the magnet moves vertically
through the coil. The primary source of resistance to this movement are friction from
the polyethylene bearings acting on the aluminum rod, which is caused by the bending
moment on the buoys rod due to the wave forces on the buoy. In the simplest
formulation, if the vertical wave forces acting on the buoy are able to overcome the
friction forces derived from the horizontal wave forces, the plunger oscillates in heave
and thus drives current through the generator. However, in any case where the body is
sufficiently large in comparison to the wavelength, the wave kinematics will not be
constant over the entire body, and the absorbers motion will not automatically match
the magnitude and phase of the wave; many other forces and physical factors work in
conjunction to determine the systems characteristic equation of motion. In order to
predict the performance of the plunger under a given excitation force, a complete
formulation of these physical properties must be completed. Since the modified
plunger shape was initially designed with the presumption that the face would move in
phase with the water particles, these details cannot be ignored. A block diagram of the
systems individual components is shown in Figure 13. The following section presents
a general acknowledgement of the forces acting on the WEC system and estimates the
values of many physical coefficients based on calculations or literature values. The
general conclusion is that the parameters are impossible to accurately enumerate
without some preliminary physical testing, especially for the specially curved buoy, so
the system was designed as if the body diameter is small enough in relation to the
wavelength for it to be interpreted as a water particle. Afterwards, a discussion of the
materials selection and dimensions of the system are given to explain some of the
values in the section preceding it.


F
i
g
u
r
e

1
3
:

B
l
o
c
k

d
i
a
g
r
a
m

o
f

t
h
e

W
E
C

s
y
s
t
e
m

s
h
o
w
i
n
g

i
n
p
u
t

a
n
d

o
u
t
p
u
t

s
t
a
t
e
s

o
f

e
a
c
h

c
o
m
p
o
n
e
n
t
.


T
h
e

w
i
n
d

s
p
e
e
d

a
n
d

d
i
r
e
c
t
i
o
n

d
e
t
e
r
m
i
n
e

t
h
e

w
a
v
e

h
e
i
g
h
t
,

l
e
n
g
t
h
,

a
n
d

p
e
r
i
o
d

i
n

a

g
i
v
e
n

w
a
t
e
r

d
e
p
t
h
.


T
h
o
s
e

w
a
v
e

p
a
r
a
m
e
t
e
r
s

d
e
t
e
r
m
i
n
e

t
h
e

p
o
s
i
t
i
o
n

a
n
d

v
e
l
o
c
i
t
y

o
f

t
h
e

a
b
s
o
r
b
e
r

b
u
o
y

o
v
e
r

t
i
m
e
,

w
h
i
c
h

i
n

t
u
r
n

g
o
v
e
r
n

t
h
e

c
u
r
r
e
n
t

i
n
d
u
c
e
d

i
n

t
h
e

c
o
i
l

b
y

t
h
e

m
a
g
n
e
t
.


T
h
e

m
a
g
n
e
t
i
c

f
i
e
l
d

i
n
d
u
c
e
d

b
y

t
h
e

c
o
i
l

s

b
a
c
k

E
M
F

i
n
t
e
r
a
c
t
s

w
i
t
h

t
h
e

p
e
r
m
a
n
e
n
t

m
a
g
n
e
t

t
o

a
l
s
o

i
n
f
l
u
e
n
c
e

t
h
e

p
o
s
i
t
i
o
n

a
n
d

v
e
l
o
c
i
t
y

o
f

t
h
e

b
u
o
y
,

s
i
n
c
e

i
t

i
s

d
i
r
e
c
t
l
y

c
o
u
p
l
e
d

t
o

t
h
e

m
a
g
n
e
t
.


T
h
i
s

t
o
t
a
l

c
u
r
r
e
n
t

i
n

t
h
e

c
o
i
l

i
s

l
i
m
i
t
e
d

b
y

t
h
e

l
o
a
d

c
u
r
r
e
n
t

a
n
d

b
y

t
h
e

v
o
l
t
a
g
e

o
f

t
h
e

c
a
p
a
c
i
t
o
r

i
t

i
s

c
h
a
r
g
i
n
g
.


T
h
e

c
i
r
c
u
i
t
r
y

p
e
r
f
o
r
m
s

a
c
c
o
r
d
i
n
g

t
o

t
h
e

a
m
o
u
n
t

o
f

p
o
w
e
r

s
u
p
p
l
i
e
d

t
o

i
t
.


A
b
s
o
r
b
e
r

R
a
d
i
a
t
i
o
n

f
o
r
c
e
s

L
o
a
d


v
(
t
)
,

i
(
t
)

C
a
p
a
c
i
t
o
r

v
(
t
)
,

L
o
a
d

i
(
t
)


C
o
i
l

v
(
t
)
,

i
(
t
)

W
i
n
d

U
,


W
a
t
e
r

d

W
E
C

W
a
v
e


H
,

L
,

T

)
(
)
,
(
t
z
t
z
&

F
u

(
r
e
a
c
t
i
o
n

d
u
e

t
o

c
o
i
l

B
-
f
i
e
l
d
)

W
i
n
d
/
w
a
t
e
r

i
n
t
e
r
a
c
t
i
o
n

P
o
w
e
r

t
a
k
e
-
o
f
f

(
g
e
n
e
r
a
t
o
r
)

C
i
r
c
u
i
t
r
y


34
2.3.1. Hydrodynamics
The wave absorber is constrained to move vertically (in the z-direction) only.
The sum of the forces acting in heave has been broken down in [11] as
{25}
u f v b r e o
F F F F F F z m + + + + + = & &
where m
o
is the buoys mass, z& & is the vertical acceleration, F
e
, F
r
, and F
b
are the waves
excitation, radiation, and buoyant forces acting on the cylinder, F
v
is the viscous force
imparted by skin drag of the fluid moving past the body, F
f
is the sum of the frictional
forces opposing the excitation motion, and F
u
is the load force imparted by the
generator as it delivers energy to the circuitry. A frequency-dependent form of the
above equation isolates the absorbed components from the excitation and radiated
components:
{26}
r e
m
m m
F F u
i
S
u R u m i

+ = + +


Although the subscripts m generally signify mechanical coefficients, load impedances
are also included in these terms. The carats in {26} recognize that the variables have
complex values. As will be expanded upon below, viscous and frictional power
dissipation and the real portion of the load determine R
m
, and the buoyant force, along
with capacitive loads and any restoring springs built into the hardware, contribute to
S
m
. While masses control the value of m
m
, it will be seen later that inductive loads are
also included in this term.
The splitting of the linear waves forces into three components takes advantage
of superposition to simplify calculations. F
e
symbolizes the excitation force, which
accounts for the incident wave force and the diffraction forces resulting when the
incident wave strikes a stationary (non-heaving) body with force F
i
, and diffracts
around it, causing the diffraction force F
d
to act on the body. The incident component
is usually enumerated according to the Froude-Krylov approximation [46], and in
cases where the bodys diameter is much smaller than the wavelength, the diffraction
component is negligible. Otherwise, the diffraction component F
d
must be calculated
as the surface integral of the derivative of the diffracted waves velocity potential with
respect to time:

35
{27} dS n
t
F
D
d

\
|

=


where dS indicates the integral is carried out over the bodys surface. The WECs
design conditions of 0.1m wave heights and 1.2-second periods in 1m water depths
dictate that its absorber width-to-wavelength ratio will be 0.1936. Fortunately, this
value is just slightly under the threshold of 0.2 that allows diffraction forces to be
ignored [46]. Numerical computations have been published for the Froude-Krylov
excitation forces on simple body geometries, such as a cylinder [10]. The results are
presented as plots of the transfer function relating incident wave amplitude to the
excitation force, with respect to wave frequency. Although the wave frequencies and
water depth in the computations were clearly outside the range of those used in this
project, a rough value for F
e
acting on the WEC, given the design wave parameters,
was estimated roughly by locating the point on the plots x-axis with a kh value
identical to the WEC design waves. For the WEC design conditions, kh = 2.817.
Through back-calculation it was determined that the plot in [10] should be read at
=1.09 rad/s. This value was 400kN per meter of wave amplitude, given the WECs
capture width-to-water depth ratio and the wave frequency. Hence 40kN acts on the
bottom surface of the cylindrical absorber buoy when it encounters a 0.1m wave of a
1.2 second period. Because no literature is available for heave dynamics of irregular
shapes like the hyperbolic curve, a separate set of excitation calculations was not
performed, and the excitation force on both buoys is assumed to be equal.
The radiation force, F
r
, and the buoyant spring force, F
b
, account for the forces
reacting on a floating body as it oscillates in flat water. (Note that the linear
combination of diffraction and radiation forces is used to describe the forces acting on
a body in heave in linear wave conditions.) F
r
includes the phenomena of added
mass and radiation damping. Added mass is a convenient way to interpret the
additional force needed to accelerate the fluid surrounding a body when it is, in turn,
accelerating. It is a function of geometry only and has the form
{28} ( )z m i R F
a r r
& + =

36
where m
a
is the added mass and R is the radiation resistance (damping term).
Radiation resistance accounts for the power carried away from the vicinity of the buoy
by radiated waves. Added mass, on the other hand, accounts for the potential and
kinetic energy stored in the water particles adjacent to the buoy as radiation waves are
created. These two coefficients have been estimated in literature for vertical cylinders
in various water depths [10, 35, 37, 47], but the widely varying methods of applying
and reporting the input parameters make comparison between the sources difficult.
To achieve consistency in the face of the multiple formulations, the method and source
[10] used to estimate the excitation force above were again used for determining F
r
.
These values are R
r
= 10
5
Nsm
-1
and m
a
= 2.510
5
kg. For the wave parameters given,
the maximum vertical velocity is 0.2618ms
-1
, and thus the maximum magnitude of the
sinusoidal radiation force is |F
r
|=343.7kN, acting against vertical motion.
Again, similar numerical models for the hyperbolic curves radiation forces do
not exist, but it is worth setting forth the desired conditions for R
r
and m
a
to yield
optimum power absorption. It has been shown that the maximum power absorption is
only 50% of the incident power if a symmetrical buoy moves with only one mode of
motion, such as heave, but that this limit does not necessarily apply to an
asymmetrical body in heave [12]. Maximum power is absorbed (although not
necessarily used by the load) when the buoys velocity and the excitation force act in
phase with each other. This is the optimum phase condition, and in general, it means
that the bodys position lags the water surface height, and therefore heave force of the
wave. A prerequisite for the optimum phase condition is that the systems natural
frequency and the wave frequency must be equal. Using {26} and {28}, the system
impedance can be expressed as
{29} ( ) ( )

+ + + =

m
a m r m
e
S
m m i R R
z
F

&

The minimum impedance to velocity occurs when the imaginary components in {25}
cancel. This means that, at the excitation frequency of the wave,
0
, the relation
between the body mass, the added mass, and the coefficient accounting for the
buoyant spring and reactive load forces should be

37
{30}
( )
a m
m
m m
S
+
=
0

For a symmetrical body able to absorb only half the wave power, the mechanical and
radiated impedances must be complex conjugates, implying that R
m
and R
r
must be
equal. For an asymmetrical body, it is simply desired that R
r
be minimized to allow
for minimum radiated power. The optimum added mass value depends on the body
mass and total spring force for any given frequency. Minimizing the reactive
component also avoids phase shifting of the force with respect to the velocity. Any
phase shift present not only brings the system out of resonance but also paves the way
for the evanescent modes to dissipate energy as they try to match the boundary
conditions of the incident and radiated waves.
For the WECs cylindrical buoy to float in equilibrium with the top resting at the
surface of the water, m
m
= 73.95kg, while m
m
= 23.4kg for the hyperbolic curve buoy.
These masses are determined by the mass of the water displaced by the buoys
volumes, and they are in part balanced by the weight of the rod and hardware above it.
Additional mass may be added via fishing weights in chambers inside the buoys to
ensure that they rest at the water level. If the buoys are deployed with lower mass, the
buoys will not float completely submerged, but the reduced mass would allow for
greater acceleration. For this device, the buoyant spring force F
b
is fundamentally tied
to the body mass, as it, too, depends on the floating level of the body. F
b
is the
hydrostatic force acting to restore a heave-displaced body to its equilibrium level in the
water. It is therefore equal to the weight of the displaced water and takes the form
{31}
d b d b
z S g F = =
where
d
is the additional (positive) or reduced (negative) volume submerged when
the body is displaced by a distance z
d
from its equilibrium floating position. This force
is zero if the buoy moves in phase with the incident wave, but it changes in proportion
to the submergence depth of a buoy moving out-of-phase with the wave. The buoyant
force has therefore been expressed in three dimensions as a spring force dependent on
body geometry, where the spring constant for each of the directions is given by the
coefficients (or equations) in the 6x6 matrix
b
S . For a body moving strictly in heave,

38
all but the S
3,3
coefficients equal zero, and S
3,3
= S
b
in {31} and forms a portion of S
m
in
{29}. Other contributions to S
m
may include a mechanical spring if present in the
design, and capacitance in the load. S
3,3
is a function of the horizontal planar area, so
for the cylindrical buoy in heave,
{32}
d b
z r g F
2
=
where the negative sign indicates that the force acts in the positive (upwards) direction
when negative values of z
d
(signifying submersion below equilibrium at z=0) occur.
For the hyperbolic curve, the equation is more complicated due to the increase in
planar area as distance from the bottom face increases:
{33} ( )

+ =
d
z z
z
b
dz z S b w g F
0
0
) (
where w is the capture width equal to the cylinders 2r, the stroke width S(z) is the
curve defined by {21}, and b is the constant depth of the additional rectangular area
that contains the buoy rod at the back of the buoy. For consistency with {21}, z must
be defined as zero at the top of the buoy, which was designed to coincide with the
waters surface. Again, z becomes increasingly negative as depth from the surface
increases. For the case in which the buoy floats above the waters surface, {33}
defines z
0
as the negative-quantity z-value on the buoy that coincides with the surface
at equilibrium, and z
d
is measured from this reference point with the same sign
convention as in {32}. The effect of these equations is that a 1cm submersion imparts
a 14.51N force on the cylinder, while the same submersion on the curved buoy
floating 0.34m below the top imparts only 4.66N upwards. For the case that the buoys
float with their top faces level to the water surface and also move out of phase with the
wave, they will be overtopped. No buoyant force acts when they are overtopped, since
the submerged volume is unchanged. Instead, a hydrostatic force from the added
water pressure further forces the buoy downwards, and an increased viscous force
occurs as the buoy rises to the surface again.
The viscous force, F
v
, is synonymous with the total drag on the object and
consists of skin friction and pressure distribution components. Both components are
linked to the speed of the fluid passing over the surface, and therefore F
v
may be

39
modeled as a damping force as in {26}. The skin friction is the integral of the shear
force over the surface area of the body. Since shear force is proportional to the
velocity gradient in Newtonian fluids like water, the velocity field near the surface of
the buoy determines the skin friction. Skin friction overwhelms pressure forces at low
speeds (Reynolds numbers less than 1). The pressure distribution portion of the drag is
caused by the pressure difference between the bottom face of the buoy and the top as
the body moves downward through the water column; if it moves at a higher speed
than the water particles, stagnation will occur at the bottom face, and the pressure
difference will impede motion. Skin friction plays a negligible role for Reynolds
numbers higher than 10
5
, so at higher velocities, pressure differences dominate. The
Reynolds number for the cylindrical buoy is 1.0610
5
at the maximum vertical
velocity, and it is 3.1710
4
for the hyperbolic curve. These values are near the
pressure-dominated end of the transition region. Fortunately, total drag has been
determined to be of the form
{34}
2
2
v
A C F
p D D
=
where C
D
is a coefficient based on body geometry and A
p
is the planar area of the body
facing the fluid traveling at velocity v with respect to the body. For a cylinder with a
length-to-diameter ratio near 1.0, C
D
= 0.93 for Re>10
5
[26]. With A
p
=r
2
=0.1464m
2
,
=1010kgm
-3
, and v
max
=0.2618ms
-1
, the maximum drag force should be 4.94N. This
is fairly negligible in comparison to the other forces acting on the buoy. A drag
coefficient for the bottom of the hyperbolic curve buoy is not readily available, but it
was estimated as that for a rectangular sold (C
D
= 1.0), yielding a maximum drag force
of 1.16N.
The friction force F
f
is due to contact of the aluminum rod with the
polyethylene bearings in the WEC frame. Friction force is quantified by
{35} N F
f
u =
where is the coefficient of static friction and N is the normal force, caused by the
bending moment on the buoys rod due to horizontal wave forces on the buoy. Based
on empirical equations for wave loading on a vertical wave barrier, a 0.1m wave

40
height with a 1.2-second period in 1.0m of depth will impart 218.6N of force per unit
width of barrier. Wave barriers have a similar geometry to the WEC in that they
extend partway down the water column. The equation for wave force per unit width
of barrier, F
mo
, is given in [5] by
{36}
7 . 0
386 . 0
) cosh(
) sinh(

|
|

\
|
|

\
|
=
=
p
L
w
o mo
p p
p
o o
h
w
F F
h k k
h k
gH F

where w is the depth of submersion of the barriers bottom face from the still water
line. Moment calculations about the support points on the frame were then used to
approximate the horizontal support forces acting on the aluminum rod to maintain a
total moment of zero. The two moment arms were dictated by the height of the frame
and the distance of the top of the buoy from the bottom of the frame. The total
friction, using =0.16 for UHMW polyethylene against steel, was estimated around
56N.
The final force for which we must account is the electrical reaction force of the
load, denoted F
u
in {25}. As the energy from the wave is converted into electricity in
the generator, an opposing voltage, called the back electromagnetic force (EMF),
develops to resist changes in current in the inductor. The force actually exerted upon
the buoy-coupled magnet depends on the counter-magnetic field generated by the
current running through the inductor. Since the self-capacitance of the coil is
negligible at the design operation frequencies (see Section 2.4.1), the generator circuit
can be modeled as series RL circuit also in series with the back EMF, signified by a
variable voltage source. The output voltage available to the load, v
out
, is thus given by
{37}
out emf
v
dt
di
L i R =
int

where R
int
is the internal resistance of the inductor. The physical background behind
this force and estimated values are discussed more thoroughly in the Electronics

41
Design section below, but the most important feature is its proportionality to the
magnets velocity:
{38} z K
z emf
& =
K
z
is determined by the dimensions of the coil and properties of the magnet. As
indicated by {26} above, the load is expected to contribute both a real and an
imaginary component to the systems response, thus determining the value of the
current traveling through and from the generator. The generator and its circuitry
should be designed to hold real and reactive power proportional to the buoys heave
velocity. In an ideal case, the back EMF would induce the proper amount of reaction
force to keep the magnet moving in resonance with the mechanical portion of the
system.
The conclusion derived from these very rough estimates prior to testing was
that if the hyperbolically curved buoy were to be able to absorb the incident wave
energy without losing half of the power in radiation waves, as was expected from the
symmetrical cylinder, the excitation force should be sufficient to drive the buoy. The
cylinder is much less likely to be immune to the radiation forces, and therefore the
excitation forces were expected to be insufficient to overcome the forces opposing
oscillation. In addition, the radiation impedance term proposes a physical explanation
for why the standing wave coefficients calculated above indicate that the greater stroke
of an exponential decay buoy would not in fact yield more energy than a hyperbolic
curve buoy matched to the water particle trajectories.

2.3.2. Materials Selection
Topics of concern when selecting materials included biofouling, corrosion, and
robustness during extreme weather events. For this prototype version, cost,
machinability, ease of deployment, and ease of procurement played large roles as well.
A complete parts list of raw materials can be found in Appendix B, but a brief
discussion of each component is given here to explain design decisions. The majority
of the components shown in Figure 11 are composed of Ultra Corrosion-Resistant
Architectural Aluminum (Alloy 6063). Aluminum was selected for its light weight

42
and machinability, and the 6063 alloy is the most suitable for outdoor and humid
environments. Steel is much more corrosion-resistant than aluminum and should be
used for long-term deployments, but for this prototype testing, the light-weight
materials maneuverability was preferable.
The low-friction bearings through which the generator rod and buoy rod move
are Ultra-High Molecular Weight Polyethylene tubes. This material is a thermoplastic
whose molecules are composed of extremely long polymer chains, giving it high
impact strength and abrasion resistance. It is self-lubricating and has a coefficient of
friction similar to Teflon, allowing for low-resistance movement. Another important
trait is its low moisture absorption.
A Pelican Case (size specification 1300) was purchased to that house the PTO
and circuitry. Made from Polypropylene copolymer, it has an o-ring seal, making it
watertight. A hole will be drilled into the top and bottom to accommodate the rod
that drives the generator magnet, and an aluminum fitting with an o-ring seals the
electronics from the elements. The magnet itself is a Neodymium iron boron (NdFeB,
or rare earth) magnet encased in epoxy to protect against corrosion. The connection
between the buoy rod and the generator shaft is made with polyurethane fasteners to
damp vibrations.
The purpose of the plunger is to absorb energy as if it were a water particle, so
the buoy is designed to be nearly neutrally buoyant. While the polystyrene foam
comprising the buoy itself is positively buoyant, fishing weights were added as needed
to the weight of the aluminum rod, magnet, and fittings in order to offset the
buoyancy. The buoy is coated with a layer of 6-oz. weight E-glass fiberglass with
epoxy resin fiberglass to protect it from water absorption and deformation.

2.3.3. Dimensions
The dimensions of the WEC are determined by the dimensions of the waves in
which it will be operating. The WEC was designed to operate normally for waves up
to 0.25m in height. This constraint was selected based on measurements of from the
lagoon under average conditions; while average seasonal wave heights were as given

43
in Table 3, the measured spectrum had a sizeable component of up to 0.25m. This
means that the prototype is not designed to be tested for efficiency in extreme weather
conditions, but it should be able to survive them.
Since wave energy propagates to a depth equal to only half the wavelength,
creating the buoy reaching deeper than this depth would cause extra fluid friction to
retard its motion. Not extending deep enough would waste a portion of the energy
available. In water of the 1m design depth, setting the buoy depth to 0.5m below the
surface covers the full energy region for waves with periods up to 0.8s. Since periods
shorter than this are either unlikely or not the energetic waves targeted for absorption,
we are not concerned with the additional drag on the buoy for waves under 0.8s. The
0.4318m buoy width was selected as the greatest diameter cylindrical buoy that could
be manufactured on the Florida Tech CNC machine, and the capture widths of the
two buoys needed to be equal to perform a power absorption comparison free of any
nonlinearities in the WECs ability to report wave energy excitation.
Axial stress in the translator rod supporting the buoy was calculated to ensure
they would not fail under the static weight of the WEC and the dynamic loading of the
waves. Given the horizontal wave loading calculated above for average conditions
and the dimensions of the frame, the round translator rod is expected to experience
surface flexural stresses due to bending moments of up to 2.75810
8
Nm
-2
, below the
yield stress of the aluminum by a safety factor of 5.2. Further calculations for the
extreme wave height loadings were not pursued since the testing of the hypothesis
requires waves similar to the design wave.

44
2.4 Electronics Design

In accordance with the scope of the project, the circuitry in this prototype
version of the WEC is intended to measure the comparative power output between the
two buoy shapes. As such, the generator must serve as a transducer between
mechanical energy in the buoy and electrical energy measured in circuitry. Given this
objective and the need to keep the projects scope at a reasonable level, the circuit was
not optimized to collect sufficient power to support the ORCA sensor suite. In future
versions, more emphasis on the generator and circuitry design phase can greatly
improve the power generation levels. Another feature to note is that the power
measurement circuitry is supported by two batteries: one to power the circuit during
data collection and another to maintain the real-time clocks user-set initial time and
date even while power to the circuit is turned off. The circuitry power is supplied via a
9V battery connected to a LM1117 low-dropout linear voltage regulator, which then
distributes 5V power and logic levels to the rest of the circuit. The clock reserve
battery is a 3.6V C-cell Lithium/thionyl chloride battery rated at 8.5Ah and a 20-year
shelf-time. An obvious goal for future versions is to achieve self-sufficiency using
power collected from the waves, but in the current version it is important to ensure
that data collection can continue in the event of minimal or zero power generation.
The circuit draws 96mA at startup, 78mA during capacitor charging, and 114mA
while the DC/DC converter is operating. Averaging this to 100mA continual
operation, the 9V battery should be able to support the circuit through four hours of
continuous data acquisition and storage before its voltage drops to 6.2V, the minimum
voltage needed for the LM117 to function.
Aside from these limitations, the circuitry was designed keeping in
consideration the eventual goal of powering the sensor suites battery charger. The
Texas Instruments bq2057 Li-Ion/Li-Polymer Charge Management ICs require a DC
voltage between 4.5V and 15V, so the convenient value of 5.0V was selected as the
output across the load resistor that substitutes for the charger in this prototype. The
measurement circuitry serves to record the generator voltage, load voltage, and the

45
voltage across two current sense resistors, along with the time of each measurement.
While the current sense resistor on the output of the DC/DC converter simply
reiterates the current passing through the user-selectable load, another resistor on the
input of the DC/DC converter is needed to determine the coils raw power generation.
The real power output of the DC/DC converter is the most applicable result in the
long-term, but in the case that no appreciable difference in real power is observed
between the wave absorbers, the input-side current sense resistor offers a second
measurement opportunity, independent of the remaining power management circuitry
and programming. In this way, the real-time power output can be compared with the
wave conditions recorded on a real-time wave gage, allowing for calculation of the
WEC systems efficiency. The following sections describe in detail the design decisions
involved in building the generator and selecting the individual components integrated
into the printed circuit board (PCB). For a full inventory of parts, please see
Appendix B. A photo of the manufactured and populated PCB is shown below in
Figure 14, and the PCB schematic, with electrically connected traces labeled for
neatness purposes, is shown in Figure 15. A block diagram of the inputs and outputs
of each major circuitry component is given in Figure 16.

Figure 14: Populated PCB



F
i
g
u
r
e

1
5
:

(
a
)

S
c
h
e
m
a
t
i
c

o
f

W
E
C

p
o
w
e
r

g
e
n
e
r
a
t
i
o
n

a
n
d

m
e
a
s
u
r
e
m
e
n
t

p
r
i
n
t
e
d

c
i
r
c
u
i
t

b
o
a
r
d



F
i
g
u
r
e

1
5
:

(
b
)

S
c
h
e
m
a
t
i
c

o
f

W
E
C

p
o
w
e
r

g
e
n
e
r
a
t
i
o
n

a
n
d

m
e
a
s
u
r
e
m
e
n
t

p
r
i
n
t
e
d

c
i
r
c
u
i
t

b
o
a
r
d

(
c
o
n
t
d
.
)



F
i
g
u
r
e

1
5
:

(
c
)

B
o
a
r
d

l
a
y
o
u
t

o
f

W
E
C

p
o
w
e
r

g
e
n
e
r
a
t
i
o
n

a
n
d

m
e
a
s
u
r
e
m
e
n
t

p
r
i
n
t
e
d

c
i
r
c
u
i
t

b
o
a
r
d



F
i
g
u
r
e

1
6
:

B
l
o
c
k

d
i
a
g
r
a
m

o
f

i
n
p
u
t
s

a
n
d

o
u
t
p
u
t
s

t
o

m
a
j
o
r

c
i
r
c
u
i
t
r
y

c
o
m
p
o
n
e
n
t
s
.


T
h
e

p
o
s
i
t
i
o
n

a
n
d

v
e
l
o
c
i
t
y

o
f

t
h
e

m
a
g
n
e
t

w
i
t
h
i
n

t
h
e

c
o
i
l

d
e
t
e
r
m
i
n
e

t
h
e

i
n
d
u
c
e
d

c
u
r
r
e
n
t

a
n
d

v
o
l
t
a
g
e

a
c
r
o
s
s

t
h
e

c
o
i
l
.


T
h
e
s
e

v
a
l
u
e
s

m
a
y

a
l
s
o

b
e

l
i
m
i
t
e
d

i
f

t
h
e

v
o
l
t
a
g
e

o
n

t
h
e

c
a
p
a
c
i
t
o
r

i
s

h
i
g
h
e
r

t
h
a
n

t
h
e

c
o
i
l

s

v
o
l
t
a
g
e

s
p
i
k
e
,

a
n
d

b
y

t
h
e

c
u
r
r
e
n
t

b
e
i
n
g

a
l
l
o
w
e
d

t
o

f
l
o
w

t
h
r
o
u
g
h

t
h
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r
.


T
h
e

c
a
p
a
c
i
t
o
r

s

v
o
l
t
a
g
e

g
o
v
e
r
n
s

w
h
e
n

t
h
e

l
o
a
d

w
i
l
l

b
e

s
w
i
t
c
h
e
d

i
n
t
o

t
h
e

c
i
r
c
u
i
t
,

a
n
d

i
t

u
l
t
i
m
a
t
e
l
y

g
o
v
e
r
n
s

t
h
e

a
m
o
u
n
t

o
f

i
n
p
u
t

p
o
w
e
r

a
v
a
i
l
a
b
l
e

t
o

t
h
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r
.


T
h
i
s

p
o
w
e
r

d
e
t
e
r
m
i
n
e
s

t
h
e

o
p
e
r
a
t
i
n
g

e
f
f
i
c
i
e
n
c
y

o
f

t
h
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r

a
n
d

t
h
u
s

t
h
e

o
u
t
p
u
t

p
o
w
e
r
.



G
e
n
e
r
a
t
o
r

a
s
s
e
m
b
l
y

R
e
c
t
i
f
i
e
r


C
a
p
a
c
i
t
o
r

L
o
a
d

i
(
t
)

)
(
)
,
(
t
z
t
z
&

C
o
i
l

v
(
t
)
,

i
(
t
)

C
o
i
l

|
v
(
t
)
|
-
1
.
2
V
,

|
i
(
t
)
|

C
a
p
a
c
i
t
o
r

v
(
t
)

v
i
n
(
t
)
,

i
i
n
(
t
)

L
o
a
d

v
(
t
)
,

i
(
t
)

C
a
p
a
c
i
t
o
r

v
(
t
)

M
i
c
r
o
c
o
n
t
r
o
l
l
e
r
/

R
e
l
a
y

D
C
/
D
C


C
o
n
v
e
r
t
e
r


50
2.4.1. Power Generation Components
Magnet and Coil
The power take-off element of this WEC is, as described previously, a linear
generator consisting of a simple coil of insulated copper magnet wire and a disc-
shaped magnet that translates through the center of the coil. The precedent for this
generator topography has been set theoretically in literature [20, 23, 24, 32, 43] and
practically by the Archimedes Wave Swing and the PowerBuoy. The linear topology is
attractive for its minimum of maintenance-intensive moving and interfacing
components, as compared to rotational motor, hydraulic, and pneumatic systems.
The gears and sealing in those conventional systems serve to interface the low
reciprocating speeds of the waves to the high, ~1500rpm speeds required in rotary
electric generators. The high speed of the field-providing components with respect to
the armature, or power-producing components, is the basic tenet behind generating
enough voltage to drive loads. Faradays Law of Induction states that the
electromotive force, or induced voltage, , generated across a closed circuit is
proportional to the time rate of change of the magnetic flux,
B
, through the circuit.
{39}
t
B


=
While generators containing electromagnets use alternating current to alter the field
quickly over time, permanent-magnet generators rely on the movement of the magnet
with respect to the circuit to achieve the change in flux. Thus voltage generated is
proportional to magnet velocity in these systems. As such, the useful force (denoted as
F
u
above) acting on the plunger buoy due to the generator has been modeled as a
damper in literature [10, 24]. The direction of the force always acts to retard the
motion, since Lenzs law holds that the induced electromotive force will act to oppose
the change in flux that caused it. A closed circuit can be approximated by a single
loop in a tightly-wound coil, and thus a coil with N loops subjected to the same
magnetic flux will generate N times the voltage level.
Various schemes for creating higher-frequency electrical signals from the low
frequencies of wave-excited linear motion have been evaluated for their practicality

51
and airgap shear stress production ability. These innovative topologies include
longitudinal- and transverse-flux permanent magnet linear machines and the similar
Vernier hybrid machine [24]. These generators rely on alignment of iron teeth on the
translator with magnets of alternating polarities on the stator to electrically gear the
magnetic field frequencies to higher frequencies, as shown in Figure 17.
These studies generally hold that the
innovative geometries lend themselves
to both higher shear stresses within the
gap between the magnets and the coil
and higher normal (attraction) forces
between the magnets and the steel
armature. Hence the power-generating
potential is increased, but the increased
danger of contact between translator
and stator requires a heavier, sturdier
support structure. In comparison, a
simple air-cored tubular machine with
no iron on the stator avoids the risk of
magnetic forcing hindering the translators motion, but at the expense of shear force
density and thus power generation. The lack of iron to concentrate the flux causes the
magnetic field to decay quickly with distance from the surface of the magnet; increased
magnetic material is needed to increase flux in the coils. Recognizing this drawback,
the air-cored tubular machine, or simple disc magnet translating through a coil, was
chosen to simplify construction and physical analysis. Commercial linear generators
with the combination of low speed and low torque are not readily available, so the
physically basic magnet-in-a-coil geometry was implemented.
The initial design for the linear generator was based upon a U.S. patent [19]
and the circuit observed in a shake-powered flashlight. Calculations for the inductors
dimensions were then made to target the stroke of the magnet and the frequency at
which the oscillation would occur. In order to extract the most power from the coil,
the power take-off components impedance should be complex conjugate of the

Figure 17: Magnetic gearing in a transverse
flux machine [24]

52
mechanical impedance of the system [12]. The real part of that mechanical impedance
includes the viscous and frictional resistance, along with any radiated resistance. The
mechanical reactance includes the buoyant spring force, radiation reactance (added
mass) and body mass. From {29} it can be seen that, for a given excitation frequency,
any load capacitance must add to the mass terms, while load inductance add to the
buoyant spring force to complete S
m
. Controlling these load values can allow for the
condition in {30} to be met.
It should be made clear that the circuit in the current WEC was designed
without knowledge of the added mass or even the final buoyant force and body mass
values. Instead it was assumed that the capacitive and inductive components of the
load must resonate at the excitation frequency to maintain system resonance. The
ramifications of this design on total system efficiency depend on each buoys
mechanical characteristics and will be discussed further in the Results section. For
any RLC circuit, the resonance frequency is given by
{40}
LC
f
r
2
1
=
Given the predominate wave climate in the IRL, the target resonance frequency range
was between 0.67 and 2 Hz. The appropriate combination of inductance and
capacitance was thus calculated for that frequency range using
{41}
2 2
2
1
2
2
4 c
LC


=
where
i
are the wavelengths of the electricity at the limits of the frequency range.
Hence the LC value targeted was 0.05s
2
. This is a very high product of inductance and
capacitance, as typical inductor values are on the order of microhenries, while
capacitors maximum rated voltages drop quickly for values above a few millifarads.
Capacitors present a trade-off between high capacitance and the voltage level at which
they suffer physical damage. Supercapacitors small enough to be inserted on a PCB
can be purchased with values on the order of 5 Farads, but their limiting voltages are
less than the 5V that is desirable to keep the charging circuit operating (please see
DC/DC converter section below). A variety of supercapacitors rated for 6.3V (25%
factor of safety) were purchased with values between 0.47F and 1F. A capacitance on

53
the order of 0.5F then requires an inductor of approximately 0.1H. A guide manual
for winding coils and transformers [4] was used to determine the correct dimensions
for achieving such a high inductance value. The following criteria were used to
determine the dimensions:

Inductor length is inversely proportional to inductance.
Inductor cross-sectional area is proportional to inductance.
Inductance is proportional to the square of the number of turns in the coil.
Capacitance of the coil increases with the voltage difference between adjacent
turns.
Resistance (and therefore real power loss) increases with the gage of the wire.
The number of turns per inch is limited by the thickness of the wire, but adding
layers to the coil decreases the magnetic flux density acting on the more distant
coils.

Certain parameters were dictated by the geometry of the problem. The length
of the coil should not exceed the expected wave height, as this would waste decreased
inductance on turns that are not exposed to appreciable magnetic field changes. In the
end, the length was determined by the safe range of motion for the oscillation testing
machine, 0.635m (2.5 in). This was also appropriate for the size of the design wave
height, as a wave 0.1m (4 in) in height would allow the magnet to travel past the ends
of the coil, thus producing the maximum exposure to changing fields. The cross-
sectional area was maximized by using the magnet with the largest diameter available
for purchase. Rare earth, or Neodymium-Iron-Boron (NdFeB), magnets were used for
their high flux density, economy, and better mechanical resistance to brittle fracture as
compared to Samarium-Cobalt magnets. Two 1.5-inch outer diameter, 0.375-inch
thickness, N40-strength ring magnet (with a 0.5-inch inner diameter to accommodate
the supporting axle) were purchased, and the coil was wound around a 1.625-inch
outer diameter PVC former to minimize the airgap thickness. A bank-winding
geometry, in which successive layers are wrapped atop the layers closest to the former
in a wine bottle stack format, before the first layer is completed, minimizes the voltage

54
difference and therefore capacitance between adjacent turns. The number of turns
needed to achieve the desired inductance was determined by the following equation
for bank-winding inductance from [4]
{42}
c b a
N a
L
10 9 3
2 . 0
2 2
+ +
=
where a= 1.625 (inner diameter of coil), b=2.5 (coil length), c=0.1 (estimated radial
depth of winding for 10 layers of 30AWG wire), and L= 510
4
F (factor of safety built
in for possible losses). This yielded N=1640 windings, and thus 2000windings were
completed to compensate for inexact winding. The bank-winding geometry was
roughly attempted, but the hand-winding procedure was not precise, so some added
degree of capacitance was expected. In the end, tests and calculations placed the
inductor as having somewhere between 0.10 and 0.25 H of inductance, with a
resistance of 175 and a capacitance of 0.35F. The impedance of a non-ideal
inductor is modeled as a series combination of the inductor and a resistor, all in
parallel with the capacitance. Hence the total source impedance in Ohms is
{43}
( ) | | ( )
5 8 2
10 1 . 6 10 75 . 8 1
25 . 0 175

+
+
=


j
j
Z
s

As will be discussed in the Results section, this impedance cannot include the
supercapacitor capacitance, although that was the intention during the design phase.
The supercapacitor was located downstream of the rectifier (discussed next), and
therefore could not discharge across the inductor to complete the oscillation cycle.
The implication of this is that excitation forces on the order of kilohertz, rather than
the design operating frequency of 0.83Hz, would be needed to raise the source
impedance significantly above 175, so the source impedance is defined as 175 with
no phase shift.

Rectifier
The full-wave rectifier serves to invert the negative voltages generated during
the downward stroke of the magnet in the coil. The ST Microelectronics L6210 was
selected for its low forward voltage drop Schottky diodes (only 0.65 to 0.8V loss per
pair at 100mA). In addition, the 50V reverse voltage per diode and the maximum

55
current rating of 4A are more than enough to ensure the rectifier can withstand the
conditions supplied to it by the generator. The rectified current is connected in parallel
with a 22000F capacitor such that any charge generated in the coil is stored until an
appropriate voltage is achieved to power the DC/DC converter. The supercapacitors
value was calculated in conjunction with the inductors value with the intention of
matching the target wave excitation frequency, as described above.

DC/DC Converter
The Texas Instruments TPS61202 DC/DC voltage converter was chosen for
its potential to operate at high efficiencies, its fixed 5V output, its wide range of input
voltages (especially its low 0.5V startup voltage), its low quiescent current of 55A or
less, its ability to automatically switch between a boost converter and a voltage
regulator, and its advertised applicability in battery-power circuitry.
The microcontroller operates a relay switch that latches the converter into and
out of the circuit based on the voltage present on the inductor/capacitor component.
Since the DC/DC converters efficiency falls quickly from its rated 90% when the
input voltage drops under 3V, the relay detaches the converter (and thus the load as
well) from the generator circuitry when the magnets movement fails to maintain at
least 3V on the capacitor. This allows the capacitor to charge unloaded until it reaches
a voltage level at which it can again support the load. Although the data sheet lists the
minimum startup voltage as 0.5V, preliminary tests showed that the converter draws a
surge of current during startup, which the capacitor could not sustain while carrying a
low potential. For this reason, the microcontroller waits until 5V has been stored on
the capacitor before connecting the converter and load back into the circuit. This
scheme also ensures that the converter will spend virtually zero time operating as a
Down Conversion Mode regulator, which dissipates more power than a boost
converter.
The constant 5V output drops to 0V when the switch releases the converter for
the capacitor to charge, and it latches right back to 5V when the switch is restored.
The tradeoff between the latching voltage input value and constant operation should
be further investigated to achieve a constant DC voltage supply from the output. One

56
caveat is that the efficiency of the converter drops greatly for output currents 10mA
and under.
The primary drawback of the TPS61202 is that it is available only in the
miniscule 3mm3mm QFN-10 package. While this is intended as a space-saving
attribute, it makes soldering to a footprint onto a PCB very difficult. For prototyping a
Schmartboard
TM
surfboard was purchased, which is specially designed such that extra
reserves of solder on the leads facilitate soldering to small-pitch chips.
The use of a 2N3904 NPN transistor on the relay controlling the DC/DC
converter input pin allows the device to be switched on and off in the PIC
microcontrollers software. This configuration produces a ~0.6V drop across the
transistor, causing the relay to receive 4.4V rather than 5V on the pin that controls its
internal magnetic switch. While this type of voltage drop on a low-side load NPN
configuration is generally undesirable, the RSB-5-S relay functions normally down to
3.5V, so the configuration is acceptable. In this way, a high signal from the PICs
control line turns the DC/DC converter on while a low signal turns it off.

2.4.2. Data Collection Circuitry
Microcontroller
Due to familiarity with the family of microcontrollers, the Microchip
PIC18F-series was selected as the central controller for data collection and component
latching on the PCB. The 18F4523 was selected for its 12-bit analog-to-digital
converter (ADC). Other chips in the 18F series provide only 10 bits of resolution on
their internal ADCs. Microchips MPLAB Integrated Development Environment
(IDE) was used in to write the microcontroller programs in the C language, using
MPLABs C18 compiler libraries. The microcontroller runs on a 20MHz crystal
oscillator, allowing for 200ns instruction cycles.

Programming and Communication
Interfaces for both the MPLAB ICD 2 and PICkit 2 are designed into the
circuit board to provide programming interface versatility for future users. These

57
interfaces allow the PIC microcontroller to be programmed without the need to
physically remove the chip from and replace it into its 40-pin socket on the board.
These programmers are also useful when operated in debug mode, in which they can
step through a PIC program to display the function of each line of code.
The serial data line on the PIC is accessible for initializing the RTC and
monitoring the data storage messaging during debugging. A Maxim MAX233 logic
level converter switches the 0-5V logic of the PIC to the 15V logic of a PC, and the
serial data is fed out through a DB9 connector interface. This may be accessed using
the HyperTerminal serial port communications software available with any Windows
operating systems prior to Vista.

Load and Current Sense Resistors
A pair of resistors forming a voltage divider and two separate 10 current
sense resistors serve as the prototypes load and current sensing elements, respectively.
The resistors are connected to the board via Molex connector housings so that the load
values can be changed as wave conditions vary during testing. The series load
resistors used during deployments were 4.7k each This value was settled upon taking
the ADCs saturation level and the DC/DC converters output level into account.
Controlled sinusoidal excitation of the magnet with oscillations near 1Hz showed that
both saturated and low duty cycle power outputs were possible with a ~10k load,
depending on the magnitude. With 5V across a 10k load, 0.5mA of current can be
expected to flow. This translates to a 2.5mW saturation level for power dissipation.
The bq2057 consumes 300mW of power itself, so eventually a larger current is desired
to increase the power output capacity. This can be accomplished by reducing the load
resistance. A 500 load allows for 50mW of power, while a 100 saturates at
250mW. The caveat with increased output capacity is that it causes the supercapacitor
to drain more quickly, thus switching the DC/DC converter out of the circuit more
frequently. Under manual excitation, a 500 load provided a subjectively selected
good balance between increased output power and appropriate operation durations.
However, with steady sinusoidal velocity excitation, the magnets speed was not high
enough to maintain capacitor voltage for such a low load, and a 10k load was

58
needed before the versatility of both saturated and unsaturated test conditions was
possible. The middle ground achieved by these operating conditions was desired to
allow for fast initial analysis of which buoy shape yields more constant power capture;
with the current hardware, 10k was necessary to make apparent which of the buoys
can support converter operations for a longer duration in a given set of wave
conditions.
The PICs ADC saturates at 5V, so no amplification is needed for measuring
the load resistor, which experiences essentially the entire 5V drop across it. With 5V
running across 500, a 10mA current can be expected. This creates a 10mV drop
across the 1.0 current sense resistor. A specialized current-sense operational
amplifier with a fixed gain of 100V/V is used as a high-side amplifier to increase the
current sensing signal to 1V. This only uses a fifth of the ADCs resolution capability,
but increasing the amplification further risks increasing noise levels. The sense resistor
is a 5% tolerance carbon film resistor, meaning that exactly 10mA traveling across it
could produce between 9.5 and 10.5mV. With the gain of 100 and the 12-bit, 0-5V
ADC, this translates to readings anywhere between 778 and 860 counts out of 4095,
without even taking into account the uncertainty in the load resistor, current level or
the DC/DC converter output voltage. Filtering and averaging the data removed time-
varying noise from the data, but in future versions, more expense can be applied
toward a higher-accuracy sense resistor.
The MAX4372 operational amplifier was chosen for its intended application
as a precision current sensing amplifier (to ensure minimal uncertainty is contributed
in the amplification stage), its low 30A current consumption, and its wide signal
input range that includes voltages near zero. Its high-side configuration prevents
ground path interference on loads that require grounded signals, such as the battery
charger. To ensure the output signal could actually sink to the low voltage rail during
times of no current flow, a negative voltage supply was connected through a pull-down
resistor to the output pin of the op amp. A MAX889 was selected for the task of
voltage inversion due to its availability, and its (absolute value) minimum output
voltage of -2.5V was configured to minimize ambient current flow. Power dissipation
added by the MAX889 is approximately 36mW.

59
While the load resistor with the known DC/DC converter output voltage
applied across it is, in itself, sufficient for measuring the power dissipated by the load,
keeping the current sense resistor in place allows for the option of connecting the
rectifier output directly to the resistor series. This unregulated measurement mode
would allow for analysis of the generators passive ability to support the battery
charger, without being subject to the switch control regime or the power requirements
involved in operating the DC/DC converter. While this configuration was not
explored in this set of tests, the feature is explained here for future investigation.

Filtering, Buffering, A/D Conversion
As mentioned above, 12-bit ADC was specially selected to gain higher
resolution on the power measurement data. Higher-resolution ADCs, however,
cannot automatically guarantee higher accuracy data if the noise level on the input
signal is too high or if the sampling frequency it too high to support the signals
sources impedance.
Filtering aids in noise reduction. Since the LC circuit was designed for
resonance with waves between 0.67 and 2Hz, the data recording frequency f
r
must be
no lower than 4Hz to avoid aliasing. A low-pass RC filter must be added before A/D
conversion to minimize the effect of high-frequency noise on the data. A general rule
for RC filtering is to select a filtering cutoff frequency f
c
that is 10 times greater than the
highest data frequency, thus suppressing any higher-frequency signals by more than
3dB. A 50Hz f
c
was selected to reliably support f
r
up to 5Hz. To achieve an RC time
constant of 0.02s, a 200k resistor and a 1F capacitor was used for each filter. The
sampling frequency f
s
was then designed to be approximately 500Hz, or 10 times larger
than f
c
, and thus suppressed by 20dB (to a tenth of its amplitude). After the circuit has
been completed, calculating the standard deviation of data recorded during DC input
conditions indicates whether or not noise contributes a low enough uncertainty to the
recorded value to merit using a higher-resolution ADC. The completed PCBs
standard deviation was measured to be zero given a DC signal, since no variation in
ADC output was recorded at a given input voltage.

60
While the filtering minimizes the effects of high-frequency noise, it presents
another problem for the ADC. ADCs contain internal capacitors that must fully
charge in order to maintain availability of the correct input voltage to the internal
comparators as they loop through calculations and identify the voltage value. The PIC
data sheet warns that source impedance on the analog line should not exceed 2.5k in
order to avoid voltage divider effects with the internal impedance of these ADC
capacitors. With the RC filter on the signal line, the impedance would rise above
230k for even the lowest design frequency waves. For this reason a unity-gain op
amp was added to the back of each filter as a buffer to reduce the signals source
impedance into the ADC, and thus supply more current to the internal ADC
capacitors. The MCP604 op amp is capable of sourcing 22mA continuously, meaning
that the capacitors with maximum 30pF of capacitance in the PICs ADCs could
charge from zero to 5V in less than a nanosecond. This is orders of magnitude shorter
than the maximum signal acquisition time selectable for the PICs ADC, which is
16s. The A-to-D comparator calculations take a minimum of 10.4s. Hence the
entire process uses 26.4s per conversion. Using a sampling frequency of 518Hz
means that four A-to-D conversions (coil voltage, load voltage, DC/DC converter
input current, and DC/DC converter output current) are requested only every 1.9ms,
or one every 0.483ms. Hence the ADC has 0.483ms to carry out an operation that
requires only 26.4s. The buffer thus makes it possible for the ADC to accurately use
its 12 bits to measure dynamic signals at the requested sampling frequency.
A 12-bit ADC would ideally separate the full-scale input voltage neatly into 2
12
= 4096 bins, each signifying 1/4096
th
of the full scale. For the circuits 0 to 4.096V full
scale input, each ADC count should signify 1mV. This 1mV resolution was verified
on the small scale by matching an increase in the recorded ADC value with the
number of millivolts by which a controlled DC input signal was raised. Nevertheless,
a broader-range calibration is needed to ensure proper interpretation of the data, so a
calibration of the entire analog input block to each ADC was carried out. Due to the
dependence of the ADCs operating characteristics on actual input impedance values,
this had to be conducted after the printed circuit boards manufacture and population,
not on the prototype breadboard, since any resistance in the PCB traces may alter

61
intermediate voltages slightly. The calibration of each of the four analog in put blocks
to the PIC was carried out by generating a controlled voltage (for the coil- and load-
monitoring ADCs) or controlled current (for the current sense resistor-monitoring
ADCs) and fitting a linear equation to the corresponding ADC values as monitored
over HyperTerminal. The complete step-by-step calibration procedures are detailed
for repeatability in the Testing Procedures section below.

Real-Time Clock (RTC)
In order to correlate the measured power generated with the wave power
acting to excite the buoy, the ST Microelectronics M41T80 was added to the board.
This RTC was selected for compatibility with the ORCA sensor suite, so that future
integration into the control scheme will be less complicated. It communicates with the
PIC over I
2
C, and it has a pin dedicated to outputting a user-programmable frequency
square wave. A PIC program was written which allows the user to initialize the
RTCs time setting via HyperTerminal. The Lithium C-cell battery then allows it to
retain this setting after the circuit has been powered down. The M41T80 supplies the
PIC with the year, month, day, hour, minute, second, and hundredth of a second. In
binary coded decimal (BCD) format. This data is read every time the PIC records an
averaged data point.

DataStorage
A Logomatic V1.0 by Sparkfun Electronics was employed to capture data
written directly to the serial bus to an SD card. A configuration file stored on the SD
card instructs the Logomatic to operate at the desired UART mode and baud rate.
The Logomatic offers ADC capabilities, as well, but these channels were unused in
this application. As such, the only signals required for the power measurement circuit
are the data transmit, file stop, and file reset lines. The stop and reset lines remain
high until the end of a sampling period, at which point they are dipped low for a short
time before returning to high to begin another sample set. These lines are controlled
by PIC output pins, which are then run through 2N3904 NPN transistors. The stop
and reset lines use pull-up resistors on board the Logomatic, so connecting the NPNs

62
collectors to the stop/reset pins and their emitters to ground allows the voltage at the
pin to dip to zero when the transistor is turned on by the PIC. This dip in voltage
closes the text file being written to the SD card, ensuring validity of the data recorded.

63
2.5 Software

Brief mention has been made of individual software routines when the
hardware associated with them was presented. In this section a full description and
users guide to the PIC microcontroller programs and the MATLAB post-processing
routines is given. The code for these programs can be found in Appendices C and D.

2.5.1 PIC Microcontroller Code
The PIC code was written, compiled, and debugged in Microchips
programming interface, MPLAB IDE, version 8.00. Given that the PIC18 family of
microcontrollers was used, the C18 Toolsuite (which includes the MPLAB C18
Compiler, MPLIB Librarian, MPLINK Object Linker, MPASM Assembler) was
selected during project file configuration. The only other project configuration setting
required was declaring 18f4523.lkr as the linker file, since the hardware
configuration bits were programmed into the code. The code, then, is written in a C-
based language defined by the C18 Libraries. The documentation for these libraries
and development tools is available on Microchips website [22].
The project consists of seven source files: WECfinal.c, SetClock.c,
ConfigRTCSq.c, ReadClock.c, I2CRandomRead.c, I2CByteWrite.c, and
ConvertTime.c. The main() function is contained in WECfinal.c, and the
functions defined in the other files are called from within the main function. The main
function also calls an interrupt service routine (ISR) called RTC_sample_ISR(),
which is defined within the same WECfianl.c file. Global variables that define the
sampling and record frequencies, record length, and resistor values installed in the
PCB are set at the beginning of this file as well. This means that when a change in
sampling frequency, record length, or current sense resistor value is desired, the
program must be recompiled, and the PIC reprogrammed.
The general structure of the code sends the PIC into a continuous loop of ADC-
sampling and data-writing directly after initial setup procedures. Each iteration of the
loop performs time-averaging on samples from the four ADC ports, reads the clocks

64
time, and writes the time and data to the serial port. This loop runs for the duration
requested by the record length global variable before sending a signal to the Logomatic
to reset and create a new file on the SD card. Within the loop, each iterations timing
is controlled by a flag set within the ISR. The ISR initiates on every falling edge of a
controlled-frequency square wave signal sent from the RTC to the PIC; a counter in
the ISR keeps track of the number of samples collected before setting the flag to
indicate the data should be averaged and written to the serial port.
Upon initial power-up of the entire circuit, the PIC sends power to various
peripheral devices on the board, and the PIC routine prompts the user to initialize its
real-time clock. At this juncture in the code, the SetClock() function is called. The
initialization is necessary if the battery that preserves the RTCs time setting has been
removed from the circuit at any time since its previous use.
3
To complete this
operation, the PCB must be connected to a PCs serial or USB port via the DB9
connector on the PCB. Running the Hilgraeve. Inc., Windows-compatible software
HyperTerminal, connected with 115200 baud, 8 data bits, 1 stop bit, and no parity or
flow control, allows the prompt Set Clock YYMMDDHHMMSS> to be displayed on
the PC screen upon circuitry power-up. The user must then respond with twelve digits
corresponding to the date and time before a carriage return. Since these values are
relayed directly to the RTC via I
2
C communications, they must fall within the
boundaries of the RTCs registers 00-99 year (YY) range, 01-12 month (MM) range,
01-31 day (DD) range, 00-23 hour (HH) range, or 00-59 minute (MM) and second (SS)
range. If incompatible values are entered, the routine will freeze, and power must be
cycled to the circuitry. The SetClock() function is nearly identical to that written
by Tony Cimaglia for implementation of the RTC in the ORCA sensor suite.

3
Note that this function call should be commented out during the final compilation
and programming before WEC deployment in order to avoid the need of user-input
whenever power is cycled to the circuit. The RTCs battery connection must be
maintained during and subsequent to programming, but it is important to make this
coding change before deployment to ensure that sampling is not completely halted
during an unintended power cycle.


65
Next the main() function calls the ConfigRTCSq() function in order to set
the frequency of the square wave generated by the RTC, which in turn drives the
interrupt prompting the PIC to sample its ADCs. As mentioned above, the frequency
is hard-coded into the WECfinal.c file. The value used for testing during this project
was 512 Hz. All communications with the RTC are conducted via the PICs I
2
C bus.
Thus both the SetClock()and ConfigRTCSq() functions call the
I2CByteWrite() function to relay initializations and settings. In addition, the
main loop gathers current time data from the RTC over the I
2
C bus using the
I2CRandomRead() function. ConvertTime() then reformats the binary-coded
decimal (BCD) data into decimal format for recording. These three functions are also
heavily based on Tony Cimaglias sensor suite code.
As a final note on the PIC code, it should be emphasized that seamless
sampling at the prescribed data rate relies on calculated pairing of appropriate
sampling and recording frequencies. The 512Hz sampling rate and 8Hz record
frequency were chosen to accommodate the RC filter cutoff frequency of 50Hz.
However, the amount of time required for the PIC to carry out all the operations
within one iteration determines the upper bound of the sampling rate that the RTC
may request. Using the formulae on pages 232 and 233 of the PIC18f4523s data
sheet, it was determined that four ADC acquisitions would require a minimum time of
105.6s to complete. This is well within the 1.9ms window allowed by the 512Hz
interrupt operation. Nevertheless, every eighth of a second, all the averaging, clock
reading, and serial port writing operations in the main loop must be completed within
this 1.9ms window, or the data will be sampled but not recorded. That these
operations can be completed at this frequency is proven by the complete data record
supplied during testing. The RTC has the capability of outputting square waves of
certain frequencies, ranging as high as 32.768kHz. It should be noted that both the
ADCs settling and acquisition times and the PICs ability to complete commands in
the allotted time must be taken into account when raising the sampling frequency in
pursuit of higher accuracy data.


66
2.5.2 Post-processing Matlab Code
The main goal of the post-processing code is to determine the efficiency of the
WEC given a text file containing the generator data time series and the comma-
separated value (.csv) file from the OSSI Wavelogger containing the corresponding
wave time series. The names of these files are input as strings, along with the water
depth in the test location, as the arguments of the primary post-processing function,
defined in efficiency_spectrum.m. The files are imported into the Matlab
environment as matrices and separated into individual array variables. The data from
the Wavelogger must be specially reformatted; this operation is completed by calling
the convertOSS_WEC() function. The function also plots the water level time series
in centimeters and outputs a seven-column matrix containing the date, time, and water
level in centimeters. The compiled time arrays generated by the WEC and
Wavelogger data files are compared to determine if they started recording data
simultaneously. This implies that the RTCs on each instrument must be perfectly
synced prior to deployment so that the time series data may be compared. Then, if
one instrument was powered on before the other, the disparity between the records
start times is displayed to indicate that the user should edit the input files.
The routine then converts the ADC values into voltage and current values using
the calibration coefficients hard-coded into the script. From these values the
instantaneous power into and out of the DC/DC converter, the DC/DC converters
efficiency, the percentage of the time that the converter is being used, and the total
accumulated charge are calculated. The wave height is analyzed in the frequency
domain to identify peak frequencies and total energy into the system (via the area
under the wave power spectrum). The power out of the system is computed as the
average power emitted from the DC/DC converter over the course of the sampling
period. The efficiency of the system is therefore the average power generated divided
by the average incident wave power. The frequency domain analysis enables
determination of whether the WECs target frequency range dominates the excitation
forces. If needed, a subset of the total data record may be selected for a comparison to
be made between the efficiencies of the separate buoys under the same conditions.

67


3. Construction

All components of the WEC were machined at the Florida Tech Machine
shop or assembled in the Underwater Technologies Laboratory on the Florida Tech
campus. For fine-pitched soldering, the help of Tony Cimaglia and the ORCA
microscope were requested. This section details manufacturing procedures so that
future work on the project may be consistent or include improvements.

Coil
The coil dimensions and bank-winding geometry were designed according to
the equations for inductance given in section 2.4.1. Since the magnet would
eventually need to move freely through the inside axis of the coil in as close proximity
to the wire as possible, the wound wire needed to be epoxied and the former removed.
Initially a lathe was proposed to feed the wire at a controlled speed onto a former, but
students attempting this method discovered it was very apt to break the wire or cause
the shielding to split and short the coil. The coil-winding machine located at the
Applied Magnetics Laboratory in Melbourne may eventually be a good solution, but
because it does not have an operator or a manual, the hand-winding method was used
to quickly create a preliminary test coil. This test coil yielded sufficient energy so that
the method was used to quickly, albeit rudimentarily, wind the final coil used in
testing.
The former was constructed from a 1.625 outer-diameter PVC pipe covered
with Lithium grease and wrapped in wax paper to create lubrication for eventual
removal from within the coil. The wrapped pipe was inserted into two wide cardboard

68
rings, positioned apart from each other by the desired length of the coil. These served
as endstops to facilitate layering of the bank-wound wire, as shown in Figure 18. A
sturdier shielded 12-inch segment of
wire was soldered and shrink-
wrapped to the end of the magnet
wire before winding commenced to
give the coils electrical connections
reinforcement against wear and tear
(visible as the shorter, yellow wire in
the prototype shown in Figure 18).
The first 20 windings were wrapped
on the first layer to establish a base
that wouldnt slide as additional
layers were wound into the
crevices between the wires on the layer below. After 2 layers had been wound
around a short segment of the pipe, a layer of West System epoxy (Fast Hardener) was
brushed on to begin giving the wires a medium in which to set. Although true bank-
winding, with clean layering of wires in the crevices of the supporting layers wires,
was the ideal goal, the hand-winding method degenerated quickly to simply striving to
keep tight windings as close to the first end of the pipe segment as possible and
working slowly toward the other end, applying epoxy along the way. The number of
windings was counted as winding progressed in order to match the design variable N.
One important feature was maintaining flat, 90 ends of the coil in order to keep
mating with the other generator pieces as smooth as possible.
After the epoxy had cured for 24 hours, the PVC pipe was slipped out of the
center of the coil, leaving the freely standing coil to mate with its supporting pieces. A
connector housing was crimped onto the ends of the free leads to provide for clean and
reliable attachment to the PCB.


Figure 18: Winding the generator coil

69
PCB
The schematic in Figure 15 was drawn in CadSoft Computer, Inc.s EAGLE
Layout Editor. The traces were routed using the softwares Autorouter capabilities,
using a vertical default orientation for component-side traces and horizontal default
orientation for the bottom side. A ground plane was also added to the bottom side to
reduce noise. The excellon- and gerb274x- CAM files were generated to the
specifications of Advanced Circuits printed circuit board manufacturing, and the files
were checked for design rules compatibility using the FreeDFM online service. After
manufacturing, the components were soldered to the board in-house. The RS232 port
was then connected to a USB port on a computer via a serial/USB converter cable,
and the microcontroller was programmed using the PICkit2. The RTC time was
initialized, and then its separate battery attached to preserve the time setting. Plastic
adhesive-based stand-offs were screwed to holes in the PCB to allow for mounting
inside the Pelican case that houses the electronics.

LIG box
The electronics and coil are housed within a Pelican Case 1300 watertight and
corrosion-proof box, which was modified with a hole in the top and bottom to allow
the magnet to travel vertically through the coil. The challenge was designing a
completely sealed path for the magnet to travel while maintaining close proximity to
the magnet wire of the coil. A pair of o-ring-sealed bulkheads was fashioned from a
Type II PVC cylinder using a lathe in order to both support the coil and pressure-seal
the electronics from the weather elements to which the magnet is exposed (Figure 19).
The threading on the bulkhead endcap and its corresponding nut was accomplished
using a CNC mill. Closed-cell foam gasket material seals the junctures between the
bulkheads and the tubes supporting the coil and between these tubes and the coil. This
creates a smooth, 1.625-inch diameter tunnel through which the 1.5-inch diameter
magnet can freely travel. The magnet has ten inches of travel before the frame
carrying the Pelican case limits its motion.
The assembly design makes it possible for the coil to be replaced with a
maximum of 2 other fittings needing to be re-manufactured: the two disks interfacing

70
the coil with the white polyethylene tubes. As the tubes are 2.365 inches in outer
diameter, a new interfacing disk would require a 1.625-inch hole through the middle, a
2.365-inch indentation on one face, and another indentation of the new coils outer
diameter on the other face. When these are all assembled, the pressure from the
latched Pelican Case and the aluminum frame holding it ensure sealing of the
bulkhead junctures.
(a)

(b)

(c)

(d)

Figure 19: Linear Inductance Generator box with (a) bulkhead seal design drawings, (b)
bulkhead inside box, (c) circuit board and coil inside box, and (d) closed box displaying
through-hole magnet path.

71
Frame
The square-channel aluminum for the main frame was cut to dimension using
a mitre saw and then welded together with the solid rectangular bars of aluminum that
comprise the crossbars. The 1.5-inch holes in the crossbars were milled out using a
CNC machine. Inch-long segments of polyethylene with a 1.1-inch inner diameter
were press-fitted into the holes to serve as low-friction bearings, keeping the 1-inch
diameter, buoy-driven aluminum rod oscillating vertically. The cage stabilizing the
LIG box allows the Pelican Case to be slipped into place from above and a crossbar to
be screwed across the top to apply enough pressure for the coil to stay in alignment.
Neoprene rubber pads on the inner faces of the cage also help in maintaining
alignment. Slits for the stainless steel banding were milled into the 6-inch-wide C-
channel for attaching to the piling, and the 22-inch section was bolted to the backplate
of the frame.
(a)

(b)

(c)

(d)

Figure 20: Aluminum frame, C-channel strapped to piling, and magnet on its support rod

72

The translator rod holding the magnet consists of two segments of 1-inch diameter
solid aluminum rod, each threaded at one end axially with a -20 tap. A threaded
rod passes through the hole in the ring magnet and into the tapped holes. At the top
and bottom of this rod, through the cross-sections, are tapped a -20 hole so that
polyurethane rubber rectangles can be screwed in tangentially to serve as vibration
relief while coupling the translator to the buoy rod via the horizontal braces. The top
horizontal brace was welded to the rod driven by the buoy, but for convenience in
assembly and dismantling, the bottom support was screwed into the rod.

Buoy
The buoys were carved from polystyrene foam blocks using a CNC mill in the
Florida Tech Machine Shop. The G-code files were generated via MasterCam
software from the .igs files saved from Autodesk Inventor drawings. Each buoy was
manufactured in two halves to allow for an ABS plastic tube to be screwed into place
in the center. This 1.5-inch OD tube, which stretches the entire length of the buoy,
serves to both guard the foam from damage as the aluminum rod is inserted and to
secure the buoy at the intended angle of incidence. A pin inserted through a hole in
the rod and a hole in the aluminum dowel aligns the buoy. In future versions, the
buoy may be left free to rotate so that the entire apparatus would not need to be shifted
as wave direction shifts, but for this prototype, the angle variable needed to be
eliminated.
The foam was then covered with 6-oz. E-glass fabric and DOW Chemical
Companys 331 Epoxy Resin. Epoxy needed to be used for the first coat, a least,
because polyester resin melts polystyrene foam. Due to the simplicity of the
geometries, a careful handworking layup process was sufficient for obtaining a suitably
smooth surface, without the need for vacuum bagging or creating a female mold.
Sanding of the final forms was necessary before applying the yellow polyester gel coat,
and a clear coat was also applied on the outer surface.
In order to add receptacles to hold weights, four holes were drilled into the top
of each buoy using a Dremel Tool to cleanly pierce the fiberglass and an extended-

73
length drill bit to reach 14 inches into the foam. PVC pipes (2x 1.5 diameter and 2x
2 diameter), capped on one end and threaded on the other were inserted into the
holes, and expanding watertight glue was used to secure them in place. A threaded
endcap is screwed into place after the weights are inserted to seal the receptacles.
(a)

(b)

(c)

(d)

(e)

(f)


(g)

(h)

(i)

Figure 21: Buoy CNCing (a-b), fiberglassing (c-e), gelcoating (f), weight receptacle
insertion (g), and finished product (h-i).

74


4. Testing Procedures

4.1. Calibration

4.1.1. ADC analog input block calibration
This section lists the steps by which the post-processing coefficients for each of
the four ADCs were determined. As mentioned in the electronics segment above, a 0-
4.096V, 12-bit ADC ideally assigns an additional count for every 4.096V/4096
1.0mV jump in voltage, but true operation can only be ascertained in the final circuit.
This is especially important for the current-sense measurements because the ADC
voltage readings are indirect measurements of the current signals and depend on the
operation characteristics of the intermediate amplifiers. The ADC values were viewed
via HyperTerminal, and the corresponding voltages and currents driving the ADC
values were recorded to yield the coefficients displayed in Appendix F.
First, to calibrate the coil/supercapactor voltage ADC, the voltage divider was
kept intact, with 1M as the upper load and 2.2M as the lower load, but the
DC/DC converter surfboard was removed from the circuit. This isolated the testing
from the effects of the relay switching on when the coil achieved the threshold voltage.
A perfect follower transistor circuit (eg. containing a LF411 op amp, a TIP102
Darlington transistor, and a potentiometer) was used to apply a controlled voltage to
the supercapacitor terminals. Intervals of 0.5V between 0 and 5.6V were found to be
appropriate. The voltage was allowed to settle before each ADC digital value and the
corresponding voltage on the coil were recorded.

75
The load voltage ADC was calibrated in the same method as the coil, except
that different components were removed from the board during the process. The
controlled voltage (0 to 5.0V in steps of 0.5V), was applied directly across the voltage
divider, so that the DC/DC converter remained removed, thus avoiding forcing
voltage backwards across it. For safety, the supercapacitor was also removed. Rather
than the typical 2k-magnitude loads used during operation, higher 1M or 680
resistors were inserted into the load voltage divider to so that the perfect follower
circuit was able to source sufficient current at the high end of its voltage range.
The current-sense ADCs calibrations were slightly more involved. The load
current calibration requires that the DC/DC converter remain uninstalled and a 10
resistor be inserted as the sense resistance. Depending on the range and accuracy
being tested, a pair of identical resistors between 560 and 1k was loaded into the
load slots. An ammeter was installed in series between the power supply and the high
side of the current sense amplifier. The power supply unit was set to 5.0V with the
output current-limited, starting at 0mV. The current over the 560 resistor pair was
varied between 0 and 4.1mA, resulting in 41mV across the 10 sense resistor. The
100x gain op amp thus supplied up to 4.1V to the ADC, which saturates at 4.096V.
The calibration coefficient was determined by recording the current measured along
with the corresponding ADC value.
Using higher load resistance values limits the current to below this ADC-
determined saturation current of 4.096mV, since the 5.0V setting actively determines
the power output from the supply at times when the impedance is so high that it draws
less than the set current limit. It was determined that testing the current-sense
components with a few varying load resistance values was necessary to ensure that the
high-side resistor setup behaves consistently, especially at low current values. This
precaution was taken because current-limiting the power supply to such low
amperages was observed to prevent the preset 5.0V from being supplied, as well. This
means that, while the ammeter-measured current may be known, the high side in
the load resistor series could be below its intended operational voltage. When it is
very low, perhaps within 1.3mV of ground, the op amp is unable to amplify the signal
dependably. The MAX4372 op amp has a 0.3mV typical input offset voltage, and

76
although its full-scale common-mode input range is listed at 0-28V, this means that the
difference between the input pins can be as low as zero, but the voltage value at either
input pin may be read as 0.3mV when the actual voltage level lies in the range of 0-
0.3mV.
In order to calibrate the ADC measuring the current entering the DC/DC
converter, the DC/DC converter was removed, and a 1.2k to 1.8k resistance value was
inserted between pins 4 and 5 of the DC/DC converter header. This allowed the input
voltage to drain to ground without the uncertainty of the DC/DC converters
adaptable input impedance. An ammeter was set in series between the current-limited
power supply and the 10 sense resistors high side. Again, the current was varied
between 0 and 4.1mA (or, again, the maximum current dictated by the resistance)
using the power supplys control knobs. After the ADC values and current levels were
recorded, the circuit was tested with the DC/DC converter in place to verify that its
input impedance never dropped below the lowest resistance tested. If so, the ADC
values would have climbed out of the bounds of the calibration data, and testing of a
lower resistance value would have been required to accommodate the higher current
draw.

4.1.2. Frequency testing
Due to the emphasis on frequency targeting in the design of the WEC, it was
very important to test the functioning of the PCB module under a variety of controlled
frequencies to understand its performance before deployment. The LC circuit was
designed for resonance over a bandwidth of 0.67 to 2 Hz, so operation over this
frequency band needed to be verified. Of equal importance, the maximum current
load sustainable at each frequency needed to be determined in order to prevent
saturation of the DC/DC converter output during deployment. With the existing
rectification circuit, saturation during eventual battery-charging applications would
simply mean that available energy would be drained or not collected, but the battery
would constantly receive energy. However, during the absorber performance
comparison, it would mean the inability to distinguish which absorber actually

77
captured more energy. To avoid saturation, the load resistance must simply be
reduced. This issue was discovered when initial circuit testing with simple hand-
controlled excitation saturated the capacitor with various high-resistance loads.
During frequency testing, the original objective was to determine the load resistance
value that would give a 50% ratio of on-to-off time during the record. This would
allow the appropriate resistance value to be installed during deployment, based on
measurement of the current wave frequency and magnitude. In the end, the trials
allowed for targeting of the load resistances magnitude, but due to the conclusions
derived in the process, fine-tuning of the resistance was not pursued.
In order to characterize the load capabilities of the LC circuit under controlled
frequency conditions, the PCB was tested with the oscillation table in the Florida Tech
MAE department. The oscillation velocity is controlled using the frequency and
voltage amplitude settings on a signal generator. The coil was secured to the table,
and the magnet, attached to its aluminum rod, was affixed to the moving plate on the
oscillating platform, as shown in
Figure 22.
Three main observations
resulted from the trials.
The ability of the PCBs
capacitor to charge is heavily
affected by the specific
combination of frequency and
stroke length, rather than
either alone. However,
because rather extreme
conditions (i.e. high energy,
long period waves) in the lagoon would be needed to reach the low frequency
threshold of this coil, wave heights will be the more limiting factor. Higher
frequencies do create higher magnetic flux derivatives, allowing the capacitor to
charge faster, but high frequency oscillations of low magnitude cannot provide a
sufficient voltage spike to charge the capacitor to 5V. Thus the DC/DC converter

Figure 22: Frequency calibration test setup

78
never turns on for low-magnitude oscillations. The detriment of a lower frequency
is pronounced for a given wave height, but the WEC is much more likely to
experience short-period waves with too little height than tall waves with too low a
frequency.
A mild drift in the tables position over time affected the capacitors charging
profile enough to yield appreciable differences between two trials of the same input
settings. As the oscillations zero-position approached the end of the coil, the
charging time for the capacitor decreased. Quantifiable patterns were not derived
from these observations, but variation by up to 65% between trials did demonstrate
that the circuitry component values, excitation frequency, and excitation
magnitude alone cannot predict the circuits performance. Median position also
plays a governing role in the capacitors ability to charge. For this reason it is
important to ensure that both buoys begin their trials at the same equilibrium
position with respect to the coil.
Due to the high variability of the circuits performance under similar sets of inputs,
the goal of a 50% on-to-off ratio for determining load resistance was traded for
determining a load that is capable of causing saturation under some conditions and
of discharging under other, only slightly modified, conditions. This selection of
time in operation should contribute to more reliable detection of differences in
power take-off abilities than using current measurements alone. A load value of
10k was selected.

A table of results of the oscillation table testing is given below. The input test
conditions, the average power, and the percentage of time that the DC/DC converter
was outputting power are included. An example comparing two capacitor charging
profiles is plotted with the output power in Figure 23. The test conditions that
generated the plots are a 1Hz oscillation with a 7.70cm stroke length and a 1.5Hz,
5.13cm stroke, both draining into a 10k load. For the combinations shown, the
higher frequency induced a higher percentage of power generation time, but as can be
seen in Table 5, some pairs of trials exhibited greater dependence on a longer stroke
length than on frequency. An overall efficiency based on the force needed to

79
accelerate the magnet, the magnets velocity through the coil, and the output power
indicated that a very low efficiency near 0.26% was exhibited by the generator system.
Improvements in generator efficiency are discussed in Chapter 6 below.

Table 5: Oscillation table calibration trial results
Frequency (Hz) 0.75 0.75 0.85 0.85 1 1 1.5
Amplitude (cm) 8.98 10.26 7.92 9.06 6.74 7.70 5.13
Load resistance = 10k
Record time (s) 124.89 162.05 103.36 121.45 61.65 234.65 138.43
Avg. power (mW) 0.059 1.509 0.087 1.518 0.080 0.095 0.237
On time ratio 5.31% 99.92% 7.48% 99.90% 6.85% 8.57% 19.88%
Load resistance = 1k
Record time (s) 110.62 102.99 72.72 --- 57.22 61.77 93.52
Avg. power (mW) 0.546 1.52 0.877 --- 0.77 01.194 1.623
On time ratio 3.77% 11.20% 6.07% --- 5.35% 8.73% 11.94%

0 20 40 60 80 100 120
-1
0
1
2
3
4
5
time (s)
D
C
/
D
C

c
o
n
v
e
r
t
e
r

o
u
t
p
u
t
Power out (mW)
Coil Voltage (V)

0 20 40 60 80 100 120
-1
0
1
2
3
4
5
time (s)
D
C
/
D
C

c
o
n
v
e
r
t
e
r

o
u
t
p
u
t
Power out (mW)
Coil Voltage (V)

Figure 23: Capacitor charging profiles and DC/DC converter power output plots showing
the difference in performance between 1Hz, 7.7cm oscillations (left) and 1.5Hz, 5.1cm
oscillations (right).


80
4.2. Deployment

The primary field testing of the wave energy converter was conducted on a
piling near the eastern coast of the Indian River Lagoon in Brevard County,
approximately four miles north of Sebastian Inlet. This location was chosen for the
convenience of an accessible dock nearby. Because of the eastern shoreline location,
the low wind climate of the summer, and the need to obtain wave heights as large as
the design wave of the hyperbolic curve, it was necessary to select days for testing
during which the wind originated from an at least partially western direction. Data
was collected on 3, 12, 13, and 26 August 2008.
During setup, the C-channel was strapped to
the piling using two 152-sized hose clamps threaded
through slits on the legs of the C-channel. Originally
stainless steel Pelco banding and buckles were
used, but the need to shift the height of the apparatus
on the piling with tides and with the differing floating
levels of the two buoys proved the hose clamps to be
more convenient with the current hardware. The frame
was bolted using four -13 bolts through the
backplate, which contains threaded holes. The frame
was oriented toward the direction of the approaching
waves. By standing on a ladder, it was possible for a
single person assemble the remainder of the apparatus.
The magnets translator rod and the rod onto which
the buoy is inserted were coated with lithium grease,
threaded through the polyethylene bearings and in turn
coupled to each other with the bottom horizontal
brace, as shown in Figure 25. The magnet was also
screwed into place on the rod, but the top rubber
stoppers and screws affixing the buoy direction could not be tightened into place until
the electronics box was inserted. The long buoy rod was then inserted into the tube at


Figure 24: Deployment site
Deployment
site
Sebastian
Inlet

81
the buoys center and secured with a plate threaded into the bottom of the rod. At this
point it was possible to verify that the buoy was floating at the correct height, such that
its movement was not limited more often by its top extent than its bottom extent, or
vice versa.



Figure 25: Frame assembly and deployment

The WEC circuitry was preprogrammed with the RTC time synced to the
wave gages RTC and preserved with the 3.6V battery attached. The PCB was
screwed into its place in the box on land, and immediately preceding deployment, the
main power battery was attached. After the box was set in its place in the frame and
the final rubber stoppers and screws installed, the official start time was recorded such
that premature data points could be ignored in the data record.
An Ocean Sensor Systems Wave Logger II with a 0.5m staff was deployed on
the dock adjacent to the WECs piling. Although measuring in the immediate
proximity is preferable to the docks approximately five-meter distance, measuring
from the same piling would have made obtaining data unaffected by the WECs
movements impossible. Data was gathered in 20-minute-long files, and the wave
direction noted. After 2-3 files had been collected for one buoy, the WEC was
disassembled only to the point where exchanging the buoys was possible, and a new
set of WEC and wave gage files was collected for the second buoy.

82


5. Results and Conclusions

5.1. Practical Observations

A few design modifications became necessary during final planning and the
early stages of deployment. Initially, the buoys were intended to float completely
submerged, with the top faces level with the water surface. After the final weight of
the buoys and hardware was recorded, it became evident that their own weights would
not nearly offset the buoyancy provided by displacing the full volumes, and added
weight would be needed to submerge them to the desired depth. The hyperbolic curve
buoy was indeed deployed with enough weight added (36lbs) via fishing sinkers to
nearly submerge it properly, but the added inertia prevented almost all movement of
the buoy. For this reason the final deployment conditions were modified such that the
buoys both weighed the same amount (and therefore displaced the same volume of
water) rather than floated at the same level. For this to occur, 4.25lbs of weight were
added to the hyperbolic curve, bringing the finished weight of each buoy to 13lbs.

(a)

(b)

(c)

Figure 26: Floating levels of the buoys. (a) Curved buoy with 21 lbs
added. (b) Curved buoy with 4.25 lbs added to bring it to the cylindrical
buoy's weight. (c) Cylindrical buoy without weight added

83
Not sinking the cylindrical buoy does not affect its expected performance, as it was
designed to simply harvest the potential component of the wave energy. By riding
atop the wave surface, the cylinder experiences strictly potential energy excitation.
This modified geometry, however, does compromise the theory behind the hyperbolic
curves performance because it cannot float at the level for which its curve is intended
to match the water particle movements. Nevertheless, it is unquestionable that the
hydrodynamic effect of the added inertia impedes the motion of the curved buoy, so a
modified experiment was necessary to create a closer contest. Clearly, adding the even
higher weight needed to sink the cylinder would impede its motion to a greater degree,
rendering this WEC ineffective for such a comparison.
The conclusion gained from this segment is that other hydrodynamic
properties (including body mass, added mass, and the change in buoyant force with
respect to time) overwhelm kinematic effects for bodies floating in heave. Some
suggestions for changing the buoy shapes or adding a mechanical spring force in order
to revisit the issue of inertia versus proper submersion are given in Chapter 6 below.
Nevertheless, other valuable and more quantitative conclusions were possible from
testing the adapted setup, and these are discussed next.


84
5.2. Testing Conditions

Enumerating the testing conditions must include both circuitry component
values and the wave climate under which the WEC was deployed. As shown in Table
6, the initial capacitance values were changed for subsequent deployments. This is
because the capacitor charge and discharge rates under hand-driven excitation were so
steep during the first deployment that a more gradual charging profile was desired for
distinguishing between the two buoys performances during more favorable wave
climates (see Figure 28). Because the 0.47F supercapacitor was unable to charge to
5.0V during oscillation table trials, a median value of 22000F was used for the
remainder of the deployments. The values that remained constant for all trials were
the inductance (measured as being between 0.1H and 0.25H), and the load resistance
of 10k. The approximate water depth was 1.2m in the immediate vicinity of the
piling, except for during the last deployment on 26 August 2008, when storm water
runoff increased the depth to 1.7m.
Table 6: Deployment log
Date
Wind
Direction
Avg. Wind
speed
4
(m/s)
C
(F)
Tp
(s)
Hs
(cm)
Hmo
(cm)
Avg. Wave
power
(W/m)
3.08.08 190 2.41 4700 1.15 0.66 0.57 0.037
12.08.08 215 2.91 22000 1.34 9.44 7.10 6.794
13.08.08 240 4.96 22000 1.66 15.24 11.71 24.668
26.08.08 220 4.25 22000 1.55 8.73 8.48 11.625

From the wave records gathered by the Ocean Sensor Systems Wave Logger, a
time series analysis and a spectral analysis were conducted in Matlab to characterize
the input wave conditions. First, the time series of water level data was de-trended to
remove dependence on tides from the spectral analysis. Then a zero-up-crossing
routine was conducted on the data to determine the most numerous periods and wave

4
Recorded from the National Weather Service log of daily wind from the Melbourne
International Airport [28]. Given the variability of wind speed over the course of the day and
across the sixteen miles that separate the deployment site from the airport, these wind values
can only characterize the general wind conditions from the day

85
heights during the course of the deployment. The histograms for data collected on 13
August 2008 are displayed in Figure 27.

13:55:12 14:09:36 14:24:00 14:38:24 14:52:48
0
10
20
30
40
time (hh:mm:ss)
E
t
a

(
c
m
)
0 500 1000 1500 2000 2500 3000
-20
-10
0
10
20
30
time (s)
E
t
a

(
c
m
)

0 0.5 1 1.5 2 2.5 3
0
100
200
300
400
500
T (s)

0 0.1 0.2 0.3 0.4
0
50
100
150
200
250
300
350
H (m)

0 2 4 6
0
0.5
1
1.5
2
x 10
-5
frequencies (Hz)
S
x
x

Figure 27: Incident wave analysis from 13 August 2008. Raw and de-trended time series
(top) wave period histogram (left), wave height histogram (center), and wave power
spectrum (right).

Encouragingly, the histogram of wave heights shows a similar shape to the
narrow-banded Rayleigh distribution, indicating that in the IRL, targeting the WECs
absorber and circuitry resonance frequencies to the concurrent wave climate should
improve energy conversion. The narrow-banded spectrum observation is supported by
the steep peak in the power spectrum. A bimodal spectrum, for instance, would
require targeting both predominate wave properties, and a broad-banded spectrum
would similarly indicate that a large range of LC values would need to be active
simultaneously to take advantage of most of the available energy. This is possible with
switched capacitance control, but the task should be simpler to tune when vastly
divergent values are not required. The significant wave height, H
s
, or the average

86
height of the tallest third of the waves, was determined using a cumulative count from
this histogram. The variance of the wave displacement was used to calculate the
significant wave height, H
mo
, spectrally. Slight differences yielded by the two methods
for determining significant wave height were logged. The peak wave period was
determined from the frequency at which the power spectrum peaked.
The measurements allowed for the incident wave power to be calculated as
being between 37mW and over 24W per meter of wave front during various days of
testing. Approximately 6W was measured repeatedly. While the low end of this
range is much too weak to support the ORCA sensor suite, all but one day of data
collection registered energy levels that should be able to support the sensor if the WEC
were eventually optimized to achieve 5% efficiency. Without disregarding the
admittedly selective choice of deployment dates and times according to wave energy
potential, this does verify the meteorological hindcasting models assertion that
reasonable efficiency can be expected to support the sensor even during the annual
summer lull in wave climate.
Another important observation from the extended wave records during each
deployment is that the significant wave height in the IRL is very sensitive to shifting
wind speeds and tides. This is evident in the plot of the raw water level data in Figure
27. For this reason it is important to take the short-term incident wave climate into
careful consideration when determining the comparative performance between the
cylindrical and hyperbolic curve buoys.


87
5.3. WEC Performance Results

In order to arrive at an unbiased comparison between the two buoys
performances, the 20-minute wave record associated with each set of WEC data was
divided into subsets, and a data windowing routine was conducted on each to
determine the shorter-term wave properties through spectral analysis. This method
contributes to both a more accurate overall wave climate calculation and the ability to
select segments of data during which both buoys were truly subjected to the same
significant wave heights. Table 7 and Figure 28 show the results of this comparison.

Table 7: Comparative performance characteristics for the cylindrical and hyperbolic curve
buoys
Cylinder Buoy Hyperbolic Curve Buoy

Hmo = 8.49cm
Tp = 1.50s
Hmo = 8.47cm
Tp = 1.66s
Average capture width
incident power (mW)
4707 5333
Average power output (mW) 0.1251 0.0446
WEC efficiency (%) 0.00266% 0.00084%
Percent of time operating 8.30% 3.11%
mA-h generated per hour of
deployment
0.053 0.029

Hmo = 16.44cm
Tp = 1.495s
Hmo = 13.62cm
Tp = 1.268s
Average capture width
incident power (mW)
18543 10234
Average power output (mW) 0.140 0.0636
WEC efficiency (%) 0.00076% 0.00062%
Percent of time operating 9.87% 4.50%
mA-h generated per hour of
deployment
0.412 0.189


88
0 200 400 600 800 1000 1200
-15
-10
-5
0
5
10
15
20
25
time (s)
Eta (cm)
Power out (mW)
Coil Voltage (V)

0 200 400 600 800 1000 1200
-5
0
5
10
15
20
time (s)
Eta (cm)
Power out (mW)
Coil Voltage (V)

Figure 28: Capacitor voltage and DC/DC converter power output backdropped by the wave
displacement time series acting on it during the deployment. Results from the clinder buoy
are shown in the top, while the comparatively slower charging profile of the curved buoy is
shown on the bottom.

89
The first comparison relates nearly identical excitation conditions, although
the curve buoy experienced slightly more incident power. The second comparison
shows to less similar excitation conditions, this time with the cylindrical buoy
experiencing more incident energy. Clearly the higher efficiency, longer active
operation time, and denser charging profile over the same timescale indicate that the
cylindrical buoy was able to absorb energy from the waves more effectively than the
hyperbolic curve in both the trials. Although these results were not anticipated by
theory, they were not surprising given the observed motions of the respective buoys.
Direct measurements of oscillation magnitude were not collected, but the cylindrical
buoy visibly oscillated with greater frequency, if not amplitude, under the same wave
excitation conditions. For objective comparison, a buoy position sensor should be
implemented.
These results beg for an explanation for the specially-designed buoys inferior
performance. As mentioned above, the inertial term governs the buoys acceleration.
A high body mass will prevent substantial acceleration given a certain combination of
external forces. This issue was skirted by setting the buoys weights equal, leaving
added mass and buoyant force considerations to govern the effect of the excitation
force from Equation {25} on the buoys acceleration. Nevertheless, the inertia of
individual water particles is low, and a large solid mass of any shape cannot move
with the dynamics of a water particle. Modifying the composite density of the heaving
body affected the buoyant force behavior; the m in the z m& & term could not be modified
without affecting the forces on the right-hand-side of the equation. Without a constant
buoyant force, the natural frequency becomes very dependent on the changing depth
of submersion of the buoy. For the cylindrical buoy, its large horizontal cross-
sectional area at every z-coordinate means that any small change in water surface level
it encounters before beginning its heave motion immediately submerges a large
volume of the buoy. The buoyant spring force acting on the cylinder is therefore
proportionally greater than that acting on the curve by the difference between
submerged volume, given a certain rise in water level. A comparison of kinematic
contribution to wave absorption would therefore need both buoys to have equal
horizontal cross-sectional areas at every z-coordinate.

90
Additional suggestions for resolving the hydrodynamic issues affecting the
heaving buoy are presented in the next section, but the overall performance of the
WEC should also be mentioned here. The overall efficiency did not nearly approach
the 5% target set by the wave climate and the sensor suites power requirements, but
the ability to obtain a measurable power output from the simple, rugged apparatus
gives practical evidence that the waves in the IRL offer a promising source of power
for small-scale electronics. A nearly 7000% increase in efficiency is needed to support
the ORCA sensor suite during the summer months. The first component upon which
improvements should focus is the power take-off section. While further developments
to advance the performance can also be carried out, some revisions to the existing
setup should be completed first.
It was recognized during the data analysis phase that the intended generator
resonance and maximum power transfer impedance matching did not in fact occur in
the current hardware configuration. Because the rectifier prevented discharge of the
capacitor back to the inductor, current flows toward the capacitor only, and only when
the voltage induced by the magnet in the coil is greater than the capacitors voltage by
at least two diode drops. At other times, when the wave excitation forces are too low
or the capacitor voltage is too high, the generator terminals form an open circuit, and
any energy generated by the coil is dissipated by its internal resistance. Due to the
small self-capacitance of the coil, the voltage is likely to spike quickly, so voltage
spikes sufficient to overcome the diode drop may be quite common even for small
waves. However, their durations are short-lived as the current flows into a large
capacitance, and without a significant imaginary component to the generators
impedance, no power can be preserved as reactive power. Adding the supercapacitor
in parallel with the coil upstream of the rectifier would accomplish this purpose.
Tuning the LC circuit to be allow for total system resonance with the wave excitation
force, as in {30}, would allow for optimum operation of the WEC. In this case, a
second, much smaller capacitor would need to replace the downstream capacitor to
power the load circuitry. This smaller capacitor would only need to be large enough
to sustain the DC/DC converter and its load over the course of half a wave period,
until the next spike in voltage occurs.

91
The open-circuit impedance of the coil, or source impedance, is, as stated
above, 175. When the coil voltage spikes sufficiently, the capacitor and remaining
downstream circuitry become the load. Due to the downstream capacitor, the value of
this load depends on the frequency of the coil signal, which in the current
configuration is solely dependent on the magnets traveling frequency. Consider the
22000F capacitor used for testing and the design wave frequency of 5.236rad/s.
Assuming that the buoy were to travel at the wave frequency, the value of the load
impedance would be 8.66 whenever the DC/DC converter is switched into the
circuit as coil voltage spikes. (This calculation assumes the measured 40% DC/DC
converter average efficiency, an average capacitor voltage of 4.25V, and a load resistor
of 10k.) If the DC/DC converter is switched out of the circuit during the spike, the
capacitor-dominated load impedance is negligibly higher at 8.68. In both cases the
load is phase-shifted by -90. The implications of these impedance levels are that most
of the energy is dissipated within the coil because the load impedance consisting of the
supercapacitor and DC/DC converter circuitry is so much lower than the source
impedance, consisting of the coil. Maximum power transfer for any electrical system
occurs when the source and load have impedances that are complex conjugates of
each other. Hence the need to return a portion of the reactive energy to the
mechanical system in order to compensate for reactive impedance from added mass
and buoyancy creates a trade-off between total system resonance and circuitry power
transfer. In combination with the very important issue of creating a truly resonant LC
circuit, this optimization should be considered in future versions. If the mechanical
components can be designed such that the system resonance coincides with the
excitation force, designing the LC circuit to have no resultant reactive component at
the excitation frequency optimizes both components. Mechanical tuning, however, is
likely to be harder than electrical tuning, and therefore the optimum power transfer is
liable to be sacrificed for a control method that allows for better absorption and thus
higher total power generation. This is accomplished by adding [C()]
-1
to the
numerator and L() to the denominator in {30} to bring the system oscillation back to

0
. In addition, the load must contain a method of compensating for the DC/DC

92
converter being removed during periods of low capacitor voltage, such that load
impedance levels are maintained.
An improvement in efficiency of the PCB can be achieved by replacing the
relay circuitry with a MOSFET to control the DC/DC converters activation. The
highest DC/DC converter efficiencies are achieved when the power supplied to it is
sufficient to maintain an output current above 100mA. The efficiency of the
TPS61202 drops extremely quickly for low output currents and low input voltages.
The latter issue was solved by using the relay and microcontroller code, but in a self-
sufficient version of the WEC, low power consumption by the control circuitry will
determine whether the generated power will be sufficient to maintain the higher output
currents needed for 90% efficiency and higher. The DC/DC converter efficiencies
ranged in general between 30% and 60% during data collection.

93


6. Recommendations for Future Work

In order to facilitate future improvements, this section enumerates areas of
development that this current research indicates will be most crucial to increasing the
WECs efficiency enough to support the ORCA sensor suite.

Real-time tuning for wave conditions, directions, and tides.
Currently the load resistance consists of a pair of resistors inserted into the
circuit with pin headers that can only be interchanged manually. As indicated by the
frequency calibrations, the value of the load resistance determines how quickly the
capacitor discharges, and therefore, the load value would ideally shift for different
wave conditions and generator frequencies. A maximum power point tracking
algorithm, which adjusts the source and load impedances in real time by switching the
signal frequencies on resistors, capacitors, and inductors as needed according to the
power output of the DC/DC converter, is a promising avenue for tuning the circuits
performance.
In order to adapt to changing directions without manual rotation of the
apparatus on the piling, any directional buoys should be made self-orienting, such as
with vanes attached in the downstream direction.
Another process that must be made automatic is adjustment to tidal levels.
Because of the sensitivity of the coil to the magnets median position in its oscillation,
the small effect o tidal rise affects the efficiency of the system appreciably. Since
decreasing the length of a coil also increases its inductance, a favorable option seems
to be attaching multiple shorter coils axially and switching each coil into the circuit

94
when its level is appropriate for the floating buoys position. Another solution to the
tidal issue is to affix the entire generator and frame to a floating ring that encircles the
piling such that they all move with the tides, and thus the absorber could always float
at the same position in relation to the coil. This adaption would also prepare the
systems design for operation as a free-floating buoy in the open ocean, where no
pilings are available for anchoring.

Deployment considerations
Changes that would vastly improve the convenience of deployment include
easy shifting of the device height on the piling and access to data and the circuitry
during WEC operation.
Currently the hose clamps must be loosened and re-tightened in order to slide
the device as a unit vertically on the piling with tidal changes. Although multiple
holes were drilled into the backboard to give the frame mobility with respect to the C-
channel, unscrewing and re-screwing the bolts is not in fact more convenient, and it
allows only for integral, rather than continuous, selection of height. Milling slits into
the backboard to serve as tracks for bolts secured in the backboard would allow the
frame to be moved easily while a longer-term solution to tidal changes is developed.
The addition of a segment of 0.95 diameter aluminum rod to the bottom of
the buoy-support rod will allow for smooth, continuous movement in larger wave
climates than is now possible. This can be done by milling a short rod to the correct
diameter and threading a -20 hole into each end axially, so that a threaded rod can
secure the extension at its top end, and the buoys bottom plate can still be screwed in
at its bottom to hold the buoy in place.
Modifying the electronics box to allow for accessibility to the circuit board
without any disassembly of the WEC frame during operation would prevent data loss
due to circuitry issues during deployments. Rotating the box to allow its lid to open
from the side, rather than the top, is a good first step. Orienting the circuit board such
that both batteries, as well as the SD card and programming headers, are accessible
without removing the PCB from the box would increase convenience, as well.

95
Ultimately, streaming data to an LCD display visible from the outside of the box or
even transmitting data wirelessly would greatly reduce the difficulty of deployment.

Buoy shape modifications
Since the primary focus of this research was to determine the performance
differences between a buoy that takes advantage of solely potential wave energy and
one that also takes advantage of kinetic wave energy, suggestions for modifications to
create a comparison unbiased by other hydrodynamic effects are made here. Although
thorough modeling of all hydrodynamic parameters is recommended before any
significant expense is committed to manufacturing, the primary issue is hypothesized
to be the horizontal cross-sectional area differences between the buoys. While the
total volumetric displacement for two buoys of equal weight is the same, the cylinder
displaces all this volume over only 6.6cm of submersion, while the hyperbolic curve
does so with its bottom floating 16cm under the surface. In order to make the buoyant
force acting on each buoy the same for any wave height, the cross-sectional area at
every level of the hyperbolic curve should be made equal to those on the cylinder,
meanwhile maintaining the special curve at the forward face. This requires an
interesting geometry of the back face of the curved buoy, or a cavity in the middle of
the cylinder to provide reduced inertia and buoyant force at that level. Furthermore,
the back sides of the buoy should be identical in order for diffraction effects not to
interfere with the comparisons.
The primary issue to be dealt with concerning the hydrodynamics is the
inertial force involved in sinking the buoys. Two possible solutions are adding a
mechanical spring to impart a continual submersion force on the buoy and creating
holes in the centers of the buoys to reduce the body mass. The first solution provides a
method for substituting the springs restoring force for the restoring force currently
served by the buoys weight, thereby maintaining submersion while reducing inertia.
The second solution proposes a scheme in which the buoy contains vertical holes
penetrating its entire depth. Such holes would allow water to fill the tubes at the
trough of the wave but stay at the same inertial level as the buoy rises at the crest, thus
emptying out of the tube partially. While a solid body cannot move with the dynamics

96
as the same volume of individual water particles, this solution would reduce the
movement-minimizing inertial force on the buoy, with minor effects of increased
viscous drag and an altered added mass.
Another naval architecture-related improvement is the distribution of added
weights in the buoys, particularly in the hyperbolic curve. Space considerations
dictated that the weight receptacles be installed at the top of the buoys and behind the
zy plane separating the curve from the volume that encloses the rod. The end result,
however, was a natural moment about the y-axis of the hyperbolic curve buoy, since
the center of gravity and center of buoyancy are not vertically aligned. This adds to
the frictional force acting on that supportive rods bearings, thus further impeding
motion.
Again, detailed hydrodynamic modeling should be carried out prior to
modified field experimentation. In addition, a useful test for determining whether
wave mechanics-based design is worth further investigation is wave tank testing with
the design wave. While the IRL served as a platform for testing in true deployment
conditions, the wave mechanics of waves other than the design wave are not expected
to contribute to improved operation. Isolating the test to the design wave would
provide an important evaluation of the kinetic energy-absorbing ability of the
hyperbolic curve.
For improved absorption analysis, a buoy position sensor should also be
incorporated such that the movement of the buoy can be isolated from the operation of
the electronics, allowing each components effect on the other to be determined and
optimized for cooperative performance.

Power take-off issues
In addition to the points made in the previous sections circuitry analysis, a
few improvements could increase the actual conversion from mechanical to electrical
energy. Two identical ring magnets oriented in the same direction were used in this
version of the WEC. By orienting these magnets in opposite directions, the change in
magnetic flux is twice as great over the course of the same stroke length. Incidentally,

97
new magnets must be purchased if the two rings are allowed to align and attach,
because N40 NdFeB magnets of this size are too strong to wrest apart afterwards
without damage. By extension, increasing the number of magnets and alternating
poles further increases the change in magnetic flux over a single stroke length.
During a redesign of the generator stage, other geometries may be considered.
Although the expense and bulk of high-flux linear generators such as Vernier hybrid
machines or transverse flux machines is not suggested until other aspects of the WEC
design are addressed, gearing the translators motion to a commercial rotational motor
may be a useful intermediate step for focusing analysis on the wave absorber
component. The concept of a linear generator is ultimately attractive for reducing
complexity of the mechanical coupling, but as in any engineering design, multiple
iterations of the design spiral are needed before all the specially-designed components
operate together as intended.

98
References

1. Aggidis, G.A., A. Bradshaw, M.J. French, A.P. McCabe, J.A.C. Meadowcroft,
and M.B. Widden. PS Frog MK 5 WEC Developments & Design
Progress. World Renewable Energy Congress (2005): 1199-1204.
2. Archimedes Wave Swing. Retrieved on 23 May 2007.
<http://www.awsocean.com/ >
3. Beyene, A., and J.H. Wilson. Parameter Variation and Part-Load Efficiencies of
Wave Energy Conversion. Journal of Energy Engineering, v.132, n.1
(2006): 15-26.
4. Build Your Own Coils and Transformers. New Delhi: BPB Publications, 1992.
5. Burcharth, H.F. and Hughes, S.A. Fundamentals of Design. Coastal Engineering
Manual, Part VI-5.1. U.S. Army Corps of Engineers: Washington, DC,
(2002)..
6. Climatic Wind Data for the United States. Asheville: NOAA National Climatic Data
Center (1998).
7. Dean, R.G., and R.A. Dalrymple. Water Wave Mechanics for Engineers and Scientists.
V.2, Hackensack: World Scientific, 1991.
8. Duckers, L.J., F.P. Lockett, B.W. Loughridge, A.M. Peatfield, M.J. West, and
P.R.S. White. Optimisation of the Clam Wave Energy Converter.
Renewable Energy, v.5, n.5-8 (1994): 1464-1466.
9. Duclos, G., A. Babarit, and A.H. Clment. Optimizing the Power Take Off of a
Wave Energy Converter With Regard to the Wave Climate.
Transactions of the ASME, v.128 (2006): 56-64.
10. Eriksson, M., J. Isberg, and M. Leijon. Hydrodynamic modeling of a direct drive
wave energy converter. International Journal of Engineering Science, v.43
(2005): 1377-1387.

99
11. Epstein, M.Y. Piezoelectric Generation of Electrical Power from Surface Waves
on Bodies of Water Using Suspended Weighted Members. United States
Patent 5578889 (1996).
12. Falnes, J. Ocean Waves and Oscillating Systems. Linear Interactions Including Wave-
Energy Extraction. UK: Cambridge University Press, 2002. ISBN
0521782112.
13. French, M.J., and R. Bracewell. PS Frog: A Point-Absorber Wave Energy
Converter Working in a Pitch/Surge Mode. Fifth International
Conference on Energy Options; the role of alternatives in the world energy scene
(1987): 198-200.
14. Gerber, J.S., and G.W. Taylor. Installation of a Scaleable wave energy
Conversion System in Oahu, Hawaii. Proceedings of the Thirteenth
International Offshore and Polar Engineering Conference (2003): 361-367.
15. Henderson, R. Design, simulation, and testing of a novel hydraulic power take-
off system for the Pelamis wave energy converter. Renewable Energy,
v.31 (2006): 271-283.
16. Hudson, J.A., D.C. Phillips, and N.J.M. Wilkins. Review: Materials aspects of
wave energy converters. Jounal of Materials Science, v.15 (1980): 1337-
1363.
17. Jones, A.T., and A. Westwood. Recent Progress in Offshore Renewable Energy
Technology Development. IEEE Power Engineering society General
Meeting, v.2 (2005): 2017-2022.
18. Kofoed, J.P., P. Frigaard, E. Friis-Madsen, and H.C. Srensen. Prototype testing
of the wave energy converter wave dragon. Renewable Energy, v.31
(2006): 181-189.
19. Konotchick, J.A. Linear Motion Electric Power Generator. United States Patent
5347186 (1996).
20. Leijon, M., O. Danielsson, M. Eriksson, K. Thorburn, H. Bernhoff, J. Isberg, J.
Sundberg, I. Ivanova, E, Sjstedt, O. gren, K.E. Karlsson, and A.
Wolfbrandt. An electrical approach to wave energy conversion.
Renewable Energy, v.31 (2006): 1309-1319.

100
21. Limpet. Retrieved on 23 May 2007.
<http://www.wavegen.co.uk/what_we_offer_limpet.htm>
22. Microchip. Retrieved 29 May 2008. <www.microchip.com>
23. Mueller, M.A., and N.J. Baker. Direct drive electrical power take-off for offshore
marine energy converters. Proceedings of the Institution of Mechanical
Engineers v.219, Part A3 (2005): 223-234.
24. Mueller, M.A., and N.J. Baker. A low-speed reciprocating permanent magnet
generator for direct drive wave energy converters. Power Electronics,
Machines, and Drives, n.487 (2002): 468-473.
25. Mulligan, C. Is there a Relationship between Larval Supply, Wind, and Barnacle
Recruitment in a Subtropical Estuary?. Masters Thesis, Florida Institute
of Technology, 2007.
26. Munson, B.R., Young, D.F, and Okiishi, T.H. Fundamentals of Fluid Mechanics, 4
th

Ed. USA: Johen Wiley & Sons, Inc, 2002.
27. Naimaster, A. Sebastian Inlet Wave Gage Historical Data. Retrieved 28 July 2007.
<http://research.fit.edu/wavedata/historical_data.html>
28. National Weather Service Observed Weather Report Archives. Retrieved 1-18 August
2008. <http://www.weather.gov/climate/index.php?wfo=mlb>
29. Ocean Power Technologies. Retrieved on 20 June 2008.
<http://www.oceanpowertechnologies.com/products.htm>
30. OWEL. Retrieved on 23 May 2007. <http://owel.co.uk/owel.htm>
31. Pelamis. Retrieved on 23 May 2007.
<http://www.oceanpd.com/Pelamis/default.html>
32. Polinder, H., M.E.C. Damen, and F. Gardner. Linear PM Generator System for
Wave Energy Conversion in the AWS. IEEE Transactions on Energy
Conversion, v.19, n.3 (2004): 583-589.
33. Resio, D., Bratos, S., and Thompson, E. Meteorology and Wave Climate. In
Coastal Engineering Manual, Part II, Chapter II-2, Engineer Manual 1110-2-
1100. Washington, DC: U.S. Army Corps of Engineers, 2002.
34. Retzler, C. Measurements of the slow drift dynamics of a model Pelamis wave
energy converter. Renewable Energy, v.31 (2006): 257-269.

101
35. Sabuncu, T., and Calisal, S. Hydrodynamic Coefficients for Vertical Circular
Cylinders at Finite Depth. Ocean Engineering, v.8 (1981): 25-63.
36. Simmons, W.J. Use of Scrap Tires to Harness Wave Energy. Proceedings of the
First International Conference on Ocean Energy Recovery (1989): 129-139.
37. Smith, G.H., and L. Johanning. Mooring Research to Support Marine Energy
Development. Sea Technology, v.47, n.4 (2006): 23-26.
38. Techet, A.H. Derivation of Added Mass around a Sphere.13.012 Hydrodynamics,
Fall 2005. (Massachusetts Institute of Technology: MIT
OpenCourseWare), http://ocw.mit.edu (Accessed 15 June 2008).
License: Creative Commons BY-NC-SA
39. Thorburn, K., H. Bernhoff, and M. Leijon. Wave energy transmission system
concepts for linear generator arrays. Ocean Engineering, v.31 (2004):
1339-1349.
40. Vining, J. Ocean Wave Energy Conversion. Report, University of Wisconsin
Madison, 2005.
41. Wang, S. Plunger-type Wavemakers: Theory and Experiment. Journal of
Hydraulic Research, v.12, n.3 (1974): 357-388.
42. Wave Dragon. (2005) Retrieved on 23 May 2007.
<http://www.wavedragon.net/index.php?option=com_content&task=
view&id=6&Itemid=5>
43. Wolfbrandt, A. Automated Design of a inear Generator for Wave Energy
ConvertersA Simplified Model. IEEE Transactions on Magnetics v.42,
n.7 (2006): 1812-1818.
44. Wolfe, D.E. Capturing the Energy of Ocean Waves. 37
th
Intersociety Energy
Conversion Engineering Conference (2002): 460-463.
45. Xiang, J., P.R.M. Brooking, and M.A. Mueller. Control Requirements of Direct
Drive Wave Energy Converters. Proceedings of IEEE TENCON 02
(2002): 2053-2056.

102
46. Yue, D.K.P
Lecture 13: Unsteady Motion - Added Mass. 13.021 Marine
Hydrodynamics, Spring 2005. (Massachusetts Institute of
Technology: MIT OpenCourseWare), http://ocw.mit.edu
(Accessed 15 June 2008). License: Creative Commons BY-
NC-SA
Lecture 22: Wave Forces on a Body. 13.021 Marine Hydrodynamics,
Spring 2005. (Massachusetts Institute of Technology: MIT
OpenCourseWare), http://ocw.mit.edu (Accessed 15 June
2008) License: Creative Commons BY-NC-SA
47. Yueng, R.W. Added mass and damping of a vertical cylinder in finite-depth
waters. Applied Ocean Research, v.3, n.3 (1981)

Appendices

Appendix A: Table of WEC Companies [from 40] ...............................................105
Appendix B: Parts List ...........................................................................................114
Appendix C: Matlab Code ..................................................................................118
C.1: IRL Wave Power Modeling .......................................................................118
C.1.1: detect_land_red.m....................................................................118
C.1.2: fetch_calc_red.m.......................................................................123
C.1.3: wave_calc.m...................................................................................126
C.1.4: energy_calc.m..............................................................................128
C.1.5: L_calc.m..........................................................................................130
C.1.6: do_it_all.m...................................................................................130
C.1.7: energy_slope.m ...........................................................................131
C.1.8: calc_hist.m...................................................................................133
C.1.9: convertOSS.m................................................................................134
C.1.10: process_wave_data.m .............................................................136
C.2: Wave Properties .........................................................................................138
C.2.1: newton_raphson.m.......................................................................138
C.2.2: sine_particles.m.......................................................................139
C.2.3: sine_particles_with_time.m...............................................141
C.3: Wavemaker Optimization...........................................................................143
C.3.1: stroke.m..........................................................................................143
C.3.2: find_standing.m.........................................................................144
C.3.3: paddleswath.m..............................................................................146
C.3.4: Smatrix.m .......................................................................................147
C.4: WEC Design Calculations..........................................................................149
C.4.1: buoy_def.m.....................................................................................149
C.4.2: find_best_magnet.m..................................................................150
C.4.3: gen_dims.m.....................................................................................152
C.4.4: force_moment_calc.m ...............................................................152
C.5: Postprocessing Routines.............................................................................153
C.5.1: freq_calibration.m..................................................................153
C.5.2: efficiency_spectrum.m...........................................................155
C.5.3: convertOSS_WEC.m.....................................................................161
C.5.4: spectral_anal.m.........................................................................163
C.5.5: heights.m .......................................................................................166
Appendix D: PIC Microcontroller Code................................................................168
D.1: WECfinal.c...................................................................................168
D.2: ConfigRTCsq.c.............................................................................174
D.3: ConvertTime.c............................................................................176
D.4: I2CByteWrite.c..........................................................................177
D.5 I2CRandomRead.c........................................................................178
D.6: ReadClock.c .................................................................................180
D.7: SetClock.c....................................................................................181
Appendix E: Derivation of H/S..............................................................................183
E.1 Exponential Decay Paddle...........................................................................183
E.2 Hyperbolic Curve Paddle.............................................................................186
Appendix F: Calibration Results............................................................................187
Glossary .................................................................................................................190

A
p
p
e
n
d
i
x

A
:

T
a
b
l
e

o
f

W
E
C

C
o
m
p
a
n
i
e
s

[
f
r
o
m

4
0
]

C
o
m
p
a
n
y

N
a
m
e


P
r
o
d
u
c
t


S
p
e
c
i
a
l

N
o
t
e
s


B
a
s
e

L
o
c
a
t
i
o
n


P
r
o
j
e
c
t
s


W
e
b
s
i
t
e


3
7
4
'
s

E
l
e
c
t
r
i
c

P
o
w
e
r

C
o
r
p
o
r
a
t
i
o
n


O
c
e
a
n

S
u
r
f

E
n
e
r
g
y

S
y
s
t
e
m
s




S
t
o
u
g
h
t
o
n
,

M
A




w
w
w
.
3
7
4
e
l
e
c
t
r
i
c
.
c
o
m
/
w
e
l
c
o
m
e
.
h
t
m


A
B
S

A
l
a
s
k
a
n


S
m
a
l
l

w
a
t
e
r

g
e
n
e
r
a
t
o
r
s

(
m
i
c
r
o
-
h
y
d
r
o

t
u
r
b
i
n
e
s
)


A
l
t
e
r
n
a
t
i
v
e

e
n
e
r
g
y

a
n
d

r
e
m
o
t
e

p
o
w
e
r

p
r
o
d
u
c
t
s


F
a
i
r
b
a
n
k
s
,

A
K


R
e
s
i
d
e
n
t
i
a
l

c
o
n
s
u
m
e
r
s


w
w
w
.
a
b
s
a
k
.
c
o
m


A
q
u
a

E
n
e
r
g
y

G
r
o
u
p
,

L
t
d
.


"
A
q
u
a
B
u
O
Y
"

W
a
v
e

E
n
e
r
g
y

C
o
n
v
e
r
t
e
r


P
o
i
n
t
-
a
b
s
o
r
b
e
r

i
n
c
o
r
p
o
r
a
t
i
n
g

a

h
o
s
e
-
p
u
m
p

w
h
i
c
h

u
s
e
s

w
a
t
e
r

a
s

t
h
e

h
y
d
r
a
u
l
i
c

f
l
u
i
d


M
e
r
c
e
r

I
s
l
a
n
d
,

W
A


1
M
W

P
o
w
e
r

P
l
a
n
t

-

C
l
a
l
l
u
m

C
o
u
n
t
y

P
u
b
l
i
c

U
t
i
l
i
t
y

(
M
a
k
a
h

B
a
y
,

W
A
)


w
w
w
.
a
q
u
a
e
n
e
r
g
y
g
r
o
u
p
.
c
o
m


F
l
o
a
t

I
n
c
o
r
p
o
r
a
t
e
d


"
P
n
e
u
m
a
t
i
c
a
l
l
y

S
t
a
b
i
l
i
z
e
d

P
l
a
t
f
o
r
m
"

(
P
S
P
)


F
l
o
a
t
i
n
g

O
c
e
a
n

R
e
a
l

E
s
t
a
t
e

-

u
s
e
s

a
n

O
W
C

t
o

e
x
t
r
a
c
t

e
n
e
r
g
y

f
r
o
m

w
a
v
e
s


S
a
n

D
i
e
g
o
,

C
A




w
w
w
.
f
l
o
a
t
i
n
c
.
c
o
m


F
l
o
r
i
d
a

H
y
d
r
o

P
o
w
e
r

a
n
d

L
i
g
h
t

C
o
m
p
a
n
y

O
f
f
s
h
o
r
e

G
u
l
f

S
t
r
e
a
m

C
u
r
r
e
n
t

E
n
e
r
g
y




P
a
l
a
t
k
a
,

F
L




w
w
w
.
f
l
o
r
i
d
a
h
y
d
r
o
.
c
o
m


G
C
K

T
e
c
h
n
o
l
o
g
y
,

I
n
c
.


"
G
o
r
l
o
v

H
e
l
i
c
a
l

T
u
r
b
i
n
e
"

P
o
w
e
r

t
a
k
e
-
o
f
f

f
o
r

o
c
e
a
n

a
n
d

t
i
d
a
l

c
u
r
r
e
n
t
s
:

r
o
t
a
t
e
s

i
n

s
a
m
e

d
i
r
e
c
t
i
o
n

r
e
g
a
r
d
l
e
s
s

o
f

w
a
t
e
r

f
l
o
w

d
i
r
e
c
t
i
o
n
,

r
e
c
e
i
v
e
d

E
d
i
s
o
n

P
a
t
e
n
t

A
w
a
r
d


S
a
n

A
n
t
o
n
i
o
,

T
X




w
w
w
.
g
c
k
t
e
c
h
n
o
l
o
g
y
.
c
o
m
/
G
C
K


H
a
w
a
i
i

E
n
e
r
g
y

D
e
p
t
.


O
c
e
a
n

T
h
e
r
m
a
l

E
n
e
r
g
y

C
o
n
v
e
r
s
i
o
n

(
O
T
E
C

E
n
e
r
g
y
)




H
o
n
o
l
u
l
u
,

H
I


5
M
W

P
r
e
-
C
o
m
m
e
r
c
i
a
l

P
l
a
n
t


w
w
w
.
h
a
w
a
i
i
.
g
o
v
/
d
b
e
d
t
/
e
r
t
/
b
i
b
/
b
i
b
_
o
t
e
c
.
h
t
m
l


H
y
d
r
o
V
e
n
t
u
r
i


"
R
o
c
h
e
s
t
e
r

V
e
n
t
u
r
i
"

T
i
d
a
l

c
u
r
r
e
n
t

e
l
e
c
t
r
i
c
a
l

g
e
n
e
r
a
t
i
o
n
:

n
o

m
o
v
i
n
g

m
e
c
h
a
n
i
c
a
l

o
r

e
l
e
c
t
r
i
c
a
l

p
a
r
t
s

u
n
d
e
r
w
a
t
e
r
,

w
a
t
e
r

f
l
o
w

p
r
e
s
s
u
r
e

r
e
d
u
c
t
i
o
n

b
r
i
n
g
s

i
n

a
i
r

w
h
i
c
h

i
s

u
s
e
d

t
o

g
e
n
e
r
a
t
e

e
l
e
c
t
r
i
c
i
t
y


S
a
n

F
r
a
n
c
i
s
c
o
,

C
A


6
0
k
W

D
e
m
o

U
n
i
t

N
o
r
t
h

o
f

E
n
g
l
a
n
d


w
w
w
.
h
y
d
r
o
v
e
n
t
u
r
i
.
c
o
m


I
n
d
e
p
e
n
d
e
n
t

N
a
t
u
r
a
l

R
e
s
o
u
r
c
e
s
,

I
n
c
.

(
I
N
R
I
)

"
S
E
A
D
O
G

P
u
m
p
"


P
o
i
n
t
-
a
b
s
o
r
b
e
r

i
n
c
o
r
p
o
r
a
t
i
n
g

a

p
i
s
t
o
n

f
o
r

p
u
m
p
i
n
g

w
a
t
e
r

o
r

a
i
r

i
n
t
o

a

t
u
r
b
i
n
e


E
d
e
n

P
r
a
i
r
i
e
,

M
N


1
/
3
2
-
s
c
a
l
e

p
r
o
t
o
t
y
p
e

w
a
s

t
e
s
t
e
d

i
n

t
h
e

w
a
v
e

t
a
n
k

o
f

T
e
x
a
s

A
&
M

U
n
i
v
e
r
s
i
t
y

w
w
w
.
i
n
r
i
.
u
s


K
i
n
e
t
i
c

E
n
e
r
g
y

S
y
s
t
e
m
s


"
H
y
d
r
o
k
i
n
e
t
i
c

G
e
n
e
r
a
t
o
r
"
,


"
K
E
S
C

B
o
w
s
p
r
i
t
"
,

"
K
E
S
C

T
i
d
a
l

G
e
n
e
r
a
t
o
r
"


T
i
d
a
l

c
u
r
r
e
n
t

e
n
e
r
g
y
:

m
e
a
n
t

f
o
r

f
l
o
o
d

a
n
d

e
b
b

t
i
d
e
s
,

6
0
0
k
W

w
i
t
h

p
r
o
d
u
c
t
s

r
a
n
g
i
n
g

3
5
%
-
6
5
%

e
f
f
i
c
i
e
n
c
y

O
c
a
l
a
,

F
L




w
w
w
.
k
i
n
e
t
i
c
e
n
e
r
g
y
s
y
s
t
e
m
s
.
c
o
m


M
a
r
i
n
e

D
e
v
e
l
o
p
m
e
n
t

A
s
s
o
c
i
a
t
e
s
,

I
n
c
.


O
T
E
C




S
a
r
a
t
o
g
a
,

C
A

P
r
o
j
e
c
t

R
A
T
A
K
:

5
-
1
0

M
W

O
T
E
C

f
o
r

t
h
e

G
o
v
'
t

o
f

t
h
e

M
a
r
s
h
a
l
l

I
s
l
a
n
d
s
;

O
T
E
C

D
e
v
e
l
o
p
m
e
n
t

P
l
a
n

R
e
v
i
e
w

f
o
r

G
o
v
'
t

o
f

T
a
i
w
a
n
;

A
s
s
e
s
s
m
e
n
t

f
o
r

P
h
i
l
i
p
p
i
n
e

G
o
v
'
t
;

M
D
A
'
s

I
s
l
a
n
d

N
a
t
i
o
n

O
T
E
C

P
r
o
g
r
a
m


w
w
w
.
m
a
r
i
n
e
d
e
v
e
l
o
p
m
e
n
t
i
n
c
.
c
o
m
/
o
c
e
a
n
_
e

n
e
r
g
y
.
h
t
m

M
a
r
i
n
e

I
n
n
o
v
a
t
i
o
n

&

T
e
c
h
n
o
l
o
g
y


O
c
e
a
n

C
u
r
r
e
n
t

F
a
r
m




B
e
r
k
e
l
e
y
,

C
A



w
w
w
.
m
i
n
i
f
l
o
a
t
.
c
o
m
/
o
c
e
a
n
.
h
t
m


M
o
-
T
.
O
.
P
.
S

O
c
e
a
n
i
c

P
o
w
e
r

S
y
s
t
e
m
s


"
W
i
n
d

G
o
o
s
e
"

O
T
E
C

v
a
r
i
a
n
t


D
e
l

R
i
o
,

T
X




w
w
w
.
i
s
f
i
n
d
.
c
o
m


O
C
E
E
S
,

I
n
t
e
r
n
a
t
i
o
n
a
l
-

O
c
e
a
n

E
n
g
i
n
e
e
r
i
n
g

a
n
d

E
n
e
r
g
y

S
y
s
t
e
m
s

O
T
E
C




H
o
n
o
l
u
l
u
,

H
I




w
w
w
.
o
c
e
e
s
.
c
o
m
/
m
a
i
n
p
a
g
e
s
/

o
t
e
c
.
h
t
m
l



O
c
e
a
n

M
o
t
i
o
n

I
n
t
e
r
n
a
t
i
o
n
a
l

L
L
C

(
O
M
I
)

"
W
a
v
e
P
u
m
p
"

P
o
i
n
t

a
b
s
o
r
b
e
r

a
r
r
a
y

w
h
o
s
e

b
u
o
y
s

p
u
m
p

s
e
a
w
a
t
e
r

t
h
r
o
u
g
h

a

h
y
d
r
o
-
t
u
r
b
i
n
e

g
e
n
e
r
a
t
o
r

a
s

i
t

d
e
s
c
e
n
d
s

i
n

a

w
a
v
e

t
r
o
u
g
h


C
o
l
o
r
a
d
o

a
n
d

O
r
e
g
o
n


F
u
n
c
t
i
o
n
i
n
g

1
/
2
0
t
h

s
c
a
l
e

m
o
d
e
l

o
f

n
e
w

O
M
I

W
a
v
e
P
u
m
p

d
e
s
i
g
n

i
s

u
n
v
e
i
l
e
d

i
n

D
a
n
a

P
o
i
n
t
,

C
A

(
J
u
n
e

2
0
0
2
)
;

O
M
I

s
u
b
m
i
t
s

a
p
p
l
i
c
a
t
i
o
n

t
o

H
a
w
a
i
i

R
e
n
e
w
a
b
l
e

R
F
P

(
A
p
r
i
l

2
0
0
4
)
,

s
u
b
m
i
t
s

a
p
p
l
i
c
a
t
i
o
n

t
o

p
r
e
s
e
n
t

i
n
v
e
s
t
m
e
n
t

o
p
p
o
r
t
u
n
i
t
y

a
t

t
h
e

N
o
v
e
m
b
e
r

2
0
0
3

N
R
E
L

I
n
d
u
s
t
r
y

G
r
o
w
t
h

F
o
r
u
m

w
w
w
.
o
c
e
a
n
m
o
t
i
o
n
.
w
s


O
c
e
a
n

P
o
w
e
r

T
e
c
h
n
o
l
o
g
i
e
s
,

I
n
c
.


"
P
o
w
e
r
B
u
o
y
"

N
e
a
r

S
h
o
r
e

W
a
v
e

E
n
e
r
g
y

P
o
i
n
t

A
b
s
o
r
b
e
r
:

p
a
s
s
e
d

t
h
e

r
i
g
o
r
o
u
s

E
n
v
i
r
o
n
m
e
n
t
a
l

A
s
s
e
s
s
m
e
n
t

p
r
o
c
e
s
s

t
o

i
n
s
t
a
l
l

u
n
i
t
s

i
n

H
a
w
a
i
i
,

I
n
i
t
i
a
l

P
u
b
l
i
c

O
f
f
e
r
i
n
g

(
I
P
O
)

A
I
M

M
a
r
k
e
t

o
f

t
h
e

L
o
n
d
o
n

S
t
o
c
k

E
x
c
h
a
n
g
e

(

A
I
M
-
O
P
T

)

o
n

O
c
t
o
b
e
r

2
1
,

2
0
0
3

W
e
s
t

T
r
e
n
t
o
n
,

N
J
;

V
I
C
,

A
u
s
t
r
a
l
i
a


P
a
r
t
n
e
r
i
n
g

w
i
t
h

I
b
e
r
d
r
o
l
a

S
.
A
.

i
n

S
p
a
i
n

a
n
d

T
o
t
a
l

i
n

F
r
a
n
c
e
;

P
a
r
t
n
e
r
i
n
g

w
i
t
h

U
S

N
a
v
y

i
n

H
a
w
a
i
i
;

C
o
n
t
r
a
c
t
s

w
i
t
h

L
o
c
k
h
e
e
d

M
a
r
t
i
n

C
o
r
p
.

a
n
d

N
e
w

J
e
r
s
e
y

B
o
a
r
d

o
f

P
u
b
l
i
c

U
t
i
l
i
t
i
e
s


w
w
w
.
o
c
e
a
n
p
o
w
e
r
t
e
c
h
n
o
l
o
g
i
e
s
.
c
o
m


O
c
e
a
n

W
a
v
e

E
n
e
r
g
y

C
o
m
p
a
n
y


"
O
c
e
a
n

W
a
v
e

E
n
e
r
g
y

C
o
n
v
e
r
t
e
r
"


C
o
m
p
l
e
t
e
d

b
e
n
c
h

t
o
p

t
r
i
a
l
s

w
i
t
h

f
u
l
l

s
i
z
e

c
o
m
p
o
n
e
n
t
s

u
n
d
e
r

a

S
m
a
l
l

B
u
s
i
n
e
s
s

I
n
n
o
v
a
t
i
o
n

R
e
s
e
a
r
c
h

c
o
n
t
r
a
c
t

f
r
o
m

t
h
e

U
S

C
o
a
s
t

G
u
a
r
d

B
r
i
s
t
o
l
,

R
I




w
w
w
.
o
w
e
c
.
c
o
m


O
c
e
n
e
r
g
y


N
e
a
r

S
h
o
r
e
,

O
f
f
s
h
o
r
e

W
a
v
e

E
n
e
r
g
y

f
o
r

H
y
d
r
o
g
e
n

P
r
o
d
u
c
t
i
o
n




N
o
r
w
a
l
k
,

C
T




w
w
w
.
o
c
e
n
e
r
g
y
.
c
o
m


R
e
E
n
e
r
g
y

G
r
o
u
p

P
L
C

(

R
e
E
n
e
r
g
y

)


"
O
a
s
e
s
"

U
s
e
s

w
a
v
e

p
o
w
e
r

g
e
n
e
r
a
t
i
o
n

t
e
c
h
n
o
l
o
g
y

a
s

a

c
o
s
t

e
f
f
e
c
t
i
v
e

m
e
t
h
o
d

f
o
r

d
e
s
a
l
i
n
a
t
i
o
n


U
K

(
U
S
:

S
a
n

D
i
e
g
o
,

C
A
)


C
o
n
t
r
a
c
t
s

i
n

M
e
x
i
c
o
,

C
a
l
i
f
o
r
n
i
a
,

P
e
r
u

a
n
d

M
o
r
o
c
c
o

w
w
w
.
r
e
n
e
r
g
y
p
a
c
i
f
i
c
.
c
o
m



S
c
i
e
n
t
i
f
i
c

A
p
p
l
i
c
a
t
i
o
n
s

&

R
e
s
e
a
r
c
h

A
s
s
o
c
i
a
t
e
s

(
S
A
R
A
)

I
n
c
.


P
o
i
n
t

A
b
s
o
r
b
e
r

w
i
t
h

M
a
g
n
e
t
o
h
y
d
r
o
d
y
n
a
m
i
c

G
e
n
e
r
a
t
o
r


M
a
g
n
e
t
o
h
y
d
r
o
d
y
n
a
m
i
c

(
M
H
D
)

G
e
n
e
r
a
t
o
r
;

A
l
m
o
s
t

n
o

m
o
v
i
n
g

p
a
r
t
s
.

N
o

g
e
a
r
s
,

n
o

l
e
v
e
r
s
,

n
o

t
u
r
b
i
n
e
s
,

n
o

d
r
i
v
e

b
e
l
t
s
,

n
o

b
e
a
r
i
n
g
s
,

e
t
c
.


H
u
n
t
i
n
g
t
o
n

B
e
a
c
h
,

C
A


D
O
E

c
o
n
t
r
a
c
t

P
h
a
s
e

I
I

S
B
I
R

P
r
o
g
r
a
m
:

d
e
s
i
g
n
,

c
o
n
s
t
r
u
c
t
,

a
n
d

d
e
m
o
n
s
t
r
a
t
e

a

5
0
-
1
0
0

k
W

M
H
D

u
n
i
t


w
w
w
.
s
a
r
a
.
c
o
m
/
e
n
e
r
g
y
/
W
E
C
.
h
t
m
l


S
e
a

S
o
l
a
r

P
o
w
e
r

I
n
t
e
r
n
a
t
i
o
n
a
l


O
T
E
C


U
n
i
v
e
r
s
i
t
y

o
f

M
a
r
y
l
a
n
d

t
e
s
t
s

c
o
n
f
i
r
m

h
e
a
t

t
r
a
n
s
f
e
r

w
i
t
h

3
.
4
%

t
o
t
a
l

c
y
c
l
e

e
f
f
i
c
i
e
n
c
y

e
t
c
.

(
p
e
r
f
e
c
t

C
a
r
n
o
t

C
y
c
l
e

e
f
f
i
c
i
e
n
c
y

i
s

7
.
4
%
)


B
a
l
t
i
m
o
r
e
,

M
D




w
w
w
.
s
e
a
s
o
l
a
r
p
o
w
e
r
.
c
o
m


S
e
a
V
o
l
t

T
e
c
h
n
o
l
o
g
i
e
s


"
W
a
v
e

R
i
d
e
r
"

N
e
a
r

S
h
o
r
e

P
o
i
n
t

A
b
s
o
r
b
e
r
:

u
s
e
s

h
y
d
r
a
u
l
i
c
s

f
o
r

p
o
w
e
r

t
a
k
e
-
o
f
f


B
e
r
k
e
l
e
y
,

C
A




w
w
w
.
s
e
a
v
o
l
t
.
c
o
m


T
i
d
a
l

E
l
e
c
t
r
i
c
,

I
n
c
.


T
i
d
a
l

L
a
g
o
o
n
s


U
s
e
s

a

r
u
b
b
l
e

m
o
u
n
d

i
m
p
o
u
n
d
m
e
n
t

s
t
r
u
c
t
u
r
e

a
n
d

l
o
w
-
h
e
a
d

h
y
d
r
o
e
l
e
c
t
r
i
c

g
e
n
e
r
a
t
i
n
g

e
q
u
i
p
m
e
n
t

s
i
t
u
a
t
e
d

a

m
i
l
e

o
r

m
o
r
e

o
f
f
s
h
o
r
e

i
n

a

h
i
g
h

t
i
d
a
l

r
a
n
g
e

a
r
e
a
.

S
h
a
l
l
o
w

t
i
d
a
l

f
l
a
t
s

p
r
o
v
i
d
e

t
h
e

m
o
s
t

e
c
o
n
o
m
i
c
a
l

s
i
t
e
s


W
e
s
t

S
i
m
s
b
u
r
y
,

C
T
;

A
n
c
h
o
r
a
g
e
,

A
K
;

L
o
n
d
o
n
,

U
K


6
0

M
W

S
w
a
n
s
e
a

B
a
y

p
r
o
j
e
c
t
,

U
K
:

m
e
a
s
u
r
e
s

5

k
m
2

i
n

a
r
e
a

a
n
d

a
b
o
u
t

a

m
i
l
e

o
f
f
s
h
o
r
e
;

p
r
o
j
e
c
t

a
g
r
e
e
m
e
n
t

w
i
t
h

L
i
a
o
n
i
n
g

P
r
o
v
i
n
c
e
,

C
h
i
n
a


w
w
w
.
t
i
d
a
l
e
l
e
c
t
r
i
c
.
c
o
m


U
E
K

C
o
r
p
o
r
a
t
i
o
n


U
n
d
e
r
w
a
t
e
r

E
l
e
c
t
r
i
c

K
i
t
e

H
y
d
r
o

k
i
n
e
t
i
c

t
u
r
b
i
n
e
s

f
o
r

C
u
r
r
e
n
t
,

T
i
d
a
l
,

O
W
C

E
n
e
r
g
y
;

n
o

d
a
m
s

o
r

i
m
p
o
u
n
d
m
e
n
t
s

r
e
q
u
i
r
e
d

s
i
n
c
e

n
o

f
o
u
n
d
a
t
i
o
n

i
s

n
e
c
e
s
s
a
r
y

A
n
n
a
p
o
l
i
s
,

M
D

D
O
E

c
o
n
t
r
a
c
t

S
B
I
R
/
D
O
E

D
E
-
F
G
0
2
-
0
0
E
R
8
2
9
3
0
;

C
o
n
t
r
a
c
t

w
i
t
h

O
n
t
a
r
i
o

P
o
w
e
r

G
e
n
e
r
a
t
i
o
n

t
o

t
e
s
t

t
h
e

h
y
d
r
o

k
i
n
e
t
i
c

'
T
w
i
n

T
u
r
b
i
n
e
s
'

u
e
k
u
s
.
c
o
m

V
e
r
d
a
n
t

P
o
w
e
r


I
n
s
t
r
e
a
m

E
n
e
r
g
y

G
e
n
e
r
a
t
i
o
n

T
e
c
h
n
o
l
o
g
y

(
I
E
G
T
)

T
i
d
a
l

C
u
r
r
e
n
t

E
n
e
r
g
y
:

f
r
e
e
-
f
l
o
w

h
y
d
r
o
p
o
w
e
r

t
e
c
h
n
o
l
o
g
y

o
r

k
i
n
e
t
i
c

h
y
d
r
o

e
n
e
r
g
y

s
y
s
t
e
m
s

A
r
l
i
n
g
t
o
n
,

V
A


I
n

c
o
n
j
u
n
c
t
i
o
n

w
i
t
h

G
C
K

T
e
c
h
n
o
l
o
g
y
,

1
M
W

T
i
d
a
l

S
i
t
e

a
t

M
e
r
r
i
m
a
c
k

R
i
v
e
r
,

M
A
.

U
s
e
s

G
C
K
'
s

G
o
r
l
o
v

H
e
l
i
c
a
l

T
u
r
b
i
n
e
;

T
e
s
t
i
n
g

i
n

t
h
e

P
o
t
o
m
a
c

R
i
v
e
r
,

C
a
r
d
e
r
o
c
k
,

M
D
;

P
r
o
t
o
t
y
p
e

i
n

N
e
w

Y
o
r
k

C
i
t
y
'
s

E
a
s
t

R
i
v
e
r

w
w
w
.
v
e
r
d
a
n
t
p
o
w
e
r
.
c
o
m


W
a
d
e
r
,

L
L
C


H
y
d
r
o
c
r
a
t
i
c

G
e
n
e
r
a
t
o
r


S
a
l
i
n
i
t
y

G
r
a
d
i
e
n
t

E
n
e
r
g
y


L
a
g
u
n
a

B
e
a
c
h
,

C
A




w
w
w
.
w
a
d
e
r
l
l
c
.
c
o
m



S
e
a
p
o
w
e
r

P
a
c
i
f
i
c

P
t
y
.

L
t
d
.

(
S
h
a
r
e
h
o
l
d
e
r
s
:

R
e
n
e
w
a
b
l
e

E
n
e
r
g
y

H
o
l
d
i
n
g
s

P
l
c

(
R
E
H
)

-

U
K
;

P
a
c
i
f
i
c

H
y
d
r
o

L
t
d
.

-

A
u
s
t
r
a
l
i
a
;

C
a
r
n
e
g
i
e
)

"
C
E
T
O
"

W
a
v
e

p
o
w
e
r

c
o
n
v
e
r
t
e
r


N
e
a
r

S
h
o
r
e

P
o
i
n
t

A
b
s
o
r
b
e
r
:

w
a
v
e

c
r
e
s
t
s

d
e
p
r
e
s
s

a

d
i
s
k

w
h
i
c
h

d
e
l
i
v
e
r
s

p
r
e
s
s
u
r
i
z
e
d

w
a
t
e
r

t
o

s
h
o
r
e

w
h
e
r
e

e
n
e
r
g
y

c
o
n
v
e
r
s
i
o
n

t
a
k
e
s

p
l
a
c
e

W
e
s
t

P
e
r
t
h
,

W
e
s
t
e
r
n

A
u
s
t
r
a
l
i
a


1
0
0
k
W

i
n
-
s
e
a

p
r
o
t
o
t
y
p
e
,

2
0
0
5


w
w
w
.
c
a
r
n
e
g
i
e
c
o
r
p
.
c
o
m
.
a
u
/
O
p
e
r
a
t
i
o
n
s
/
R
e
n
e
w
a
b
l
e
_
W
a
v
e
_
E
n
e
r
g
y
_
P
r
o
j
e
c
t
_
2
0
0
4
.
h
t
m
l

B
l
u
e

E
n
e
r
g
y

C
a
n
a
d
a


T
h
e

D
a
v
i
s

T
u
r
b
i
n
e

(
V
e
r
t
i
c
a
l

A
x
i
s

T
u
r
b
i
n
e

f
o
r

T
i
d
a
l

C
u
r
r
e
n
t
s
)


P
r
o
o
f

o
f

C
o
n
c
e
p
t

R
e
v
i
e
w
:

U
S

A
r
m
y

C
o
r
p
s

o
f

E
n
g
i
n
e
e
r
s
,

t
h
e

N
a
t
i
o
n
a
l

R
e
s
e
a
r
c
h

C
o
u
n
c
i
l

o
f

C
a
n
a
d
a
,

e
t

a
l

-

R
W

B
e
c
k

(
E
n
g
i
n
e
e
r
i
n
g
)

I
n
c
.
,

S
e
p
t
.

2
0
0
5

A
l
b
e
r
t
a
,

C
a
n
a
d
a


P
r
o
p
o
s
e
d

t
i
d
a
l

e
n
e
r
g
y

p
r
o
j
e
c
t

f
o
r

S
c
o
t
l
a
n
d
'
s

P
e
n
t
l
a
n
d

F
i
r
t
h


w
w
w
.
b
l
u
e
n
e
r
g
y
.
c
o
m


W
a
v
e
m
i
l
l

E
n
e
r
g
y

C
o
r
p
.


"
W
a
v
e
m
i
l
l
"


s
h
o
r
e
l
i
n
e

a
n
d

n
e
a
r
s
h
o
r
e

a
p
p
l
i
c
a
t
i
o
n
s

w
i
t
h

p
a
t
e
n
t
e
d

s
u
c
t
i
o
n

c
h
a
m
b
e
r

a
n
d

e
n
c
l
o
s
e
d

s
u
r
g
e

w
a
l
l

D
a
r
t
m
o
u
t
h

(
H
a
l
i
f
a
x
)
,

N
o
v
a

S
c
o
t
i
a
,


C
a
n
a
d
a

A
u
g
u
s
t

2
0
0
1
:

s
c
a
l
e
d

m
o
d
e
l

o
f

t
h
e

E
S
W

W
a
v
e
m
i
l
l


w
w
w
.
w
a
v
e
m
i
l
l
.
c
o
m

C
h
i
n
a

N
e
w

E
n
e
r
g
y

(
C
N
E
)


T
i
d
a
l

E
n
e
r
g
y
,

O
c
e
a
n

C
u
r
r
e
n
t
,

W
a
v
e

E
n
e
r
g
y
,

T
h
e
r
m
a
l

E
n
e
r
g
y
,

S
a
l
i
n
i
t
y

G
r
a
d
i
e
n
t
s


C
N
E

i
s

a

n
o
n
-
p
r
o
f
i
t

r
e
s
e
a
r
c
h

n
e
t
w
o
r
k

f
o
u
n
d
e
d

b
y

G
u
a
n
g
z
h
o
u

I
n
s
t
i
t
u
t
e

o
f

E
n
e
r
g
y

C
o
n
v
e
r
s
i
o
n
,

C
h
i
n
e
s
e

A
c
a
d
e
m
y

o
f

S
c
i
e
n
c
e
s
,

w
h
i
l
e

j
o
i
n
t
l
y

u
n
d
e
r

t
h
e

d
i
r
e
c
t
i
o
n

o
f

S
t
a
t
e

M
i
n
i
s
t
r
y

o
f

S
c
i
e
n
c
e

&

T
e
c
h
n
o
l
o
g
y
,

S
t
a
t
e

E
c
o
n
o
m
i
c

&

T
r
a
d
e

C
o
m
m
i
s
s
i
o
n

a
n
d

C
h
i
n
e
s
e

A
c
a
d
e
m
y

o
f

S
c
i
e
n
c
e
s



G
u
a
n
g
z
h
o
u
,

C
h
i
n
a




w
w
w
.
n
e
w
e
n
e
r
g
y
.
o
r
g
.
c
n
/
e
n
g
l
i
s
h
/
o
c
e
a
n
/
i
n
d
e
x
.
h
t
m

W
a
v
e

D
r
a
g
o
n


"
W
a
v
e

D
r
a
g
o
n
"


O
v
e
r
t
o
p
p
i
n
g

w
a
v
e

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r

u
s
e
s

l
a
r
g
e

c
o
l
l
e
c
t
o
r

a
r
m
s

t
o

f
u
n
n
e
l

w
a
t
e
r

t
o

a

K
a
p
l
a
n

t
u
r
b
i
n
e

w
h
i
c
h

t
u
r
n
s

a

P
M

g
e
n
e
r
a
t
o
r


K

b
e
n
h
a
v
n
,

D
e
n
m
a
r
k


J
a
n
u
a
r
y

2
0
0
5
:

2
0

k
W

W
a
v
e

D
r
a
g
o
n

p
r
o
t
o
t
y
p
e

t
a
k
e
n

o
f
f
l
i
n
e

a
f
t
e
r

o
n
e

y
e
a
r

a
n
d

n
i
n
e

m
o
n
t
h
s

o
f

c
o
n
t
i
n
u
o
u
s

r
e
a
l

s
e
a

t
e
s
t
i
n
g

w
w
w
.
w
a
v
e
d
r
a
g
o
n
.
n
e
t



W
a
v
e
P
l
a
n
e

P
r
o
d
u
c
t
i
o
n

A
/
S


"
W
a
v
e
P
l
a
n
e
"


O
v
e
r
t
o
p
p
i
n
g

w
a
v
e

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r

u
s
e
s

a

f
l
y
-
w
h
e
e
l
-
t
u
b
e

f
o
r

p
o
w
e
r

t
a
k
e
-
o
f
f


G
e
n
t
o
f
t
e
,

D
e
n
m
a
r
k


S
e
p
t
e
m
b
e
r

2
0
0
2

t
o

A
p
r
i
l

2
0
0
3
:

W
a
v
e
P
l
a
n
e

u
n
d
e
r
w
e
n
t

3
:
1
0

s
e
a

t
e
s
t
s

i
n

J
a
p
a
n

b
y

N
K
K


w
w
w
.
w
a
v
e
p
l
a
n
e
.
c
o
m


D
A
E
D
A
L
U
S

I
n
f
o
r
m
a
t
i
c
s


"
W
E
C
A
"

(
W
a
v
e

E
n
e
r
g
y

C
o
n
v
e
r
s
i
o
n

A
c
t
i
v
a
t
o
r
)


2
0
k
W

O
W
C

d
e
v
i
c
e


A
t
h
e
n
s
,

G
r
e
e
c
e




w
w
w
.
d
a
e
d
a
l
u
s
.
g
r


H
y
d
a
m

T
e
c
h
n
o
l
o
g
i
e
s

L
t
d
.


"
M
c
C
a
b
e

W
a
v
e

P
u
m
p
"

(
M
W
P
)

P
o
i
n
t

a
b
s
o
r
b
e
r

w
i
t
h

t
w
o

r
e
c
t
a
n
g
u
l
a
r

s
t
e
e
l

p
o
n
t
o
o
n
s

w
h
i
c
h

m
o
v
e

i
n

r
e
l
a
t
i
o
n

t
o

a

s
t
a
t
i
o
n
a
r
y

c
e
n
t
r
a
l

r
a
f
t
.

T
h
e

h
i
n
g
e
s

o
f

t
h
e

p
o
n
t
o
o
n
s

d
r
i
v
e

a

h
y
d
r
a
u
l
i
c

p
o
w
e
r

t
a
k
e
-
o
f
f

s
y
s
t
e
m
.


K
e
r
r
y
,

I
r
e
l
a
n
d


H
a
s

r
e
c
e
i
v
e
d

f
u
n
d
i
n
g

f
r
o
m

t
h
e

I
r
i
s
h

M
a
r
i
n
e

I
n
s
t
i
t
u
t
e


n
/
a

C
l
e
a
r
p
o
w
e
r

T
e
c
h
n
o
l
o
g
y

L
t
d
.

(
a
l
s
o

l
i
s
t
e
d

a
s

W
a
v
e
b
o
b

L
t
d
.

a
n
d

d
u
Q
u
e
s
n
e

E
n
v
i
r
o
n
m
e
n
t
a
l

L
t
d
.
)

"
W
a
v
e
b
o
b
"


S
e
l
f
-
r
e
a
c
t
i
n
g

p
o
i
n
t

a
b
s
o
r
b
e
r

t
h
a
t

e
x
t
r
a
c
t
s

p
o
w
e
r

f
r
o
m

t
h
e

r
e
l
a
t
i
v
e

m
o
v
e
m
e
n
t

o
f

t
w
o

f
l
o
a
t
i
n
g

b
o
d
i
e
s

t
h
a
t

h
a
v
e

d
i
f
f
e
r
e
n
t

h
e
a
v
e

f
r
e
q
u
e
n
c
y

r
e
s
p
o
n
s
e
s
.

T
h
i
s

p
r
o
p
e
r
t
y

e
n
a
b
l
e
s

t
h
e

W
a
v
e
b
o
b

t
o

u
t
i
l
i
z
e

e
n
e
r
g
y

f
r
o
m

m
o
r
e

w
a
v
e

f
r
e
q
u
e
n
c
i
e
s

t
h
a
n

c
o
n
v
e
n
t
i
o
n
a
l

s
i
n
g
l
e

b
u
o
y

p
o
i
n
t

a
b
s
o
r
b
e
r
s
.

D
u
b
l
i
n
,

I
r
e
l
a
n
d


1
/
5
0
t
h

a
n
d

1
/
2
0
t
h

s
c
a
l
e

t
e
s
t
s

c
o
n
d
u
c
t
e
d

a
t

t
h
e

H
y
d
r
a
u
l
i
c
s

a
n
d

M
a
r
i
t
i
m
e

R
e
s
e
a
r
c
h

C
e
n
t
r
e

(
U
C
C
,

C
o
r
k
)

a
n
d

t
h
e

l
a
r
g
e

w
a
v
e

c
h
a
n
n
e
l

o
f

t
h
e

G
e
r
m
a
n

C
o
a
s
t
a
l

D
e
f
e
n
c
e

C
e
n
t
r
e

(
H
a
n
o
v
e
r

U
n
i
v
e
r
s
i
t
y

a
n
d

t
h
e

T
e
c
h
n
i
c
a
l

U
n
i
v
e
r
s
i
t
y

o
f

B
r
a
u
n
s
c
h
w
e
i
g
)


w
w
w
.
c
l
e
a
r
p
o
w
e
r
.
i
e

N
a
t
i
o
n
a
l

I
n
s
t
i
t
u
t
e

o
f

O
c
e
a
n

T
e
c
h
n
o
l
o
g
y

(
N
I
O
T
)


"
B
a
c
k
w
a
r
d

B
e
n
t

D
u
c
t
e
d

B
u
o
y
"

(
B
B
D
B
)

O
W
C

d
e
v
i
c
e

w
i
t
h

v
a
r
i
a
b
l
e

r
e
s
i
s
t
a
n
c
e

i
n
d
u
c
t
i
o
n

g
e
n
e
r
a
t
o
r

V
i
z
h
i
n
j
a
m
,

K
e
r
a
l
a

(
I
n
d
i
a
)


1
/
1
3

p
r
o
t
o
t
y
p
e

g
i
v
e
s

a
i
r

p
o
w
e
r

/

w
a
v
e

p
o
w
e
r

c
o
n
v
e
r
s
i
o
n

a
b
o
v
e

6
0
%

(
s
t
a
r
t
e
d

D
e
c
.

1
9
9
0

w
i
t
h

i
m
p
r
o
v
e
m
e
n
t
s

a
d
d
e
d

o
v
e
r

t
i
m
e
)


w
w
w
.
n
i
o
t
.
r
e
s
.
i
n
/
m
1
/
W
a
v
e
.
h
t
m


S
.
D
.
E
.

E
n
e
r
g
y

L
t
d
.


O
f
f
s
h
o
r
e

w
a
v
e

e
n
e
r
g
y


O
W
C

/

O
v
e
r
t
o
p
p
i
n
g

d
e
v
i
c
e

w
o
r
k
s

b
y

f
o
r
c
i
n
g

w
a
v
e
s

i
n
t
o

c
a
v
i
t
y

s
e
p
a
r
a
t
e
d

f
r
o
m

h
y
d
r
a
u
l
i
c

o
i
l

b
y

m
e
m
b
r
a
n
e
.

I
n
c
o
m
i
n
g

w
a
v
e
s

p
r
e
s
s
u
r
i
z
e

t
h
e

o
i
l

w
h
i
c
h

d
r
i
v
e
s

a

h
y
d
r
a
u
l
i
c

g
e
n
e
r
a
t
o
r
.


T
e
l

A
v
i
v
,

I
s
r
a
e
l


I
s
r
a
e
l
i

g
o
v
e
r
n
m
e
n
t

h
a
s

a
u
t
h
o
r
i
z
e
d

S
.
D
.
E
.

t
o

p
r
o
d
u
c
e

a
n
d

s
e
l
l

4
M
W

o
f

e
l
e
c
t
r
i
c
i
t
y

f
o
r

2
0

y
e
a
r
s
,

a
t

5
.
2
5

c
e
n
t
s

p
e
r

k
W
h
.

P
r
o
j
e
c
t

i
s

a
p
p
r
o
v
e
d

w
i
t
h

p
a
r
t
i
a
l

f
i
n
a
n
c
i
n
g

b
y

t
h
e

C
h
i
e
f

S
c
i
e
n
t
i
s
t

o
f

I
s
r
a
e
l
.


w
w
w
.
s
d
e
.
c
o
.
i
l



J
A
M
S
T
E
C


"
M
i
g
h
t
y

W
h
a
l
e
"


O
W
C

d
e
v
i
c
e

w
i
t
h

t
h
r
e
e

i
n
d
u
c
t
i
o
n

g
e
n
e
r
a
t
o
r
s


Y
o
k
o
s
u
k
a
,

J
a
p
a
n


2
8

M
a
r
c
h

1
9
9
8
:

d
e
p
l
o
y
m
e
n
t

o
f

1
1
0

k
W

p
r
o
t
o
t
y
p
e

a
t

G
o
k
a
s
h
o

B
a
y
,

J
a
p
a
n

f
u
n
d
e
d

b
y

J
a
p
a
n
'
s

S
c
i
e
n
c
e

a
n
d

T
e
c
h
n
o
l
o
g
y

A
g
e
n
c
y

w
w
w
.
j
a
m
s
t
e
c
.
g
o
.
j
p
/
j
a
m
s
t
e
c
/
M
T
D
/
W
h
a
l
e


E
c
o
f
y
s


"
W
a
v
e

R
o
t
o
r
"


O
r
b
i
t
a
l

c
u
r
r
e
n
t
s

i
n

w
a
v
e
s

a
n
d

t
i
d
a
l

c
u
r
r
e
n
t
s

i
n
d
u
c
e

h
y
d
r
o
d
y
n
a
m
i
c

l
i
f
t

w
h
i
c
h

t
u
r
n
s

a

s
e
t

o
f

b
l
a
d
e
s

a
r
o
u
n
d

a

v
e
r
t
i
c
a
l

a
x
i
s


U
t
r
e
c
h
t
,

T
h
e

N
e
t
h
e
r
l
a
n
d
s


O
c
t
.

a
n
d

N
o
v
.

2
0
0
4
:

1
/
1
0

s
c
a
l
e

m
o
d
e
l

t
e
s
t
e
d

a
t

N
a
R
E
C

i
n

B
l
y
t
h

(
0
.
5

M
W

m
o
d
e
l

t
o

b
e

i
n
s
t
a
l
l
e
d

i
n

U
K
)


w
w
w
.
e
c
o
f
y
s
.
c
o
m


N
e
p
t
u
n
e

S
y
s
t
e
m
s


M
a
g
n
e
t
o
h
y
d
r
o
d
y
n
a
m
i
c

(
M
H
D
)

g
e
n
e
r
a
t
o
r

i
n

a

b
u
o
y

w
a
v
e

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r

a
n
d

t
i
d
a
l

c
u
r
r
e
n
t

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r


U
s
e
s

a

2
0

m

d
i
a
m
e
t
e
r

s
u
p
e
r
c
o
n
d
u
c
t
i
n
g

m
a
g
n
e
t

s
o
l
e
n
o
i
d

(
S
M
E
S
)

w
h
i
c
h

p
r
o
d
u
c
e
s

a

m
a
g
n
e
t
i
c

f
i
e
l
d

s
t
r
e
n
g
t
h

o
f

5

T
e
s
l
a

w
i
t
h

e
n
e
r
g
y

c
o
n
t
e
n
t

~
1
0
0

G
J
.

T
h
e

t
i
d
a
l

g
e
n
e
r
a
t
o
r

c
a
n

d
e
l
i
v
e
r

4

M
W

p
o
w
e
r

i
n
s
t
a
l
l
e
d

a
t

a

3

m
/
s

t
i
d
a
l

c
u
r
r
e
n
t

v
e
l
o
c
i
t
y
.


B
r
e
d
a
,

T
h
e

N
e
t
h
e
r
l
a
n
d
s




w
w
w
.
n
e
p
t
u
n
e
s
y
s
t
e
m
s
.
n
e
t


H
a
m
m
e
r
f
e
s
t

S
t
r
o
e
m

A
S


"
T
i
d
e
k
r
a
f
t
"


U
n
d
e
r
w
a
t
e
r

t
u
r
b
i
n
e

p
r
o
p
s

s
i
m
i
l
a
r

t
o

w
i
n
d

t
u
r
b
i
n
e

p
r
o
p
s

c
o
l
l
e
c
t

t
i
d
a
l

c
u
r
r
e
n
t

e
n
e
r
g
y



H
a
m
m
e
r
f
e
s
t
,

N
o
r
w
a
y


2
5

S
e
p
t
.

2
0
0
5
,

'
T
h
e

B
l
u
e

C
o
n
c
e
p
t
'

p
r
o
j
e
c
t
:

p
r
o
t
o
t
y
p
e

i
n
s
t
a
l
l
e
d

a
t

K
v
a
l
s
u
n
d
e
t

p
r
o
d
u
c
i
n
g

2
1

G
W
h

p
e
r

y
e
a
r


w
w
w
.
e
-
t
i
d
e
v
a
n
n
s
e
n
e
r
g
i
.
c
o
m


I
n
g

A
r
v
i
d

N
e
s
h
e
i
m


P
o
i
n
t

a
b
s
o
r
b
e
r


A
b
s
o
r
b
s

e
n
e
r
g
y

f
r
o
m

v
e
r
t
i
c
a
l
,

p
i
v
o
t
a
l
,

h
o
r
i
z
o
n
t
a
l

b
a
c
k
w
a
r
d
s

a
n
d

f
o
r
w
a
r
d
s

(
t
o
-
a
n
d
-
f
r
o
)

m
o
t
i
o
n

v
i
a

a

h
y
d
r
a
u
l
i
c
s

s
y
s
t
e
m

V
o
l
l
e
n
,

N
o
r
w
a
y




w
w
w
.
a
n
w
s
i
t
e
.
c
o
m


W
A
V
E
e
n
e
r
g
y

A
S


"
S
e
a
w
a
v
e

S
l
o
t
-
C
o
n
e

G
e
n
e
r
a
t
o
r

(
S
S
G
)
"


O
v
e
r
t
o
p
p
i
n
g

w
a
v
e

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r

w
i
t
h

m
u
l
t
i
-
s
t
a
g
e

t
u
r
b
i
n
e

(
M
S
T
)

N
o
r
w
a
y

H
a
s

r
e
c
e
i
v
e
d

f
u
n
d
i
n
g

f
r
o
m

t
h
e

E
u
r
o
p
e
a
n

C
o
m
m
i
s
s
i
o
n

F
P
-
6
-
2
0
0
4
-
E
n
e
r
g
y
-
3

(
7

A
p
r
.

2
0
0
5
)

a
n
d

t
h
e

N
o
r
w
e
g
i
a
n

R
e
s
e
a
r
c
h

C
o
u
n
c
i
l

t
o

d
e
v
e
l
o
p

t
h
e

M
S
T

t
u
r
b
i
n
e

(
2
5

J
a
n

2
0
0
5
)


w
w
w
.
w
a
v
e
e
n
e
r
g
y
.
n
o
/
i
n
d
e
x
.
h
t
m


S
e
a

E
l
e
c
t
r
i
c
a
l

G
e
n
e
r
a
t
o
r
s
,

L
t
d
.


P
o
i
n
t

a
b
s
o
r
b
e
r


M
a
d
e

f
r
o
m

c
h
e
a
p

r
e
c
y
c
l
e
d

p
l
a
s
t
i
c

(
p
o
l
y
e
t
h
y
l
e
n
e
,

p
o
l
y
p
r
o
p
y
l
e
n
e
)
,

m
e
a
n
t

t
o

b
e

r
e
p
l
a
c
e
d

e
v
e
r
y

f
i
v
e

y
e
a
r
s


R
u
s
s
i
a




e
a
s
y
-
e
n
e
r
g
y
.
i
a
t
p
.
o
r
g
.
u
a



V
o
r
t
e
x

O
s
c
i
l
l
a
t
i
o
n

T
e
c
h
n
o
l
o
g
y
,

L
t
d
.

i
n

p
a
r
t
n
e
r
s
h
i
p

w
i
t
h

T
h
e

E
n
g
i
n
e
e
r
i
n
g

B
u
s
i
n
e
s
s

L
t
d
.

(
N
o
r
t
h
u
m
b
e
r
l
a
n
d
,

E
n
g
l
a
n
d
)


"
S
t
i
n
g
r
a
y
"


O
s
c
i
l
l
a
t
i
n
g

w
i
n
g
s

e
x
t
r
a
c
t

e
n
e
r
g
y

f
r
o
m

t
i
d
a
l

c
u
r
r
e
n
t
s

M
o
s
c
o
w
,

R
u
s
s
i
a

2
0
0
4
:

5

M
W

i
n
s
t
a
l
l
a
t
i
o
n

o
f
f

t
h
e

c
o
a
s
t

o
f

S
c
o
t
l
a
n
d

w
w
w
.
v
o
r
t
e
x
o
s
c
.
c
o
m
/
i
n
d
e
x
.
p
h
p
,

w
w
w
.
e
n
g
b
.
c
o
m


Y
a
k
o
v

K
o
l
p


"
S
e
a

W
a
v
e

E
n
e
r
g
y

C
o
n
v
e
r
t
e
r

(
S
W
E
C
)
"


W
a
v
e

o
s
c
i
l
l
a
t
i
o
n

g
e
n
e
r
a
t
o
r

w
i
t
h

c
a
p
a
c
i
t
y

f
r
o
m

k
i
l
o

t
o

m
e
g
a
w
a
t
t

r
a
n
g
e


R
u
s
s
i
a




w
w
w
.
r
v
f
.
r
u
/
e
n
g
l
/
e
x
p
o
-
y
a
k
o
r
.
p
h
p


S
e
a
b
a
s
e
d

E
n
e
r
g
y

A
B


P
o
i
n
t

A
b
s
o
r
b
e
r

w
i
t
h

L
i
n
e
a
r

G
e
n
e
r
a
t
o
r


L
i
n
e
a
r

p
e
r
m
a
n
e
n
t

m
a
g
n
e
t

g
e
n
e
r
a
t
o
r

w
i
t
h

l
a
r
g
e

n
u
m
b
e
r

o
f

p
o
l
e
s

a
n
d

N
d
F
e
B

m
a
g
n
e
t
s

t
h
a
t

a
l
l
o
w

f
o
r

h
i
g
h

m
a
g
n
e
t
i
c

e
x
c
i
t
a
t
i
o
n

w
i
t
h

s
m
a
l
l
e
r

m
a
g
n
e
t
s


U
p
p
s
a
l
a
,

S
w
e
d
e
n


W
o
r
k
i
n
g

w
i
t
h

t
h
e

D
i
v
i
s
i
o
n

f
o
r

E
l
e
c
t
r
i
c
i
t
y

a
n
d

L
i
g
h
t
n
i
n
g

R
e
s
e
a
r
c
h

a
t

U
p
p
s
a
l
a

U
n
i
v
e
r
s
i
t
y
,

S
w
e
d
e
n




w
w
w
.
s
e
a
b
a
s
e
d
.
c
o
m


S
e
a

P
o
w
e
r

I
n
t
e
r
n
a
t
i
o
n
a
l

A
B


O
v
e
r
t
o
p
p
i
n
g

w
a
v
e

e
n
e
r
g
y

c
o
n
v
e
r
t
e
r


N
e
a
r

s
h
o
r
e

W
E
C


S
t
o
c
k
h
o
l
m
,

S
w
e
d
e
n




w
w
w
.
s
e
a
p
o
w
e
r
.
s
e


N
a
t
u
r
a
l
i
s
t

W
a
v
e

P
o
w
e
r

P
l
a
n
t

A
B


H
y
d
r
a
u
l
i
c
-
b
a
s
e
d

o
f
f
s
h
o
r
e

W
E
C


W
a
v
e
s

r
o
t
a
t
e

j
o
i
n
t
s

o
f

c
h
a
s
s
i
s

w
h
i
c
h

p
r
e
s
s
u
r
i
z
e
s

m
i
n
e
r
a
l

o
i
l
.

T
h
i
s

d
r
i
v
e
s

a

h
y
d
r
a
u
l
i
c

g
e
n
e
r
a
t
o
r
.


A
n
k
a
r
a
,

T
u
r
k
e
y




w
w
w
.
d
a
l
g
a
e
n
e
r
j
i
s
i
.
c
o
m
/
a
n
a
-
e
n
g
l
i
s
h
.
a
s
p
,

w
w
w
.
w
i
p
o
.
i
n
t
/
p
c
t
d
b
/
e
n
/
f
e
t
c
h
.
j
s
p
?
L
A
N
G
=
E

N
G
&
D
B
S
E
L
E
C
T
=
P
C
T
&
S
E
R
V
E
R
_
T
Y
P
E
=
1
9
&
S
O
R
T
=
1
1
4
9
2
8
8
-
K
E
Y
&
T
Y
P
E
_
F
I
E
L
D
=
2
5
6
&
I
D
B
=
0
&
I
D
O
C
=
6
3
0
4
1
5
&
E
L
E
M
E
N
T
_
S
E
T
=
I
A
,
W
O
,
T
T
L
-
E
N
&
R
E
S
U
L
T
=
1
&
T
O
T
A
L
=
1
&
S
T
A
R
T
=
1
&
D
I
S
P
=
2
5
&
F
O
R
M
=
S
E
P
-
0
/
H
I
T
N
U
M
,
B
-
E
N
G
,
D
P
,
M
C
,
P
A
,
A
B
S
U
M
-
E
N
G
&
Q
U
E
R
Y
=
w
o
%
2
f
0
2
0
7
5
1
5
1



A
W
S

O
c
e
a
n

E
n
e
r
g
y

L
t
d
.


"
A
r
c
h
i
m
e
d
e
s

W
a
v
e

S
w
i
n
g
"


A
i
r
-
f
i
l
l
e
d
,

s
u
b
m
e
r
g
e
d

p
o
i
n
t

a
b
s
o
r
b
e
r

u
s
e
s

a

l
i
n
e
a
r

g
e
n
e
r
a
t
o
r
.

W
a
v
e

c
r
e
s
t
s

d
e
p
r
e
s
s

t
h
e

d
e
v
i
c
e
,

a
n
d

t
r
o
u
g
h
s

f
o
r
c
e

i
t

u
p
w
a
r
d
s
.


R
o
s
s
-
s
h
i
r
e
,

E
n
g
l
a
n
d


2
4

M
a
y

2
0
0
4
:

2
M
W

i
n
s
t
a
l
l
a
t
i
o
n

o
f

p
r
o
t
o
t
y
p
e

o
f
f

o
f

P
o
r
t
u
g
a
l


w
w
w
.
a
w
s
o
c
e
a
n
.
c
o
m
,

w
w
w
.
w
a
v
e
s
w
i
n
g
.
c
o
m


E
m
b
l
e
y

E
n
e
r
g
y

L
t
d
.


"
S
p
e
r
b
o
y
"


F
l
o
a
t
i
n
g

b
u
o
y

w
i
t
h

m
u
l
t
i
p
l
e

o
s
c
i
l
l
a
t
i
n
g

w
a
t
e
r

c
o
l
u
m
n
s

o
f

d
i
f
f
e
r
e
n
t

l
e
n
g
t
h
s

t
o

u
t
i
l
i
z
e

a

l
a
r
g
e
r

r
a
n
g
e

o
f

w
a
v
e
l
e
n
g
t
h
s


E
n
g
l
a
n
d


T
h
e

C
a
r
b
o
n

T
r
u
s
t

i
s

e
v
a
l
u
a
t
i
n
g

t
h
e

S
p
e
r
b
o
y

t
h
r
o
u
g
h

t
h
e
i
r

M
a
r
i
n
e

E
n
e
r
g
y

C
h
a
l
l
e
n
g
e

p
r
o
g
r
a
m
m
e

i
n
f
o
@
s
p
e
r
b
o
y
.
c
o
m
,

w
w
w
.
t
h
e
c
a
r
b
o
n
t
r
u
s
t
.
c
o
.
u
k
/
c
t
m
a
r
i
n
e
2
/
P
a
g
e
1
.
h
t
m



M
a
r
i
n
e

C
u
r
r
e
n
t

T
u
r
b
i
n
e
s
,

L
t
d
.

(
M
C
T
)

a
n
d

I
T

P
o
w
e
r

"
S
E
A
F
L
O
W
"

m
a
r
i
n
e

c
u
r
r
e
n
t

t
u
r
b
i
n
e


T
i
d
a
l

c
u
r
r
e
n
t
s

d
r
i
v
e

t
w
o

b
l
a
d
e
s

a
r
o
u
n
d

a

h
o
r
i
z
o
n
t
a
l

a
x
i
s

l
i
k
e

a
n

u
n
d
e
r
w
a
t
e
r

w
i
n
d

t
u
r
b
i
n
e

H
a
m
p
s
h
i
r
e
,

U
K


3
1

M
a
y

2
0
0
3
:

T
h
e

C
a
r
b
o
n

T
r
u
s
t

s
p
o
n
s
o
r
s

c
o
n
s
t
r
u
c
t
i
o
n

o
f

a

3
0
0
k
W

e
x
p
e
r
i
m
e
n
t
a
l

t
u
r
b
i
n
e

3
k
m

o
f
f
s
h
o
r
e

f
r
o
m

L
y
n
m
o
u
t
h
,

D
e
v
o
n
,

2
0
0
3
-
3
-
1
2
2
-
1
-
2


w
w
w
.
i
t
p
o
w
e
r
.
c
o
.
u
k
,

w
w
w
.
m
a
r
i
n
e
t
u
r
b
i
n
e
s
.
c
o
m


O
c
e
a
n

P
o
w
e
r

D
e
l
i
v
e
r
y
,

L
t
d
.


"
P
e
l
a
m
i
s
"


N
e
a
r

s
h
o
r
e

c
y
l
i
n
d
r
i
c
a
l

s
t
r
u
c
t
u
r
e

w
h
o
s
e

h
i
n
g
e
s

d
r
i
v
e

h
y
d
r
a
u
l
i
c

m
o
t
o
r
s

a
s

t
h
e

p
o
w
e
r
-
t
a
k
e

o
f
f


E
d
i
n
b
u
r
g
h
,

S
c
o
t
l
a
n
d
,

U
K


2
.
2
5
M
W

P
r
o
t
o
t
y
p
e
:

t
h
r
e
e

P
e
l
a
m
i
s

P
-
7
5
0

m
a
c
h
i
n
e
s

l
o
c
a
t
e
d

5
k
m

o
f
f

t
h
e

P
o
r
t
u
g
u
e
s
e

c
o
a
s
t

w
w
w
.
o
c
e
a
n
p
d
.
c
o
m


O
R
E
C
o
n

L
t
d
.


"
M
R
C
"

S
y
s
t
e
m


M
u
l
t
i
p
l
e

o
s
c
i
l
l
a
t
i
n
g

w
a
t
e
r

c
o
l
u
m
n


P
l
y
m
o
u
t
h
,

U
K


J
u
n
e

2
0
0
5
:

F
E
E
D

f
o
r

a

2
M
W

p
r
e
-
p
r
o
d
u
c
t
i
o
n

p
r
o
t
o
t
y
p
e


w
w
w
.
o
r
e
c
o
n
.
c
o
m


O
f
f
s
h
o
r
e

W
a
v
e

E
n
e
r
g
y

L
t
d
.

(
O
W
E
L
)


"
G
r
a
m
p
u
s
"


L
o
n
g

i
n
l
e
t
s

t
r
a
p

a
n
d

c
o
m
p
r
e
s
s

t
h
e

a
i
r

i
n

w
a
v
e

t
r
o
u
g
h
s
.

R
e
s
e
r
v
o
i
r
s

a
c
c
u
m
u
l
a
t
e

t
h
e

c
o
m
p
r
e
s
s
e
d

a
i
r

w
h
i
c
h

d
r
i
v
e
s

a

t
u
r
b
i
n
e
.


P
o
r
t
s
m
o
u
t
h
,

U
K


F
u
t
u
r
e

p
r
o
j
e
c
t
:

t
a
n
k
-
t
e
s
t
i
n
g

1
8

m
e
t
r
e

l
o
n
g

p
h
y
s
i
c
a
l

m
o
d
e
l


w
w
w
.
o
w
e
l
.
c
o
.
u
k


T
h
e

W
a
v
e

P
o
w
e
r

G
r
o
u
p

a
t

t
h
e

U
n
i
v
e
r
s
i
t
y

o
f

E
d
i
n
b
u
r
g
h


"
S
a
l
t
e
r
'
s

D
u
c
k
"

a
n
d

"
S
l
o
p
e
d

I
P
S

B
u
o
y
"


B
o
t
h

a
r
e

p
o
i
n
t

a
b
s
o
r
b
e
r
s

u
s
i
n
g

h
y
d
r
a
u
l
i
c
s

p
o
w
e
r

t
a
k
e
-
o
f
f

E
d
i
n
b
u
r
g
h
,

S
c
o
t
l
a
n
d
,

U
K


S
a
l
t
e
r
'
s

D
u
c
k

p
r
o
j
e
c
t

n
o

l
o
n
g
e
r

f
u
n
d
e
d
,

S
l
o
p
e
d

I
P
S

B
u
o
y

a
p
p
l
y
i
n
g

f
o
r

E
P
S
R
C

p
r
o
g
r
a
m
m
e

f
u
n
d
i
n
g


w
w
w
.
m
e
c
h
.
e
d
.
a
c
.
u
k
/
r
e
s
e
a
r
c
h
/
w
a
v
e
p
o
w
e
r
/
i
n
d
e
x
.
h
t
m


W
a
v
e
g
e
n


"
L
I
M
P
E
T
"


S
h
o
r
e
l
i
n
e

O
W
C


N
o
r
t
h
u
m
b
e
r
-
l
a
n
d
,

E
n
g
l
a
n
d


J
u
n
e

2
0
0
4
:

f
i
r
s
t

g
e
n
e
r
a
t
i
o
n

o
f

B
r
e
a
k
w
a
t
e
r

T
u
r
b
i
n
e

i
n
s
t
a
l
l
e
d

o
n

t
h
e

L
i
m
p
e
t

p
l
a
n
t


w
w
w
.
w
a
v
e
g
e
n
.
c
o
.
u
k




A
p
p
e
n
d
i
x

B
:

P
a
r
t
s

L
i
s
t


F
u
n
c
t
i
o
n

D
i
s
t
r
i
b
u
t
o
r

P
a
r
t

N
u
m
b
e
r

T
o
t
a
l

P
r
i
c
e

H
a
r
d
w
a
r
e





6
0
6
3

A
l

r
o
u
n
d

r
o
d
,

1
"

d
i
a
.
,

8
'

l
e
n
g
t
h

B
u
o
y

r
o
d
,

g
e
n
e
r
a
t
o
r

t
r
a
n
s
l
a
t
o
r

M
c
M
a
s
t
e
r
-
C
a
r
r

1
6
4
0
T
3
7

$
4
2
.
5
3

6
0
6
3

A
l

s
q
u
a
r
e

t
u
b
e
,

1
"

x

1
"

x

6
'

Q
t
y
:

4

M
a
i
n

f
r
a
m
e

M
c
M
a
s
t
e
r
-
C
a
r
r

8
8
8
7
5
K
3
3

8
2
.
8
8

6
0
6
3

A
l

r
e
c
t
a
n
g
u
l
a
r

b
a
r
,

1
/
2
"

x

2
"

x

8
'

M
a
i
n

f
r
a
m
e

c
r
o
s
s
m
e
m
b
e
r
s

M
c
M
a
s
t
e
r
-
C
a
r
r

8
9
7
5
5
K
6
2

5
4
.
0
5

6
0
6
3

A
l

U
-
c
h
a
n
n
e
l
,

2
"

b
a
s
e

x

1
/
2
"

l
e
g

x

8
'

l
e
n
g
t
h

L
I
G

B
o
x

c
a
g
e
,

b
o
t
t
o
m

s
u
p
p
o
r
t

f
o
r

b
u
o
y

M
c
M
a
s
t
e
r
-
C
a
r
r

9
0
0
1
K
3
9

2
6
.
7
5

A
l

6
0
6
1

r
o
u
n
d

t
u
b
e
,

1
"

I
D

x

1
.
5
"

O
D
,

1
2
"

l
e
n
g
t
h

S
e
g
m
e
n
t

f
i
t
s

a
r
o
u
n
d

b
u
o
y

r
o
d

t
o

s
t
r
e
n
g
t
h
e
n

c
o
n
n
e
c
t
i
o
n

t
o

t
r
a
n
s
l
a
t
o
r

M
c
M
a
s
t
e
r
-
C
a
r
r

9
0
5
6
K
2
7
1

1
5
.
0
4

U
H
M
W

p
o
l
y
e
t
h
y
l
e
n
e

t
u
b
e
,

0
.
9
7
"
I
D
x
1
.
5
"
O
D
x
1
'

l
e
n
g
t
h

L
o
w
-
f
r
i
c
t
i
o
n

b
e
a
r
i
n
g
s

f
o
r

b
u
o
y

a
n
d

t
r
a
n
s
l
a
t
o
r

r
o
d
s
,

p
r
e
s
s
e
d

i
n
t
o

h
o
l
e
s

i
n

f
r
a
m
e

M
c
M
a
s
t
e
r
-
C
a
r
r

8
7
0
5
K
1
4
1

6
.
1
1

U
H
M
W

P
o
l
y
e
t
h
y
l
e
n
e

t
u
b
e
,

1
.
6
2
5
"

I
D

2
.
3
6
5
"

O
D
,

1
'

l
e
n
g
t
h

R
i
s
e
r
s

f
o
r

c
o
i
l

i
n
s
i
d
e

P
e
l
i
c
a
n

C
a
s
e

M
c
M
a
s
t
e
r
-
C
a
r
r

8
7
0
5
K
7
4

1
4
.
0
2

A
B
S

p
l
a
s
t
i
c

t
u
b
e
,

1
"
I
D

x

1
.
5
"
O
D

x

5
'

l
e
n
g
t
h

T
u
b
e

i
n
s
i
d
e

b
u
o
y

M
c
M
a
s
t
e
r
-
C
a
r
r

1
8
3
9
T
2
2

4
0
.
1
0

T
y
p
e

I

P
V
C

r
o
d
,

4
"

O
D
,

1
2
"

l
e
n
g
t
h

G
e
n
e
r
a
t
o
r

b
u
l
k
h
e
a
d
s

M
c
M
a
s
t
e
r
-
C
a
r
r

8
7
4
5
K
2
8

2
6
.
5
2

N
e
o
p
r
e
n
e
/
E
P
D
M
/
S
B
R

C
l
o
s
e
d
-
c
e
l
l

F
o
a
m

R
u
b
b
e
r
,

S
h
e
e
t

3
/
8
"

t
h
i
c
k
,

1
'

l
e
n
g
t
h

C
o
i
l

g
a
s
k
e
t
s
,

b
o
x

f
r
a
m
e

p
a
d
d
i
n
g

M
c
M
a
s
t
e
r
-
C
a
r
r

8
6
4
7
K
4
5

1
3
.
4
0

P
o
l
y
u
r
e
t
h
a
n
e

s
h
e
e
t
,

6
"

x

6
"

x

1
/
2
"
,

6
0
A

h
a
r
d
n
e
s
s

V
i
b
r
a
t
i
o
n

r
e
l
i
e
f

c
o
u
p
l
e
r

b
e
t
w
e
e
n

t
r
a
n
s
l
a
t
o
r

a
n
d

b
u
o
y

r
o
d

M
c
M
a
s
t
e
r
-
C
a
r
r

8
7
1
6
K
2
4
2

2
3
.
2
3

A
l

6
0
6
1
-
T
6

R
H

T
h
r
e
a
d

1
/
4
"
-
2
0

f
u
l
l
y

t
h
r
e
a
d
e
d

r
o
d
,

4
"

l
o
n
g
,

p
a
c
k

o
f

1
0

C
o
m
p
r
e
s
s

b
u
l
k
h
e
a
d

f
i
t
t
i
n
g
s

t
o

c
o
i
l
,

c
o
n
n
e
c
t

h
a
l
v
e
s

o
f

m
a
g
n
e
t

r
o
d

t
h
r
o
u
g
h

m
a
g
n
e
t

M
c
M
a
s
t
e
r
-
C
a
r
r

9
3
2
2
5
A
8
7
4

8
.
6
2

A
l

H
e
x
-
h
e
a
d

1
/
4
"
-
2
0

c
a
p

s
c
r
e
w
,

3
"

l
e
n
g
t
h
,

p
a
c
k

o
f

1
0

V
a
r
i
o
u
s

c
o
n
n
e
c
t
i
o
n
s

M
c
M
a
s
t
e
r
-
C
a
r
r

9
3
3
0
6
A
5
5
8

7
.
1
5

S
i
z
e

-
3
3
9

o
-
r
i
n
g
s
,

Q
t
y
:

4

S
e
a
l

b
u
l
k
h
e
a
d

f
i
t
t
i
n
g
s

t
o

P
e
l
i
c
a
n

C
a
s
e

O
R
C
A


D
o
n
a
t
e
d

P
e
l
i
c
a
n

c
a
s
e

1
3
0
0
,

s
i
l
v
e
r
,

w
i
t
h

f
o
a
m

L
i
n
e
a
r

I
n
d
u
c
t
a
n
c
e

G
e
n
e
r
a
t
o
r

h
o
u
s
i
n
g

T
e
c
h
n
i
-
T
o
o
l
,

I
n
c
.

6
0
3
1
3
0
0
S
I
L
V
E
R

3
8
.
3
4

N
d
F
e
B

r
i
n
g

m
a
g
n
e
t
s
,

1
.
5


O
D
,

Q
t
y
:

2

M
a
g
n
e
t

i
n

g
e
n
e
r
a
t
o
r

S
u
p
e
r

M
a
g
n
e
t

M
a
n

R
1
1
1
1

1
6
.
0
0

1
-
l
b
.

S
p
o
o
l

o
f

#
3
0

A
W
G

E
n
a
m
e
l
e
d

M
a
g
n
e
t

W
i
r
e

C
o
i
l

F
o
r
c
e

F
i
e
l
d

0
9
3
0

1
7
.
0
0

W
e
s
t

S
y
s
t
e
m

e
p
o
x
y

T
o

s
e
t

c
o
i
l

U
T
L


A
v
a
i
l
a
b
l
e

P
o
l
y
s
t
y
r
e
n
e

f
o
a
m


B
u
o
y

F
I
T

M
a
c
h
i
n
e

s
h
o
p


D
o
n
a
t
e
d

6
-
o
z

E
-
g
l
a
s
s

f
a
b
r
i
c

B
u
o
y

c
o
v
e
r


F
i
b
e
r

G
l
a
s
s

F
l
o
r
i
d
a


D
o
n
a
t
e
d

b
y

M
F
P

D
E
R

3
3
1

e
p
o
x
y

r
e
s
i
n

a
n
d

h
a
r
d
e
n
e
r

B
u
o
y

c
o
v
e
r

F
i
b
e
r

G
l
a
s
s

F
l
o
r
i
d
a

1
9
2
4
8

D
o
n
a
t
e
d

b
y

M
F
P

3
M

K
-
1

S
c
o
t
c
h
l
i
t
e

B
u
b
b
l
e
s

B
u
o
y

c
o
v
e
r

F
i
b
e
r

G
l
a
s
s

F
l
o
r
i
d
a


1
5
.
0
0

V
a
r
i
o
u
s

s
c
r
e
w
s
,

1


l
e
n
g
t
h

S
e
c
u
r
e

A
B
S

t
u
b
e

i
n
s
i
d
e

f
o
a
m

U
T
L


A
v
a
i
l
a
b
l
e

P
o
l
y
e
s
t
e
r

G
e
l
c
o
a
t

S
e
r
i
e
s

9
4
4

B
u
o
y

c
o
a
t
i
n
g

P
r
o
g
r
e
s
s

P
l
a
s
t
i
c
s


D
o
n
a
t
e
d

b
y

M
F
P

U
-
c
h
a
n
n
e
l

(
6


b
a
s
e
,

2


l
e
g
s
)
)

P
i
l
i
n
g

m
o
u
n
t

F
I
T

m
a
c
h
i
n
e

s
h
o
p


D
o
n
a
t
e
d

3
1
6

S
S


b
a
n
d


P
i
l
i
n
g

m
o
u
n
t
i
n
g

b
a
n
d

P
e
l
c
o

U
t
i
l
i
t
y

P
r
o
d
u
c
t
s

U
S
-
8
1
2
4
-
0
6

1
0
5
.
3
5
/
1
0
0


3
1
6

S
S

B
u
c
k
l
e

Q
t
y
:

4


P
i
l
i
n
g

m
o
u
n
t
i
n
g

b
a
n
d

P
e
l
c
o

U
t
i
l
i
t
y

P
r
o
d
u
c
t
s

U
S
-
8
1
2
4
-
5
6

7
9
.
2
5
/
1
0
0

C
o
m
p
r
e
s
s
i
o
n

S
p
r
i
n
g

P
r
o
v
i
d
e

r
e
t
u
r
n

f
o
r
c
e

f
o
r



R
e
i
d

S
u
p
p
l
y

C
X
-
3
9
,

C
X
-
4
7

C
X
-
4
9
,

C
X
-
5
0

1
5
.
9
5

E
l
e
c
t
r
o
n
i
c
s





P
I
C
1
8
f
4
5
2
3

M
i
c
r
o
p
r
o
c
e
s
s
o
r

M
i
c
r
o
c
h
i
p

P
I
C
1
8
F
4
5
2
3
-
E
/
P

S
a
m
p
l
e
d

L
o
g
o
m
a
t
i
c

S
e
r
i
a
l

S
D

D
a
t
a
l
o
g
g
e
r

D
a
t
a

r
e
c
o
r
d
i
n
g

S
p
a
r
k
F
u
n

E
l
e
c
t
r
o
n
i
c
s

W
I
G
-
0
0
7
5
2

5
9
.
9
5

2
5
6
M
B

S
D

c
a
r
d

S
t
o
r
a
g
e

s
p
a
c
e



A
v
a
i
l
a
b
l
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r

C
r
e
a
t
e
s

5
V

o
u
t
p
u
t

T
e
x
a
s

I
n
s
t
r
u
m
e
n
t
s

T
P
S
6
1
2
0
2
D
R
C

S
a
m
p
l
e
d

C
h
i
p

s
c
a
l
e

(
Q
F
N
)

1
0
,
3
2

s
u
r
f
b
o
a
r
d
,

.
5
m
m

p
i
t
c
h

D
C
/
D
C

c
o
n
v
e
r
t
e
r

s
u
r
f
b
o
a
r
d

S
c
h
m
a
r
t
B
o
a
r
d

2
0
2
-
0
0
1
7
-
0
1

9
.
9
9

S
e
r
i
a
l

a
c
c
e
s
s

R
e
a
l

T
i
m
e

C
l
o
c
k

w
i
t
h

a
l
a
r
m

G
l
o
b
a
l

t
i
m
e
k
e
e
p
e
r

f
o
r

d
a
t
a

c
o
l
l
e
c
t
i
o
n

c
o
n
s
i
s
t
e
n
c
y

S
T

M
i
c
r
o
e
l
e
c
t
r
o
n
i
c
s

M
4
1
T
8
0
M
6
E

S
a
m
p
l
e
d

9
V

b
a
t
t
e
r
y

c
l
i
p

M
a
i
n

p
o
w
e
r

c
o
n
n
e
c
t
i
o
n




I
C

3
.
3
V

1
5
0
M
A

L
D
O

R
E
G

S
O
T
-
2
3
-
5

M
a
i
n

p
o
w
e
r

v
o
l
t
a
g
e

r
e
g
u
l
a
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

2
9
6
-
1
1
0
2
1
-
1
-
N
D

0
.
8
4

C
O
N
N

D
B
9

F
E
M
A
L
E

.
3
1
8
"

R
/
A

N
I
C
K
E
L

S
e
r
i
a
l

c
o
n
n
e
c
t
i
o
n

f
o
r

H
y
p
e
r
T
e
r
m
i
n
a
l

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
8
2
-
8
0
9
F
E
-
N
D

4
.
4
6

C
O
N
N

H
E
A
D
E
R

2
P
O
S

.
1
0
0

V
E
R
T

G
O
L
D

Q
t
y
:

7

L
o
a
d

a
n
d

c
u
r
r
e
n
t
-
s
e
n
s
e

r
e
s
i
s
t
o
r

c
o
n
n
e
c
t
o
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

W
M
2
7
0
0
-
N
D

4
.
2
0

C
O
N
N

T
E
R
M

F
E
M
A
L
E

2
2
-
3
0
A
W
G

G
O
L
D

Q
t
y
:

3
0

L
o
a
d

a
n
d

c
u
r
r
e
n
t
-
s
e
n
s
e

r
e
s
i
s
t
o
r

c
o
n
n
e
c
t
o
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

W
M
2
6
2
4
-
N
D

8
.
5
8

C
O
N
N

H
O
U
S

2
P
O
S

.
1
0
0

W
/
R
A
M
P
/
R
I
B

Q
t
y
:
1
0

L
o
a
d

a
n
d

c
u
r
r
e
n
t
-
s
e
n
s
e

r
e
s
i
s
t
o
r

c
o
n
n
e
c
t
o
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

W
M
2
0
0
0

1
.
3
1

C
O
N
N

H
E
A
D
E
R

.
1
0
0

S
N
G
L

S
T
R

3
6
P
O
S

H
e
a
d
e
r

t
o

b
e

s
o
l
d
e
r
e
d

i
n
t
o

L
o
g
o
m
a
t
i
c

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

9
2
9
6
4
7
-
0
2
-
3
6
-
N
D

3
.
3
1

C
O
N
N

H
E
A
D
E
R

.
1
0
0

S
N
G
L

R
/
A

3
6
P
O
S

R
T
C

a
n
d

P
I
C
k
i
t
2

h
e
a
d
e
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

9
2
9
5
5
0
-
0
1
-
3
6
-
N
D

3
.
9
6

0
.
5
W
,

1
o
h
m
,

5
%

t
o
l
e
r
a
n
c
e

c
a
r
b
o
n

f
i
l
m

r
e
s
i
s
t
o
r

Q
t
y
:

2


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
.
0
H
-
N
D

0
.
2
6

2
.
2
u
H

i
n
d
u
c
t
o
r
,

a
x
i
a
l
,

1
0
%

t
o
l
e
r
a
n
c
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r

i
n
d
u
c
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

M
9
9
7
7
-
N
D

1
.
1
3

1
F
,

6
.
3
V

s
u
p
e
r
c
a
p
a
c
i
t
o
r


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

6
0
4
-
1
0
1
8
-
N
D

6
.
1
5

0
.
6
8
F
,

6
.
3
V

s
u
p
e
r
c
a
p
a
c
i
t
o
r


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

6
0
4
-
1
0
1
7
-
N
D

6
.
1
5

0
.
4
7
F
,

6
.
3
V

s
u
p
e
r
c
a
p
a
c
i
t
o
r


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

6
0
4
-
1
0
1
6
-
N
D

6
.
1
5

L
6
2
1
0

I
C

d
i
o
d
e

b
r
i
d
g
e

S
c
h
o
t
t
k
y

d
u
a
l

1
6
D
I
P

R
e
c
t
i
f
i
e
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s


4
9
7
-
3
6
4
6
-
N
D

2
.
9
7

0
.
1
u
F

c
e
r
a
m
i
c

c
a
p
a
c
i
t
o
r
,

1
0
0
V

Q
t
y
:

4


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

P
4
9
1
0
-
N
D

1
.
9
2

2
2
p
F

c
a
p
a
c
i
t
o
r

Q
t
y
:

2

M
i
c
r
o
c
o
n
t
r
o
l
l
e
r

o
s
c
i
l
l
a
t
o
r

c
a
p
a
c
i
t
o
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

4
9
0
-
3
7
0
9
-
N
D

0
.
5
6

1
u
F

e
l
e
c
t
r
o
l
y
t
i
c

c
a
p
a
c
i
t
o
r
,

Q
t
y
:

9


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

P
8
2
4
-
N
D

1
.
2
6

1
0
u
F

e
l
e
c
t
r
o
l
y
t
i
c

c
a
p
a
c
i
t
o
r
,

Q
t
y
:

5


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

P
5
3
0
9
-
N
D

0
.
8
5

2
0
.
0
M
H
z

c
r
y
s
t
a
l

o
s
c
i
l
l
a
t
o
r
,

1
8
p
F
,

H
C
4
9
/
U
S

P
I
C

o
s
c
i
l
l
a
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

3
0
0
-
6
0
4
2
-
N
D

0
.
7
0

3
2
.
7
8
6
k
H
z

c
r
y
s
t
a
l

o
s
c
i
l
l
a
t
o
r

R
T
C

o
s
c
i
l
l
a
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

X
8
0
1
-
N
D

2
.
7
0

2
-
p
i
n

s
c
r
e
w

t
e
r
m
i
n
a
l

b
l
o
c
k
,

0
.
2
"

p
i
t
c
h

Q
t
y
:

2

P
o
w
e
r

a
n
d

S
u
p
e
r
c
a
p
a
c
i
t
o
r

c
o
n
n
e
c
t
o
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

E
D
1
6
0
9
-
N
D

0
.
9
2

G
r
e
e
n

L
E
D
,

3
m
m

T
-
1

D
C
/
D
C

c
o
n
v
e
r
t
e
r

O
N

i
n
d
i
c
a
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

L
G

3
3
3
0
-
L
P
-
1
-
0
-
1
0
-
B
U
L
K
-
N
D

0
.
0
9

B
l
u
e

L
E
D
,

3
m
m

T
-
1

P
o
w
e
r

i
n
d
i
c
a
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
6
0
-
1
6
0
0
-
N
D

0
.
6
0

R
J
1
1

j
a
c
k
,

P
C
B

r
i
g
h
t

a
n
g
l
e
,

n
o

p
a
n
e
l

s
t
o
p
s

M
i
c
r
o
c
h
i
p

u
n
i
v
e
r
s
a
l

p
r
o
g
r
a
m
m
e
r

c
o
n
n
e
c
t
o
r

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

A
2
4
9
0
7
-
N
D

2
.
0
2

I
C

R
E
F

P
R
E
C

V
O
L
T

M
I
C
R
O
P
W
R

8
-
S
O
I
C

4
.
0
9
6

v
o
l
t
a
g
e

r
e
f
e
r
e
n
c
e

f
o
r

A
D
C
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

L
M
4
1
4
0
C
C
M
-
4
.
1
-
N
D

3
.
5
8

D
I
O
D
E

Z
E
N
E
R

5
W

5
.
6
V

D
O
-
1
5

S
u
p
e
r
c
a
p
a
c
i
t
o
r

p
r
o
t
e
c
t
i
o
n

d
i
o
d
e

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
N
5
3
3
9
B
T
P
M
S
C
T
-
N
D

0
.
3
9

M
O
S
F
E
T

P
-
C
H

2
0
V

2
.
4
A

S
O
T
-
2
3


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

N
T
R
4
1
0
1
P
T
1
G
O
S
C
T
-
N
D

0
.
3
6

I
C

O
P
A
M
P

Q
U
A
D

S
N
G
L

S
U
P
P
L
Y

1
4
D
I
P

Q
t
y
:

2

A
D
C

b
u
f
f
e
r
s

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

M
C
P
6
0
4
-
I
/
P
-
N
D

3
.
1
6

C
O
N
N

S
O
C
K
E
T

S
T
R
I
P

5
0
P
I
N

.
1
0
0

S
T
R


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

E
D
6
3
5
0
-
N
D

7
.
2
6

M
A
X
2
3
3

T
T
L
/
R
S
2
3
2

l
o
g
i
c

l
e
v
e
l

c
o
n
v
e
r
t
e
r

M
a
x
i
m

I
n
t
e
g
r
a
t
e
d

P
r
o
d
u
c
t
s

M
A
X
2
3
3
C
P
P

S
a
m
p
l
e
d

S
i
n
g
l
e

P
o
l
e
,

D
o
u
b
l
e

T
h
r
o
w

R
e
l
a
y

S
w
i
t
c
h
e
s

D
C
/
D
C

c
o
n
v
e
r
t
e
r

i
n
t
o
/
o
u
t

o
f

c
i
r
c
u
i
t

A
l
l

E
l
e
c
t
r
o
n
i
c
s

R
S
B
-
5

2
.
2
5

2
N
3
9
0
4

N
P
N

T
r
a
n
s
i
s
t
o
r
,

Q
t
y
:

3


D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

2
N
3
9
0
F
S
-
N
D

0
.
3
3

M
A
X
4
3
7
2
,

Q
t
y
:

2

C
u
r
r
e
n
t

s
e
n
s
e

o
p

a
m
p

M
a
x
i
m

I
n
t
e
g
r
a
t
e
d

P
r
o
d
u
c
t
s

M
A
X
4
3
7
2
H
E
S
A

S
a
m
p
l
e
d

1
N
4
1
4
8

S
w
i
t
c
h
i
n
g

d
i
o
d
e
,

Q
t
y
:

2

R
e
v
e
r
s
e

p
o
l
a
r
i
t
y

p
r
o
t
e
c
t
i
o
n

d
i
o
d
e

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
N
4
1
4
8
F
S
-
N
D

0
.
0
8

1
N
4
0
0
1

R
e
c
t
i
f
i
e
r

P
o
w
e
r

s
e
l
e
c
t
o
r

d
i
o
d
e

o
r

R
T
C

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
N
4
0
0
1
F
S
C
T
-
N
D


0
.
1
1

1
N
4
0
0
7

R
e
c
t
i
f
i
e
r

P
o
w
e
r

s
e
l
e
c
t
o
r

d
i
o
d
e

o
r

R
T
C

D
i
g
i
k
e
y

E
l
e
c
t
r
o
n
i
c
s

1
N
4
0
0
7
F
S
C
T
-
N
D

0
.
1
0

R
e
s
i
s
t
o
r
s
:

7

x

1
k

4

x

2
0
k

1

x

1
0
0
k

1

x

1
M

1

x

2
.
2
M




A
v
a
i
l
a
b
l
e

P
C
B

a
d
h
e
s
i
v
e

s
t
a
n
d
o
f
f
s




A
v
a
i
l
a
b
l
e


A
p
p
e
n
d
i
x

C
:

M
a
t
l
a
b


C
o
d
e

C
.
1
:

I
R
L

W
a
v
e

P
o
w
e
r

M
o
d
e
l
i
n
g

C
.
1
.
1
:

d
e
t
e
c
t
_
l
a
n
d
_
r
e
d
.
m


D
e
t
e
c
t
i
n
g

l
a
n
d

f
r
o
m

a

b
i
t
m
a
p

i
m
a
g
e

s
c
r
e
e
n
-
c
a
p
t
u
r
e
d

f
r
o
m

G
o
o
g
l
e

E
a
r
t
h

(
m
o
d
i
f
i
e
d

t
o

h
i
g
h
l
i
g
h
t

c
o
a
s
t
l
i
n
e
s
)

a
n
d

s
a
v
i
n
g

i
t

a
s

a

b
l
a
c
k
-
a
n
d
-
w
h
i
t
e

f
i
g
u
r
e

f
i
l
e

f
u
n
c
t
i
o
n
[
b
_
w
_
m
a
p
,

I
R
L
f
e
a
t
u
r
e
s
,

a
t
l
a
n
t
i
c
_
f
l
a
g
]

=

d
e
t
e
c
t
_
l
a
n
d
_
r
e
d
(
i
m
a
g
e
_
f
i
l
e
)

%
F
o
r

e
x
a
m
p
l
e
,

i
m
a
g
e
_
f
i
l
e

c
o
u
l
d

b
e

'
b
i
g
_
m
a
p
/
f
o
r
t
_
p
i
e
r
c
e
_
a
l
l
_
r
e
d
.
b
m
p
'

l
o
a
d
_
s
t
r

=

[
'
i
m
r
e
a
d
(
'
,

'
i
m
a
g
e
_
f
i
l
e
'
,
'
)
'
]

m
a
p

=

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;

f
i
g
u
r
e
;

i
m
a
g
e
(
m
a
p
)
;

j
p
i
x
e
l
s

=

s
i
z
e
(
m
a
p
,
1
)
;






%
n
u
m
b
e
r

o
f

r
o
w
s

i
p
i
x
e
l
s

=

s
i
z
e
(
m
a
p
,
2
)
;






%
n
u
m
b
e
r

o
f

c
o
l
u
m
n
s

%
*
*
*
*
*
*
*
*
*
*
*

I
n
i
t
i
a
l
i
z
a
t
i
o
n
s

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

%
D
e
f
i
n
e

I
R
L
f
e
a
t
u
r
e
s

c
o
n
t
a
i
n
s

t
h
e

I
R
L
w
i
d
t
h

I
R
L
s
t
a
r
t
_
p
i
x
e
l

a
n
d

I
R
L
s
t
o
p
_
p
i
x
e
l
]
o
f

e
a
c
h

r
o
w
;

%



i
n
i
t
i
a
l
i
z
e

a
l
l

t
o

z
e
r
o

%
A
l
s
o
,

i
n
i
t
i
a
l
i
z
e

t
h
e

i
n
d
e
x
e
d

o
u
t
p
u
t

f
e
t
c
h

m
a
p

t
o

0

a
n
d

t
h
e

R
G
B

o
u
t
p
u
t

f
e
t
c
h

m
a
p

%



t
o

w
h
i
t
e

f
o
r

d
e
b
u
g
g
i
n
g
;

d
e
f
a
u
l
t

=

n
o
t

o
v
e
r

t
h
e

a
t
l
a
n
t
i
c

o
c
e
a
n

I
R
L
f
e
a
t
u
r
e
s

=

z
e
r
o
s
(
j
p
i
x
e
l
s
,

3
)
;

f
e
t
c
h

=

z
e
r
o
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
)
;

a
t
l
a
n
t
i
c
_
f
l
a
g

=

z
e
r
o
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
)
;

b
_
w
_
m
a
p

=

o
n
e
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
,

3
)
;

%
D
e
f
i
n
e

y
e
l
l
o
w

b
o
r
d
e
r

a
s

a
n
y
t
h
i
n
g

w
i
t
h
i
n

t
h
e

R
G
B

t
h
r
e
s
h
o
l
d
s

s
e
t

h
e
r
e

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d

=

[
1
4
0

1
4
0

7
9
]
;

r
e
d
_
t
h
r
e
s
h
o
l
d

=

[
2
5
5

0

0

]
;

p
u
r
p
l
e
_
t
h
r
e
s
h
o
l
d

=

[
1
2
8

0

2
5
5
]
;

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

A
l
g
o
r
i
t
h
m

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

%
R
u
n

t
h
r
o
u
g
h

e
a
c
h

p
i
x
e
l

a
n
d

f
i
n
d

t
h
e

I
R
L

c
o
a
s
t
l
i
n
e
s

f
o
r

(
j
=
1
:
j
p
i
x
e
l
s
)





f
o
r

(
i
=
1
:
i
p
i
x
e
l
s
)









i
f
(
i

=
=

1
)










%
a
s
s
u
m
e

p
i
x
e
l
s

(
:
,
1
)

a
r
e

o
v
e
r

l
a
n
d













I
R
L
f
l
a
g

=

0
;













a
t
l
a
n
t
i
c
_
f
l
a
g
(
j
,
i
)

=

0
;













l
a
s
t
_
y
e
l
l
o
w

=

-
1
0
;













y
e
l
l
o
w
_
c
o
u
n
t
e
r

=

0
;









e
n
d









%
P
u
r
p
l
e

p
i
x
e
l
s

p
r
e
v
e
n
t

f
e
t
c
h

f
r
o
m

b
e
i
n
g

c
a
l
c
u
l
a
t
e
d

n
e
a
r

a

j
e
t
t
y









i
f
(
m
a
p
(
j
,
i
,
1
)
=
=
p
u
r
p
l
e
_
t
h
r
e
s
h
o
l
d
(
1
)

&
&

m
a
p
(
j
,
i
,
2
)
=
=
p
u
r
p
l
e
_
t
h
r
e
s
h
o
l
d
(
2
)

&
&

m
a
p
(
j
,
i
,
3
)
=
=
p
u
r
p
l
e
_
t
h
r
e
s
h
o
l
d
(
3
)
)














b
_
w
_
m
a
p
(
j
,
i
,
:
)
=
0
;


%
b
l
a
c
k













w
h
i
l
e
(
~
(
m
a
p
(
j
,
i
,
1
)
~
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
1
)

&
&

m
a
p
(
j
,
i
,
2
)
~
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
2
)

&
&

m
a
p
(
j
,
i
,
3
)
~
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
3
)
)
)

















a
t
l
a
n
t
i
c
_
f
l
a
g
(
j
,
i
)

=

1
;

















I
R
L
f
l
a
g

=

0
;

















b
_
w
_
m
a
p
(
j
,
m
,
:
)
=
0
;


%
b
l
a
c
k

%

















i
f
(
(
m
a
p
(
j
,
i
,
1
)
>
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
1
)
)

&
&

(
m
a
p
(
j
,
i
,
2
)
>
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
2
)
)

&
&




%







(
m
a
p
(
j
,
i
,
3
)
<
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
3
)
)
)

%





















b
_
w
_
m
a
p
(
j
,
m
,
:
)
=
0
;


%
b
l
a
c
k

%

















e
l
s
e

%





















b
_
w
_
m
a
p
(
j
,
m
,
:
)
=
1
;


%
w
h
i
t
e

%

















e
n
d

















i
=
i
+
1
;













e
n
d









e
n
d









%
f
i
r
s
t

r
e
d

p
i
x
e
l

m
a
r
k
s

a
t
l
a
n
t
i
c

c
o
a
s
t
l
i
n
e









i
f
(
m
a
p
(
j
,
i
,
1
)
=
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
1
)

&
&

m
a
p
(
j
,
i
,
2
)
=
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
2
)

&
&

m
a
p
(
j
,
i
,
3
)
=
=
r
e
d
_
t
h
r
e
s
h
o
l
d
(
3
)
)













f
o
r

m
=
i
:
i
p
i
x
e
l
s

















b
_
w
_
m
a
p
(
j
,
m
,
:
)
=
1
;


%
w
h
i
t
e

















a
t
l
a
n
t
i
c
_
f
l
a
g
(
j
,
m
)

=

1
;

















I
R
L
f
l
a
g

=

0
;













e
n
d













b
r
e
a
k
;









e
n
d










i
f

(
~
I
R
L
f
l
a
g
)

%
i
f

c
u
r
r
e
n
t

p
i
x
e
l

i
s

n
o
t

l
o
c
a
t
e
d

o
v
e
r

t
h
e

I
R
L
,

m
a
p

i
t

a
s

b
l
a
c
k

a
n
d

c
h
e
c
k

i
f

i
t
'
s

a

c
o
a
s
t
l
i
n
e













b
_
w
_
m
a
p
(
j
,
i
,
:
)

=

0
;




%
b
l
a
c
k













f
e
t
c
h
(
j
,
i
)

=

-
2
0
;







%
l
o
w
e
s
t

v
a
l
u
e

i
n

f
e
t
c
h

c
a
l
c
u
l
a
t
i
o
n













%

i
f

c
u
r
r
e
n
t

p
i
x
e
l

i
s

y
e
l
l
o
w
,

i
t
'
s

e
i
t
h
e
r

t
h
e

1
s
t

y
e
l
l
o
w

p
i
x
e
l













%

o
n

t
h
e

w
e
s
t

c
o
a
s
t
,

a

r
a
n
d
o
m


p
i
x
e
l
,

o
r

a

c
o
n
s
e
c
u
t
i
v
e

y
e
l
l
o
w

p
i
x
e
l

o
n

t
h
e

e
a
s
t

c
o
a
s
t













i
f

(
(
m
a
p
(
j
,
i
,
1
)
>

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
1
)
)

&
&

(
m
a
p
(
j
,
i
,
2
)
>

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
2
)
)

&
&

(
m
a
p
(
j
,
i
,
3
)
<

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
3
)
)
)

















i
f
(
l
a
s
t
_
y
e
l
l
o
w

=
=

i
-
1
)






%
i
f

2

y
e
l
l
o
w

p
i
x
e
l
s

o
c
c
u
r

c
o
n
s
e
c
u
t
i
v
e
l
y

o
n

t
h
e

e
a
s
t

s
i
d
e

o
f

t
h
e

l
a
g
o
o
n





















l
a
s
t
_
y
e
l
l
o
w

=

i
;





















b
_
w
_
m
a
p
(
j
,
i
,
:
)

=

0
;




%
b
l
a
c
k





















f
e
t
c
h
(
j
,
i
)

=

-
2
0
;





















c
o
n
t
i
n
u
e
;















%
d
o
n
'
t

r
e
f
l
i
p

t
h
e

f
l
a
g

t
o

'
o
v
e
r

t
h
e

I
R
L

















e
l
s
e
i
f
(
i
>
1

&
&

i
<
i
p
i
x
e
l
s
-
1

&
&

j
>
1

&
&

j
<
j
p
i
x
e
l
s
-
1
)




%
f
o
r

n
o
n
-
b
o
r
d
e
r

p
i
x
e
l
s





















i
f
(
p
r
o
x
i
m
o
(
m
a
p
,
i
,
j
,
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
1
)
,
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
2
)
,
y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
2
)
)
)

%
r
a
n
d
o
m

%
y
e
l
l
o
w

p
i
x
e
l

























%
d
i
s
p
(
'
p
r
o
x
i
m
o

y
e
l
l
o
w
,

n
o
t

i
n

I
R
L
'
)

























b
_
w
_
m
a
p
(
j
,
i
,
:
)

=

0
;




%
b
l
a
c
k

























f
e
t
c
h
(
j
,
i
)

=

-
2
0
;

























c
o
n
t
i
n
u
e
;















%
g
o

o
n

t
o

t
h
e

n
e
x
t

p
i
x
e
l





















e
l
s
e
























%
w
e

a
r
e

o
n

t
h
e

w
e
s
t

s
i
d
e

o
f

t
h
e

l
a
g
o
o
n
,

s
o
:

























i
f
(
I
R
L
f
e
a
t
u
r
e
s
(
j
,
2
)
=
=
0
)





























I
R
L
f
e
a
t
u
r
e
s
(
j
,
2
)

=

i
;



%
s
e
t

t
h
e

s
t
a
r
t

p
i
x
e
l

f
o
r

r
o
w

j

a
s

t
h
e

f
i
r
s
t

y
e
l
l
o
w

p
i
x
e
l

























e
n
d

























I
R
L
f
l
a
g

=

1
;












%
f
l
i
p

t
h
e

f
l
a
g

t
o

o
v
e
r

t
h
e

I
R
L

























l
a
s
t
_
y
e
l
l
o
w

=

i
;





















e
n
d

















e
n
d













e
n
d









e
l
s
e














%
c
u
r
r
e
n
t

p
i
x
e
l

i
s

l
o
c
a
t
e
d

o
v
e
r

t
h
e

I
R
L













%
i
f

t
h
e

c
u
r
r
e
n
t

p
i
x
e
l

i
s

y
e
l
l
o
w
,

i
t
'
s

e
i
t
h
e
r

a

p
i
x
e
l

o
n

t
h
e













%
e
a
s
t
e
r
n

I
R
L

c
o
a
s
t
,

a

c
o
r
n
e
r
,

o
r

a

r
a
n
d
o
m

p
i
x
e
l

i
n

t
h
e

I
R
L













i
f

(
(
m
a
p
(
j
,
i
,
1
)
>

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
1
)
)

&
&

(
m
a
p
(
j
,
i
,
2
)
>

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
2
)
)

&
&

(
m
a
p
(
j
,
i
,
3
)
<

y
e
l
l
o
w
_
t
h
r
e
s
h
o
l
d
(
3
)
)
)

















i
f
(
l
a
s
t
_
y
e
l
l
o
w

=
=

i
-
1
)


%
k
e
e
p

t
r
a
c
k

o
f

c
o
n
s
e
c
u
t
i
v
e

y
e
l
l
o
w

p
i
x
e
l
s





















l
a
s
t
_
y
e
l
l
o
w

=

i
;





















b
_
w
_
m
a
p
(
j
,
i
,
:
)

=

0
;




%
b
l
a
c
k





















f
e
t
c
h
(
j
,
i
)

=

-
2
0
;





















c
o
n
t
i
n
u
e
;















%
s
k
i
p

t
h
e

r
e
s
t

b
/
c

t
h
e

f
l
a
g

s
h
o
u
l
d
n
'
t

b
e

r
e
v
e
r
s
e
d

a
g
a
i
n

















e
l
s
e



%
i
f

t
h
e

c
u
r
r
e
n
t

p
i
x
e
l

i
s

t
h
e

f
i
r
s
t

y
e
l
l
o
w

(
c
o
a
s
t
l
i
n
e
)

p
i
x
e
l
,

f
l
i
p

t
h
e

f
l
a
g





















b
_
w
_
m
a
p
(
j
,
i
,
:
)

=

0
;




%
b
l
a
c
k





















f
e
t
c
h
(
j
,
i
)

=

-
2
0
;





















l
a
s
t
_
y
e
l
l
o
w

=

i
;





















I
R
L
f
l
a
g

=

0
;












%
n
o
w

w
e

a
r
e

n
o
t

o
v
e
r

t
h
e

l
a
g
o
o
n

a
n
y
m
o
r
e





















I
R
L
f
e
a
t
u
r
e
s
(
j
,
3
)

=

i
;



%
s
e
t

t
h
e

e
n
d

p
i
x
e
l

f
o
r

r
o
w

j

a
s

t
h
e

l
a
s
t

y
e
l
l
o
w

p
i
x
e
l

















e
n
d













e
n
d









e
n
d





e
n
d

e
n
d

f
i
g
u
r
e
;

i
m
a
g
e
(
b
_
w
_
m
a
p
)
;

t
i
t
l
e
(
'
L
a
n
d

a
n
d

w
a
t
e
r
'
)
;

%

l
o
a
d
_
s
t
r
2

=

[
'
s
a
v
e

'
,
B
W
m
a
p
_
n
a
m
e
]
;

%

e
v
a
l
(
l
o
a
d
s
t
r
2
)
;

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

S
u
b
f
u
n
c
t
i
o
n
s

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

f
u
n
c
t
i
o
n

[
i
s
_
a
l
o
n
e
]

=

p
r
o
x
i
m
o
(
m
a
p
,

i
,

j
,

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
,

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
,

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)

i
f

(
.
.
.









(
(
m
a
p
(
j
-
1
,
i
-
1
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
-
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
-
1
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
-
1
,
i
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
,
2
)
>
y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
-
1
,
i
+
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
+
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
+
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
,
i
-
1
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
,
i
-
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)
&
&

m
a
p
(
j
,
i
-
1
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
,
i
+
1
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
,
i
+
1
,
2
)
>
y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
,
i
+
1
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
+
1
,
i
-
1
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
-
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
-
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
+
1
,
i
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)
&
&
(
m
a
p
(
j
+
1
,
i
,
2
)
>
y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
+
1
,
i
+
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)
&
&
(
m
a
p
(
j
+
1
,
i
+
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
+
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)
.
.
.









)





i
s
_
a
l
o
n
e

=

0
;

e
l
s
e





i
s
_
a
l
o
n
e

=

1
;

e
n
d

f
u
n
c
t
i
o
n

[
i
s
_
c
o
r
n
e
r
]

=

c
o
r
n
e
r
_
c
h
e
c
k
(
m
a
p
,

i
,

j
,

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
,

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
,

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)

%
i
f

a
l
l

t
h
e

p
i
x
e
l
s

a
b
o
v
e

o
r

a
l
l

t
h
e

p
i
x
e
l
s

b
e
l
o
w

(
b
u
t

n
o
t

b
o
t
h
)

a
r
e

N
O
T

%
y
e
l
l
o
w
,

r
e
t
u
r
n

1

(
I
S

a

c
o
r
n
e
r
)
;

e
l
s
e

r
e
t
u
r
n

0

(
I
S
N
'
T

a

c
o
r
n
e
r
)

i
f

(
x
o
r
(

.
.
.









(

.
.
.









(
(
m
a
p
(
j
-
1
,
i
-
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
-
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
-
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
-
1
,
i
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&
(
m
a
p
(
j
-
1
,
i
,
2
)
>
y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&
(
m
a
p
(
j
-
1
,
i
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
-
1
,
i
+
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
+
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
-
1
,
i
+
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

.
.
.









)
,
.
.
.









(
.
.
.









(
(
m
a
p
(
j
+
1
,
i
-
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
-
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
-
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
+
1
,
i
,
1
)
>
y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&
(
m
a
p
(
j
+
1
,
i
,
2
)
>
y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&
(
m
a
p
(
j
+
1
,
i
,
3
)
<

y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)

|
|
.
.
.









(
(
m
a
p
(
j
+
1
,
i
+
1
,
1
)
>

y
e
l
l
o
w
_
R
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
+
1
,
2
)
>

y
e
l
l
o
w
_
G
_
t
h
r
e
s
h
o
l
d
)

&
&

(
m
a
p
(
j
+
1
,
i
+
1
,
3
)
<




y
e
l
l
o
w
_
B
_
t
h
r
e
s
h
o
l
d
)
)
.
.
.









)
.
.
.









)

.
.
.









)





d
i
s
p
(
'
c
o
r
n
e
r
1
'
)





i
s
_
c
o
r
n
e
r

=

1
;

e
l
s
e





d
i
s
p
(
'
c
o
r
n
e
r
0
'
)





i
s
_
c
o
r
n
e
r

=

0
;

e
n
d

C
.
1
.
2
:

f
e
t
c
h
_
c
a
l
c
_
r
e
d
.
m

C
a
l
c
u
l
a
t
e
s

f
e
t
c
h

f
r
o
m

e
a
c
h

p
i
x
e
l

(
o
n

t
h
e

B
&
W

m
a
p

c
r
e
a
t
e
d

a
b
o
v
e
)

t
o

t
h
e

n
e
a
r
e
s
t

l
a
n
d

i
n

t
h
e

d
i
r
e
c
t
i
o
n

f
r
o
m

w
h
i
c
h

t
h
e

w
i
n
d

i
s

b
l
o
w
i
n
g
.


R
e
q
u
i
r
e
s

t
h
e

t
h
r
e
e

m
a
t
r
i
c
e
s

r
e
t
u
r
n
e
d

a
b
o
v
e
,

p
l
u
s

a

i
m
a
g
e

s
c
a
l
e

(
i
n

m
)

i
n

b
o
t
h

t
h
e

N
-
S

a
n
d

E
-
W

d
i
r
e
c
t
i
o
n
s
,

a
n
d

t
h
e

d
i
r
e
c
t
i
o
n

f
r
o
m

w
h
i
c
h

t
h
e

w
i
n
d

b
l
o
w
s

f
u
n
c
t
i
o
n
[
f
e
t
c
h
]

=

f
e
t
c
h
_
c
a
l
c
_
r
e
d
(
b
_
w
_
m
a
p
,

I
R
L
f
e
a
t
u
r
e
s
,

a
t
l
a
n
t
i
c
_
f
l
a
g
,

j
l
e
n
g
t
h
,

i
l
e
n
g
t
h
,

t
h
e
t
a
)

j
p
i
x
e
l
s

=

s
i
z
e
(
b
_
w
_
m
a
p
,
1
)
;






%
n
u
m
b
e
r

o
f

r
o
w
s

i
p
i
x
e
l
s

=

s
i
z
e
(
b
_
w
_
m
a
p
,
2
)
;






%
n
u
m
b
e
r

o
f

c
o
l
u
m
n
s

i
s
c
a
l
e

=

i
l
e
n
g
t
h
/
i
p
i
x
e
l
s
;







%
i
n

m
e
t
e
r
s
/
p
i
x
e
l

j
s
c
a
l
e

=

j
l
e
n
g
t
h
/
j
p
i
x
e
l
s
;

%
N
o
w

c
a
l
c
u
l
a
t
e

a
n
d

p
l
o
t

f
e
t
c
h

f
o
r

(
j
=
1
:
j
p
i
x
e
l
s
)





f
o
r

(
i
=
1
:
i
p
i
x
e
l
s
)









m
o
v
e
s

=

0
;








%
r
e
s
e
t

r
o
w

d
e
v
i
a
t
i
o
n

c
o
u
n
t
e
r

e
a
c
h

t
i
m
e

w
e

m
o
v
e

t
o

a

n
e
w

p
i
x
e
l









b
=
j
;
















%
(
b
,
a
)

i
s

t
h
e

t
a
r
g
e
t

s
h
o
r
l
i
n
e

p
i
x
e
l
;

s
t
a
r
t

t
h
e

s
e
a
r
c
h

a
t

t
h
e

c
u
r
r
e
n
t

p
i
x
e
l









a
=
i
;









i
f
(
b
_
w
_
m
a
p
(
j
,
i
,
1
)
=
=
0

&
&

b
_
w
_
m
a
p
(
j
,
i
,
2
)
=
=
0

&
&

b
_
w
_
m
a
p
(
j
,
i
,
3
)
=
=
0
)













f
e
t
c
h
(
j
,
i
)
=
-
1
;













c
o
n
t
i
n
u
e
;









e
l
s
e
i
f
(
a
t
l
a
n
t
i
c
_
f
l
a
g
(
j
,
i
)
=
=
1
)













f
o
r
(
c
=
i
:
i
p
i
x
e
l
s
)

















i
f
(
(
t
h
e
t
a
>
4
5

&
&

t
h
e
t
a
<
1
3
5
)

|
|

(
t
h
e
t
a
>
2
2
5

&
&

t
h
e
t
a
<
3
1
5
)
)





















f
e
t
c
h
(
j
,
c
)

=

a
b
s
(
0
.
0
7
5
*
i
l
e
n
g
t
h
*
s
i
n
(
t
h
e
t
a
)
)
;

















e
l
s
e





















f
e
t
c
h
(
j
,
c
)

=

a
b
s
(
0
.
0
7
5
*
j
l
e
n
g
t
h
*
c
o
s
(
t
h
e
t
a
)
)
;

















e
n
d













e
n
d













i
=
i
p
i
x
e
l
s
;


%
s
k
i
p

t
h
e

r
e
s
t

o
f

t
h
e

r
o
w

f
o
r

n
o
w
,

j
u
s
t

f
o
r

s
p
e
e
d
'
s

s
a
k
e













c
o
n
t
i
n
u
e
;









e
l
s
e




%
p
i
x
e
l

i
s

o
v
e
r

t
h
e

I
R
L
;

d
e
t
e
r
m
i
n
e

t
h
e

f
e
t
c
h

f
o
r

t
h
i
s

p
i
x
e
l













I
R
L
f
e
a
t
u
r
e
s
(
j
,
1
)

=

I
R
L
f
e
a
t
u
r
e
s
(
j
,
1
)
+
1
;










%
i
n
c
r
e
m
e
n
t

t
h
e

w
i
d
t
h

o
f

t
h
e

I
R
L

f
o
r

r
o
w

j













%
w
h
i
l
e

t
h
e

w
e

d
o
n
'
t

l
a
n
d

o
n

a

b
l
a
c
k

(
c
o
a
s
t
)

p
i
x
e
l

o
r

g
o

o
v
e
r













%
t
h
e

o
c
e
a
n













w
h
i
l
e
(
b
_
w
_
m
a
p
(
b
,
a
,
:
)
=
=
1
)

















i
f
(
a
t
l
a
n
t
i
c
_
f
l
a
g
(
b
,
a
)
=
=
0
)





















m
o
v
e
s

=

m
o
v
e
s
+
1
;



%
k
e
e
p

t
r
a
c
k

o
f

t
h
e

#

o
f

r
o
w
s

a
b
o
v
e
/
b
e
l
o
w

j

w
e

m
o
v
e









%

i
n

f
i
n
d
i
n
g

t
h
e

c
o
a
s
t





















%

m
o
v
e

r
i
g
h
t
/
l
e
f
t

b
y

t
h
e

c
o
r
r
e
s
p
o
n
d
i
n
g

n
u
m

o
f

p
i
x
e
l
s





















i
f
(
t
h
e
t
a

=
=

9
0
)

























b
=
j
;

























a

=

i
+
m
o
v
e
s
;





















e
l
s
e
i
f
(
t
h
e
t
a
=
=
2
7
0
)

























b
=
j
;

























a

=

i
-
m
o
v
e
s
;





















e
l
s
e
i
f
(
(
t
h
e
t
a
>
4
5

&
&

t
h
e
t
a
<
1
3
5
)

|
|

(
t
h
e
t
a
>
2
2
5

&
&

t
h
e
t
a
<
3
1
5
)
)

























b

=

j
-
m
o
v
e
s
*
s
i
g
n
(
c
o
s
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
;


%
m
o
v
e

u
p
/
d
o
w
n

b
y

a

r
o
w

























a

=

i
+
m
o
v
e
s
*
(
r
o
u
n
d
(
s
i
g
n
(
s
i
n
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
*
a
b
s
(
t
a
n
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
)
)
;





















e
l
s
e

























a

=

i
+
m
o
v
e
s
*
s
i
g
n
(
s
i
n
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
;


%
m
o
v
e

r
i
g
h
t
/
l
e
f
t

b
y

a

r
o
w

























b

=

j
-
m
o
v
e
s
*
(
r
o
u
n
d
(
s
i
g
n
(
c
o
s
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
*
a
b
s
(
c
o
t
(
t
h
e
t
a
*
p
i
/
1
8
0
)
)
)
)
;





















e
n
d





















%

d
e
a
l

w
i
t
h

p
i
x
e
l
s

o
f
f

t
h
e

m
a
p
,

l
e
a
v
i
n
g

R
G
B

w
h
i
t
e

t
o

s
h
o
w

b
o
r
d
e
r
s

a
r
e

n
o
t













%

a
c
c
o
u
n
t
e
d

f
o
r





















i
f
(
a
<
1

|
|

a
>
i
p
i
x
e
l
s

|
|

b
<
1

|
|

b
>
j
p
i
x
e
l
s
)

























f
e
t
c
h
(
j
,
i
)

=

-
2
0
;

























b
r
e
a
k
;





















e
n
d

















e
l
s
e





















b
r
e
a
k
;

















e
n
d













e
n
d









e
n
d









%

w
h
e
n

w
e
'
v
e

r
e
a
c
h
e
d

a

c
o
a
s
t
l
i
n
e

p
i
x
e
l
,

r
e
c
o
r
d

t
h
e

f
e
t
c
h









f
e
t
c
h
(
j
,
i
)

=

s
q
r
t
(
(
(
b
-
j
)
*
j
s
c
a
l
e
)
^
2

+

(
(
(
a
-
i
)
*
i
s
c
a
l
e
)
^
2
)
)
;





e
n
d

e
n
d

f
i
g
u
r
e
;

f
e
t
c
h
_
c
o
l
o
r
s

=

c
o
l
o
r
m
a
p
;

f
e
t
c
h
_
c
o
l
o
r
s
(
1
,
3
)
=
0
;

c
o
l
o
r
m
a
p
(
f
e
t
c
h
_
c
o
l
o
r
s
)
;

i
m
a
g
e
s
c
(
f
e
t
c
h
)
;

c
o
l
o
r
b
a
r
(
'
e
a
s
t
o
u
t
s
i
d
e
'
)
;

t
i
t
l
e
(
'
B
r
e
v
a
r
d

I
R
L

F
e
t
c
h
,

w
i
n
d

f
r
o
m

%
d

d
e
g
r
e
e
s
'
)
;

C
.
1
.
3
:

w
a
v
e
_
c
a
l
c
.
m

U
s
e
s

f
e
t
c
h
,

w
i
n
d
s
p
e
e
d
,

a
n
d

a
n

a
v
e
r
a
g
e

d
e
p
t
h

t
o

c
a
l
c
u
l
a
t
e

t
h
e

s
i
g
n
i
f
i
c
a
n
t

w
a
v
e

h
e
i
g
h
t
,

p
e
a
k

p
e
r
i
o
d
,

f
u
l
l
y
-
d
e
v
e
l
o
p
e
d

s
e
a

h
e
i
g
h
t
,

a
n
d

F
D
S

r
e
q
u
i
r
e
d

d
u
r
a
t
i
o
n

o
n

t
h
e

m
a
p
s

c
r
e
a
t
e
d

i
n

A
B
.
1
.
1

a
n
d

A
B
.
1
.
2

f
u
n
c
t
i
o
n
[
w
a
v
e
_
h
e
i
g
h
t
s
,

T
p
,

H
_
F
D
S
,

t
_
r
e
q
_
m
a
x
]

=

w
a
v
e
_
c
a
l
c
(
f
e
t
c
h
_
m
a
t
r
i
x
,

b
_
w
_
m
a
p
,

w
i
n
d
s
p
e
e
d
,

a
v
g
_
d
e
p
t
h
)

%

a
r
g
u
m
e
n
t
s
:


W
i
n
d

S
p
e
e
d
,

F
e
t
c
h
,

a
n
d

D
e
p
t
h

%

r
e
t
u
r
n
s
:

a

m
a
t
r
i
x

o
f

w
a
v
e

h
e
i
g
h
t
s

a
n
d

a

c
o
l
u
m
n

o
f

w
a
v
e

p
e
r
i
o
d
s
,

p
r
i
n
t
e
d

%

t
o

a
n

i
m
a
g
e

%
*
*
*
*
*
*
*
I
n
i
t
i
a
l
i
z
a
t
i
o
n
s
*
*
*
*
*
*
*
*
*

j
p
i
x
e
l
s

=

s
i
z
e
(
f
e
t
c
h
_
m
a
t
r
i
x
,
1
)
;






%
n
u
m
b
e
r

o
f

r
o
w
s

i
p
i
x
e
l
s

=

s
i
z
e
(
f
e
t
c
h
_
m
a
t
r
i
x
,
2
)
;






%
n
u
m
b
e
r

o
f

c
o
l
u
m
n
s

T
p

=

z
e
r
o
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
)
;

w
a
v
e
_
h
e
i
g
h
t
s

=

o
n
e
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
)
;

H
_
F
D
S

=

o
n
e
s
(
j
p
i
x
e
l
s
,

i
p
i
x
e
l
s
)
;

t
_
r
e
q
_
m
a
x

=

0
;

g

=

9
.
8
;

U
a

=

w
i
n
d
s
p
e
e
d
;

%
1
0
m

e
l
e
v
a
t
i
o
n

w
i
n
d
s
p
e
e
d

F

=

f
e
t
c
h
_
m
a
t
r
i
x
;

d

=

a
v
g
_
d
e
p
t
h
;

C
d

=

0
.
0
0
1
*
(
1
.
1
+
0
.
0
3
5
*
U
a
)
;

U
s
t
a
r

=

s
q
r
t
(
C
d
*
U
a
^
2
)
;

T
p
_
S
W

=

9
.
7
8
*
(
d
/
g
)
^
(
1
/
2
)
;

f
o
r
(
j
=
1
:
j
p
i
x
e
l
s
)





f
o
r
(
i
=
1
:
i
p
i
x
e
l
s
)









i
f
(
b
_
w
_
m
a
p
(
j
,
i
,
:
)
=
=
0
)













w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

=

0
;













H
_
F
D
S
(
j
,
i
)

=

0
;









e
l
s
e













t
_
r
e
q

=

7
7
.
2
3
*
F
(
j
,
i
)
^
0
.
6
7
/
(
U
a
^
0
.
3
4
*
g
^
0
.
3
3
)
;













i
f
(
t
_
r
e
q

>

t
_
r
e
q
_
m
a
x
)

















t
_
r
e
q
_
m
a
x

=

t
_
r
e
q
;













e
n
d













H
_
F
D
S
(
j
,
i
)

=

0
.
2
7
*
U
a
^
2
/
g
;













w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

=

U
s
t
a
r
^
2
/
g

*

4
.
1
3
*
1
0
^
(
-
2
)

*

(
g
*
F
(
j
,
i
)
.
/
U
s
t
a
r
^
2
)
.
^
(
1
/
2
)
;













T
p
(
j
,
i
)

=

U
s
t
a
r
/
g

*

0
.
7
5
1

*

(
g
*
F
(
j
,
i
)
.
/
U
s
t
a
r
^
2
)
.
^
(
1
/
3
)
;













i
f
(
T
p
_
S
W

<

T
p
(
j
,
i
)
)

















T
p
(
j
,
i
)

=

T
p
_
S
W
;

















%
d
i
s
p
(
'
d
e
p
t
h
-
l
i
m
i
t
e
d

a
t

%
d
,
%
d
'
,

j
,
i
)

















n
o
n
_
d
i
m
_
F

=

(
g
*
T
p
(
j
,
i
)
/
(
U
s
t
a
r
*
0
.
7
5
1
)
)
^
3
;

















w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

=

U
s
t
a
r
.
^
2
.
/
g

.
*

4
.
1
3
*
1
0
^
(
-
2
)

*

(
n
o
n
_
d
i
m
_
F
)
.
^
(
1
/
2
)
;













e
n
d













i
f
(
w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)
>
0
.
6
*
d
)

















%
d
i
s
p
(
'
s
t
e
e
p
n
e
s
s
-
l
i
m
i
t
e
d

a
t

%
d
,
%
d
'
,

j
,
i
)

















w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

=

0
.
6
*
d
;













e
n
d









e
n
d





e
n
d

e
n
d

%
t
_
r
e
q
_
m
a
x

f
i
g
u
r
e
;

f
e
t
c
h
_
c
o
l
o
r
s

=

c
o
l
o
r
m
a
p
;

f
e
t
c
h
_
c
o
l
o
r
s
(
1
,
3
)
=
0
;

c
o
l
o
r
m
a
p
(
f
e
t
c
h
_
c
o
l
o
r
s
)
;

i
m
a
g
e
s
c
(
w
a
v
e
_
h
e
i
g
h
t
s
)
;

c
o
l
o
r
b
a
r
(
'
e
a
s
t
o
u
t
s
i
d
e
'
)
;

t
i
t
l
e
(
'
B
r
e
v
a
r
d

I
R
L

W
a
v
e

H
e
i
g
h
t
s
,

%
d

d
e
g
r
e
e
s
,

%
d

m
/
s
'
)
;

f
i
g
u
r
e
;

c
o
l
o
r
m
a
p
(
f
e
t
c
h
_
c
o
l
o
r
s
)
;

i
m
a
g
e
s
c
(
T
p
)
;

c
o
l
o
r
b
a
r
(
'
e
a
s
t
o
u
t
s
i
d
e
'
)
;

t
i
t
l
e
(
'
B
r
e
v
a
r
d

I
R
L

P
e
a
k

P
e
r
i
o
d
,

%
d

d
e
g
r
e
e
s
,

%
d

m
/
s
'
)
;


C
.
1
.
4
:

e
n
e
r
g
y
_
c
a
l
c
.
m

U
s
e
s

w
a
v
e

c
o
n
d
i
t
i
o
n
s

c
a
l
c
u
l
a
t
e
d

a
b
o
v
e

t
o

d
e
t
e
r
m
i
n
e

e
n
e
r
g
y

c
o
n
t
e
n
t

a
n
d

p
o
w
e
r

o
f

w
a
v
e
s

f
o
r

e
a
c
h

p
i
x
e
l

o
n

t
h
e

m
a
p
.

f
u
n
c
t
i
o
n
[
E
,

P
]

=

e
n
e
r
g
y
_
c
a
l
c
(
w
a
v
e
_
h
e
i
g
h
t
s
,

T
p
,

a
t
l
a
n
t
i
c
_
f
l
a
g
)

g
=
9
.
8
1
;





%
m
/
s
^
2

r
h
o

=

1
0
0
0
;

%
k
g
/
m
^
3

d

=

1
;






%
m

[
w
a
v
e
l
e
n
g
t
h
s
,
k
]

=

L
_
c
a
l
c
(
T
p
,
d
)
;

C
o

=

w
a
v
e
l
e
n
g
t
h
s
.
/
T
p
;

n

=

1
/
2
*
(
1

+

2
.
*
k
.
*
d
.
/
s
i
n
h
(
2
.
*
k
.
*
d
)
)
;

C
g

=

n
.
*
C
o
;

f
o
r

j
=
1
:
s
i
z
e
(
w
a
v
e
_
h
e
i
g
h
t
s
,
1
)





f
o
r

i
=
1
:
s
i
z
e
(
w
a
v
e
_
h
e
i
g
h
t
s
,
2
)









i
f
(
w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

>

w
a
v
e
l
e
n
g
t
h
s
(
j
,
i
)
*
1
/
7

|
|

w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)

>

0
.
7
8
*
d
)













H
_
l
i
m
i
t
e
d
(
j
,
i
)

=

(
w
a
v
e
l
e
n
g
t
h
s
(
j
,
i
)
*
1
/
7

<

0
.
7
8
*
d
)
*
w
a
v
e
l
e
n
g
t
h
s
(
j
,
i
)
*
1
/
7

.
.
.

















+

(
w
a
v
e
l
e
n
g
t
h
s
(
j
,
i
)
*
1
/
7

>
=

0
.
7
8
*
d
)
*
0
.
7
8
*
d
;









e
l
s
e













H
_
l
i
m
i
t
e
d
(
j
,
i
)

=

w
a
v
e
_
h
e
i
g
h
t
s
(
j
,
i
)
;









e
n
d





e
n
d

e
n
d

E

=

1
/
8
*
r
h
o
*
g
*
H
_
l
i
m
i
t
e
d
.
^
2
;

P

=

E
.
*

C
g
;

m
a
x
P
=
m
a
x
(
m
a
x
(
P
)
)
;

f
o
r

j
=
1
:
s
i
z
e
(
P
,
1
)





f
o
r

i
=
1
:
s
i
z
e
(
P
,
2
)









i
f

a
t
l
a
n
t
i
c
_
f
l
a
g
(
j
,
i
)
=
=
1













P
(
j
,
i
)
=
.
1
5
*
m
a
x
P
;









e
n
d





e
n
d

e
n
d

f
i
g
u
r
e
;

f
i
g
_
c
o
l
o
r
s

=

c
o
l
o
r
m
a
p
;

f
i
g
_
c
o
l
o
r
s
(
1
,
3
)
=
0
;

c
o
l
o
r
m
a
p
(
f
i
g
_
c
o
l
o
r
s
)
;

i
m
a
g
e
s
c
(
E
)
;

c
o
l
o
r
b
a
r
(
'
e
a
s
t
o
u
t
s
i
d
e
'
)
;

t
i
t
l
e
(
'
F
o
r
t

P
i
e
r
c
e

I
R
L

W
a
v
e

E
n
e
r
g
y
,

w
i
n
d

f
r
o
m

%
d

d
e
g
r
e
e
s

a
t

%
d

m
/
s
'
)
;

f
i
g
u
r
e
;

c
o
l
o
r
m
a
p
(
f
i
g
_
c
o
l
o
r
s
)
;

i
m
a
g
e
s
c
(
P
)
;

c
o
l
o
r
b
a
r
(
'
e
a
s
t
o
u
t
s
i
d
e
'
)
;

t
i
t
l
e
(
'
F
o
r
t

P
i
e
r
c
e

I
R
L

W
a
v
e

P
o
w
e
r
,

w
i
n
d

f
r
o
m

%
d

d
e
g
r
e
e
s

a
t

%
d

m
/
s
'
)
;

C
.
1
.
5
:

L
_
c
a
l
c
.
m

M
a
t
r
i
x

v
e
r
s
i
o
n

o
f

d
i
s
p
e
r
s
i
o
n

e
q
u
a
t
i
o
n

s
o
l
v
e
r

f
o
r

L

a
n
d

k
,

g
i
v
e
n

h

a
n
d

a
n

[
m

x

n
]

m
a
t
r
i
x

T
.

C
a
l
l
e
d

i
n

e
n
e
r
g
y
_
c
a
l
c
.
m

a
b
o
v
e
.

f
u
n
c
t
i
o
n
[
L
,
k
]

=

L
_
c
a
l
c
(
T
,
h
)

C
L
O
S
E
_
E
N
O
U
G
H

=

1
e
-
1
0
;

%

t
h
r
e
s
h
o
l
d

f
o
r

e
n
d
i
n
g

i
t
e
r
a
t
i
o
n
s


g
=
9
.
8
1
;















%

d
e
f
i
n
e
s

a
c
c
e
l
e
r
a
t
i
o
n

d
u
e

t
o

g
r
a
v
i
t
y

i
n

m
/
s
^
2


L
o
=
g
*
(
T
.
^
2
)
.
/
(
2
*
p
i
)
;


%

d
e
f
i
n
e
s

L
o

f
r
o
m

t
h
e

d
i
s
p
e
r
s
i
o
n

e
q
'
n
,

s
a
m
e

d
i
m
e
n
s
i
o
n
s

a
s

T

L
=
L
o
;

















%

i
n
i
t
i
a
l
i
z
e
s

L
,

t
h
e

w
a
v
e
l
e
n
g
t
h

m
a
t
r
i
x
,

w
h
i
c
h

h
a
s

d
i
m

o
f

T

d
i
f
f
=
o
n
e
s
(
s
i
z
e
(
L
)
)
;



%

i
n
i
t
i
a
l
i
z
e
s

t
h
e

d
i
f
f
e
r
e
n
c
e

v
a
r
i
a
b
l
e

t
o

a

(
r
e
l
a
t
i
v
e
l
y
)

l
a
r
g
e

v
a
l
u
e

n
=
0
;

N
=
0
;

f
o
r

i
=
1
:
s
i
z
e
(
d
i
f
f
,
1
)
,





f
o
r

j
=
1
:
s
i
z
e
(
d
i
f
f
,
2
)
,









w
h
i
l
e

d
i
f
f
(
i
,
j
)

>

C
L
O
S
E
_
E
N
O
U
G
H
,







%

t
h
i
s

i
s

t
h
e

l
o
o
p

f
o
r

i
t
e
r
a
t
i
v
e

a
p
p
l
i
c
a
t
i
o
n

o
f

d
i
s
p
e
r
s
i
o
n

e
q
'
n













L
2

=

L
o
.
*
t
a
n
h
(
(
2
*
p
i
*
h
)
.
/
L
)
;
















d
i
f
f
=
a
b
s
(
L
2
-
L
)
;





%

d
i
f
f

t
e
l
l
s

h
o
w

c
l
o
s
e

t
h
e

p
r
e
v
i
o
u
s

l
o
o
p
'
s

a
n
d

t
h
e

c
u
r
r
e
n
t







%

l
o
o
p
'
s

L

v
l
a
u
e
s

a
r
e













L
=
L
2
;















%

u
p
d
a
t
e
s

L













n
=
n
+
1
;









e
n
d





















%

b
r
e
a
k
s

o
u
t

o
f

l
o
o
p

w
h
e
n

d
i
f
f
<
0
.
0
0
1









N
=
N
+
n
;





e
n
d

e
n
d




k
=
(
2
*
p
i
)
.
/
(
L
)
;

C
.
1
.
6
:

d
o
_
i
t
_
a
l
l
.
m

C
a
l
l
s

a
l
l

t
h
e

a
b
o
v
e

I
R
L

w
a
v
e

e
n
e
r
g
y

f
u
n
c
t
i
o
n
s

i
n

t
h
e

c
o
r
r
e
c
t

o
r
d
e
r

t
o

a
v
o
i
d

c
o
n
f
u
s
i
o
n

w
i
t
h

a
r
g
u
m
e
n
t
s

n
e
e
d
e
d
.


T
h
e

i
n
i
t
i
a
l

m
a
p
r
e
a
d
i
n
g

f
u
n
c
t
i
o
n

m
u
s
t

b
e

c
a
l
l
e
d

b
e
f
o
r
e

r
u
n
n
i
n
g

t
h
i
s

m
-
f
i
l
e
,

s
i
n
c
e

t
h
a
t

o
p
e
r
a
t
i
o
n

i
s

o
n
l
y

n
e
e
d
e
d

o
n
c
e
.

f
e
t
c
h

=

f
e
t
c
h
_
c
a
l
c
_
r
e
d
(
b
w
_
m
a
p
,

I
R
L
_
f
e
a
t
u
r
e
s
,

a
t
l
_
f
l
a
g
,
5
4
0
0
0
,
2
8
2
5
0
,
4
2
.
4
)
;

s
p
r
i
n
t
f
(
'
f
i
n
i
s
h
e
d

f
e
t
c
h
.

e
n
t
e
r
i
n
g

w
a
v
e

h
e
i
g
h
t

c
a
l
c
.
'
)

[
w
a
v
e
_
h
e
i
g
h
t
s
,

T
p
,

H
_
F
D
S
,

t
_
r
e
q
_
m
a
x
]

=

w
a
v
e
_
c
a
l
c
(
f
e
t
c
h
,

b
w
_
m
a
p
,
8
.
4
,
1
)
;

[
E
,

P
]

=

e
n
e
r
g
y
_
c
a
l
c
(
w
a
v
e
_
h
e
i
g
h
t
s
,

T
p
,

a
t
l
_
f
l
a
g
)
;


C
.
1
.
7
:

e
n
e
r
g
y
_
s
l
o
p
e
.
m

A
l
l
o
w
s

f
o
r

a
n

e
s
t
i
m
a
t
i
o
n

o
f

w
a
v
e

p
o
w
e
r

i
n

a


d
e
p
t
h

o
f

1
m

g
i
v
e
n

e
i
t
h
e
r

4
.
5
k
m

o
r

1
.
5
k
m

f
e
t
c
h
a
n
d

a
n

a
r
r
a
y

o
f

w
i
n
d

s
p
e
e
d
s
;

p
l
o
t
s

w
a
v
e

p
o
w
e
r

v
e
r
s
u
s

w
i
n
d

s
p
e
e
d

o
n

a

l
o
g
-
l
o
g

p
l
o
t
.


I
n
t
e
n
d
e
d

a
s

a

g
e
n
e
r
a
l
i
z
e
d

e
s
t
i
m
a
t
e

o
f

w
a
v
e

p
o
w
e
r

f
o
r

v
a
r
i
o
u
s

l
o
c
a
t
i
o
n
s

i
n

t
h
e

l
a
g
o
o
n
.

f
u
n
c
t
i
o
n
[
w
a
v
e
_
H
,

P
,

T
p
]
=
e
n
e
r
g
y
_
s
l
o
p
e
(
w
i
n
d
s
p
e
e
d
,

f
e
t
c
h
)

%
f
e
t
c
h

=

4
5
0
0

f
o
r

o
p
t
i
m
i
s
t
i
c
,

1
5
0
0

f
o
r

c
o
n
s
e
r
v
a
t
i
v
e

g

=

9
.
8
;

r
h
o
=
1
0
0
0
;

U
a

=

w
i
n
d
s
p
e
e
d
;

%
1
0
m

e
l
e
v
a
t
i
o
n

w
i
n
d
s
p
e
e
d
,
a
r
r
a
y

F

=

f
e
t
c
h
;

d

=

1
;

C
d

=

0
.
0
0
1
.
*
(
1
.
1
.
*
o
n
e
s
(
s
i
z
e
(
U
a
)
)
+
0
.
0
3
.
*
U
a
)
;

U
s
t
a
r

=

s
q
r
t
(
C
d
.
*
U
a
.
^
2
)
;

T
p
_
S
W

=

9
.
7
8
*
(
d
/
g
)
^
(
1
/
2
)
;

t
_
r
e
q

=

7
7
.
2
3
*
F
^
0
.
6
7
.
/
(
U
a
.
^
0
.
3
4
.
*
g
^
0
.
3
3
)
;

H
_
F
D
S

=

0
.
2
7
.
*
U
a
.
^
2
.
/
g
;

w
a
v
e
_
H

=

U
s
t
a
r
.
^
2
/
g

*

4
.
1
3
*
1
0
^
(
-
2
)

.
*

(
g
*
F
.
/
U
s
t
a
r
.
^
2
)
.
^
(
1
/
2
)
;

T
p

=

U
s
t
a
r
.
/
g

*

0
.
7
5
1

.
*

(
g
*
F
.
/
U
s
t
a
r
.
^
2
)
.
^
(
1
/
3
)
;

f
o
r

i
=
1
:
l
e
n
g
t
h
(
T
p
)





i
f
(
T
p
(
i
)
>
T
p
_
S
W
)









s
p
r
i
n
t
f
(
'
p
e
r
i
o
d
-
l
i
m
i
t
e
d

a
t

%
d
'
,

i
)









T
p
(
i
)

=

T
p
_
S
W
;









n
o
n
_
d
i
m
_
F

=

(
g
*
T
p
(
i
)
.
/
(
U
s
t
a
r
.
*
0
.
7
5
1
)
)
.
^
3
;









w
a
v
e
_
H

=

U
s
t
a
r
.
^
2
.
/
g

.
*

4
.
1
3
*
1
0
^
(
-
2
)

.
*

(
n
o
n
_
d
i
m
_
F
)
.
^
(
1
/
2
)
;





e
n
d





i
f
(
w
a
v
e
_
H
(
i
)
>
0
.
6
*
d
)









s
p
r
i
n
t
f
(
'
d
e
p
t
h
-
l
i
m
i
t
e
d

a
t

%
d
'
,

i
)









w
a
v
e
_
H
(
i
)

=

0
.
6
*
d
;





e
n
d

e
n
d

[
w
a
v
e
l
e
n
g
t
h
s
,
k
]

=

L
_
c
a
l
c
(
T
p
,
d
)
;

C
o

=

w
a
v
e
l
e
n
g
t
h
s
.
/
T
p
;

n

=

1
/
2
*
(
1

+

2
.
*
k
.
*
d
.
/
s
i
n
h
(
2
.
*
k
.
*
d
)
)
;

C
g

=

n
.
*
C
o
;

f
o
r

i
=
1
:
l
e
n
g
t
h
(
w
a
v
e
_
H
)





i
f
(
w
a
v
e
_
H
(
i
)

>

w
a
v
e
l
e
n
g
t
h
s
(
i
)
*
1
/
7

|
|

w
a
v
e
_
H
(
i
)

>

0
.
7
8
*
d
)









H
_
l
i
m
(
i
)

=

(
w
a
v
e
l
e
n
g
t
h
s
(
i
)
*
1
/
7

<

0
.
7
8
*
d
)
*
w
a
v
e
l
e
n
g
t
h
s
(
i
)
*
1
/
7

.
.
.













+

(
w
a
v
e
l
e
n
g
t
h
s
(
i
)
*
1
/
7

>
=

0
.
7
8
*
d
)
*
0
.
7
8
*
d
;





e
l
s
e









H
_
l
i
m
(
i
)

=

w
a
v
e
_
H
(
i
)
;





e
n
d

e
n
d

E

=

1
/
8
*
r
h
o
*
g
*
H
_
l
i
m
.
^
2
;

P

=

E
.
*

C
g
;

l
o
g
l
o
g
(
U
a
,
P
)

t
i
t
l
e
(
'
W
a
v
e

P
o
w
e
r

v
s
.

W
i
n
d

S
p
e
e
d
'
)
;

x
l
a
b
e
l
(
'
W
i
n
d

S
p
e
e
d

(
m
/
s
)
'
)

y
l
a
b
e
l
(
'
W
a
v
e

P
o
w
e
r

(
W
/
m
)
'
)


C
.
1
.
8
:

c
a
l
c
_
h
i
s
t
.
m

P
r
i
n
t
s

h
i
s
t
o
g
r
a
m
s

o
f

t
h
e

w
i
n
d

s
p
e
e
d

i
n

a

d
a
t
a

s
e
t

o
f

w
i
n
d

s
p
e
e
d
s

r
e
c
o
r
d
e
d

e
v
e
r
y

5

m
i
n
u
t
e
s

a
n
d

l
o
a
d
e
d

a
s

a

d
a
t
a

f
i
l
e

i
n
t
o

M
a
t
l
a
b

;

i
n
t
e
n
d
e
d

f
o
r

u
s
e

w
i
t
h

t
h
e

d
a
t
a

e
x
t
r
a
c
t
e
d

f
r
o
m

t
e
x
t

f
i
l
e
s

o
f

P
A
F
B

w
i
n
d

r
e
c
o
r
d
s

f
o
r

2
0
0
6

f
u
n
c
t
i
o
n
[
m
o
n
t
h
_
m
i
n
s
,

d
a
i
l
y
_
m
i
n
s
,

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
,
x
m
o
n
t
h
,

m
o
n
t
h
P
c
e
n
t
r
d
]

=


c
a
l
c
_
h
i
s
t
(
M
o
n
t
h
_
m
,
t
o
t
a
l
_
d
a
y
s
_
i
n
_
m
o
n
t
h
,
d
a
y
s
_
o
f
_
d
a
t
a
)

[
m
o
n
t
h
_
m
i
n
s
,
x
m
o
n
t
h
]
=
h
i
s
t
(
M
o
n
t
h
_
m
,
3
0
)
;

m
o
n
t
h
_
m
i
n
s
=
m
o
n
t
h
_
m
i
n
s
*
5
;

d
a
i
l
y
_
m
i
n
s
=
m
o
n
t
h
_
m
i
n
s
/
d
a
y
s
_
o
f
_
d
a
t
a
;

%
s
i
z
e
(
m
o
n
t
h
,
2
)
;


%
2
4
0

f
o
r

y
e
a
r
_
m
,

2
7
8

f
o
r

y
r
d
a
t
a

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
=
t
o
t
a
l
_
d
a
y
s
_
i
n
_
m
o
n
t
h
.
*
d
a
i
l
y
_
m
i
n
s
/
6
0
;

s
t
e
m
(
x
m
o
n
t
h
,

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
)

t
i
t
l
e
(
'
_
_
_

W
i
n
d

D
i
s
t
r
i
b
u
t
i
o
n
'
)

x
l
a
b
e
l
(
'
W
i
n
d
s
p
e
e
d

(
m
/
s
)
'
)

y
l
a
b
e
l
(
'
H
o
u
r
s

p
e
r

m
o
n
t
h
'
)

f
i
g
u
r
e
;

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
_
n
o
r
m

=

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
/
(
2
4
*
t
o
t
a
l
_
d
a
y
s
_
i
n
_
m
o
n
t
h
)
;

s
t
e
m
(
x
m
o
n
t
h
,

t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
_
n
o
r
m
)

t
i
t
l
e
(
'
_
_
_

N
o
r
m
a
l
i
z
e
d

W
i
n
d

D
i
s
t
r
i
b
u
t
i
o
n
'
)

x
l
a
b
e
l
(
'
W
i
n
d
s
p
e
e
d

(
m
/
s
)
'
)

y
l
a
b
e
l
(
'
R
e
l
a
t
i
v
e

H
o
u
r
s
'
)

f
i
g
u
r
e
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
m
o
n
t
h
_
m
i
n
s
)

c
u
m
u
l
a
t
i
v
e
(
i
)

=

s
u
m
(
t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
(
1
:
i
)
)
;

e
n
d

p
l
o
t
(
x
m
o
n
t
h
,
c
u
m
u
l
a
t
i
v
e
(
l
e
n
g
t
h
(
c
u
m
u
l
a
t
i
v
e
)
)
-
c
u
m
u
l
a
t
i
v
e
)

t
i
t
l
e
(
'
C
u
m
u
l
a
t
i
v
e

D
i
s
t
r
i
b
u
t
i
o
n

o
f

A
n
n
u
a
l

W
i
n
d
'
)

x
l
a
b
e
l
(
'
W
i
n
d
s
p
e
e
d

(
m
/
s
)
'
)

y
l
a
b
e
l
(
'
H
o
u
r
s
'
)

x
m
o
n
t
h
p
w
r
=
x
m
o
n
t
h
.
^
(
1
.
3
)
;






%
e
x
p
=
1
.
3

f
o
r

1
.
5
k
m

f
e
t
c
h
,

2
.
3
7
9
7

f
o
r

4
.
5
k
m

f
e
t
c
h

m
o
n
t
h
P
c
e
n
t
r
d
=
(
s
u
m
(
x
m
o
n
t
h
p
w
r
.
*
t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
)
.
/
s
u
m
(
t
o
t
a
l
_
m
o
n
t
h
_
h
r
s
)
)
^
(
1
/
1
.
3
)
;


C
.
1
.
9
:

c
o
n
v
e
r
t
O
S
S
.
m

R
e
f
o
r
m
a
t
s

a

.
x
l
s

f
i
l
e

c
o
n
t
a
i
n
i
n
g

r
a
w

O
S
S
I

W
a
v
e

L
o
g
g
e
r

d
a
t
a

i
n
t
o

a

n
e
w

.
x
l
s

f
i
l
e

c
o
n
t
a
i
n
i
n
g

c
o
l
u
m
n
s

w
i
t
h

t
h
e

d
a
t
e
,

c
o
l
l
e
c
t
i
o
n

t
i
m
e
,

t
i
m
e

d
u
r
i
n
g

s
a
m
p
l
i
n
g
,

a
n
d

w
a
t
e
r

l
e
v
e
l

i
n

c
m
.

f
u
n
c
t
i
o
n

c
o
n
v
e
r
t
O
S
S
(
H
z
)

%
T
h
i
s

f
u
n
c
t
i
o
n

i
n
p
u
t
s

a

t
e
x
t

f
i
l
e

o
f

w
a
t
e
r

l
e
v
e
l

"
c
o
u
n
t
s
"

r
e
c
o
r
d
e
d

b
y

t
h
e

%
c
a
p
a
c
i
t
a
n
c
e

w
a
v
e

g
a
g
e

a
n
d

c
o
n
v
e
r
t
s

t
h
e
m

t
o

c
m

w
i
t
h

a

f
o
r
m
u
l
a

g
i
v
e
n

b
y

%
O
c
e
a
n

S
e
n
s
o
r

S
y
s
t
e
m
s
.

A

t
i
m
e

s
t
a
m
p

f
o
r

o
n
l
y

t
h
e

f
i
r
s
t

c
o
u
n
t

w
a
s

o
r
i
g
i
n
a
l
l
y

%
t
a
k
e
n

f
r
o
m

t
h
e

t
e
x
t

f
i
l
e
;

i
t

i
s

u
s
e
d

t
o

g
e
n
e
r
a
t
e

t
i
m
e

s
t
a
m
p
s

f
o
r

a
l
l

d
a
t
a

%
s
u
c
h

t
h
a
t

t
h
e
r
e

i
s

o
n
e

c
o
l
u
m
n

o
f

t
i
m
e

s
t
a
m
p
s

a
n
d

o
n
e

c
o
l
u
m
n

o
f

w
a
t
e
r

l
e
v
e
l

%
i
n

c
m
.

%
H
z

i
s

t
h
e

f
e
q
u
e
n
c
y

a
t

w
h
i
c
h

t
h
e

w
a
v
e

g
a
g
e

w
a
s

c
o
n
f
i
g
u
r
e
d

t
o

s
a
m
p
l
e

%
I
n
p
u
t

f
i
l
e

m
a
t
r
i
x

=

x
l
s
r
e
a
d
(
'
W
L
O
G
_
0
0
0
.
x
l
s
'
)
;

a

=

s
i
z
e
(
m
a
t
r
i
x
)
;

%
O
m
i
t

c
o
l
u
m
n

1
3
,

w
h
i
c
h

h
a
s

a
l
l

z
e
r
o
e
s

(
d
u
e

t
o

f
o
r
m
a
t
t
i
n
g

o
f

i
n
p
u
t
t
e
d

%
m
a
t
r
i
x
)

f
o
r

i

=

1
:
1
2





n
e
w
(
:
,
i
)

=

m
a
t
r
i
x
(
:
,
i
)
;

e
n
d

%
C
o
n
c
a
t
e
n
a
t
e

a
l
l

t
h
e

r
o
w
s

o
f

w
a
t
e
r

l
e
v
e
l

d
a
t
a

i
n
t
o

o
n
e

l
a
r
g
e

r
o
w

n
e
w
2

=

n
e
w
(
1
,
:
)
;

f
o
r

i

=

2
:
a
(
1
)





n
e
w
2

=

[
n
e
w
2
,
n
e
w
(
i
,
:
)
]
;

e
n
d

%
T
r
a
n
s
p
o
s
e

w
a
t
e
r

l
e
v
e
l

d
a
t
a

t
o

a

c
o
l
u
m
n

o
f

l
e
n
g
t
h

b

n
e
w
2

=

n
e
w
2
'
;

%
C
o
n
v
e
r
t

f
r
o
m

c
o
u
n
t
s

t
o

c
m

n
e
w
2

=

n
e
w
2
.
*
5
0
.
/
4
0
9
6
;

b

=

l
e
n
g
t
h
(
n
e
w
2
)
;


%
A
d
d

t
i
m
e
s
t
a
m
p
s

f
o
r

a
l
l

w
a
t
e
r

l
e
v
e
l

d
a
t
a

p
o
i
n
t
s

f
r
o
m

t
i
m
e
s
t
a
m
p

g
i
v
e
n

a
t

%
b
e
g
i
n
n
i
n
g

o
f

d
a
t
a

s
e
r
i
e
s

d
a
t
e
(
1
)

=

d
a
t
e
n
u
m
(
[
2
0
0
7

8

1
1

1
5

5
7

0
]
)
;

f
o
r

i

=

2
:
b





%
1
/
8
6
4
0
0
0

i
s

t
h
e

f
r
a
c
t
i
o
n

o
f

o
n
e

d
a
y

t
h
a
t

1
/
1
0

o
f

a

s
e
c
o
n
d

c
o
n
s
t
i
t
u
t
e
s





%
1
/
2
0

o
f

a

s
e
c
o
n
d

i
s

h
o
w

o
f
t
e
n

d
a
t
a

a
r
e

s
a
m
p
l
e
d





d
a
t
e
(
i
)

=

d
a
t
e
(
i
-
1
)

+

(
1
.
/
(
8
6
4
0
0
*
H
z
)
)
;

e
n
d

%
T
r
a
n
s
p
o
s
e

t
h
e

t
i
m
e
s
t
a
m
p
s

i
n
t
o

a

c
o
l
u
m
n

d
a
t
e

=

d
a
t
e
'
;

%
C
h
a
n
g
e

f
r
o
m

j
u
l
i
a
n

t
o

v
e
c
t
o
r

d
a
t
e

d
a
t
e
2

=

d
a
t
e
v
e
c
(
[
d
a
t
e
]
)
;

%
C
r
e
a
t
e

m
a
t
r
i
x

w
i
t
h

v
e
c
t
o
r

d
a
t
e

a
n
d

c
o
l
u
m
n

o
f

w
a
t
e
r

l
e
v
e
l
s

f
i
n
a
l

=

[
d
a
t
e
2
,
n
e
w
2
]
;

s
i
z
e
(
f
i
n
a
l
)

%
W
r
i
t
e

n
e
w

c
s
v

f
i
l
e

w
i
t
h

d
a
t
a

i
n

p
r
o
p
e
r

f
o
r
m
a
t

d
l
m
w
r
i
t
e
(
'
f
i
n
a
l
.
c
s
v
'
,
f
i
n
a
l
,
'
,
'
)
;

%
P
l
o
t

d
a
t
a

f
o
r

v
i
s
u
a
l

i
n
s
p
e
c
t
i
o
n

p
l
o
t
(
d
a
t
e
,
n
e
w
2
)

s
e
t
(
g
c
a
,
'
B
o
x
'
,
'
O
f
f
'
)
;

s
e
t
(
g
c
a
,
'
F
o
n
t
S
i
z
e
'
,
1
0
)
;

d
a
t
e
t
i
c
k
(
'
x
'
,
1
3
,
'
k
e
e
p
t
i
c
k
s
'
,
'
k
e
e
p
l
i
m
i
t
s
'
)
;


C
.
1
.
1
0
:

p
r
o
c
e
s
s
_
w
a
v
e
_
d
a
t
a
.
m


P
e
r
f
o
r
m
s

z
e
r
o
-
u
p
-
c
r
o
s
s
i
n
g

a
n
a
l
y
s
i
s

o
n

a

t
i
m
e

s
e
r
i
e
s

o
f

w
a
t
e
r

l
e
v
e
l
s

a
n
d

r
e
t
u
r
n
s

t
h
e

s
i
g
n
i
f
i
c
a
n
t

w
a
v
e

h
e
i
g
h
t

a
n
d

p
e
a
k

p
e
r
i
o
d

a
n
d

p
r
i
n
t
s

t
h
e

a
m
p
l
i
t
u
d
e

s
p
e
c
t
r
u
m

f
u
n
c
t
i
o
n

[
N
,

w
a
v
e
_
h
e
i
g
h
t
s
,

z
e
r
o
_
u
p
s
,

p
e
r
i
o
d
s
,

f
r
e
q
s
,

a
m
p
_
s
p
e
c
]

=

p
r
o
c
e
s
s
_
w
a
v
e
_
d
a
t
a
(
e
t
a
,

t
,

H
z
)

%

Z
e
r
o

u
p
-
c
r
o
s
s
i
n
g

w
a
v
e

h
e
i
g
h
t

a
n
a
l
y
s
i
s

n
=
1
;

m
=
2
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
e
t
a
)





i
f
(
e
t
a
(
1
)
<
0
)









i
f
(
e
t
a
(
i
)
>
0
)













z
1
=
i
;













b
r
e
a
k









e
n
d





e
n
d





i
f
(
e
t
a
(
1
)
>
0
)









i
f
(
e
t
a
(
i
)
<
0
)













z
1
=
i
;













b
r
e
a
k
;









e
n
d





e
n
d

e
n
d

z
e
r
o
_
u
p
s
(
1
)

=

(
t
(
z
1
)
+
t
(
z
1
+
1
)
)
/
2
;

l
a
s
t
_
u
p
c
r
o
s
s
i
n
g

=

z
1
;

f
o
r

i

=

z
1
:
(
l
e
n
g
t
h
(
e
t
a
)
-
2
)





i
f
(

(
e
t
a
(
i
+
1
)

>

0
)

&

(
e
t
a
(
i
)

<

0
)

)









z
e
r
o
_
u
p
s
(
m
)

=

(
t
(
i
+
1
)

+

t
(
i
)
)
/
2
;









p
e
r
i
o
d
s
(
m
-
1
)

=

z
e
r
o
_
u
p
s
(
m
)
-
z
e
r
o
_
u
p
s
(
m
-
1
)
;









m

=

m
+
1
;









s
e
g
m
e
n
t

=

e
t
a
(
l
a
s
t
_
u
p
c
r
o
s
s
i
n
g
:
i
)
;









%
l
o
o
k

f
o
r

c
r
e
s
t
s









c
r
e
s
t
s
(
n
)

=

m
a
x
(
s
e
g
m
e
n
t
)
;









%
l
o
o
k

f
o
r

t
r
o
u
g
h
s









t
r
o
u
g
h
s
(
n
)

=

m
i
n
(
s
e
g
m
e
n
t
)
;









l
a
s
t
_
u
p
c
r
o
s
s
i
n
g

=

i
+
1
;









n

=

n
+
1
;





e
n
d

e
n
d

N

=

n
-
1

w
a
v
e
_
h
e
i
g
h
t
s

=

c
r
e
s
t
s
-
t
r
o
u
g
h
s
;

w
a
v
e
_
h
e
i
g
h
t
s

=

w
a
v
e
_
h
e
i
g
h
t
s
'
;

z
e
r
o
_
u
p
s

=

z
e
r
o
_
u
p
s
'
;

c
r
e
s
t
s

=

c
r
e
s
t
s
'
;

t
r
o
u
g
h
s

=

t
r
o
u
g
h
s
'
;

p
e
r
i
o
d
s

=

p
e
r
i
o
d
s
'
;

f
i
g
u
r
e
;

s
u
b
p
l
o
t
(
2
,
1
,
1
)
,

p
l
o
t
(
w
a
v
e
_
h
e
i
g
h
t
s
)
;

s
u
b
p
l
o
t
(
2
,
1
,
2
)
,

p
l
o
t
(
t
,

e
t
a
)
;

x
l
a
b
e
l
(
'
t

(
s
)
'
)
;

f
i
g
u
r
e
;

[
f
r
e
q
_
h
e
i
g
h
t
s
,

x
_
h
e
i
g
h
t
s
]

=

h
i
s
t
(
w
a
v
e
_
h
e
i
g
h
t
s
,
4
0
)

s
u
b
p
l
o
t
(
2
,
1
,
1
)
,

b
a
r
(
x
_
h
e
i
g
h
t
s
,

f
r
e
q
_
h
e
i
g
h
t
s
)
;

t
i
t
l
e
(
'
H
s
'
)
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
f
r
e
q
_
h
e
i
g
h
t
s
)





c
u
m
u
l
a
t
i
v
e
(
i
)

=

s
u
m
(
f
r
e
q
_
h
e
i
g
h
t
s
(
1
:
i
)
)
;

e
n
d

s
u
b
p
l
o
t
(
2
,
1
,
2
)
,

p
l
o
t
(
x
_
h
e
i
g
h
t
s
,

c
u
m
u
l
a
t
i
v
e
)
;

H
s
_
t
h
r
e
s
h
h
o
l
d

=

2
/
3
*
c
u
m
u
l
a
t
i
v
e
(
l
e
n
g
t
h
(
c
u
m
u
l
a
t
i
v
e
)
)

f
i
g
u
r
e
;

h
i
s
t
(
p
e
r
i
o
d
s
,
3
0
)

t
i
t
l
e
(
'
T
p
'
)
;

%

E
n
e
r
g
y

s
p
e
c
t
r
u
m

g
e
n
e
r
a
t
i
o
n

T
s

=

1
/
H
z
;

n
e

=

l
e
n
g
t
h
(
e
t
a
)
;

T
r

=

t
(
n
e
-
1
)
-
t
(
1
)
;

f
r

=

1
/
T
r
;

f
N

=

1
/
(
2
*
T
s
)
;

f
r
e
q
s

=

[
0
,

f
r
:
f
r
:
f
N
,

-
f
N
+
f
r
:
f
r
:
-
f
r
]
;

E
t
a

=

e
t
a
(
1
:
l
e
n
g
t
h
(
f
r
e
q
s
)
)
;

s
i
g
_
s
p
e
c

=

f
f
t
(
E
t
a
)
/
n
e
;

a
m
p
_
s
p
e
c

=

a
b
s
(
s
i
g
_
s
p
e
c
)
;

f
i
g
u
r
e
;

s
t
e
m
(
f
r
e
q
s
,

a
m
p
_
s
p
e
c
)
;


C
.
2
:

W
a
v
e

P
r
o
p
e
r
t
i
e
s

C
.
2
.
1
:

n
e
w
t
o
n
_
r
a
p
h
s
o
n
.
m

N
e
w
t
o
n
-
R
a
p
h
s
o
n

m
e
t
h
o
d

f
o
r

s
o
l
v
i
n
g

d
i
s
p
e
r
s
i
o
n

e
q
u
a
t
i
o
n

t
o

c
a
l
c
u
l
a
t
e

w
a
v
e
l
e
n
g
t
h

o
f

l
i
n
e
a
r

w
a
t
e
r

w
a
v
e
s
;

p
e
r
f
o
r
m
s

s
a
m
e

f
u
n
c
t
i
o
n

a
s

L
_
c
a
l
c
.
m

a
b
o
v
e
.


f
u
n
c
t
i
o
n
[
k
p
]

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)

C
L
O
S
E
_
E
N
O
U
G
H

=

1
e
-
1
0
;

g

=

9
.
8
1
;












%
g
r
a
v
i
t
a
t
i
o
n
a
l

a
c
c
e
l

k

=

0
.
5
;












%
i
n
i
t
i
a
l
i
z
e

k

k
_
n
e
x
t

=

0
.
8
;







%
i
n
t
i
a
l
i
z
e

k
_
n
e
x
t

t
o

g
r
e
a
t
e
r

t
h
a
n

k
+
C
L
O
S
E
_
E
N
O
U
G
H

s
i
g
m
a

=

2
*
p
i
/
T
;





%
w
a
v
e

f
r
e
q
u
e
n
c
y

n
=
0
;

w
h
i
l
e

a
b
s
(
k
-
k
_
n
e
x
t
)
>
C
L
O
S
E
_
E
N
O
U
G
H
,





k

=

k
_
n
e
x
t
;





f

=

s
i
g
m
a
^
2
-
g
*
k
*
t
a
n
h
(
k
*
h
)
;


%
w
a
n
t

t
h
i
s

t
o

e
q
u
a
l

0





d
f
_
d
k

=

-
g
*
(
k
*
(
h
*
(
1
/
(
c
o
s
h
(
k
*
h
)
)
^
2
)
)
+
t
a
n
h
(
k
*
h
)
)
;





k
_
n
e
x
t

=

k

-

f
/
d
f
_
d
k
;





n

=

n
+
1
;

e
n
d

%
d
i
s
p
l
a
y

r
e
s
u
l
t
s
,

i
n
p
u
t
s
,

a
n
d

n
u
m
b
e
r

o
f

c
y
c
l
e
s

k
p
=
k
;

C
.
2
.
2
:

s
i
n
e
_
p
a
r
t
i
c
l
e
s
.
m

C
a
l
c
u
l
a
t
e
s

a
n
d

i
l
l
u
s
t
r
a
t
e
s

p
a
r
t
i
c
l
e

v
e
r
t
i
c
a
l

a
n
d

h
o
r
i
z
o
n
t
a
l

d
i
s
p
l
a
c
e
m
e
n
t

a
t

a

g
i
v
e
n

t
i
m
e

i
n

a

w
a
t
e
r

c
o
l
u
m
n

o
v
e
r

4

w
a
v
e
l
e
n
g
t
h
s

f
o
r

a

l
i
n
e
a
r

w
a
v
e

f
u
n
c
t
i
o
n
[
x
_
d
i
s
p
,
y
_
d
i
s
p
,
z
,
x
]

=

s
i
n
e
_
p
a
r
t
i
c
l
e
s
(
T
,
h
,
H
)

%
w
a
t
e
r

p
a
r
t
i
c
l
e

p
o
s
i
t
i
o
n
s

o
v
e
r

4

w
a
v
e
l
e
n
g
t
h
s

a
t

t
=
T
/
2


%

i
n

y
-
d
i
r
e
c
t
i
o
n
,

f
o
r

z
=
0
;

%

i
n

x
-
d
i
r
e
c
t
i
o
n
,

f
o
r

x
=
0
:
L
/
2

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)

L
=
2
*
p
i
/
k
p
;

x
=
[
0
:
.
0
1
:
4
*
L
]
;

z
=
[
H
/
2
:
-
.
0
1
:
-
h
]
;

t
=
0
.
5
*
T

















%
N
o
t
e

t
h
a
t

s
i
n
c
e

w
e

a
r
e

m
o
d
e
l
i
n
g

o
v
e
r

m
o
r
e

t
h
a
n

a

w
a
v
e
l
e
n
g
t
h
,

t
h
e

c
h
o
i
c
e

o
f

t

i
s

n
o
t

i
m
p
o
r
t
a
n
t

f
o
r

i

=

1
:
l
e
n
g
t
h
(
x
)





f
o
r

j
=
1
:
l
e
n
g
t
h
(
z
)









%

d
e
e
p

w
a
t
e
r

(
l
i
n
e
a
r
)

e
l
l
i
p
s
e
s

o
f

w
a
v
e

p
a
r
t
i
c
l
e

m
o
v
e
m
e
n
t









x
_
d
i
s
p
(
j
,
i
)

=

-
H
/
2
*
c
o
s
h
(
k
p
*
(
h
+
z
(
j
)
)
)
/
s
i
n
h
(
k
p
*
h
)
.
*
s
i
n
(
k
p
.
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
;









y
_
d
i
s
p
(
j
,
i
)

=

H
/
2
*
s
i
n
h
(
k
p
*
(
h
+
z
(
j
)
)
)
/
s
i
n
h
(
k
p
*
h
)
.
*
c
o
s
(
k
p
.
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
;





e
n
d

e
n
d

f
o
r

i
=
1
:
l
e
n
g
t
h
(
z
)





i
f

z
(
i
)
>
0









c
o
n
t
i
n
u
e
;





e
l
s
e









p
=
i
;









b
r
e
a
k
;





e
n
d

e
n
d

p

f
o
r

j
=
p
:
l
e
n
g
t
h
(
z
)





p
l
o
t
(
x
,
h
+
z
(
j
)
+
y
_
d
i
s
p
(
j
,
:
)
)





h
o
l
d

o
n
;

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

v
e
r
t
i
c
a
l

d
i
s
p
l
a
c
e
m
e
n
t
s

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

4
L
'
)

f
i
g
u
r
e
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
x
)
/
4
+
2


%
o
n
l
y

o
n
e

w
a
v
e
l
e
n
g
t
h
,

p
l
u
s

2

c
o
l
u
m
n
s

t
o

g
e
t

t
h
e

f
u
l
l

e
f
f
e
c
t





p
l
o
t
(
x
(
i
)
+
x
_
d
i
s
p
(
p
:
l
e
n
g
t
h
(
z
)
,
i
)
,
z
(
p
:
l
e
n
g
t
h
(
z
)
)
,
'
b
'
,

x
(
i
)
,

H
/
2
*
c
o
s
(
k
p
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
,

'
r
'
)





h
o
l
d

o
n
;

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

x
-
d
i
s
p
l
a
c
e
m
e
n
t

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

L
'
)

f
i
g
u
r
e
;

f
o
r

j

=

p
:
l
e
n
g
t
h
(
z
)





f
o
r

i

=

1
:
5
:
1
.
5
*
(
l
e
n
g
t
h
(
z
)
-
p
)









p
l
o
t
(
x
(
i
)
+
x
_
d
i
s
p
(
j
,
i
)
,
h
+
z
(
j
)
+
y
_
d
i
s
p
(
j
,
i
)
,
'
b
'
,

x
(
i
)
,

h
+

H
/
2
*
c
o
s
(
k
p
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
,
'
r
'
)









h
o
l
d

o
n
;





e
n
d

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

p
o
s
i
t
i
o
n
s

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

L
'
)


C
.
2
.
3
:

s
i
n
e
_
p
a
r
t
i
c
l
e
s
_
w
i
t
h
_
t
i
m
e
.
m

S
a
m
e

a
s

s
i
n
e
_
p
a
r
t
i
c
l
e
s
.
m

e
x
c
e
p
t

a
d
d
i
t
i
o
n
a
l
l
y

i
l
l
u
s
t
r
a
t
e
s

t
h
e

m
o
v
e
m
e
n
t

o
f

p
a
r
t
i
c
l
e
s

o
v
e
r

0
.
1

s
e
c
o
n
d
s
.

f
u
n
c
t
i
o
n
[
x
_
d
i
s
p
,
y
_
d
i
s
p
,
z
,
x
]

=

s
i
n
e
_
p
a
r
t
i
c
l
e
s
(
T
,
h
,
H
)

%
w
a
t
e
r

p
a
r
t
i
c
l
e

p
o
s
i
t
i
o
n
s

o
v
e
r

4

w
a
v
e
l
e
n
g
t
h
s

a
t

t
=
T
/
2


%

i
n

y
-
d
i
r
e
c
t
i
o
n
,

f
o
r

z
=
0
;

%

i
n

x
-
d
i
r
e
c
t
i
o
n
,

f
o
r

x
=
0
:
L
/
2

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)

L
=
2
*
p
i
/
k
p
;

x
=
[
0
:
.
0
1
:
4
*
L
]
;

z
=
[
H
/
2
:
-
.
0
1
:
-
h
]
;

t
=
0
.
5
*
T

















%
N
o
t
e

t
h
a
t

s
i
n
c
e

w
e

a
r
e

m
o
d
e
l
i
n
g

o
v
e
r

m
o
r
e

t
h
a
n

a

w
a
v
e
l
e
n
g
t
h
,

t
h
e

c
h
o
i
c
e

o
f

t

i
s

n
o
t

i
m
p
o
r
t
a
n
t

f
o
r

i

=

1
:
l
e
n
g
t
h
(
x
)





f
o
r

j
=
1
:
l
e
n
g
t
h
(
z
)









%

d
e
e
p

w
a
t
e
r

(
l
i
n
e
a
r
)

e
l
l
i
p
s
e
s

o
f

w
a
v
e

p
a
r
t
i
c
l
e

m
o
v
e
m
e
n
t









x
_
d
i
s
p
(
j
,
i
)

=

-
H
/
2
*
c
o
s
h
(
k
p
*
(
h
+
z
(
j
)
)
)
/
s
i
n
h
(
k
p
*
h
)
.
*
s
i
n
(
k
p
.
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
;









y
_
d
i
s
p
(
j
,
i
)

=

H
/
2
*
s
i
n
h
(
k
p
*
(
h
+
z
(
j
)
)
)
/
s
i
n
h
(
k
p
*
h
)
.
*
c
o
s
(
k
p
.
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
;





e
n
d

e
n
d

f
o
r

i
=
1
:
l
e
n
g
t
h
(
z
)





i
f

z
(
i
)
>
0









c
o
n
t
i
n
u
e
;





e
l
s
e









p
=
i
;









b
r
e
a
k
;





e
n
d

e
n
d

p

f
o
r

j
=
p
:
l
e
n
g
t
h
(
z
)





p
l
o
t
(
x
,
h
+
z
(
j
)
+
y
_
d
i
s
p
(
j
,
:
)
)





h
o
l
d

o
n
;

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

v
e
r
t
i
c
a
l

d
i
s
p
l
a
c
e
m
e
n
t
s

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

4
L
'
)

f
i
g
u
r
e
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
x
)
/
4
+
2


%
o
n
l
y

o
n
e

w
a
v
e
l
e
n
g
t
h
,

p
l
u
s

2

c
o
l
u
m
n
s

t
o

g
e
t

t
h
e

f
u
l
l

e
f
f
e
c
t





p
l
o
t
(
x
(
i
)
+
x
_
d
i
s
p
(
p
:
l
e
n
g
t
h
(
z
)
,
i
)
,
z
(
p
:
l
e
n
g
t
h
(
z
)
)
,
'
b
'
,

x
(
i
)
,

H
/
2
*
c
o
s
(
k
p
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
,

'
r
'
)





h
o
l
d

o
n
;

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

x
-
d
i
s
p
l
a
c
e
m
e
n
t

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

L
'
)

f
i
g
u
r
e
;

f
o
r

j

=

p
:
l
e
n
g
t
h
(
z
)





f
o
r

i

=

1
:
5
:
1
.
5
*
(
l
e
n
g
t
h
(
z
)
-
p
)









p
l
o
t
(
x
(
i
)
+
x
_
d
i
s
p
(
j
,
i
)
,
h
+
z
(
j
)
+
y
_
d
i
s
p
(
j
,
i
)
,
'
b
'
,

x
(
i
)
,

h
+

H
/
2
*
c
o
s
(
k
p
*
x
(
i
)
-
2
*
p
i
/
T
*
t
)
,
'
r
'
)









h
o
l
d

o
n
;





e
n
d

e
n
d

y
l
a
b
e
l
(
'
z

(
m
)
'
)

x
l
a
b
e
l
(
'
x

(
m
)
'
)

t
i
t
l
e
(
'
w
a
t
e
r

p
a
r
t
i
c
l
e

p
o
s
i
t
i
o
n
s

a
t

t
=
T
/
2

f
o
r

x
=
0

t
o

L
'
)
C
.
3
:

W
a
v
e
m
a
k
e
r

O
p
t
i
m
i
z
a
t
i
o
n

C
.
3
.
1
:

s
t
r
o
k
e
.
m

C
a
l
c
u
l
a
t
e
s

t
h
e

s
t
r
o
k
e

n
e
e
d
e
d

t
o

g
e
n
e
r
a
t
e

w
a
v
e
s

w
i
t
h

p
a
r
a
m
e
t
e
r
s

h
,

T
,

H

u
s
i
n
g

a

f
l
a
p
p
e
r

p
a
d
d
l
e

f
u
n
c
t
i
o
n
[
S
f
l
a
p
,

S
p
i
s
t
o
n
,

S
e
x
p
,

S
e
x
p
1
,

S
h
y
p
]

=

s
t
r
o
k
e
(
h
,
T
,
H
)

%
C
a
l
c
u
l
a
t
e
s

s
t
r
o
k
e

n
e
e
d
e
d

t
o

g
e
n
e
r
a
t
e

w
a
v
e
s

w
i
t
h

p
a
r
a
m
e
t
e
r
s

h
,
T
,
H

w
i
t
h

a

%
f
l
a
p
p
e
r

p
a
d
d
l
e
,

p
i
s
t
o
n

p
a
d
d
l
e
,

e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y
,

a
n
d

h
y
p
e
r
b
o
l
i
c

c
u
r
v
e

%
p
l
u
n
g
e
r

g
=
9
.
8
;

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)

S
f
l
a
p
=
H
/
(
4
*
(
s
i
n
h
(
k
p
*
h
)
/
(
k
p
*
h
)
)
*
(
k
p
*
h
*
s
i
n
h
(
k
p
*
h
)
-
c
o
s
h
(
k
p
*
h
)
+
1
)
/
(
s
i
n
h
(
2
*
k
p
*
h
)
+
2
*
k
p
*
h
)
)
;

S
p
i
s
t
o
n

=

H
/
(
2
*
(
c
o
s
h
(
2
*
k
p
*
h
)
-
1
)
/
(
s
i
n
h
(
2
*
k
p
*
h
)
+
2
*
k
p
*
h
)
)
;

z

=

[
-
h
:
.
0
0
1
:
0
]
;

a
r
r
r
r
g
h

=

4
*
k
p
.
*
s
i
n
h
(
k
p
*
h
)
.
/
(
s
i
n
h
(
2
*
k
p
*
h
)
+
2
*
k
p
*
h
)
.
*
(
t
r
a
p
z
(
z
,
e
x
p
(
k
p
*
z
)
.
*
c
o
s
h
(
k
p
*
(
h
+
z
)
)
)
)
;

S
e
x
p

=

H
/
a
r
r
r
r
g
h
;

a
r
r
r
g
h
1

=

4
*
k
p
.
*
s
i
n
h
(
k
p
*
h
)
.
/
(
s
i
n
h
(
2
*
k
p
*
h
)
+
2
*
k
p
*
h
)
.
*
(
e
x
p
(
-
k
p
*
h
)
*
(
2
*
k
p
*
h
+
e
x
p
(
2
*
k
p
*
h
)
-
1
)
)
/
(
4
*
k
p
)
;

S
e
x
p
1
=
H
/
a
r
r
r
g
h
1
;

S
h
y
p
=
H
;

k
h

=

[
0
:
.
0
1
:
6
]
;

H
_
S
_
f
l
a
p

=

4
.
*
(
s
i
n
h
(
k
h
)
.
/
k
h
)
.
*
(
k
h
.
*
s
i
n
h
(
k
h
)
-
c
o
s
h
(
k
h
)
+
1
)
.
/
(
s
i
n
h
(
2
*
k
h
)
+
2
*
k
h
)
;

H
_
S
_
p
i
s
t
o
n

=

2
*
(
c
o
s
h
(
2
*
k
h
)
-
1
)
.
/
(
s
i
n
h
(
2
*
k
h
)
+
2
*
k
h
)
;

H
_
S
_
e
x
p

=

4
*
k
p
.
*
s
i
n
h
(
k
h
)
.
/
(
s
i
n
h
(
2
*
k
h
)
+
2
*
k
h
)
.
*
(
e
x
p
(
-
k
h
)
.
*
(
2
*
k
h
+
e
x
p
(
2
*
k
h
)
-
1
)
)
/
(
4
*
k
p
)
;

H
_
S
_
h
y
p

=

1
;

f
i
g
u
r
e
;

p
l
o
t
(
k
h
,

H
_
S
_
f
l
a
p
,

'
b
'
,

k
h
,

H
_
S
_
p
i
s
t
o
n
,

'
r
'
,

k
h
,

H
_
S
_
e
x
p
,

'
g
'
,

k
h
,

H
_
S
_
h
y
p
,

'
c
'
)

y
l
a
b
e
l
(
'
H
/
S
'
)

x
l
a
b
e
l
(
'
k
h
'
)

l
e
g
e
n
d
(
'
f
l
a
p
'
,

'
p
i
s
t
o
n
'
,

'
e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y
'
,

'
h
y
p
e
r
b
o
l
i
c
'
)

f
i
g
u
r
e
;

p
l
o
t
(
k
h
,

1
.
/
H
_
S
_
f
l
a
p
,

'
b
'
,

k
h
,

1
.
/
H
_
S
_
p
i
s
t
o
n
,

'
r
'
,

k
h
,

1
.
/
H
_
S
_
e
x
p
,

'
g
'
,

k
h
,

1
/
H
_
S
_
h
y
p
,

'
c
'

)

y
l
a
b
e
l
(
'
S
/
H
'
)

x
l
a
b
e
l
(
'
k
h
'
)

l
e
g
e
n
d
(
'
f
l
a
p
'
,

'
p
i
s
t
o
n
'
,

'
e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y
'
,

'
h
y
p
e
r
b
o
l
i
c
'
)

C
.
3
.
2
:

f
i
n
d
_
s
t
a
n
d
i
n
g
.
m


D
e
m
o
n
s
t
r
a
t
i
o
n

t
h
a
t

S
t
a
n
d
i
n
g

(
E
v
a
n
e
s
c
e
n
t
)

W
a
v
e

C
o
m
p
o
n
e
n
t
s

a
r
e

N
e
g
l
i
g
i
b
l
e

f
o
r

E
x
p
o
n
e
n
t
i
a
l

D
e
c
a
y
-
S
h
a
p
e
d

P
a
d
d
l
e
s
,

a
n
d

t
h
a
t

r
e
s
u
l
t
s

i
m
p
r
o
v
e

f
o
r

h
i
g
h
e
r
-
r
e
s
o
l
u
t
i
o
n

i
n
t
e
g
r
a
t
i
o
n

f
u
n
c
t
i
o
n
[
H
,
k
s
,
k
p
,
S
z
]
=
f
i
n
d
_
s
t
a
n
d
i
n
g
(
T
,
h
,
n
,
S
)

%
C
a
l
c
u
l
a
t
e
s

e
v
a
n
e
s
c
e
n
t

w
a
v
e

c
o
e
f
f
i
c
i
e
n
t
s

f
o
r

e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y

p
a
d
d
l
e

w
i
t
h

%
s
t
r
o
k
e

S
z
;

B
a
s
e
d

o
n

C
h
.
6

D
e
a
n

&

D
a
l
r
y
m
p
l
e

%
A
l
s
o

c
a
l
c
u
l
a
t
e
s

s
i
g
n
i
f
i
c
a
n
t

w
a
v
e

h
e
i
g
h
t

g
e
n
e
r
a
t
e
d

a
n
d

s
t
a
n
d
i
n
g

a
n
d

%
p
r
o
g
e
r
e
s
s
i
v
e


%
T

=

i
n
c
o
m
i
n
g

w
a
v
e

p
e
r
i
o
d

%
h

=

w
a
t
e
r

d
e
p
t
h

%
n

=

n
u
m
b
e
r

o
f

t
e
r
m
s

o
f

t
h
e

s
t
a
n
d
i
n
g

w
a
v
e

d
e
s
i
r
e
d

%
S

=

m
a
x

s
t
r
o
k
e

l
e
n
g
t
h

k
p
=
n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)
;





%
p
r
o
g
r
e
s
s
i
v
e

w
a
v
e

c
o
m
p
o
n
e
n
t


g
=
9
.
8
1
;

k
h
=
0
.
0
0
0
1
:
0
.
0
0
0
1
:
2
*
n
*
p
i
;




%
a
l
l

f
r
e
q
u
e
n
c
i
e
s

f
o
r

a
t

l
e
a
s
t

a
s

m
a
n
y

c
y
c
l
e
s

a
s

d
e
s
i
r
e
d

t
e
r
m
s

y
1
=
-
t
a
n
(
k
h
)
;
















%

=

s
i
g
m
a
^
2
*
h
/
(
g
*
k
*
h
)
,

f
o
r

k
=
k
s

p
l
o
t
(
k
h
,
y
1
,
'
b
'
)













%
t
h
e

p
l
a
c
e
s

w
h
e
r
e

y
1

a
n
d

y
2

c
r
o
s
s

a
r
e

s
t
a
n
d
i
n
g

w
a
v
e

k
'
s

h
o
l
d

o
n
;

s
=
2
*
p
i
/
T
;



















%
s
i
g
m
a

y
2
=
s
^
2
*
h
.
/
(
g
*
k
h
)
;












p
l
o
t
(
k
h
,
y
2
,
'
r
'
)
;


h
o
l
d

o
f
f
;

m
=
1
;

f
o
r

j
=
1
:
l
e
n
g
t
h
(
k
h
)










%
f
i
n
d

c
r
o
s
s
i
n
g

f
r
e
q
u
e
n
c
i
e
s





i
f
(
y
1
(
j
)
<
y
2
(
j
)
)
;









c
o
n
t
i
n
u
e
;





e
l
s
e









b
r
e
a
k
;





e
n
d

e
n
d

f
o
r

i
=
j
:
l
e
n
g
t
h
(
k
h
)





i
f
(
y
1
(
i
)
>
=
y
2
(
i
)
)









k
s
(
m
)
=
k
h
(
i
)
/
h
;









c
o
n
t
i
n
u
e
;





e
l
s
e









i
f
(
y
1
(
i
-
1
)
>
=
y
2
(
i
-
1
)

&
&

y
1
(
i
)
<
y
2
(
i
)
)













m
=
m
+
1
;













i
f
(
m
>
n
)

















b
r
e
a
k
;













e
n
d









e
n
d









c
o
n
t
i
n
u
e
;





e
n
d

e
n
d

k
s

z
=
[
0
:
-
.
0
0
0
1
:
-
h
]
;

S
z
=
S
*
e
x
p
(
k
p
*
z
)
;





%
e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y

p
a
d
d
l
e

f
i
g
u
r
e
;

p
l
o
t
(
S
z
,
z
)
;

f
o
r

m
=
1
:
n





C
(
m
)
=
t
r
a
p
z
(
z
,
1
/
2
*
S
z
.
*
(
s
*
c
o
s
(
k
s
(
m
)
*
(
h
+
z
)
)
)
)
/
(
k
s
(
m
)
*
t
r
a
p
z
(
z
,
(
c
o
s
(
k
s
(
m
)
*
(
h
+
z
)
)
)
.
^
2
)
)
;

e
n
d

C

A
p

=

-
t
r
a
p
z
(
z
,
S
z
.
/
2
*
s
.
*
c
o
s
h
(
k
p
*
(
h
+
z
)
)
)
/
(
k
p
*
t
r
a
p
z
(
z
,
(
c
o
s
h
(
k
p
*
(
h
+
z
)
)
)
.
^
2
)
)

H

=

-
2
*
A
p
.
/
g
*
s
*
c
o
s
h
(
k
p
*
h
)


C
.
3
.
3
:

p
a
d
d
l
e
s
w
a
t
h
.
m

I
l
l
u
s
t
r
a
t
i
o
n

o
f

L
a
t
e
r
a
l

B
o
u
n
d
a
r
y

C
o
n
d
i
t
i
o
n

a
t

F
a
c
e

o
f

E
x
p
o
n
e
n
t
i
a
l
-
D
e
c
a
y
-
S
h
a
p
e
d

P
l
u
n
g
e
r

B
u
o
y
,

g
i
v
e
n

d
e
e
p
-
w
a
t
e
r

s
i
n
u
s
o
i
d
a
l

w
a
v
e
s



f
u
n
c
t
i
o
n
[
d
S
]
=
p
a
d
d
l
e
s
w
a
t
h
(
T
,
h
,
S
,
H
)

%

C
a
l
c
u
l
a
t
e
s

t
h
e

p
o
s
i
t
i
o
n

o
f

t
h
e

e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y

b
u
o
y

f
a
c
e

f
o
r

a
l
l

d
e
p
t
h
s

%

a
t

t
=
0
,

t
=
T
/
4
,

a
n
d

t
=
T
/
2


%

P
l
o
t
s

p
a
d
d
l
e

f
a
c
e

m
o
v
e
m
e
n
t

(
a
n
d

t
h
e
r
e
f
o
r
e

p
a
r
t
i
c
l
e

d
i
s
p
l
a
c
e
m
e
n
t
)

o
v
e
r

%

t
i
m
e

a
t

t
h
e

s
u
r
f
a
c
e

a
n
d

a
t

h
a
l
f
-
d
e
p
t
h
.

%

P
l
o
t
s

m
a
x
i
m
u
m

d
i
f
f
e
r
n
c
e

i
n

f
a
c
e

p
o
s
i
t
i
o
n

f
o
r

a
l
l

d
e
p
t
h
s

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)
;

z

=

[
H
/
2
:
-
.
0
1
:
-
h
]
;










%
P
l
o
t
s

s
h
o
w

+
e
t
a

t
o

s
e
a

f
l
o
o
r

a
t

-
h

t

=

[
0
:
.
0
1
:
2
*
T
]
;












%
P
l
o
t
s

o
v
e
r

2

p
e
r
i
o
d
s

e
t
a

=

H
/
2
*
c
o
s
(
2
*
p
i
/
T
*
t
)
;




%
S
i
n
e

w
a
v
e

a
t

s
u
r
f
a
c
e

%
i
n

g
e
n
e
r
a
l
,

s
(
z
,
t
)

=

S
*
e
x
p
(
k
p
*
(
z
-
e
t
a
)
)
;

S
0
t
=
S
*
e
x
p
(
k
p
*
(
0
-
e
t
a
)
)
;






%
B
u
o
y

f
a
c
e

a
t

t
o
p

o
f

b
u
o
y
,

w
r
t

t

S
0
_
5
t
=
S
*
e
x
p
(
k
p
*
(
-
0
.
5
*
h
-
e
t
a
)
)
;

%
B
u
o
y

f
a
c
e

a
t

b
u
o
y

h
a
l
f
-
w
a
y

d
o
w
n
,

w
r
t

t

S
z
0
=
S
*
e
x
p
(
k
p
*
(
z
-
H
/
2
)
)
;






%
B
u
o
y

f
a
c
e

w
h
e
n

b
u
o
y

t
o
p

i
s

a
t

+
H
/
2
,

w
r
t

z

S
z
T
_
2
=
S
*
e
x
p
(
k
p
*
(
z
+
H
/
2
)
)
;




%
B
u
o
y

f
a
c
e

w
h
e
n

b
u
o
y

t
o
p

i
s

a
t

-
H
/
2
,

w
r
t

z

S
z
T
_
4
=
S
*
e
x
p
(
k
p
*
(
z
+
0
)
)
;






%
B
u
o
y

f
a
c
e

w
h
e
n

b
u
o
y

t
o
p

i
s

a
t

0
,

w
r
t

z

d
S

=

S
z
0
-
S
z
T
_
2
;













%
D
i
f
f
e
r
e
n
c
e

i
n

f
a
c
e

d
i
s
p
l
a
c
e
m
e
n
t

b
e
t
w
.

c
r
e
s
t

a
n
d

t
r
o
u
g
h

p
l
o
t
(
S
z
0
,
z
,

S
z
T
_
4
,
z
,
S
z
T
_
2
,
z
)
;

%
P
l
o
t

f
a
c
e

p
o
s
i
t
i
o
n

a
t

v
a
r
i
o
u
s

t
i
m
e
s

a
x
i
s
(
[
0
,
S
,
-
h
,
H
/
2
]
)
;

t
i
t
l
e
(
'
S
i
n
u
s
o
i
d
a
l

B
u
o
y

M
o
t
i
o
n

i
n

Z
-
a
x
i
s
'
)
;

y
l
a
b
e
l
(
'
z

(
m
)
'
)
;

x
l
a
b
e
l
(
'
S
(
z
)

(
m
)
'
)
;

l
e
g
e
n
d
(
'
t
=
0
'
,

'
t
=
0
.
2
5
T
'
,

'
t
=
0
.
5
T
'
)
;

f
i
g
u
r
e
;

p
l
o
t
(
t
,
S
0
t
,
'
b
'
,
t
,
S
0
_
5
t
,
'
r
'
)
;

%
P
l
o
t

f
a
c
e

p
o
s
i
t
i
o
n

a
t

g
i
v
e
n

z

o
v
e
r

2

p
e
r
i
o
d
s

t
i
t
l
e
(
'
S
t
r
o
k
e
s

a
t

z
=
0

a
n
d

z
=
-
0
.
5
h

w
r
t

t
i
m
e
'
)
;

y
l
a
b
e
l
(
'
S

(
m
)
'
)
;

x
l
a
b
e
l
(
'
t

(
s
)
'
)
;

l
e
g
e
n
d
(
'
T
o
p

o
f

b
u
o
y
'
,

'
H
a
l
f
-
w
a
y

d
o
w
n

b
u
o
y
'
)
;

f
i
g
u
r
e
;


t
i
t
l
e
(
'
E
x
t
e
n
t

o
f

t
h
e

p
a
d
d
l
e

s
t
r
o
k
e

w
r
t

z
'
)
;

p
l
o
t
(
d
S
,
z
)
;

C
.
3
.
4
:

S
m
a
t
r
i
x
.
m

S
a
m
e

a
s

A
B
.
6
,

e
x
c
e
p
t

c
a
l
c
u
l
a
t
e
d

w
i
t
h

m
o
r
e

r
e
s
o
l
u
t
i
o
n

f
u
n
c
t
i
o
n
[
s
,
z
,
t
]
=
S
m
a
t
r
i
x
(
T
,
h
,
S
,
H
)

%
P
l
o
t
s

t
h
e

s
u
r
f
a
c
e

o
f

a
n

e
x
p
o
n
e
n
t
i
a
l

d
e
c
a
y

p
a
d
d
l
e

o
v
e
r

t
i
m
e
,

a
n
d


%
s
h
o
w
s

p
a
r
t
i
c
l
e

m
o
v
e
m
e
n
t

d
i
a
m
e
t
e
r
s

w
i
t
h

d
e
p
t
h

g
i
v
e
n

s
i
n
u
s
o
i
d
a
l

%
m
o
v
e
m
e
n
t

o
f

t
h
e

b
u
o
y

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)
;

z

=

[
H
/
2
:
-
.
0
1
:
-
h
]
;

t

=

[
0
:
.
0
1
:
4
*
T
]
;

e
t
a

=

H
/
2
*
(
c
o
s
(
2
*
p
i
/
T
*
t
)
)
;

w

=

H
/
2
*
2
*
p
i
/
T
*
c
o
s
(
2
*
p
i
/
T
*
t
)
;



%

v
e
r
t
i
c
a
l

v
e
l
o
c
i
t
y

=

d
e
r
i
v
a
t
i
v
e

o
f

e
t
a

w
r
t

t

s

=

z
e
r
o
s
(
(
H
/
2
+
h
)
/
.
0
1
,
4
*
T
/
.
0
1
)
;

%

i
n
i
t
i
a
l
i
z
e

s
t
r
o
k
e

m
a
t
r
i
x

f
o
r

j
=
1
:
l
e
n
g
t
h
(
z
)















%

r
o
w
s

a
r
e

i
n
c
r
e
a
s
i
n
g

d
e
p
t
h





f
o
r

i
=
1
:
l
e
n
g
t
h
(
t
)











%

c
o
l
u
m
n
s

a
r
e

i
n
c
r
e
a
s
i
n
g

t
i
m
e









s
(
j
,
i
)

=

S
*
e
x
p
(
k
p
*
(
z
(
j
)
-
e
t
a
(
i
)
)
)
;





e
n
d

e
n
d

p
l
o
t
(
s
,
z
)
;






















%
p
l
o
t

t
h
e

f
a
c
e

o
f

t
h
e

b
u
o
y

a
t

e
a
c
h

t
i
m
e

a
x
i
s
(
[
0
,
0
.
5
,
-
h
,
H
/
2
+
0
.
1
]
)
;

t
i
t
l
e
(
'
B
u
o
y
/
P
a
d
d
l
e

f
a
c
e

p
o
s
i
t
i
o
n

o
v
e
r

4

p
e
r
i
o
d
s
'
)
;

y
l
a
b
e
l
(
'
z

(
m
)
'
)
;

x
l
a
b
e
l
(
'
x

(
m
)
'
)
;

f
i
g
u
r
e
;

p
l
o
t
(
t
,
s
(
5
1
,
:
)
,
t
,
s
(
7
6
,
:
)
,
t
,
s
(
l
e
n
g
t
h
(
z
)
,
:
)
)
;

%
N
o
t
e
:


a
l
l

s
-
v
a
l
u
e
s

o
v
e
r

S

a
r
e

i
n
v
a
l
i
d
,

a
n
d

t
h
e
r
e
f
o
r
e

t
h
e

h
i
g
h
e
s
t

r
o
w

i
n

s

%
t
o

h
o
l
d

t
o
t
a
l
l
y

v
a
l
i
d

v
a
l
u
e
s

i
s

-
e
t
a

h
o
l
d

o
n
;

%

f
o
r

n
=
1
:
8

%






p
l
o
t
(
t
,
(
n
+
.
5
*
(
(
-
1
)
^
n
-
1
)
)
*
p
i
*
.
2
1
5
-
(
-
1
)
^
n
*
.
2
1
5
*
a
c
o
s
(
1
-
t
/
.
2
1
5
)
-
s
q
r
t
(
2
*
.
2
1
5
*
t
-
t
.
^
2
)
,
'
m
'
)
;

%

e
n
d

t
i
t
l
e
(
'
W
a
t
e
r

p
a
r
t
i
c
l
e

m
o
v
e
m
e
n
t

a
t

v
a
r
i
o
u
s

d
e
p
t
h
s

g
i
v
e
n

s
i
n
s
o
i
d
a
l

b
u
o
y

m
o
v
e
m
e
n
t
'
)
;

x
l
a
b
e
l
(
'
t

(
s
)
'
)
;

y
l
a
b
e
l
(
'
s
t
r
o
k
e

(
m
)
'
)
;

l
e
g
e
n
d
(
'
z
=
-
0
.
2
5
m
'
,

'
z
=
-
0
.
5
m
'
,

'
z
=
-
1
m
'
)
;

h
o
l
d

o
f
f
;

S
_
e
x
t
e
n
t

=

[
m
a
x
(
s
,
[
]
,
2
)
-
m
i
n
(
s
,
[
]
,
2
)
]
;

f
i
g
u
r
e
;

p
l
o
t
(
S
_
e
x
t
e
n
t
,
z
)
;

t
i
t
l
e
(
'
D
e
p
t
h

v
s
.

M
a
g
n
i
t
u
d
e

o
f

h
o
r
i
z
o
n
t
a
l

p
a
r
t
i
c
l
e

m
o
v
e
m
e
n
t

a
t

p
a
d
d
l
e

f
a
c
e
'
)
;


C
.
4
:

W
E
C

D
e
s
i
g
n

C
a
l
c
u
l
a
t
i
o
n
s

C
.
4
.
1
:

b
u
o
y
_
d
e
f
.
m

C
r
e
a
t
e
s

a
n

e
x
c
e
l

f
i
l
e

d
e
f
i
n
i
n
g

t
h
e

p
r
o
f
i
l
e

o
f

t
h
e

b
u
o
y
;

t
o

b
e

u
s
e
d

w
i
t
h

A
u
t
o
d
e
s
k

I
n
v
e
n
t
o
r

a
s

t
h
e

s
o
u
r
c
e

o
f

t
h
e

w
i
d
t
h
s

d
e
f
i
n
i
n
g

t
h
e

b
u
o
y

p
r
o
f
i
l
e


f
u
n
c
t
i
o
n
[
c
u
r
v
e
]

=

b
u
o
y
_
d
e
f
(
h
,
T
,
H
)

z
=
[
-
h
:
.
0
1
:
0
]
;

k
p

=

n
e
w
t
o
n
_
r
a
p
h
s
o
n
(
T
,
h
)
;

L

=

2
*
p
i
/
k
p
;

d
_
m
i
n

=

L
/
2
;

[
S
f
l
a
p
,

S
p
i
s
t
o
n
,

S
e
x
p
,

S
e
x
p
1
,

S
h
y
p
]

=

s
t
r
o
k
e
(
h
,
T
,
H
)
;

c
u
r
v
e

=

S
h
y
p
*
c
o
s
h
(
k
p
*
(
h
+
z
)
)
/
s
i
n
h
(
k
p
*
h
)
;

c
u
r
v
e

=

c
u
r
v
e
'
;

%

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
.
x
l
s
'
,

'
p
a
r
a
m

n
a
m
e
'
,

'
A
1
'
)
;

%

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
.
x
l
s
'
,

'
v
a
l
u
e
'
,

'
B
2
'
)
;

%

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
.
x
l
s
'
,

'
u
n
i
t
'
,

'
C
1
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

c
u
r
v
e
,

'
B
1
:
B
1
0
0
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

'
m
'
,

'
C
1
:
C
1
0
3
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

k
p
,

'
B
1
0
1
:
B
1
0
1
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

L
,

'
B
1
0
2
:
B
1
0
2
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

d
_
m
i
n
,

'
B
1
0
3
:
B
1
0
3
'
)
;

x
l
s
w
r
i
t
e
(
'
b
u
o
y
_
c
u
r
v
e
1
.
x
l
s
'
,

'
u
l
'
,

'
C
1
0
1
:
C
1
0
1
'
)
;


C
.
4
.
2
:

f
i
n
d
_
b
e
s
t
_
m
a
g
n
e
t
.
m

U
s
e
d

f
o
r

c
a
l
c
u
l
a
t
i
n
g

B
H
m
a
x

s
t
r
e
n
g
t
h

a
n
d

m
a
s
s

o
f

a

r
i
n
g

m
a
g
n
e
t

g
i
v
e
n

i
t
s

d
i
m
e
n
s
i
o
n
s

a
n
d

N
-
r
a
t
i
n
g

f
u
n
c
t
i
o
n
[
V
,
B
H
m
a
x
1
_
V
,

B
H
m
a
x
2
_
V
,

m
a
s
s
]

=


f
i
n
d
_
b
e
s
t
_
m
a
g
n
e
t
(
O
D
,

I
D
,

L
,

N
,

m
m
_
o
r
_
i
n
)

%

V

r
e
t
u
r
n
s

i
n

c
u
b
i
c

m
e
t
e
r
s

%

B
H
m
a
x
e
s

r
e
t
u
r
n

i
n

K
J

%

m
a
s
s
e
s

r
e
t
u
r
n

i
n

g
r
a
m
s

i
f

m
m
_
o
r
_
i
n

=
=

'
m
m
'


e
l
s
e
i
f

m
m
_
o
r
_
i
n

=
=

'
i
n
'









I
D

=

I
D
*
2
5
.
4
;










O
D

=

O
D
*
2
5
.
4
;









L

=

L
*
2
5
.
4
;


e
l
s
e





r
e
t
u
r
n
;


e
n
d

A

=

(
(
O
D
/
2
)
^
2
-
(
I
D
/
2
)
^
2
)
*
p
i
;

V

=

A
*
L
*
1
0
^
-
9
;

s
w
i
t
c
h

N





c
a
s
e

3
5
,









B
H
m
a
x
1
_
V

=

2
6
3
*
V
;









B
H
m
a
x
2
_
V

=

2
7
9
*
V
;





c
a
s
e

3
8









B
H
m
a
x
1
_
V

=

2
8
7
*
V
;









B
H
m
a
x
2
_
V

=

3
0
3
*
V
;





c
a
s
e

4
0









B
H
m
a
x
1
_
V

=

3
0
3
*
V
;









B
H
m
a
x
2
_
V

=

3
1
8
*
V
;





c
a
s
e

4
2









B
H
m
a
x
1
_
V

=

3
1
8
*
V
;









B
H
m
a
x
2
_
V

=

3
3
4
*
V
;





c
a
s
e

4
5









B
H
m
a
x
1
_
V

=

3
4
2
*
V
;









B
H
m
a
x
2
_
V

=

3
5
8
*
V
;





c
a
s
e

5
0









B
H
m
a
x
1
_
V

=

3
7
4
*
V
;









B
H
m
a
x
2
_
V

=

4
0
6
*
V
;





o
t
h
e
r
w
i
s
e









B
H
m
a
x
1
_
V

=

0
;









B
H
m
a
x
2
_
V

=

0
;

e
n
d

m
a
s
s

=

V
*
7
5
0
0
*
1
0
^
3
;


C
.
4
.
3
:

g
e
n
_
d
i
m
s
.
m

C
a
l
c
u
l
a
t
e
s

t
h
e

n
u
m
b
e
r

o
f

t
u
r
n
s

a
n
d

t
u
r
n
s

p
e
r

i
n
c
h

p
e
r

l
a
y
e
r

f
o
r

t
h
e

l
i
n
e
a
r

g
e
n
e
r
a
t
o
r
,

g
i
v
e
n

t
h
e

i
d
e
a
l

i
n
d
u
c
t
a
n
c
e
,

f
o
r
m
e
r

d
i
a
m
e
t
e
r
,

c
o
i
l

l
e
n
g
t
h

a
n
d

d
e
p
t
h
,

a
n
d

n
u
m
b
e
r

o
f

l
a
y
e
r
s

p
e
r
m
i
s
s
i
b
l
e

f
u
n
c
t
i
o
n
[
]

=

g
e
n
_
d
i
m
s
(
L
,
a
,
b
,
c
,
l
a
y
e
r
s
)

%
b
=
[
1
:
.
1
:
5
]
;

N
s
q
d

=

L
*
(
3
*
a
+
9
.
*
b
+
1
0
*
c
)
/
(
0
.
2
*
a
^
2
)
;

N

=

s
q
r
t
(
N
s
q
d
)

T
P
I

=

N
.
/
b

T
P
I
p
L
a
y
e
r

=

T
P
I
.
/
l
a
y
e
r
s

%
p
l
o
t
(
b
,
T
P
I
p
L
a
y
e
r
)
;


R

=

3
0
6
/
(
1
0
0
0
*
3
6
)
*
b

C
.
4
.
4
:

f
o
r
c
e
_
m
o
m
e
n
t
_
c
a
l
c
.
m

C
a
l
c
u
l
a
t
e
s

w
a
v
e

f
o
r
c
e
s

o
n

a

p
a
r
t
i
a
l
-
d
e
p
t
h

w
a
v
e

b
a
r
r
i
e
r
,

b
a
s
e
d

o
n

e
q
u
a
t
i
o
n
s

f
r
o
m

t
h
e

C
E
M
,

s
e
c
t
i
o
n

V
I
-
5
-
5
2

f
u
n
c
t
i
o
n
[
F
m
o
]

=

f
o
r
c
e
_
m
o
m
e
n
t
_
c
a
l
c
(
w
,

h
,

r
h
o
,

H
s
,

T
p
,

r
_
w
a
v
e
_
r
o
d
)

%
w

=

b
a
r
r
i
e
r

p
e
n
e
t
r
a
t
i
o
n

d
e
p
t
h
,


%
h

=

w
a
t
e
r

d
e
p
t
h

%
r
_
w
a
v
e
_
r
o
d

=

d
i
s
t
a
n
c
e

f
r
o
m

S
W
L

t
o

f
i
r
s
t

s
u
p
p
o
r
t

g
=
9
.
8
;

[
L
p
,
k
p
]

=

L
_
c
a
l
c
(
T
p
,
h
)
;

F
o

=

r
h
o
*
g
*
H
s
*
s
i
n
h
(
k
p
*
h
)
/
(
k
p
*
c
o
s
h
(
k
p
*
h
)
)
;

F
m
o

=

F
o
*
(
w
/
h
)
^
(
0
.
3
8
6
*
(
h
/
L
p
)
^
-
0
.
7
)
;

w
_
h

=

w
/
h

h
_
L
p

=

h
/
L
p

M

=

F
m
o
*
r
_
w
a
v
e
_
r
o
d
;


C
.
5
:

P
o
s
t
p
r
o
c
e
s
s
i
n
g

R
o
u
t
i
n
e
s

C
.
5
.
1
:

f
r
e
q
_
c
a
l
i
b
r
a
t
i
o
n
.
m

D
i
s
p
l
a
y
s

t
h
e

p
o
w
e
r

o
u
t
p
u
t

a
n
d

p
r
o
p
o
r
t
i
o
n

o
f

t
h
e

r
e
c
o
r
d

t
i
m
e

t
h
a
t

t
h
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r

w
a
s

p
o
w
e
r
e
d

d
u
r
i
n
g

a

t
r
i
a
l

o
f

t
h
e

o
s
c
i
l
l
a
t
i
o
n

t
a
b
l
e
,

g
i
v
e
n

t
h
e

o
s
c
i
l
l
a
t
i
o
n

f
r
e
q
u
e
n
c
y

a
n
d

d
i
s
t
a
n
c
e

a
n
d

t
h
e

r
e
c
o
r
d

o
f

t
h
e

c
i
r
c
u
i
t

s

d
a
t
a
.


f
u
n
c
t
i
o
n
[
s
p
e
e
d
,

m
A
_
h
_
W
E
C
,

W
E
C
_
a
v
g
_
p
w
r
,

o
n
_
r
a
t
i
o
]

=

f
r
e
q
_
c
a
l
i
b
r
a
t
i
o
n
(
W
E
C
_
f
i
l
e
,

x
l
s
_
s
h
e
e
t
,

e
x
c
i
t
a
t
i
o
n
_
f
r
e
q
,

t
r
a
v
e
l
)

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
L
o
a
d

F
i
l
e
s
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

%
x
l
s

f
i
l
e
s

e
n
t
e
r
e
d

a
s

s
t
r
i
n
g
s
,

f
o
r

e
x
a
m
p
l
e
,

%
'
t
e
s
t
_
d
a
t
a
/
f
r
o
n
t
_
s
t
r
e
e
t
_
1
8
0
4
0
8
_
W
E
C
.
x
l
s
'
.



%
i
m
p
o
r
t

t
h
e

d
a
t
a
/
t
e
x
t

f
i
l
e

f
r
o
m

t
h
e

W
E
C

i
n
t
o

e
x
c
e
l

a
n
d

r
e
a
d

%
h
e
r
e
.


T
h
e

u
s
e
r

i
n
t
e
r
f
a
c
e

i
m
p
o
r
t

i
s

u
s
e
d

f
o
r

r
e
t
r
i
e
v
i
n
g

n
o
n
-
s
t
r
i
c
t
l
y
-
n
u
m
e
r
i
c
a
l

d
a
t
a

s
p
e
e
d

=

2
*
t
r
a
v
e
l
*
e
x
c
i
t
a
t
i
o
n
_
f
r
e
q
;

l
o
a
d
_
s
t
r

=

[
'
x
l
s
r
e
a
d
(
'
,

'
W
E
C
_
f
i
l
e
'
,
'
,
'
,
'
x
l
s
_
s
h
e
e
t
'
,
'
)
'
]
;

W
E
C
_
d
a
t
a

=

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;



p
a
u
s
e
;

R
s
e
n
s
e

=

1
0
;

R
s
e
n
s
e
1

=

1
0
;

W
E
C
_
f
r
e
q

=

8
;

l
o
a
d
_
s
l
o
p
e

=

4
8
8
.
9
;





%
A
D
C

c
o
u
n
t
s

p
e
r

V

s
e
n
s
e
_
s
l
o
p
e

=

9
3
8
.
2
4
;



%
A
D
C

c
o
u
n
t
s

p
e
r

m
A

s
e
n
s
e
_
o
f
f
s
e
t

=

2
6
6
;





%
A
D
C

c
o
u
n
t
s

a
t

0

c
u
r
r
e
n
t

s
e
n
s
e
1
_
s
l
o
p
e

=

1
0
0
6
;




%
A
D
C

c
o
u
n
t
s

p
e
r

m
A

c
o
i
l
_
s
l
o
p
e

=

6
7
4
.
5
2
;




%
A
D
C

c
o
u
n
t
s

p
e
r

V

c
o
u
n
t
_
V
l
o
a
d

=

0
;

%
*
*
*
*
*
*
*
*
*
*
*
*
R
e
t
r
i
e
v
e

d
a
t
e

a
n
d

i
n
i
t
i
a
l
i
z
e

t
i
m
e

*
*
*
*
*
*

h
o
u
r
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
1
)
;


m
i
n
u
t
e
s
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
2
)
;

s
e
c
o
n
d
s
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
3
)
;


f
i
l
e
_
s
t
r
i
n
g

=

[
x
l
s
_
s
h
e
e
t
]
;

W
E
C
_
t
i
m
e

=

(
(
h
o
u
r
_
W
-
h
o
u
r
_
W
(
1
)
)
*
3
6
0
0
)
+
(
(
m
i
n
u
t
e
s
_
W
-
m
i
n
u
t
e
s
_
W
(
1
)
)
*
6
0
)
+
(
s
e
c
o
n
d
s
_
W
-
s
e
c
o
n
d
s
_
W
(
1
)
)
;

%
t
i
m
e

e
l
a
p
s
e
d

s
i
n
c
e

d
a
t
a

c
o
l
l
e
c
t
i
o
n

s
t
a
r
t
,

i
n

s
e
c
o
n
d
s

A
D
C
s
e
n
s
e

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
6
)
;

A
D
C
l
o
a
d

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
7
)
;

A
D
C
c
o
i
l

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
4
)
;

A
D
C
s
e
n
s
e
1

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
5
)
;

I
s
e
n
s
e

=

(
A
D
C
s
e
n
s
e
-
s
e
n
s
e
_
o
f
f
s
e
t
)
.
/
s
e
n
s
e
_
s
l
o
p
e
;


%
i
n

m
A

(
f
r
o
m

c
a
l
i
b
r
a
t
i
o
n

a
n
d

0
V

I
C
s
)

V
l
o
a
d

=

A
D
C
l
o
a
d
.
/
l
o
a
d
_
s
l
o
p
e
;




















%
s
l
o
p
e

i
n

A
D
C

c
o
u
n
t
s

p
e
r

v
o
l
t
,

0

o
f
f
s
e
t

V
c
o
i
l

=

A
D
C
c
o
i
l
.
/
c
o
i
l
_
s
l
o
p
e
;




















%
s
l
o
p
e

i
n

A
D
C

c
o
u
n
t
s

p
e
r

v
o
l
t
,

0

o
f
f
s
e
t

I
s
e
n
s
e
1

=

(
A
D
C
s
e
n
s
e
1
)
.
/
s
e
n
s
e
1
_
s
l
o
p
e
;












%
i
n

m
A

(
f
r
o
m

c
a
l
i
b
r
a
t
i
o
n

a
n
d

0
V

I
C
s
)

P
1

=

I
s
e
n
s
e
1
.
*
V
c
o
i
l
;




























%
m
W

i
n
t
o

D
C
/
D
C

c
o
n
v
e
r
t
e
r

P
2

=

I
s
e
n
s
e
.
*
V
l
o
a
d
;





























%
m
W

o
u
t

o
f

D
C
/
D
C

c
o
n
v
e
r
t
e
r

D
C
D
C
e
f
f
i
c
i
e
n
c
y

=

P
2
.
/
P
1
;

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a

=

[
V
c
o
i
l
'
;

I
s
e
n
s
e
1
'
;

I
s
e
n
s
e
'
;

V
l
o
a
d
'
;

P
1
'
;

P
2
'
;

D
C
D
C
e
f
f
i
c
i
e
n
c
y
'
]
'

l
o
a
d
_
s
t
r

=

[
'
s
a
v
e

'
,

f
i
l
e
_
s
t
r
i
n
g
,
'
_
d
a
t
a

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
'
]
;

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;

m
A
_
h
_
W
E
C

=

s
u
m
(
I
s
e
n
s
e
1
)
/
(
W
E
C
_
f
r
e
q
*
(
W
E
C
_
t
i
m
e
(
l
e
n
g
t
h
(
W
E
C
_
t
i
m
e
)
)
)
)
;

%
h
o
u
r
s
*
m
i
l
l
i
a
m
p
s
,

p
e
r

h
o
u
r

o
f

s
a
m
p
l
i
n
g

f
o
r

i

=

1
:
l
e
n
g
t
h
(
c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
)





i
f

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
(
i
,
4
)
>
4
.
9
0









c
o
u
n
t
_
V
l
o
a
d

=

c
o
u
n
t
_
V
l
o
a
d

+

1
;





e
n
d

e
n
d

o
n
_
r
a
t
i
o

=

c
o
u
n
t
_
V
l
o
a
d
/
l
e
n
g
t
h
(
c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
)
*
1
0
0
;

W
E
C
_
c
h
a
r
g
e

=

s
u
m
(
P
2
/
1
0
0
0
)
/
(
W
E
C
_
f
r
e
q
)
;


%
t
o
t
a
l

e
n
e
r
g
y

c
o
l
l
e
c
t
e
d
,

i
n

N
*
m
=
V
*
A
*
s

W
E
C
_
n

=

l
e
n
g
t
h
(
W
E
C
_
t
i
m
e
)
;

T
r

=

W
E
C
_
t
i
m
e
(
W
E
C
_
n
-
1
)
-
W
E
C
_
t
i
m
e
(
1
)
;

W
E
C
_
a
v
g
_
p
w
r

=

W
E
C
_
c
h
a
r
g
e
/
T
r
*
1
0
0
0
;






%
m
W

s
t
r

=
[
'
a
v
g

s
p
e
e
d

=

'
,

n
u
m
2
s
t
r
(
s
p
e
e
d
)
,
'

(
i
n
/
s
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
T
r

=

'
,

n
u
m
2
s
t
r
(
T
r
)
,
'

(
s
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
t
o
t
a
l

e
n
e
r
g
y

(
c
h
a
r
g
e
)
=

'
,

n
u
m
2
s
t
r
(
m
A
_
h
_
W
E
C
)
,
'

(
m
A
-
s

p
e
r

s
e
c
o
n
d

o
f

s
a
m
p
l
i
n
g
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
a
v
g
_
p
w
r

=

'
,

n
u
m
2
s
t
r
(
W
E
C
_
a
v
g
_
p
w
r
)
,
'

(
m
W
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
O
N

r
a
t
i
o

=

'
,

n
u
m
2
s
t
r
(
o
n
_
r
a
t
i
o
)
,
'
%
'
]
;

d
i
s
p
(
s
t
r
)

%
P
l
o
t

s
h
o
w
s

h
o
w

c
o
i
l

o
u
t
p
u
t

c
o
r
r
e
s
p
o
n
d
s

t
o

i
n
p
u
t

w
a
v
e

t
i
m
e

s
e
r
i
e
s

f
i
g
u
r
e
;


p
l
o
t
(
W
E
C
_
t
i
m
e
,

P
2
,

'
m
'
,

W
E
C
_
t
i
m
e
,

V
c
o
i
l
,

'
r
'
)
;

t
i
t
l
e
(
'
D
C
/
D
C

P
o
w
e
r

O
u
t

a
n
d

C
o
i
l

V
o
l
t
a
g
e

v
s
.

t
i
m
e
'
)
;

l
e
g
e
n
d
(
'
P
o
w
e
r

o
u
t

(
m
W
)
'
,

'
C
o
i
l

V
o
l
t
a
g
e

(
V
)
'
)
;

C
.
5
.
2
:

e
f
f
i
c
i
e
n
c
y
_
s
p
e
c
t
r
u
m
.
m

C
o
n
d
u
c
t
s

t
h
e

W
E
C

p
e
r
f
o
r
m
a
n
c
e

a
n
d

s
p
e
c
t
r
a
l

a
n
a
l
y
s
i
s

c
a
l
c
u
l
a
t
i
o
n
s

g
i
v
e
n

.
x
l
s

f
i
l
e
s

c
o
n
t
a
i
n
i
n
g

t
h
e

O
S
S

w
a
v
e

s
t
a
f
f

r
e
c
o
r
d

a
n
d

t
h
e

W
E
C

d
a
t
a

r
e
c
o
r
d


f
u
n
c
t
i
o
n
[
H
s
,

H
m
o
,

T
p
,

w
g
_
a
v
g
_
p
o
w
e
r
,

W
E
C
_
a
v
g
_
p
o
w
e
r
,

e
f
f
i
c
i
e
n
c
y
,

o
n
_
r
a
t
i
o
]

=

e
f
f
i
c
i
e
n
c
y
_
s
p
e
c
t
r
u
m
(
W
E
C
_
f
i
l
e
,

W
E
C
_
w
o
r
k
s
h
e
e
t
,

w
a
v
e
_
f
i
l
e
,

w
a
t
e
r
_
d
e
p
t
h
)

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
L
o
a
d

F
i
l
e
s
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

%
F
i
l
e
s

e
n
t
e
r
e
d

a
s

s
t
r
i
n
g
s
,

f
o
r

e
x
a
m
p
l
e
,

%
'
t
e
s
t
_
d
a
t
a
/
f
r
o
n
t
_
s
t
r
e
e
t
_
1
8
0
4
0
8
_
W
E
C
.
x
l
s
'
.



%
B
o
t
h

f
i
l
e
s

s
h
o
u
l
d

b
e

x
l
s

f
i
l
e
s
;

i
m
p
o
r
t

t
h
e

c
s
v

f
i
l
e

f
r
o
m

w
g

i
n
t
o

E
x
c
e
l

a
n
d

%
p
r
o
c
e
s
s

h
e
r
e
;

i
m
p
o
r
t

t
h
e

d
a
t
a
/
t
e
x
t

f
i
l
e

f
r
o
m

t
h
e

W
E
C

i
n
t
o

e
x
c
e
l

a
n
d

r
e
a
d

%
h
e
r
e
.


T
h
e

u
s
e
r

i
n
t
e
r
f
a
c
e

i
m
p
o
r
t

i
s

u
s
e
d

f
o
r

r
e
t
r
i
e
v
i
n
g

n
o
n
-
s
t
r
i
c
t
l
y
-
n
u
m
e
r
i
c
a
l

d
a
t
a

l
o
a
d
_
s
t
r

=

[
'
x
l
s
r
e
a
d
(
'
,

'
W
E
C
_
f
i
l
e
'
,

'
,

W
E
C
_
w
o
r
k
s
h
e
e
t
'

,
'
)
'
]
;





W
E
C
_
d
a
t
a

=

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;

l
o
a
d
_
s
t
r

=

[
'
u
i
i
m
p
o
r
t
(
'
,

'
w
a
v
e
_
f
i
l
e
'
,
'
)
'
]
;

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;



p
a
u
s
e
;

R
s
e
n
s
e

=

1
0
;

R
s
e
n
s
e
1

=

1
0
;

W
E
C
_
f
r
e
q

=

8
;

l
o
a
d
_
s
l
o
p
e

=

4
8
8
.
9
;





%
A
D
C

c
o
u
n
t
s

p
e
r

V

s
e
n
s
e
_
s
l
o
p
e

=

9
3
8
.
2
4
;



%
A
D
C

c
o
u
n
t
s

p
e
r

m
A

s
e
n
s
e
_
o
f
f
s
e
t

=

2
6
6
;





%
A
D
C

c
o
u
n
t
s

a
t

0

c
u
r
r
e
n
t

s
e
n
s
e
1
_
s
l
o
p
e

=

1
0
0
6
;




%
A
D
C

c
o
u
n
t
s

p
e
r

m
A

c
o
i
l
_
s
l
o
p
e

=

6
7
4
.
5
2
;




%
A
D
C

c
o
u
n
t
s

p
e
r

V

d
e
n
s
i
t
y

=

1
0
1
5
;









%
l
a
g
o
o
n

w
a
t
e
r
,

i
n

k
g
/
m
^
3

c
a
p
t
u
r
e
_
w
i
d
t
h

=

0
.
4
3
1
8
;




%
m
e
t
e
r
s

n
_
s
e
g

=

1
0
2
4
;


%
n
u
m
b
e
r

o
f

d
a
t
a

p
o
i
n
t
s

p
e
r

s
p
e
c
t
r
u
m

i
n

w
a
v
e

a
n
a
l
y
s
i
s

%
*
*
*
*
*
*
*
*
*
*
*
*
R
e
t
r
i
e
v
e

d
a
t
e

a
n
d

i
n
i
t
i
a
l
i
z
e

t
i
m
e

*
*
*
*
*
*

d
a
y
_
W

=

W
E
C
_
d
a
t
a
(
1
,
1
)
;


m
o
n
t
h
_
W

=

W
E
C
_
d
a
t
a
(
1
,
2
)
;

y
e
a
r
_
W

=

W
E
C
_
d
a
t
a
(
1
,
3
)
;

h
o
u
r
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
1
)
;


%
r
e
m
o
v
e

f
i
n
a
l

r
o
w

i
n

c
a
s
e

o
f

p
a
r
t
i
a
l

d
a
t
a

m
i
n
u
t
e
s
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
2
)
;

s
e
c
o
n
d
s
_
W

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
3
)
;

y
e
a
r
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
1
)
)
-
0
;















%
t
u
r
n
s

'
Y
0
7
'

i
n
t
o

a
n

a
r
r
a
y

o
f

3

a
s
c
i
i

v
a
l
u
e
s

y
e
a
r
_
w
g

=

2
0
0
0
+
[
(
y
e
a
r
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
y
e
a
r
_
w
g
(
3
)
-
4
8
)
]
;

%
c
o
n
v
e
r
t
s

t
o

a

d
e
c
i
m
a
l

y
e
a
r


m
o
n
t
h
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
2
)
)
-
0
;

m
o
n
t
h
_
w
g

=

[
(
m
o
n
t
h
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
m
o
n
t
h
_
w
g
(
3
)
-
4
8
)
]
;

d
a
y
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
3
)
)
-
0
;

d
a
y
_
w
g

=

[
(
d
a
y
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
d
a
y
_
w
g
(
3
)
-
4
8
)
]
;

h
o
u
r
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
4
)
)
-
0
;

h
o
u
r
_
w
g

=

[
(
h
o
u
r
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
h
o
u
r
_
w
g
(
3
)
-
4
8
)
]
;

m
i
n
s
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
5
)
)
-
0
;

m
i
n
s
_
w
g

=

[
(
m
i
n
s
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
m
i
n
s
_
w
g
(
3
)
-
4
8
)
]
;

s
e
c
s
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
6
)
)
-
0
;

s
e
c
s
_
w
g

=

[
(
s
e
c
s
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
s
e
c
s
_
w
g
(
3
)
-
4
8
)
]
;

f
r
e
q
_
w
g

=

c
h
a
r
(
t
e
x
t
d
a
t
a
(
1
,
7
)
)
-
0
;

f
r
e
q
_
w
g

=

[
(
f
r
e
q
_
w
g
(
2
)
-
4
8
)
*
1
0
+
(
f
r
e
q
_
w
g
(
3
)
-
4
8
)
]
;

c
l
e
a
r

d
a
t
a
;

i
f

(
d
a
y
_
W

~
=

d
a
y
_
w
g
)

|

(
m
o
n
t
h
_
W

~
=

m
o
n
t
h
_
w
g
)

|

(
y
e
a
r
_
W

~
=

y
e
a
r
_
w
g
)





d
i
s
p
l
a
y
(
'
D
a
t
e
s

d
o

n
o
t

m
a
t
c
h
'
)
;





d
i
s
p
(
'
W
E
C
:

'
)





W
E
C
_
d
a
t
e
_
s
t
r

=

[
'
d
a
y
:

'
,
n
u
m
2
s
t
r
(
d
a
y
_
W
)
,
'

m
o
n
t
h
:

'
,
n
u
m
2
s
t
r
(
m
o
n
t
h
_
W
)
,
'
y
e
a
r
:

'
,
n
u
m
2
s
t
r
(
y
e
a
r
_
W
)
]
;



%
h
o
u
r
_
W
(
1
)
,
m
i
n
u
t
e
s
_
W
(
1
)
,
s
e
c
o
n
d
s
_
W
(
1
)





d
i
s
p
(
W
E
C
_
d
a
t
e
_
s
t
r
)





d
i
s
p
(
'
w
g
:
'
)





w
g
_
d
a
t
e
_
s
t
r

=

[
'
d
a
y
:

'
,
n
u
m
2
s
t
r
(
d
a
y
_
w
g
)
,
'

m
o
n
t
h
:

'
,
n
u
m
2
s
t
r
(
m
o
n
t
h
_
w
g
)
,
'
y
e
a
r
:

'
,
n
u
m
2
s
t
r
(
y
e
a
r
_
w
g
)
]
;



%
h
o
u
r
_
w
g
(
1
)
,
m
i
n
s
_
w
g
(
1
)
,
s
e
c
s
_
w
g
(
1
)





d
i
s
p
(
w
g
_
d
a
t
e
_
s
t
r
)

e
n
d

d
a
t
e
_
s
t
r
i
n
g

=

[
n
u
m
2
s
t
r
(
d
a
y
_
W
)
,
'
_
'
,
n
u
m
2
s
t
r
(
m
o
n
t
h
_
W
)
,
'
_
'
,
n
u
m
2
s
t
r
(
y
e
a
r
_
W
)
]
;

w
g
_
f
i
n
a
l

=

[
n
u
m
2
s
t
r
(
d
a
y
_
W
)
,
'
_
'
,
n
u
m
2
s
t
r
(
m
o
n
t
h
_
W
)
,
'
_
'
,
n
u
m
2
s
t
r
(
y
e
a
r
_
W
)
,
'
_
'
,
W
E
C
_
w
o
r
k
s
h
e
e
t
,
'
_
'
,
'
w
g
.
c
s
v
'
]
;

w
g
_
d
a
t
a

=

c
o
n
v
e
r
t
O
S
S
_
W
E
C
(
w
a
v
e
_
f
i
l
e
,
f
r
e
q
_
w
g
,
w
g
_
f
i
n
a
l
,
y
e
a
r
_
w
g
,
m
o
n
t
h
_
w
g
,
d
a
y
_
w
g
,
h
o
u
r
_
w
g
,
m
i
n
s
_
w
g
,
s
e
c
s
_
w
g
)
;

W
E
C
_
t
i
m
e

=

(
(
h
o
u
r
_
W
-
h
o
u
r
_
W
(
1
)
)
*
3
6
0
0
)
+
(
(
m
i
n
u
t
e
s
_
W
-
m
i
n
u
t
e
s
_
W
(
1
)
)
*
6
0
)
+
(
s
e
c
o
n
d
s
_
W
-
s
e
c
o
n
d
s
_
W
(
1
)
)
;

%
t
i
m
e

e
l
a
p
s
e
d

s
i
n
c
e

d
a
t
a

c
o
l
l
e
c
t
i
o
n

s
t
a
r
t
,

i
n

s
e
c
o
n
d
s

w
g
_
t
i
m
e

=

(
(
w
g
_
d
a
t
a
(
:
,
4
)
-
w
g
_
d
a
t
a
(
1
,
4
)
)
*
3
6
0
0
)
+
(
(
w
g
_
d
a
t
a
(
:
,
5
)
-
w
g
_
d
a
t
a
(
1
,
5
)
)
*
6
0
)
+
(
w
g
_
d
a
t
a
(
:
,
6
)
-
w
g
_
d
a
t
a
(
1
,
6
)
)
;

%
t
i
m
e

e
l
a
p
s
e
d

s
i
n
c
e

d
a
t
a

c
o
l
l
e
c
t
i
o
n

s
t
a
r
t
,

i
n

s
e
c
o
n
d
s

d
e
l
t
a
_
t

=

(
(
h
o
u
r
_
w
g
(
1
)
*
3
6
0
0
+
m
i
n
s
_
w
g
(
1
)
*
6
0
+
s
e
c
s
_
w
g
(
1
)
)
-
(
h
o
u
r
_
W
(
1
)
*
3
6
0
0
+
m
i
n
u
t
e
s
_
W
(
1
)
*
6
0
+
s
e
c
o
n
d
s
_
W
(
1
)
)
)
;

%
*
*
*
*
*
*
*
*
*
*
*
*

S
e
p
a
r
a
t
e

d
a
t
a

i
n
t
o

v
a
r
i
a
b
l
e
s

*
*
*
*
*
*
*
*
*
*
*

w
a
v
e
_
d
a
t
a

=

w
g
_
d
a
t
a
(
:
,
7
)
;



















%
w
a
v
e

h
e
i
g
h
t

i
n

c
m

w
g
_
t
i
m
e

=

w
g
_
t
i
m
e
(
~
i
s
n
a
n
(
w
a
v
e
_
d
a
t
a
)
)
;







%
r
e
m
o
v
e

d
a
t
a

i
n
d
e
c
e
s

w
i
t
h

N
A
N
s

i
n

t
h
e

w
a
v
e

g
a
g
e

d
a
t
a

w
a
v
e
_
d
a
t
a


=

w
a
v
e
_
d
a
t
a
(
~
i
s
n
a
n
(
w
a
v
e
_
d
a
t
a
)
)
;


%
r
e
m
o
v
e

d
a
t
a

i
n
d
e
c
e
s

w
i
t
h

N
A
N
s

i
n

t
h
e

w
a
v
e

g
a
g
e

d
a
t
a

A
D
C
s
e
n
s
e

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
6
)
;

A
D
C
l
o
a
d

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
7
)
;

A
D
C
c
o
i
l

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
4
)
;

A
D
C
s
e
n
s
e
1

=

W
E
C
_
d
a
t
a
(
3
:
l
e
n
g
t
h
(
W
E
C
_
d
a
t
a
)
-
1
,
5
)
;

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
C
a
l
c
u
l
a
t
e

W
E
C

p
e
r
f
o
r
m
a
n
c
e

r
e
s
u
l
t
s
*
*
*
*
*
*
*
*
*
*
*
*
*

I
s
e
n
s
e

=

(
A
D
C
s
e
n
s
e
-
s
e
n
s
e
_
o
f
f
s
e
t
)
.
/
s
e
n
s
e
_
s
l
o
p
e
;


%
i
n

m
A

(
f
r
o
m

c
a
l
i
b
r
a
t
i
o
n

a
n
d

0
V

I
C
s
)

V
l
o
a
d

=

A
D
C
l
o
a
d
.
/
l
o
a
d
_
s
l
o
p
e
;




















%
s
l
o
p
e

i
n

A
D
C

c
o
u
n
t
s

p
e
r

v
o
l
t
,

0

o
f
f
s
e
t

V
c
o
i
l

=

A
D
C
c
o
i
l
.
/
c
o
i
l
_
s
l
o
p
e
;




















%
s
l
o
p
e

i
n

A
D
C

c
o
u
n
t
s

p
e
r

v
o
l
t
,

0

o
f
f
s
e
t

I
s
e
n
s
e
1

=

(
A
D
C
s
e
n
s
e
1
)
.
/
s
e
n
s
e
1
_
s
l
o
p
e
;












%
i
n

m
A

(
f
r
o
m

c
a
l
i
b
r
a
t
i
o
n

a
n
d

0
V

I
C
s
)

P
1

=

I
s
e
n
s
e
1
.
*
V
c
o
i
l
;




























%
m
W

i
n
t
o

D
C
/
D
C

c
o
n
v
e
r
t
e
r

P
2

=

I
s
e
n
s
e
.
*
V
l
o
a
d
;





























%
m
W

o
u
t

o
f

D
C
/
D
C

c
o
n
v
e
r
t
e
r

D
C
D
C
e
f
f
i
c
i
e
n
c
y

=

P
2
.
/
P
1
;

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a

=

[
V
c
o
i
l
'
;

I
s
e
n
s
e
1
'
;

I
s
e
n
s
e
'
;

V
l
o
a
d
'
;

P
1
'
;

P
2
'
;

D
C
D
C
e
f
f
i
c
i
e
n
c
y
'
]
'
;

%

l
i
m
i
t

t
h
e

d
a
t
a

t
o

f
u
l
l

c
a
p

c
h
a
r
g
e

c
y
c
l
e
s

i
=
1
;

w
h
i
l
e
(
V
c
o
i
l
(
i
)
>
=
3
)





i
=
i
+
1
;

e
n
d

j
=
l
e
n
g
t
h
(
V
c
o
i
l
)
;

w
h
i
l
e
(
V
c
o
i
l
(
j
)
>
=
3
)





j
=
j
-
1
;

e
n
d

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a

=

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
(
i
:
j
,
:
)
;

I
s
e
n
s
e

=

I
s
e
n
s
e
(
i
:
j
)
;

V
l
o
a
d

=

V
l
o
a
d
(
i
:
j
)
;

V
c
o
i
l

=

V
c
o
i
l
(
i
:
j
)
;

I
s
e
n
s
e
1

=

I
s
e
n
s
e
1
(
i
:
j
)
;

P
1

=

P
1
(
i
:
j
)
;

P
2

=

P
2
(
i
:
j
)
;

D
C
D
C
e
f
f
i
c
i
e
n
c
y

=

D
C
D
C
e
f
f
i
c
i
e
n
c
y
(
i
:
j
)
;

W
E
C
_
t
i
m
e

=

W
E
C
_
t
i
m
e
(
1
:
j
-
i
+
1
)
;

W
E
C
_
o
u
t
f
i
l
e

=

[
d
a
t
e
_
s
t
r
i
n
g
,
'
_
'
,
W
E
C
_
w
o
r
k
s
h
e
e
t
,
'
_
W
E
C
.
c
s
v
'
]
;

l
o
a
d
_
s
t
r

=

[
'
d
l
m
w
r
i
t
e
(
'
,
'
W
E
C
_
o
u
t
f
i
l
e
'
,
'
,
'
,
'
c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
'
,
'
)
'
]
;

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;


c
o
u
n
t
_
V
l
o
a
d

=

0
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
)





i
f

c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
(
i
,
4
)
>
4
.
9
0









c
o
u
n
t
_
V
l
o
a
d

=

c
o
u
n
t
_
V
l
o
a
d

+

1
;





e
n
d

e
n
d

o
n
_
r
a
t
i
o

=

c
o
u
n
t
_
V
l
o
a
d
/
l
e
n
g
t
h
(
c
o
m
p
a
r
i
s
o
n
_
d
a
t
a
)
*
1
0
0
;

%

P
e
r
c
e
n
t
a
g
e

o
f

t
i
m
e

D
C
/
D
C

c
o
n
v
e
r
t
e
r

w
a
s

o
u
t
p
u
t
t
i
n
g

p
o
w
e
r

m
A
_
h
_
W
E
C

=

s
u
m
(
I
s
e
n
s
e
1
)
/
(
W
E
C
_
f
r
e
q
*
(
W
E
C
_
t
i
m
e
(
l
e
n
g
t
h
(
W
E
C
_
t
i
m
e
)
)
)
)
;

%
h
o
u
r
s
*
m
i
l
l
i
a
m
p
s
,

p
e
r

h
o
u
r

o
f

s
a
m
p
l
i
n
g

W
E
C
_
c
h
a
r
g
e

=

s
u
m
(
P
2
/
1
0
0
0
)
/
(
W
E
C
_
f
r
e
q
)
;


%
t
o
t
a
l

e
n
e
r
g
y

c
o
l
l
e
c
t
e
d
,

i
n

N
*
m
=
V
*
A
*
s

W
E
C
_
n

=

l
e
n
g
t
h
(
W
E
C
_
t
i
m
e
)
;

T
r

=

W
E
C
_
t
i
m
e
(
W
E
C
_
n
-
1
)
-
W
E
C
_
t
i
m
e
(
1
)
;

W
E
C
_
a
v
g
_
p
o
w
e
r

=

W
E
C
_
c
h
a
r
g
e
/
T
r
*
1
0
0
0
;






%
m
W

%
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
I
n
c
o
m
i
n
g

w
a
v
e

a
n
a
l
y
s
i
s
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

e
t
a

=

(
d
e
t
r
e
n
d
(
w
a
v
e
_
d
a
t
a
)
)
/
1
0
0
;



%
i
n

m

f
i
g
u
r
e
(
1
)
;

s
u
b
p
l
o
t
(
2
,
1
,
2
)
,
p
l
o
t
(
w
g
_
t
i
m
e
,

e
t
a
*
1
0
0
)
;

x
l
a
b
e
l
(
'
t
i
m
e

(
s
)
'
)

f
i
g
u
r
e
;

%
P
l
o
t

h
o
w

c
o
i
l

o
u
t
p
u
t

c
o
r
r
e
s
p
o
n
d
s

t
o

i
n
p
u
t

w
a
v
e

t
i
m
e

s
e
r
i
e
s

%
p
l
o
t
(
w
g
_
t
i
m
e
,

e
t
a
*
1
0
0
,

'
b
'
,

W
E
C
_
t
i
m
e
,

P
2
,

'
m
'
,

W
E
C
_
t
i
m
e
,

V
c
o
i
l
,

'
r
'
)
;


%
u
s
e

w
h
e
n

w
a
v
e

r
e
c
o
r
d

i
s

s
h
o
r
t
e
r

t
h
a
n

W
E
C

r
e
c
o
r
d

p
l
o
t
(
w
g
_
t
i
m
e
(
1
:
r
o
u
n
d
(
l
e
n
g
t
h
(
P
2
)
*
1
0
/
8
)
)
,

e
t
a
(
1
:
r
o
u
n
d
(
l
e
n
g
t
h
(
P
2
)
*
1
0
/
8
)
)
*
1
0
0
,

'
b
'
,

W
E
C
_
t
i
m
e
,

P
2
,

'
m
'
,

W
E
C
_
t
i
m
e
,

V
c
o
i
l
,

'
r
'
)
;

t
i
t
l
e
(
'
E
t
a
,

D
C
/
D
C

P
o
w
e
r

O
u
t
,

a
n
d

C
o
i
l

V
o
l
t
a
g
e

v
s

t
i
m
e
'
)
;

l
e
g
e
n
d
(
'
E
t
a

(
c
m
)
'
,

'
P
o
w
e
r

o
u
t

(
m
W
)
'
,

'
C
o
i
l

V
o
l
t
a
g
e

(
V
)
'
)
;

x
l
a
b
e
l
(
'
t
i
m
e

(
s
)
'
)
;

%
*
*
*

T
i
m
e

s
e
r
i
e
s

a
n
a
l
y
s
i
s

*
*
*

[
w
a
v
e
_
h
e
i
g
h
t
s
,

T
,

H
s
]

=

h
e
i
g
h
t
s
(
e
t
a
,

w
g
_
t
i
m
e
)
;

f
i
g
u
r
e
;

p
l
o
t
(
w
a
v
e
_
h
e
i
g
h
t
s
)
;

t
i
t
l
e
(
'
W
a
v
e

H
e
i
g
h
t
s

(
m
)
'
)
;

f
i
g
u
r
e
;

h
i
s
t
(
w
a
v
e
_
h
e
i
g
h
t
s
,

2
0
)
;

t
i
t
l
e
(
'
W
a
v
e

H
e
i
g
h
t
s

H
i
s
t
o
g
r
a
m

(
H
m
o
d
e
)
'
)
;

x
l
a
b
e
l
(
'
H

(
m
)
'
)

f
i
g
u
r
e
;


h
i
s
t
(
T
,

2
0
)

t
i
t
l
e
(
'
W
a
v
e

P
e
r
i
o
d

H
i
s
t
o
g
r
a
m

(
T
m
o
d
e
)
'
)

x
l
a
b
e
l
(
'
T

(
s
)
'
)

%
*
*
*

F
r
e
q
u
e
n
c
y

a
n
a
l
y
s
i
s

*
*
*

[
T
p
,

L
p
,

k
p
,

H
m
o
,

v
a
r
i
a
n
c
e
]

=

s
p
e
c
t
r
a
l
_
a
n
a
l
(
e
t
a
,

w
g
_
t
i
m
e
,

w
a
t
e
r
_
d
e
p
t
h
,

P
2
,

V
c
o
i
l
,

n
_
s
e
g
)
;

H
m
o
_
a
v
g

=

m
e
a
n
(
H
m
o
)
;

T
p
_
a
v
g

=

m
e
a
n
(
T
p
)
;

L
p
_
a
v
g

=

m
e
a
n
(
L
p
)
;

k
p
_
a
v
g

=

m
e
a
n
(
k
p
)
;

v
a
r
_
a
v
g

=

m
e
a
n
(
v
a
r
i
a
n
c
e
)
;

w
g
_
e
n
e
r
g
y

=

v
a
r
_
a
v
g

*

1
0
1
0

*

9
.
8
1
;






%
J
/
m
^
2


C
g

=

1
/
2
*
(
1
+
(
2
*
k
p
_
a
v
g
*
w
a
t
e
r
_
d
e
p
t
h
)
.
/
s
i
n
h
(
2
*
k
p
_
a
v
g
*
w
a
t
e
r
_
d
e
p
t
h
)
)
*

L
p
_
a
v
g
/
T
p
_
a
v
g
;

w
g
_
a
v
g
_
p
o
w
e
r

=

w
g
_
e
n
e
r
g
y
*
C
g
*
c
a
p
t
u
r
e
_
w
i
d
t
h
*
1
0
0
0
;

%
(
i
n

m
W
)



















e
f
f
i
c
i
e
n
c
y

=

W
E
C
_
a
v
g
_
p
o
w
e
r
/
w
g
_
a
v
g
_
p
o
w
e
r
;


s
t
r

=

[
'
W
E
C

r
e
c
o
r
d

s
t
a
r
t
e
d

'
,
n
u
m
2
s
t
r
(
d
e
l
t
a
_
t
)
,
'
s

b
e
f
o
r
e

w
a
v
e
g
a
g
e

r
e
c
o
r
d
'
]
;

d
i
s
p
(
s
t
r
)


s
t
r

=

[
'






W
G

R
e
c
o
r
d

t
i
m
e

=

'
,
n
u
m
2
s
t
r
(

w
g
_
t
i
m
e
(
1
0
2
4
)
-
w
g
_
t
i
m
e
(
1
)

)
,
'

(
s
)
'
]
;

d
i
s
p
(
s
t
r
)


s
t
r

=

[
'
H
s

=

'
,

n
u
m
2
s
t
r
(
H
s
)
,
'

(
m
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=

[
'
H
m
o

=

'
,

n
u
m
2
s
t
r
(
H
m
o
_
a
v
g
)
,
'

(
m
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=

[
'
T
p

=

'
,

n
u
m
2
s
t
r
(
T
p
_
a
v
g
)
,
'

(
s
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=

[
'






V
a
r
i
a
n
c
e

=

'
,

n
u
m
2
s
t
r
(
v
a
r
_
a
v
g
)
,
'

(
m
^
2
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=

[
'






I
n
c
i
d
e
n
t

w
a
v
e

e
n
e
r
g
y

=

1
/
8
*
r
h
o
*
g
*
H
m
o
^
2

=

'
,
n
u
m
2
s
t
r
(
w
g
_
e
n
e
r
g
y
)
,
'

(
J
/
m
^
2
)
'
]
;

d
i
s
p
(
s
t
r
)
























s
t
r

=

[
'






W
a
v
e

a
v
g

p
o
w
e
r

p
e
r

m

w
a
v
e
f
r
o
n
t

=

'
,

n
u
m
2
s
t
r
(
w
g
_
a
v
g
_
p
o
w
e
r
/
c
a
p
t
u
r
e
_
w
i
d
t
h
)
,
'

(
m
W
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=

[
'






W
E
C

a
v
g

e
x
c
i
t
a
t
i
o
n

p
o
w
e
r

=

'
,

n
u
m
2
s
t
r
(
w
g
_
a
v
g
_
p
o
w
e
r
)
,
'

(
m
W
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
T
o
t
a
l

e
n
e
r
g
y

=

s
u
m
(
P
o
w
e
r
*
d
t
)

=

'
,

n
u
m
2
s
t
r
(
W
E
C
_
c
h
a
r
g
e
)
,
'

(
J
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'






W
E
C

a
v
g

p
o
w
e
r

o
u
t
p
u
t

=

'
,

n
u
m
2
s
t
r
(
W
E
C
_
a
v
g
_
p
o
w
e
r
)
,
'

(
m
W
)
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'
W
E
C

e
f
f
i
c
i
e
n
c
y

=

'
,

n
u
m
2
s
t
r
(
e
f
f
i
c
i
e
n
c
y
*
1
0
0
)
,
'
%
'
]
;

d
i
s
p
(
s
t
r
)

s
t
r

=
[
'






O
N

r
a
t
i
o

=

'
,

n
u
m
2
s
t
r
(
o
n
_
r
a
t
i
o
)
,
'

(
%
)
'
]
;

d
i
s
p
(
s
t
r
)


f
i
g
u
r
e
;

s
u
b
p
l
o
t
(
2
,
1
,
1
)
,

s
t
e
m
(
w
g
_
f
r
e
q
s
,

w
g
_
s
i
g
_
s
p
e
c
t
,

'
b
'
)
;

s
u
b
p
l
o
t
(
2
,
1
,
2
)
,

s
t
e
m
(
w
g
_
f
r
e
q
s
,

w
g
_
a
m
p
_
s
p
e
c
t
,

'
b
'
)
;

t
i
t
l
e
(
'
S
i
g
n
a
l

a
n
d

A
m
p
l
i
t
u
d
e

S
p
e
c
t
r
a

f
o
r

I
n
c
i
d
e
n
t

W
a
v
e

P
o
w
e
r
'
)

x
l
a
b
e
l
(
'
H
z
'
)

C
.
5
.
3
:

c
o
n
v
e
r
t
O
S
S
_
W
E
C
.
m

R
e
f
o
r
m
a
t
s

t
h
e

w
a
v
e
g
a
g
e

r
e
c
o
r
d

i
n
t
o

a

t
i
m
e

a
n
d

a

w
a
t
e
r

s
u
r
f
a
c
e

d
a
t
a

v
e
c
t
o
r

f
u
n
c
t
i
o
n
[
f
i
n
a
l
]

=

c
o
n
v
e
r
t
O
S
S
_
W
E
C
(
f
i
l
e
,
H
z
,
o
u
t
f
i
l
e
,
y
r
,
m
o
n
t
h
,
d
a
y
,
h
r
,
m
i
n
,
s
e
c
)

%
T
h
i
s

f
u
n
c
t
i
o
n

i
n
p
u
t
s

a

t
e
x
t

f
i
l
e

o
f

w
a
t
e
r

l
e
v
e
l

"
c
o
u
n
t
s
"

r
e
c
o
r
d
e
d

b
y

t
h
e

%
c
a
p
a
c
i
t
a
n
c
e

w
a
v
e

g
a
g
e

a
n
d

c
o
n
v
e
r
t
s

t
h
e
m

t
o

c
m

w
i
t
h

a

f
o
r
m
u
l
a

g
i
v
e
n

b
y

%
O
c
e
a
n

S
e
n
s
o
r

S
y
s
t
e
m
s
.

A

t
i
m
e

s
t
a
m
p

f
o
r

o
n
l
y

t
h
e

f
i
r
s
t

c
o
u
n
t

w
a
s

o
r
i
g
i
n
a
l
l
y

%
t
a
k
e
n

f
r
o
m

t
h
e

t
e
x
t

f
i
l
e
;

i
t

i
s

u
s
e
d

t
o

g
e
n
e
r
a
t
e

t
i
m
e

s
t
a
m
p
s

f
o
r

a
l
l

d
a
t
a

%
s
u
c
h

t
h
a
t

t
h
e
r
e

i
s

o
n
e

c
o
l
u
m
n

o
f

t
i
m
e

s
t
a
m
p
s

a
n
d

o
n
e

c
o
l
u
m
n

o
f

w
a
t
e
r

l
e
v
e
l

%
i
n

c
m
.

%
H
z

i
s

t
h
e

f
e
q
u
e
n
c
y

a
t

w
h
i
c
h

t
h
e

w
a
v
e

g
a
g
e

w
a
s

c
o
n
f
i
g
u
r
e
d

t
o

s
a
m
p
l
e

%
I
n
p
u
t

f
i
l
e

l
o
a
d
_
s
t
r

=

[
'
x
l
s
r
e
a
d
(
'
,

'
f
i
l
e
'
,
'
)
'
]
;

m
a
t
r
i
x

=

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;

a

=

s
i
z
e
(
m
a
t
r
i
x
)
;

%
O
m
i
t

c
o
l
u
m
n

1
3
,

w
h
i
c
h

h
a
s

a
l
l

z
e
r
o
e
s

(
d
u
e

t
o

f
o
r
m
a
t
t
i
n
g

o
f

i
n
p
u
t
t
e
d

%
m
a
t
r
i
x
)

f
o
r

i

=

1
:
1
2





n
e
w
(
:
,
i
)

=

m
a
t
r
i
x
(
:
,
i
)
;

e
n
d

%
C
o
n
c
a
t
e
n
a
t
e

a
l
l

t
h
e

r
o
w
s

o
f

w
a
t
e
r

l
e
v
e
l

d
a
t
a

i
n
t
o

o
n
e

l
a
r
g
e

r
o
w

n
e
w
2

=

n
e
w
(
1
,
:
)
;

f
o
r

i

=

2
:
a
(
1
)





n
e
w
2

=

[
n
e
w
2
,
n
e
w
(
i
,
:
)
]
;

e
n
d

%
T
r
a
n
s
p
o
s
e

w
a
t
e
r

l
e
v
e
l

d
a
t
a

t
o

a

c
o
l
u
m
n

o
f

l
e
n
g
t
h

b

n
e
w
2

=

n
e
w
2
'
;

%
C
o
n
v
e
r
t

f
r
o
m

c
o
u
n
t
s

t
o

c
m

n
e
w
2

=

n
e
w
2
.
*
5
0
.
/
4
0
9
6
;

b

=

l
e
n
g
t
h
(
n
e
w
2
)
;

%
A
d
d

t
i
m
e
s
t
a
m
p
s

f
o
r

a
l
l

w
a
t
e
r

l
e
v
e
l

d
a
t
a

p
o
i
n
t
s

f
r
o
m

t
i
m
e
s
t
a
m
p

g
i
v
e
n

a
t

%
b
e
g
i
n
n
i
n
g

o
f

d
a
t
a

s
e
r
i
e
s

d
a
t
e
(
1
)

=

d
a
t
e
n
u
m
(
[
y
r

m
o
n
t
h

d
a
y

h
r

m
i
n

s
e
c
]
)
;

f
o
r

i

=

2
:
b





%
1
/
8
6
4
0
0
0

i
s

t
h
e

f
r
a
c
t
i
o
n

o
f

o
n
e

d
a
y

t
h
a
t

1
/
1
0

o
f

a

s
e
c
o
n
d

c
o
n
s
t
i
t
u
t
e
s





%
1
/
2
0

o
f

a

s
e
c
o
n
d

i
s

h
o
w

o
f
t
e
n

d
a
t
a

a
r
e

s
a
m
p
l
e
d





d
a
t
e
(
i
)

=

d
a
t
e
(
i
-
1
)

+

(
1
.
/
(
8
6
4
0
0
*
H
z
)
)
;

e
n
d

%
T
r
a
n
s
p
o
s
e

t
h
e

t
i
m
e
s
t
a
m
p
s

i
n
t
o

a

c
o
l
u
m
n

d
a
t
e

=

d
a
t
e
'
;

%
C
h
a
n
g
e

f
r
o
m

j
u
l
i
a
n

t
o

v
e
c
t
o
r

d
a
t
e

d
a
t
e
2

=

d
a
t
e
v
e
c
(
[
d
a
t
e
]
)
;

%
C
r
e
a
t
e

m
a
t
r
i
x

w
i
t
h

v
e
c
t
o
r

d
a
t
e

a
n
d

c
o
l
u
m
n

o
f

w
a
t
e
r

l
e
v
e
l
s

f
i
n
a
l

=

[
d
a
t
e
2
,
n
e
w
2
]
;

%
s
i
z
e
(
f
i
n
a
l
)
;

%
W
r
i
t
e

n
e
w

c
s
v

f
i
l
e

w
i
t
h

d
a
t
a

i
n

p
r
o
p
e
r

f
o
r
m
a
t

l
o
a
d
_
s
t
r

=

[
'
d
l
m
w
r
i
t
e
(
'
,
'
o
u
t
f
i
l
e
'
,
'
,
'
,
'
f
i
n
a
l
'
,
'
)
'
]
;

e
v
a
l
(
l
o
a
d
_
s
t
r
)
;

%
P
l
o
t

d
a
t
a

f
o
r

v
i
s
u
a
l

i
n
s
p
e
c
t
i
o
n

f
i
g
u
r
e
;

s
u
b
p
l
o
t
(
2
,
1
,
1
)
,
p
l
o
t
(
d
a
t
e
,
n
e
w
2
)

t
i
t
l
e
(
'
E
t
a

(
c
m
)

v
s

t
i
m
e
,

f
i
r
s
t

r
a
w

f
r
o
m

O
S
S

c
o
n
v
e
r
t
e
r
,

t
h
e
n

f
r
o
m

u
p
c
r
o
s
s
i
n
g

c
o
d
e
'
)
;

x
l
a
b
e
l
(
'
t
i
m
e

(
h
h
:
m
m
:
s
s
)
'
)

s
e
t
(
g
c
a
,
'
B
o
x
'
,
'
O
f
f
'
)
;

s
e
t
(
g
c
a
,
'
F
o
n
t
S
i
z
e
'
,
1
0
)
;

d
a
t
e
t
i
c
k
(
'
x
'
,
1
3
,
'
k
e
e
p
t
i
c
k
s
'
,
'
k
e
e
p
l
i
m
i
t
s
'
)
;

C
.
5
.
4
:

s
p
e
c
t
r
a
l
_
a
n
a
l
.
m

D
i
v
i
d
e
s

t
h
e

w
a
v
e
g
a
g
e

r
e
c
o
r
d

i
n
t
o

s
e
g
m
e
n
t
s
,

w
i
n
d
o
w
s

i
t
,

a
n
d

d
e
t
e
r
m
i
n
e
s

t
h
e

w
a
v
e

p
r
o
p
e
r
t
i
e
s

b
a
s
e
d

o
n

F
F
T

a
n
a
l
y
s
i
s
.


f
u
n
c
t
i
o
n

[
T
p
,

L
p
,

k
p
,

H
m
o
,

v
a
r
i
a
n
c
e
,

f
i
r
s
t
_
d
a
t
a
_
p
o
i
n
t
,

l
a
s
t
_
d
a
t
a
_
p
o
i
n
t
]

=


s
p
e
c
t
r
a
l
_
a
n
a
l
(
e
t
a
,

t
,

w
a
t
e
r
_
d
e
p
t
h
,

P
2
,

V
c
o
i
l
,

n
_
s
e
g
,
a
,

b
)

n

=

l
e
n
g
t
h
(
e
t
a
)
;

n
i

=

(
f
l
o
o
r
(
n
/
n
_
s
e
g
)
)
*
4
-
3


%
n
u
m
b
e
r

o
f

"
s
u
b
s
p
e
c
t
r
a
"

w
i
t
h

7
5
%

o
v
e
r
l
a
p

T
r

=

t
(
n
_
s
e
g
)
-
t
(
1
)
;

T
s

=

T
r
/
n
_
s
e
g
;

f
r

=

1
/
T
r
;

f
N

=

1
/
(
2
*
T
s
)
;

w
g
_
f
r
e
q
s

=

[
0
,

f
r
:
f
r
:
f
N
,

-
f
N
+
f
r
:
f
r
:
-
f
r
]
;

p
o
s
_
f
r
e
q
s

=

[
0
,

f
r
:
f
r
:
f
N
]
;

m
y
_
w
i
n
d
o
w

=

b
l
a
c
k
m
a
n
h
a
r
r
i
s
(
n
_
s
e
g
)
;

w
i
n
d
o
w
_
a
r
e
a

=

m
e
a
n
(
m
y
_
w
i
n
d
o
w
)
;

m
y
_
w
i
n
d
o
w

=

m
y
_
w
i
n
d
o
w
/
w
i
n
d
o
w
_
a
r
e
a
;

v
a
r
_
t
h
r
e
s
h
h
o
l
d

=

0
.
0
0
0
5
;


f
o
r

i

=

0
:
1
:
n
i
-
1










%
*
*
*

W
i
n
d
o
w

t
h
e

d
a
t
a

s
u
b
s
e
t

a
n
d

c
r
e
a
t
e

t
h
e

s
u
b
s
p
e
c
t
r
u
m

*
*
*





c
u
r
r
e
n
t
_
e
t
a

=

[
e
t
a
(
1
+
i
*
n
_
s
e
g
/
4
:
(
i
+
4
)
*
n
_
s
e
g
/
4
)
]
.
*
m
y
_
w
i
n
d
o
w
;





i
f
(

i

=
=

a
-
1

)









s
t
r

=

[
'
f
i
r
s
t

a
t

'
,
n
u
m
2
s
t
r
(
1
+
i
*
n
_
s
e
g
/
4
)

]
;









f
i
r
s
t
_
d
a
t
a
_
p
o
i
n
t

=

(
1
+
i
*
n
_
s
e
g
/
4
)
;





e
n
d





i
f

(

i

=
=

b
)









s
t
r

=

[
'
l
a
s
t

a
t

'
,
n
u
m
2
s
t
r
(
(
i
+
4
)
*
n
_
s
e
g
/
4

)
]
;









l
a
s
t
_
d
a
t
a
_
p
o
i
n
t

=

(
i
+
4
)
*
n
_
s
e
g
/
4
;





e
n
d





%
c
u
r
r
e
n
t
_
P
2

=

[
P
2
(
1
+
i
*
1
0
2
4
*
1
0
/
8
:
(
i
+
1
)
*
1
0
2
4
*
1
0
/
8
)
]
;





s
i
g
_
s
p
e
c
t

=
f
f
t
(
c
u
r
r
e
n
t
_
e
t
a
)
/
n
_
s
e
g
;





a
m
p
_
s
p
e
c
t

=

a
b
s
(
s
i
g
_
s
p
e
c
t
)
;





p
w
r
_
s
p
e
c

=

s
i
g
_
s
p
e
c
t
.
*
c
o
n
j
(
s
i
g
_
s
p
e
c
t
)
;





p
w
r
_
s
p
e
c
_
c
o
n
t

=

p
w
r
_
s
p
e
c
/
f
r
;

%
d
i
v
i
d
e

b
y

f
r

f
o
r

c
o
n
t
i
n
u
o
u
s

s
p
e
c
t
r
u
m














%
*
*
*

V
a
r
i
o
u
s

m
e
t
h
o
d
s

f
o
r

c
a
l
c
u
l
a
t
i
n
g

v
a
r
i
a
n
c
e
;

s
h
o
u
l
d

a
g
r
e
e

*
*
*





w
g
_
p
w
r
_
s
p
e
c
_
v
a
r

=

s
u
m
(
p
w
r
_
s
p
e
c
_
c
o
n
t
)
*
f
r
;



%
v
a
r
i
a
n
c
e

o
f

e
t
a
(
t
)

=

t
i
m
e
-
a
v
g

w
a
v
e

e
n
e
r
g
y
/
r
h
o
*
g

=


%

a
u
t
o
-
c
o
r
r
e
l
a
t
i
o
n

o
f

t
=
0

(
i
n

m
^
2
)





w
g
_
v
a
r
_
t
r
a
p

=

t
r
a
p
z
(
w
g
_
f
r
e
q
s
,
p
w
r
_
s
p
e
c
_
c
o
n
t
)
;





e
t
a
_
m
e
a
n

=

s
u
m
(
c
u
r
r
e
n
t
_
e
t
a
)
/
n
_
s
e
g
;





e
t
a
_
v
a
r

=

s
u
m
(
(
c
u
r
r
e
n
t
_
e
t
a
-
e
t
a
_
m
e
a
n
)
.
^
2
)
/
n
_
s
e
g
;





e
t
a
_
v
a
r
_
f
u
n
c
t
i
o
n

=

v
a
r
(
c
u
r
r
e
n
t
_
e
t
a
)
;










i
f
(
a
b
s
(
w
g
_
p
w
r
_
s
p
e
c
_
v
a
r
-
w
g
_
v
a
r
_
t
r
a
p
)
>

v
a
r
_
t
h
r
e
s
h
h
o
l
d

|
.
.
.













a
b
s
(
w
g
_
p
w
r
_
s
p
e
c
_
v
a
r
-
e
t
a
_
v
a
r
)
>

v
a
r
_
t
h
r
e
s
h
h
o
l
d

|

.
.
.













a
b
s
(
w
g
_
p
w
r
_
s
p
e
c
_
v
a
r
-
e
t
a
_
v
a
r
_
f
u
n
c
t
i
o
n
)
>

v
a
r
_
t
h
r
e
s
h
h
o
l
d
)









d
i
s
p
(
'
*
*
*
*
*
*
*
*
*
*

C
h
e
c
k

v
a
r
i
a
n
c
e

*
*
*
*
*
*
*
*
*
*
'
)
;









p
a
u
s
e
;





e
n
d










c
u
r
r
e
n
t
_
H
m
o

=


s
q
r
t
(
8
*
w
g
_
p
w
r
_
s
p
e
c
_
v
a
r
)
;





[
T
p
_
v
a
l
u
e
,

T
p
_
i
n
d
e
x
]

=

m
a
x
(
p
w
r
_
s
p
e
c
_
c
o
n
t
)
;





T
p
_
c
u
r
r
e
n
t

=

a
b
s
(
1
/
w
g
_
f
r
e
q
s
(
T
p
_
i
n
d
e
x
)
)
;





w
h
i
l
e
(
i
s
i
n
f
(
T
p
_
c
u
r
r
e
n
t
)

|

T
p
_
c
u
r
r
e
n
t

>

5
)









p
w
r
_
s
p
e
c
_
c
o
n
t
(
T
p
_
i
n
d
e
x
)

=

0
;










[
T
p
_
v
a
l
u
e
,

T
p
_
i
n
d
e
x
]

=

m
a
x
(
p
w
r
_
s
p
e
c
_
c
o
n
t
)
;









T
p
_
c
u
r
r
e
n
t

=

a
b
s
(
1
/
w
g
_
f
r
e
q
s
(
T
p
_
i
n
d
e
x
)
)
;





e
n
d





[
c
u
r
r
e
n
t
_
L
p
,
c
u
r
r
e
n
t
_
k
p
]

=

L
_
c
a
l
c
(
T
p
_
c
u
r
r
e
n
t
,
w
a
t
e
r
_
d
e
p
t
h
)
;





%
[
w
a
v
e
_
h
e
i
g
h
t
s
,
p
e
r
i
o
d
s
,

c
u
r
r
e
n
t
_
H
s

]

=

h
e
i
g
h
t
s
(
c
u
r
r
e
n
t
_
e
t
a
,

t
)
;










i
f
(

m
o
d
(
i
,
3
0
)
=
=
0
)









f
i
g
u
r
e
;









%





s
u
b
p
l
o
t
(
3
,
2
,
3
)
,

h
i
s
t
(
w
a
v
e
_
h
e
i
g
h
t
s
,

1
5
)
;









%





t
i
t
l
e
(
'
W
a
v
e

H
e
i
g
h
t
s

H
i
s
t
o
g
r
a
m

(
H
m
o
d
e
)
'
)
;









%





x
l
a
b
e
l
(
'
H

(
m
)
'
)









%





s
u
b
p
l
o
t
(
3
,
2
,
4
)
,

h
i
s
t
(
p
e
r
i
o
d
s
,

1
5
)
;









%





t
i
t
l
e
(
'
W
a
v
e

P
e
r
i
o
d

H
i
s
t
o
g
r
a
m

(
T
m
o
d
e
)
'
)









%





x
l
a
b
e
l
(
'
T

(
s
)
'
)









%
P
l
o
t

s
h
o
w
s

h
o
w

c
o
i
l

o
u
t
p
u
t

c
o
r
r
e
s
p
o
n
d
s

t
o

i
n
p
u
t

w
a
v
e

t
i
m
e

s
e
r
i
e
s









%
p
l
o
t
(
w
g
_
t
i
m
e
,

e
t
a
*
1
0
0
,

'
b
'
,

W
E
C
_
t
i
m
e
,

P
2
,

'
m
'
,

W
E
C
_
t
i
m
e
,

V
c
o
i
l
,

'
r
'
)
;









s
u
b
p
l
o
t
(
3
,
1
,
1
)
,

p
l
o
t
(
t
(
1
:
l
e
n
g
t
h
(
c
u
r
r
e
n
t
_
e
t
a
)
)
,

(
c
u
r
r
e
n
t
_
e
t
a
)
*
1
0
0
,

'
b
'
)
;









t
i
t
l
e
(
'
E
t
a
,

D
C
/
D
C

P
o
w
e
r

O
u
t
,

a
n
d

C
o
i
l

V
o
l
t
a
g
e

v
s

t
i
m
e
'
)
;









l
e
g
e
n
d
(
'
E
t
a

(
c
m
)
'
)
%
,

'
P
o
w
e
r

o
u
t

(
m
W
)
'
,

'
C
o
i
l

V
o
l
t
a
g
e

(
V
)
'
)
;









x
l
a
b
e
l
(
'
t
i
m
e

(
s
)
'
)
;









s
u
b
p
l
o
t
(
3
,
1
,
3
)
,
s
t
e
m
(
p
o
s
_
f
r
e
q
s
,

2
*
p
w
r
_
s
p
e
c
(
1
:
n
_
s
e
g
/
2
+
1
)
,

'
b
'
)









t
i
t
l
e
(
'
I
n
c
i
d
e
n
t

W
a
v
e

P
o
w
e
r

S
p
e
c
t
r
u
m
'
)









x
l
a
b
e
l
(
'
f
r
e
q
u
e
n
c
i
e
s

(
H
z
)
'
)
;









y
l
a
b
e
l
(
'
S
x
x
'
)
;





e
n
d










v
a
r
i
a
n
c
e
(
i
+
1
)

=

w
g
_
p
w
r
_
s
p
e
c
_
v
a
r
;





H
m
o
(
i
+
1
)

=

c
u
r
r
e
n
t
_
H
m
o
;





T
p
(
i
+
1
)

=

T
p
_
c
u
r
r
e
n
t
;





L
p
(
i
+
1
)

=

c
u
r
r
e
n
t
_
L
p
;





k
p
(
i
+
1
)

=

c
u
r
r
e
n
t
_
k
p
;

e
n
d


C
.
5
.
5
:

h
e
i
g
h
t
s
.
m

Z
e
r
o

u
p
-
c
r
o
s
s
i
n
g

a
n
a
l
y
s
i
s

o
f

w
a
v
e

t
i
m
e

s
e
r
i
e
s

f
u
n
c
t
i
o
n

[
w
a
v
e
_
h
e
i
g
h
t
s
,

p
e
r
i
o
d
s
,

H
s

]

=

h
e
i
g
h
t
s
(
e
t
a
,

t
)

n
=
1
;

m
=
2
;

f
o
r

i

=

1
:
l
e
n
g
t
h
(
e
t
a
)





i
f
(
e
t
a
(
1
)
<
0
)









i
f
(
e
t
a
(
i
)
>
0
)













z
1
=
i
;













b
r
e
a
k









e
n
d





e
n
d





i
f
(
e
t
a
(
1
)
>
0
)









i
f
(
e
t
a
(
i
)
<
0
)













z
1
=
i
;













b
r
e
a
k
;









e
n
d





e
n
d

e
n
d

z
e
r
o
_
u
p
s
(
1
)

=

(
t
(
z
1
)
+
t
(
z
1
+
1
)
)
/
2
;

l
a
s
t
_
u
p
c
r
o
s
s
i
n
g

=

z
1
;

f
o
r

i

=

z
1
:
(
l
e
n
g
t
h
(
e
t
a
)
-
2
)





i
f
(

(
e
t
a
(
i
+
1
)

>

0
)

&

(
e
t
a
(
i
)

<

0
)

)









z
e
r
o
_
u
p
s
(
m
)

=

(
t
(
i
+
1
)

+

t
(
i
)
)
/
2
;









p
e
r
i
o
d
s
(
m
-
1
)

=

z
e
r
o
_
u
p
s
(
m
)
-
z
e
r
o
_
u
p
s
(
m
-
1
)
;









m

=

m
+
1
;









s
e
g
m
e
n
t

=

e
t
a
(
l
a
s
t
_
u
p
c
r
o
s
s
i
n
g
:
i
)
;









%
l
o
o
k

f
o
r

c
r
e
s
t
s









c
r
e
s
t
s
(
n
)

=

m
a
x
(
s
e
g
m
e
n
t
)
;









%
l
o
o
k

f
o
r

t
r
o
u
g
h
s









t
r
o
u
g
h
s
(
n
)

=

m
i
n
(
s
e
g
m
e
n
t
)
;









l
a
s
t
_
u
p
c
r
o
s
s
i
n
g

=

i
+
1
;









n

=

n
+
1
;





e
n
d

e
n
d

N

=

n
-
1
;

w
a
v
e
_
h
e
i
g
h
t
s

=

c
r
e
s
t
s
-
t
r
o
u
g
h
s
;

w
a
v
e
_
h
e
i
g
h
t
s

=

w
a
v
e
_
h
e
i
g
h
t
s
'
;

z
e
r
o
_
u
p
s

=

z
e
r
o
_
u
p
s
'
;

c
r
e
s
t
s

=

c
r
e
s
t
s
'
;

t
r
o
u
g
h
s

=

t
r
o
u
g
h
s
'
;

p
e
r
i
o
d
s

=

p
e
r
i
o
d
s
'
;

s
o
r
t
e
d
_
h
e
i
g
h
t
s

=

s
o
r
t
(
w
a
v
e
_
h
e
i
g
h
t
s
,

'
a
s
c
e
n
d
'
)
;

H
s
_
t
h
r
e
s
h
h
o
l
d

=

r
o
u
n
d
(
2
/
3
*
l
e
n
g
t
h
(
s
o
r
t
e
d
_
h
e
i
g
h
t
s
)
)
;

H
s

=

m
e
a
n
(
s
o
r
t
e
d
_
h
e
i
g
h
t
s
(
H
s
_
t
h
r
e
s
h
h
o
l
d
:
e
n
d
)
)
;



A
p
p
e
n
d
i
x

D
:

P
I
C

M
i
c
r
o
c
o
n
t
r
o
l
l
e
r

C
o
d
e

D
.
1
:


W
E
C
f
i
n
a
l
.
c


C
o
n
t
a
i
n
s

m
a
i
n

l
o
o
p

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
d
e
l
a
y
s
.
h
>

#
i
n
c
l
u
d
e

<
u
s
a
r
t
.
h
>

#
i
n
c
l
u
d
e

<
s
t
d
i
o
.
h
>

#
i
n
c
l
u
d
e

<
a
d
c
.
h
>

#
i
n
c
l
u
d
e

<
m
a
t
h
.
h
>

#
i
n
c
l
u
d
e

<
s
t
d
l
i
b
.
h
>

#
i
n
c
l
u
d
e

<
t
i
m
e
r
s
.
h
>

#
i
n
c
l
u
d
e

<
p
o
r
t
b
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

/
*
*
*
*

A
D
D
S

I
N
T
E
R
R
U
P
T
S

t
o

S
A
M
P
L
I
N
G

F
R
E
Q

C
O
N
T
R
O
L
,

D
A
T
A

L
O
G
G
E
R

(
1
1
5
2
0
0

b
a
u
d
)
,

R
T
C

a
n
d

A
D
C

*
*
*
*
/

/
/

*
*
*
*
*
*
*
*
*
*
*
*
*

C
O
N
F
I
G
U
R
A
T
I
O
N

B
I
T
S

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

/
/

#
p
r
a
g
m
a

c
o
n
f
i
g

O
S
C

=

H
S




/
/

o
s
c
i
l
l
a
t
o
r

s
e
l
e
c
t
i
o
n

#
p
r
a
g
m
a

c
o
n
f
i
g

F
C
M
E
N

=

O
F
F



/
/

f
a
i
l

s
a
f
e

c
l
o
c
k

m
o
n
i
t
o
r

#
p
r
a
g
m
a

c
o
n
f
i
g

I
E
S
O

=

O
F
F



/
/

i
n
t
e
r
n
a
l

e
x
t
e
r
n
a
l

o
s
c
i
l
l
a
t
o
r

s
w
i
t
c
h

o
v
e
r

#
p
r
a
g
m
a

c
o
n
f
i
g

P
W
R
T

=

O
N



/
/

p
o
w
e
r

u
p

t
i
m
e
r

#
p
r
a
g
m
a

c
o
n
f
i
g

B
O
R
E
N

=

O
F
F



/
/

b
r
o
w
n

o
u
t

r
e
s
e
t

#
p
r
a
g
m
a

c
o
n
f
i
g

W
D
T

=

O
F
F



/
/

w
a
t
c
h
d
o
g

t
i
m
e
r

#
p
r
a
g
m
a

c
o
n
f
i
g

M
C
L
R
E

=

O
N



/
/

M
C
L
R

e
n
a
b
l
e

#
p
r
a
g
m
a

c
o
n
f
i
g

L
P
T
1
O
S
C

=

O
F
F



/
/

T
1

o
s
c
i
l
l
a
t
o
r

e
n
a
b
l
e

#
p
r
a
g
m
a

c
o
n
f
i
g

P
B
A
D
E
N

=

O
F
F



/
/

p
o
r
t

B

A
/
D

e
n
a
b
l
e

#
p
r
a
g
m
a

c
o
n
f
i
g

C
C
P
2
M
X

=

P
O
R
T
C


/
/

C
C
P
2

m
u
x

#
p
r
a
g
m
a

c
o
n
f
i
g

S
T
V
R
E
N

=

O
F
F



/
/

s
t
a
c
k

o
v
e
r
f
l
o
w

r
e
s
e
t

#
p
r
a
g
m
a

c
o
n
f
i
g

L
V
P

=

O
F
F



/
/

l
o
w

v
o
l
t
a
g
e

I
C
S
P

/
/

*
*
*
*
*
*
*
*
*
*
*

V
A
R
I
A
B
L
E

D
E
C
L
A
R
A
T
I
O
N
S

*
*
*
*
*
*
*
*
*
*
*

/
/


/
/

*
*
*
*

U
s
e
r
-
d
e
f
i
n
e
d

c
o
n
s
t
a
n
t

v
a
r
i
a
b
l
e
s

*
*
*
*

/
/

i
n
t

s
a
m
p
l
e
_
f
r
e
q

=

5
1
2
;



/
/
s
a
m
p
l
i
n
g

f
r
e
q
u
e
n
c
y

i
n

H
z
;

u
s
e

5
1
2

f
o
r

a

w
a
v
e

u
p

t
o

5
H
z

i
n

f
r
e
q
.
,

w
i
t
h

f
c

=

5
0

o
n

f
i
l
t
e
r

i
n
t

T
_
r
e
c
o
r
d

=

1
8
0
0
;


/
/

r
e
c
o
r
d

l
e
n
g
t
h

i
n

s
e
c
o
n
d
s

i
n
t

r
e
c
o
r
d
_
f
r
e
q

=

8
;

i
n
t

b
i
t
s
_
t
o
_
s
h
i
f
t

=

6
;


/
/
b
i
t
s
_
t
o
_
s
h
i
f
t

=

l
o
g

b
a
s
e

2

o
f

(
s
a
m
p
l
e
_
f
r
e
q
/
r
e
c
o
r
d
_
f
r
e
q
)

f
l
o
a
t

R
s
e
n
s
e

=

1
0
;



/
/

i
n

O
h
m
s

f
l
o
a
t

R
s
e
n
s
e
1

=

1
0
;

/
/

*
*
*
*

D
a
t
a

v
a
r
i
a
b
l
e
s

*
*
*
*

/
/

i
n
t

v
o
l
a
t
i
l
e

A
D
C
s
e
n
s
e
,

A
D
C
l
o
a
d
,

A
D
C
c
o
i
l
,

A
D
C
s
e
n
s
e
1
;


u
n
s
i
g
n
e
d

l
o
n
g

v
o
l
a
t
i
l
e

A
D
C
s
e
n
s
e
_
s
u
m
,

A
D
C
l
o
a
d
_
s
u
m
,

A
D
C
c
o
i
l
_
s
u
m

,

A
D
C
s
e
n
s
e
1
_
s
u
m
;


i
n
t

A
D
C
s
e
n
s
e
_
w
r
i
t
e

=

0
,

A
D
C
l
o
a
d
_
w
r
i
t
e

=

0
,

A
D
C
c
o
i
l
_
w
r
i
t
e

=

0
,

A
D
C
s
e
n
s
e
1
_
w
r
i
t
e

=

0
;



/
/

*
*
*
*

C
l
o
c
k

v
a
r
i
a
b
l
e
s

*
*
*
*

/
/

u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

h
u
n
d
r
e
d
t
h
s
;

u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

h
o
u
r
s
;





u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

m
i
n
u
t
e
s
;






u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

s
e
c
o
n
d
s
;





u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

d
a
y
;







u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

m
o
n
t
h
;




u
n
s
i
g
n
e
d

c
h
a
r

v
o
l
a
t
i
l
e

y
e
a
r
;





/
/

*
*
*
*

S
a
m
p
l
e

r
a
t
e

V
a
r
i
a
b
l
e
s

*
*
*
*

/
/

u
n
s
i
g
n
e
d

f
a
r

r
a
m

c
h
a
r

D
a
t
e
H
e
a
d
e
r
[
1
4
]
;

u
n
s
i
g
n
e
d

f
a
r

r
a
m

c
h
a
r

W
r
i
t
e
B
u
f
f
e
r
[
6
0
]
;

v
o
l
a
t
i
l
e

i
n
t

s
a
m
p
l
e
_
c
o
u
n
t
e
r

=

0
;

v
o
l
a
t
i
l
e

c
h
a
r

W
r
i
t
e
F
l
a
g

=

0
;

l
o
n
g

j

=

0
;

i
n
t

s
a
m
p
l
e
s
_
p
e
r
_
a
v
g
;

i
n
t

n
;

i
n
t

k
;

/
/

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

/
/

/
/

*
*
*
*

I
S
R

d
e
c
l
a
r
a
t
i
o
n

*
*
*
*

/
/

v
o
i
d

R
T
C
_
s
a
m
p
l
e
_
I
S
R
(
v
o
i
d
)
;

#
p
r
a
g
m
a

c
o
d
e

h
i
g
h
_
v
e
c
t
o
r

=

0
x
0
8

/
/
h
i
g
h
-
p
r
i
o
r
i
t
y

i
n
t
e
r
r
u
p
t

v
o
i
d

i
n
t
e
r
r
u
p
t
_
a
t
_
h
i
g
h
_
v
e
c
t
o
r
(
v
o
i
d
)
{


_
a
s
m

G
O
T
O

R
T
C
_
s
a
m
p
l
e
_
I
S
R

_
e
n
d
a
s
m

}

#
p
r
a
g
m
a

c
o
d
e

#
p
r
a
g
m
a

i
n
t
e
r
r
u
p
t

R
T
C
_
s
a
m
p
l
e
_
I
S
R

v
o
i
d

R
T
C
_
s
a
m
p
l
e
_
I
S
R
(
v
o
i
d
)
{


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


S
e
t
C
h
a
n
A
D
C
(

A
D
C
_
C
H
4

)
;

/
/
N
o
t
e

t
h
a
t

V
r
e
f

i
s

o
n

C
H
3


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


C
o
n
v
e
r
t
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


A
D
C
s
e
n
s
e
1

=

R
e
a
d
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


S
e
t
C
h
a
n
A
D
C
(

A
D
C
_
C
H
0

)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


C
o
n
v
e
r
t
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


A
D
C
s
e
n
s
e

=

R
e
a
d
A
D
C
(
)
;





w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


S
e
t
C
h
a
n
A
D
C
(

A
D
C
_
C
H
1

)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


C
o
n
v
e
r
t
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


A
D
C
l
o
a
d

=

R
e
a
d
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


S
e
t
C
h
a
n
A
D
C
(

A
D
C
_
C
H
2

)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


C
o
n
v
e
r
t
A
D
C
(
)
;


w
h
i
l
e

(
B
u
s
y
A
D
C
(
)
)
;


A
D
C
c
o
i
l

=

R
e
a
d
A
D
C
(
)
;



A
D
C
s
e
n
s
e
_
s
u
m

+
=

A
D
C
s
e
n
s
e
;


A
D
C
l
o
a
d
_
s
u
m


+
=

A
D
C
l
o
a
d
;


A
D
C
c
o
i
l
_
s
u
m


+
=

A
D
C
c
o
i
l
;


A
D
C
s
e
n
s
e
1
_
s
u
m

+
=

A
D
C
s
e
n
s
e
1
;




s
a
m
p
l
e
_
c
o
u
n
t
e
r
+
+
;





i
f
(

A
D
C
c
o
i
l

<


1
9
8
1
)

/
/

3
V

o
n

c
o
i
l
.


6
6
0
.
2
3

A
D
C

c
o
u
n
t
s
/
v
o
l
t

f
r
o
m

c
a
l
i
b
r
a
t
i
o
n



{




P
O
R
T
B
b
i
t
s
.
R
B
5

=

0
;

/
/
D
e
-
a
c
t
i
v
a
t
e

s
w
i
t
c
h
,

r
e
m
o
v
i
n
g

D
C
/
D
C

c
o
n
v
e
r
t
e
r

f
r
o
m

c
i
r
c
u
i
t



}


e
l
s
e

i
f

(

A
D
C
c
o
i
l

>


3
3
0
1

)

/
/

5
V

o
n

c
o
i
l
.


6
6
0
.
2
3

A
D
C

c
o
u
n
t
s
/
v
o
l
t

f
r
o
m

c
a
l
i
b
r
a
t
i
o
n



{




P
O
R
T
B
b
i
t
s
.
R
B
5

=

1
;



}



/
/
e
l
s
e

m
a
i
n
t
a
i
n

c
u
r
r
e
n
t

o
p
e
r
a
t
i
o
n


i
f
(
s
a
m
p
l
e
_
c
o
u
n
t
e
r

=
=

s
a
m
p
l
e
s
_
p
e
r
_
a
v
g
-
1
)
{



s
a
m
p
l
e
_
c
o
u
n
t
e
r

=

0
;




W
r
i
t
e
F
l
a
g

=

1
;


}


I
N
T
C
O
N
b
i
t
s
.
I
N
T
0
I
F

=

0
;





/
/

c
l
e
a
r

I
N
T
0

i
n
t
e
r
r
u
p
t

f
l
a
g


}

/
/

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

/
/

/
/

*
*
*
*
*
*
*
*
*
*
*
*
*

M
A
I
N

P
R
O
G
R
A
M

*
*
*
*
*
*
*
*
*
*
*
*
*

/
/

v
o
i
d

m
a
i
n

(
v
o
i
d
)

{





O
p
e
n
P
O
R
T
B
(

P
O
R
T
B
_
P
U
L
L
U
P
S
_
O
N

)
;


T
R
I
S
C
b
i
t
s
.
T
R
I
S
C
3

=

0
;
/
/

c
o
n
f
i
g
u
r
e

S
C
L

a
s

a
n

o
u
t
p
u
t

f
o
r

I
2
C

m
a
s
t
e
r

m
o
d
e


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
5

=

0
;
/
/

D
C
/
D
C

c
o
n
v
e
r
t
e
r

s
w
i
t
c
h

c
o
n
t
r
o
l
l
e
r

(
N
P
N

l
o
w
-
s
i
d
e

l
o
a
d
:

1
=
o
n
,

0
=
o
f
f
)


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
4

=

0
;
/
/

L
o
g
o
m
a
t
i
c

r
e
s
e
t

p
i
n

3
7

(
N
P
N

h
i
g
h
-
s
i
d
e

l
o
a
d
:

1
=
5
V

o
n

l
o
a
d
,

0
=
0
V

o
n

l
o
a
d

)


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
3

=

0
;
/
/

L
o
g
o
m
a
t
i
c

s
t
o
p

p
i
n

3
6

(
N
P
N

h
i
g
h
-
s
i
d
e

l
o
a
d
)


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
2

=

0
;
/
/

L
o
g
o
m
a
t
i
c

p
o
w
e
r

p
i
n

3
5

(
P
N
P

l
o
w
-
s
i
d
e

l
o
a
d
:

1
=
o
f
f
,

0
=
o
n
)


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
1

=

0
;
/
/

E
n
a
b
l
e

f
o
r

4
.
0
9
6
V

r
e
f
e
r
e
n
c
e
;

0
=
o
f
f
,

5
V
=
o
n


T
R
I
S
B
b
i
t
s
.
T
R
I
S
B
0

=

1
;
/
/

i
n
p
u
t

s
q
u
a
r
e

w
a
v
e

f
r
o
m

R
T
C

-

I
N
T
0


P
O
R
T
B
b
i
t
s
.
R
B
1

=

1
;


/
/

e
n
a
b
l
e

v
o
l
t
a
g
e

r
e
f
e
r
e
n
c
e



P
O
R
T
B
b
i
t
s
.
R
B
3

=

0
;


/
/

s
t
a
r
t

w
i
t
h

r
e
s
e
t

a
n
d

s
t
o
p

p
i
n
s

h
i

o
n

L
o
g
o
m
a
t
i
c

(
o
f
f
)


P
O
R
T
B
b
i
t
s
.
R
B
4

=

0
;


P
O
R
T
B
b
i
t
s
.
R
B
5

=

0
;


/
/

s
t
a
r
t

w
i
t
h

D
C
/
D
C

c
o
n
v
e
r
t
e
r

r
e
m
o
v
e
d

f
r
o
m

c
i
r
c
u
i
t

(
s
w
i
t
c
h

o
f
f
)


n

=

r
e
c
o
r
d
_
f
r
e
q

*

T
_
r
e
c
o
r
d
;


/
/
n
u
m
b
e
r

o
f

s
a
m
p
l
e
s

w
r
i
t
t
e
n

t
o

m
e
m
o
r
y


s
a
m
p
l
e
s
_
p
e
r
_
a
v
g

=

s
a
m
p
l
e
_
f
r
e
q
/
r
e
c
o
r
d
_
f
r
e
q
;

/
/

A
D
C
O
N
1

=

0
0
0
1
1
0
1
0
;



/
/
S
e
t

f
i
r
s
t

5

A
D
C

p
o
r
t
s

t
o

a
n
a
l
o
g

(
a
u
t
o
m
a
t
i
c
)




P
O
R
T
B
b
i
t
s
.
R
B
2

=

0
;


/
/

t
u
r
n

L
o
g
o
m
a
t
i
c

o
n


S
e
t
C
l
o
c
k
(
)
;




/
/
s
e
t

t
i
m
e

o
n

R
T
C

i
f

i
t

h
a
s

l
o
s
t

p
o
w
e
r

(
c
o
m
m
e
n
t

o
u
t

o
t
h
e
r
w
i
s
e
)


C
o
n
f
i
g
R
T
C
S
q
(
s
a
m
p
l
e
_
f
r
e
q
)
;


O
p
e
n
U
S
A
R
T
(
U
S
A
R
T
_
T
X
_
I
N
T
_
O
F
F

&

U
S
A
R
T
_
R
X
_
I
N
T
_
O
F
F

&

U
S
A
R
T
_
A
S
Y
N
C
H
_
M
O
D
E

&




U
S
A
R
T
_
E
I
G
H
T
_
B
I
T

&

U
S
A
R
T
_
C
O
N
T
_
R
X

&

U
S
A
R
T
_
B
R
G
H
_
H
I
G
H
,

1
0
)
;


O
p
e
n
A
D
C
(
A
D
C
_
F
O
S
C
_
3
2

&

A
D
C
_
R
I
G
H
T
_
J
U
S
T

&

A
D
C
_
0
_
T
A
D
,




A
D
C
_
C
H
0

&

A
D
C
_
I
N
T
_
O
F
F

&

A
D
C
_
R
E
F
_
V
R
E
F
P
L
U
S
_
V
S
S
,

1
0
)
;




A
D
C
s
e
n
s
e
_
s
u
m

=

0
;


A
D
C
l
o
a
d
_
s
u
m


=

0
;


A
D
C
c
o
i
l
_
s
u
m


=

0
;


A
D
C
s
e
n
s
e
1
_
s
u
m

=

0
;


R
e
a
d
C
l
o
c
k
(
)
;




C
o
n
v
e
r
t
T
i
m
e
(
)
;


k
=
1
;


w
h
i
l
e
(
k
<
2
0
)
{



D
e
l
a
y
1
0
K
T
C
Y
x
(
8
0
0
)
;

/
/

d
e
l
a
y

a
t

p
o
w
e
r

u
p

t
o

a
l
l
o
w

L
o
g
o
m
a
t
i
c

t
o

p
r
e
p
a
r
e

f
o
r

r
e
c
e
i
v
i
n
g

m
e
t
a
d
a
t
a



k
=
k
+
1
;


}

/
/
e
n
d

o
f

w
h
i
l
e


s
p
r
i
n
t
f
(
D
a
t
e
H
e
a
d
e
r
,
"
%
0
2
d

%
0
2
d

2
0
%
0
2
d
\
r
"
,
d
a
y
,
m
o
n
t
h
,
y
e
a
r
)
;


/
/
n
o
t

e
n
o
u
g
h

t
i
m
e

t
o

w
r
i
t
e

e
n
t
i
r
e

d
a
t
a

s
t
r
i
n
g

d
u
r
i
n
g

l
o
o
p

a
t

f
s
=
5
1
2
,

f
r
e
c
o
r
d
=
4
,

s
o

w
r
i
t
e

b
a
s
e

i
n
f
o

a
t

t
o
p

o
f

f
i
l
e


w
h
i
l
e
(

B
u
s
y
U
S
A
R
T
(
)

)
;


T
X
S
T
A
b
i
t
s
.
S
E
N
D
B

=

0
;


p
u
t
s
U
S
A
R
T
(
D
a
t
e
H
e
a
d
e
r
)
;


w
h
i
l
e
(

B
u
s
y
U
S
A
R
T
(
)

)
;


p
u
t
r
s
U
S
A
R
T
(
"
h
o
u
r
s

m
i
n
s

s
e
c
o
n
d
s

V
c
o
i
l

V
s
e
n
s
e
1

V
s
e
n
s
e

V
l
o
a
d
\
r
"
)
;


/
/

I
n
i
t
i
a
l
i
z
e

e
x
t
e
r
n
a
l

I
N
T
0

i
n
t
e
r
r
u
p
t
,

w
h
i
c
h

i
s

a
l
w
a
y
s

h
i
g
h

p
r
i
o
r
i
t
y


I
N
T
C
O
N
b
i
t
s
.
I
N
T
0
I
F

=

0
;




/
/

S
t
a
r
t

w
i
t
h

I
N
T
0

i
n
t
e
r
r
u
p
t

f
l
a
g

c
l
e
a
r


I
N
T
C
O
N
2
b
i
t
s
.
I
N
T
E
D
G
0

=

0
;




/
/

I
n
t
e
r
r
u
p
t

o
n

f
a
l
l
i
n
g

e
d
g
e


I
N
T
C
O
N
b
i
t
s
.
I
N
T
0
I
E

=

1
;





/
/

E
n
a
b
l
e

I
N
T
0

i
n
t
e
r
r
u
p
t


I
N
T
C
O
N
b
i
t
s
.
G
I
E

=

1
;





/
/

G
l
o
b
a
l

i
n
t
e
r
r
u
p
t

e
n
a
b
l
e


I
N
T
C
O
N
b
i
t
s
.
R
B
I
E

=

0
;





/
/

d
i
s
a
b
l
e

R
B

i
n
t
e
r
r
u
p
t



I
N
T
C
O
N
b
i
t
s
.
T
M
R
0
I
E

=

0
;




/
/

d
i
s
a
b
l
e

T
M
R
0

i
n
t
e
r
r
u
p
t



w
h
i
l
e
(
1
)
{




/
/

P
O
R
T
B
b
i
t
s
.
R
B
2

=

0
;


/
/

t
u
r
n

L
o
g
o
m
a
t
i
c

o
n



i
f
(
W
r
i
t
e
F
l
a
g
)
{




W
r
i
t
e
F
l
a
g

=

0
;




j
+
+
;




A
D
C
s
e
n
s
e
_
w
r
i
t
e

=

A
D
C
s
e
n
s
e
_
s
u
m

>
>

b
i
t
s
_
t
o
_
s
h
i
f
t
;




A
D
C
l
o
a
d
_
w
r
i
t
e

=

A
D
C
l
o
a
d
_
s
u
m

>
>

b
i
t
s
_
t
o
_
s
h
i
f
t
;




A
D
C
c
o
i
l
_
w
r
i
t
e

=

A
D
C
c
o
i
l
_
s
u
m

>
>

b
i
t
s
_
t
o
_
s
h
i
f
t
;




A
D
C
s
e
n
s
e
1
_
w
r
i
t
e

=

A
D
C
s
e
n
s
e
1
_
s
u
m

>
>

b
i
t
s
_
t
o
_
s
h
i
f
t
;




A
D
C
s
e
n
s
e
_
s
u
m

=

0
;




A
D
C
l
o
a
d
_
s
u
m


=

0
;




A
D
C
c
o
i
l
_
s
u
m


=

0
;




A
D
C
s
e
n
s
e
1
_
s
u
m

=

0
;




R
e
a
d
C
l
o
c
k
(
)
;






C
o
n
v
e
r
t
T
i
m
e
(
)
;




s
p
r
i
n
t
f
(
W
r
i
t
e
B
u
f
f
e
r
,
"
%
0
2
d

%
0
2
d

%
0
2
d
.
%
0
2
d

%
d

%
d

%
d

%
d
\
r
"
,

h
o
u
r
s
,

m
i
n
u
t
e
s
,

s
e
c
o
n
d
s
,

h
u
n
d
r
e
d
t
h
s
,




A
D
C
c
o
i
l
_
w
r
i
t
e
,

A
D
C
s
e
n
s
e
1
_
w
r
i
t
e
,

A
D
C
s
e
n
s
e
_
w
r
i
t
e
,

A
D
C
l
o
a
d
_
w
r
i
t
e
)
;





w
h
i
l
e
(

B
u
s
y
U
S
A
R
T
(
)

)
;




T
X
S
T
A
b
i
t
s
.
S
E
N
D
B

=

0
;




p
u
t
s
U
S
A
R
T
(
W
r
i
t
e
B
u
f
f
e
r
)
;




w
h
i
l
e
(

B
u
s
y
U
S
A
R
T
(
)

)
;




i
f

(
j

=
=

n
)
{





I
N
T
C
O
N
b
i
t
s
.
I
N
T
0
I
E

=

0
;


/
/

D
i
s
a
b
l
e

I
N
T
0

i
n
t
e
r
r
u
p
t





P
O
R
T
B
b
i
t
s
.
R
B
3

=

1
;


/
/
s
t
o
p

f
i
l
e






D
e
l
a
y
1
0
K
T
C
Y
x
(
5
0
0
0
)
;


/
/

1
s

d
e
l
a
y





P
O
R
T
B
b
i
t
s
.
R
B
4

=

1
;


/
/
r
e
s
e
t





D
e
l
a
y
1
0
K
T
C
Y
x
(
5
0
0
0
)
;


/
/

1
s

d
e
l
a
y





P
O
R
T
B
b
i
t
s
.
R
B
3

=

0
;


/
/
s
t
o
p

f
i
l
e






P
O
R
T
B
b
i
t
s
.
R
B
4

=

0
;


/
/
r
e
s
e
t





j

=

0
;





s
a
m
p
l
e
_
c
o
u
n
t
e
r

=

0
;






I
N
T
C
O
N
b
i
t
s
.
I
N
T
0
I
E

=

1
;


/
/

E
n
a
b
l
e

I
N
T
0

i
n
t
e
r
r
u
p
t




}



}
/
/
e
n
d

o
f

i
f


}
/
/
e
n
d

o
f

w
h
i
l
e

}
/
/
e
n
d

o
f

m
a
i
n

D
.
2
:

C
o
n
f
i
g
R
T
C
s
q
.
c

P
r
o
g
r
a
m
s

s
q
u
a
r
e

w
a
v
e

o
u
t
p
u
t

p
i
n

s

f
r
e
q
u
e
n
c
y

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
i
2
c
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

v
o
i
d

C
o
n
f
i
g
R
T
C
S
q
(

i
n
t

H
z

)


{


c
h
a
r

R
S
3
_
0
;



i
n
t

i
;

/
/
f
o
r

d
e
b
u
g
g
i
n
g




/
/
C
o
n
f
i
g
u
r
e

f
r
e
q
u
e
n
c
y

o
f

s
q
u
a
r
e

w
a
v
e

o
u
t
p
u
t

o
n

R
T
C

p
i
n

7


s
w
i
t
c
h
(
H
z
)



{



c
a
s
e

1
:




R
S
3
_
0

=

0
b
1
1
1
1
0
0
0
0
;




b
r
e
a
k
;



c
a
s
e

2
:




R
S
3
_
0

=

0
b
1
1
1
0
0
0
0
0
;




b
r
e
a
k
;




c
a
s
e

4
:




R
S
3
_
0

=

0
b
1
1
0
1
0
0
0
0
;




b
r
e
a
k
;




c
a
s
e

8
:




R
S
3
_
0

=

0
b
1
1
0
0
0
0
0
0
;




b
r
e
a
k
;



c
a
s
e

1
6
:




R
S
3
_
0

=

0
b
1
0
1
1
0
0
0
0
;





b
r
e
a
k
;




c
a
s
e

3
2
:




R
S
3
_
0

=

0
b
1
0
1
0
0
0
0
0
;




b
r
e
a
k
;




c
a
s
e

6
4
:




R
S
3
_
0

=

0
b
1
0
0
1
0
0
0
0
;




b
r
e
a
k
;



c
a
s
e

1
2
8
:




R
S
3
_
0

=

0
b
1
0
0
0
0
0
0
0
;





b
r
e
a
k
;



c
a
s
e

2
5
6
:




R
S
3
_
0

=

0
b
0
1
1
1
0
0
0
0
;




b
r
e
a
k
;




c
a
s
e

5
1
2
:




R
S
3
_
0

=

0
b
0
1
1
0
0
0
0
0
;




b
r
e
a
k
;



c
a
s
e

1
0
2
4
:




R
S
3
_
0

=

0
b
0
1
0
1
0
0
0
0
;





b
r
e
a
k
;




d
e
f
a
u
l
t
:




R
S
3
_
0

=

0
b
0
0
0
0
0
0
0
0
;

/
/
n
o

s
q
u
a
r
e

w
a
v
e




b
r
e
a
k
;


}


/
/

C
o
n
f
i
g
u
r
e

a
n
d

o
p
e
n

t
h
e

I
2
C

p
o
r
t






O
p
e
n
I
2
C
(

M
A
S
T
E
R
,

S
L
E
W
_
O
N
)
;



/
/
R
T
C

c
o
m
m
u
n
i
c
a
t
e
s

a
t

4
0
0
k
H
z
,

s
o

s
l
e
w

r
a
t
e

c
o
n
t
r
o
l

m
u
s
t

b
e

e
n
a
b
l
e
d


S
S
P
A
D
D

=

0
x
0
B
;


/
/
R
T
C

a
d
d
r
e
s
s

=

0
x
D
0

=

0
b
1
1
0
1
0
0
0
0


/
/
S
Q
W
E

(
S
q
u
a
r
e

w
a
v
e

e
n
a
b
l
e
)

a
d
d
r
e
s
s

i
s

0
x
0
A

b
i
t

6


I
2
C
B
y
t
e
W
r
i
t
e
(

0
x
D
0
,

0
x
0
A

,

0
b
0
1
0
0
0
0
0
0

)
;


/
/
S
Q
W

a
d
d
r
e
s
s

=

0
x
1
3

=

1
9
;


I
2
C
B
y
t
e
W
r
i
t
e
(

0
x
D
0
,

0
x
1
3

,

R
S
3
_
0

)
;


i

=

3
;


C
l
o
s
e
I
2
C
(
)
;

}



D
.
3
:


C
o
n
v
e
r
t
T
i
m
e
.
c

R
e
f
o
r
m
a
t
s

t
i
m
e

d
a
t
a

f
r
o
m

B
C
D

t
o

d
e
c
i
m
a
l

f
o
r
m
a
t

/
*
*
*
*

A
d
a
p
t
e
d

f
o
r

P
I
C
1
8
F

f
r
o
m

c
o
d
e

w
r
i
t
t
e
n

b
y

T
o
n
y

C
i
m
a
g
l
i
a

o
f

O
c
e
a
n

R
e
c
o
n

f
o
r

a

d
s
P
I
C
3
0


*
*
*
*
/

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

v
o
i
d

C
o
n
v
e
r
t
T
i
m
e
(
v
o
i
d
)

{


e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

h
u
n
d
r
e
d
t
h
s
;



e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

h
o
u
r
s
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

m
i
n
u
t
e
s
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

s
e
c
o
n
d
s
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

d
a
y
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

m
o
n
t
h
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

y
e
a
r
;




h
u
n
d
r
e
d
t
h
s

=

(
(
h
u
n
d
r
e
d
t
h
s

&

0
b
1
1
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
h
u
n
d
r
e
d
t
h
s

&

0
b
0
0
0
0
1
1
1
1
)
;


/
/

c
o
n
v
e
r
t

h
u
n
d
r
e
d
t
h
s

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l


s
e
c
o
n
d
s

=

(
(
s
e
c
o
n
d
s

&

0
b
0
1
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
s
e
c
o
n
d
s

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

s
e
c
o
n
d
s

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l


m
i
n
u
t
e
s

=

(
(
m
i
n
u
t
e
s


&

0
b
0
1
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
m
i
n
u
t
e
s

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

m
i
n
u
t
e
s

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l


h
o
u
r
s



=

(
(
h
o
u
r
s

&

0
b
0
0
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
h
o
u
r
s

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

h
o
u
r
s

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a


d
a
y





=

(
(
d
a
y

&

0
b
0
0
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
d
a
y

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

d
a
y

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l


m
o
n
t
h



=

(
(
m
o
n
t
h

&

0
b
0
0
0
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
m
o
n
t
h

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

m
o
n
t
h

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l


y
e
a
r




=

(
(
y
e
a
r

&

0
b
1
1
1
1
0
0
0
0
)
>
>
4
)
*
1
0
+
(
y
e
a
r

&

0
b
0
0
0
0
1
1
1
1
)
;

/
/

c
o
n
v
e
r
t

y
e
a
r

f
r
o
m

B
C
D

t
o

d
e
c
m
i
a
l

}

D
.
4
:

I
2
C
B
y
t
e
W
r
i
t
e
.
c

W
r
i
t
e
s

a

b
y
t
e

o
f

d
a
t
a

f
r
o
m

t
h
e

R
T
C

t
o

t
h
e

P
I
C

v
i
a

t
h
e

I
2
C

b
u
s

/
*

*
*
*
*

B
a
s
e
d

o
n

E
E
B
y
t
e
W
r
i
t
e
(
)

w
r
i
t
t
e
n

b
y

T
o
n
y

C
i
m
a
g
l
i
a

o
f

O
c
e
a
n

R
e
c
o
n

A
d
a
p
t
e
d

f
o
r

P
I
C
1
8
F

f
r
o
m

d
s
P
I
C
.

I
n
t
e
n
d
e
d

f
o
r

u
s
e

i
n

I
2
C

M
a
s
t
e
r

m
o
d
e

W
r
i
t
e
s

o
n
e

b
y
t
e

o
f

d
a
t
a

t
o

a

o
n
e
-
b
y
t
e

a
d
r
r
e
s
s
a
b
l
e

I
2
C

d
e
v
i
c
e

*
*
*
*

*
/

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
i
2
c
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

v
o
i
d

I
2
C
B
y
t
e
W
r
i
t
e
(

u
n
s
i
g
n
e
d

c
h
a
r

c
o
n
t
r
o
l
1
,

/
/
a
d
d
r
e
s
s

b
y
t
e

o
f

d
e
v
i
c
e







u
n
s
i
g
n
e
d

c
h
a
r

a
d
d
r
e
s
s
,

/
/
a
d
d
r
e
s
s

l
o
c
a
t
i
o
n

o
n

d
e
v
i
c
e






u
n
s
i
g
n
e
d

c
h
a
r

d
a
t
a

)

/
/
d
a
t
a

t
o

b
e

w
r
i
t
t
e
n

t
o

t
h
e

l
o
c
a
t
i
o
n


{


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


S
t
a
r
t
I
2
C
(
)
;




/
/

I
2
C

s
t
a
r
t

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
S
E
N
)
;


/
/

w
a
i
t

u
n
t
i
l

e
n
d

o
f

s
t
a
r
t

c
o
n
d
i
t
i
o
n


I
d
l
e
I
2
C
(
)
;


W
r
i
t
e
I
2
C
(
c
o
n
t
r
o
l
1
)
;



/
/

s
e
n
d

t
h
e

s
l
a
v
e

a
d
d
r
e
s
s
,

c
o
n
t
r
o
l

c
o
d
e


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


/
/
w
a
i
t

u
n
t
i
l

a
d
d
r
e
s
s

i
s

t
r
a
n
s
m
i
t
t
e
d


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


/
/
t
e
s
t

f
o
r

A
C
K

c
o
n
d
i
t
i
o
n

r
e
c
e
i
v
e
d


I
d
l
e
I
2
C
(
)
;


W
r
i
t
e
I
2
C
(
a
d
d
r
e
s
s
)
;



/
/

s
e
n
d

t
h
e

a
d
d
r
e
s
s

w
h
e
r
e

t
h
e

d
a
t
a

s
h
o
u
l
d

b
e

w
r
i
t
t
e
n


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


I
d
l
e
I
2
C
(
)
;


W
r
i
t
e
I
2
C
(
d
a
t
a
)
;



/
/
s
e
n
d

d
a
t
a

t
o

b
e

w
r
i
t
t
e
n


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


I
d
l
e
I
2
C
(
)
;


S
t
o
p
I
2
C
(
)
;




/
/

s
t
a
r
t

t
h
e

s
t
o
p

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
P
E
N
)
;



/
/

w
a
i
t

u
n
t
i
l

s
t
o
p

c
o
n
d
i
t
i
o
n

i
s

o
v
e
r


I
d
l
e
I
2
C
(
)
;

}

D
.
5

I
2
C
R
a
n
d
o
m
R
e
a
d
.
c

/
*

A
d
a
p
t
e
d

f
o
r

u
s
e

w
i
t
h

a

P
I
C
1
8
F

f
r
o
m

c
o
d
e

w
r
i
t
t
e
n

b
y

T
o
n
y

C
i
m
a
g
l
i
a

f
o
r

a

d
s
P
I
C
3
0
.

R
e
a
d
s

o
n
e

b
y
t
e

o
f

d
a
t
a

f
r
o
m

a

o
n
e
-
b
y
t
e

a
d
d
r
e
s
s

d
e
v
i
c
e

*
/

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
i
2
c
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

u
n
s
i
g
n
e
d

c
h
a
r

I
2
C
R
a
n
d
o
m
R
e
a
d
(

u
n
s
i
g
n
e
d

c
h
a
r

c
o
n
t
r
o
l
,

/
/

a
d
d
r
e
s
s

b
y
t
e

o
f

d
e
c
i
v
e

w
i
t
h

0

i
n

l
a
s
t

b
i
t

f
o
r

"
w
r
i
t
e
"















/
/
u
n
s
i
g
n
e
d

c
h
a
r

a
d
d
r
e
s
s

)

a
d
d
r
e
s
s

o
f

l
o
a
c
t
i
o
n

i
n

d
e
v
i
c
e

{


u
n
s
i
g
n
e
d

c
h
a
r

d
a
t
a

=

'
0
'
;


/
/

v
a
r
i
a
b
l
e

t
o

h
o
l
d

r
e
a
d

d
a
t
a


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


S
t
a
r
t
I
2
C
(
)
;




/
/

I
2
C

s
t
a
r
t

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
S
E
N
)
;


/
/

w
a
i
t

u
n
t
i
l

e
n
d

o
f

s
t
a
r
t

c
o
n
d
i
t
i
o
n


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


W
r
i
t
e
I
2
C
(
c
o
n
t
r
o
l
)
;



/
/

s
e
n
d

t
h
e

s
l
a
v
e

a
d
d
r
e
s
s

(
p
l
u
s

w
r
i
t
e

c
o
n
d
i
t
i
o
n

L
S
B
)


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


/
/
w
a
i
t

u
n
t
i
l

a
d
d
r
e
s
s

i
s

t
r
a
n
s
m
i
t
t
e
d


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


/
/
t
e
s
t

f
o
r

A
C
K

c
o
n
d
i
t
i
o
n

r
e
c
e
i
v
e
d


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


W
r
i
t
e
I
2
C
(
a
d
d
r
e
s
s
)
;



/
/

s
e
n
d

t
h
e

s
l
a
v
e

a
d
d
r
e
s
s


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


I
d
l
e
I
2
C
(
)
;



S
t
o
p
I
2
C
(
)
;




/
/

s
t
a
r
t

t
h
e

s
t
o
p

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
P
E
N
)
;



/
/

w
a
i
t

t
i
l
l

s
t
o
p

c
o
n
d
i
t
i
o
n

i
s

o
v
e
r




c
o
n
t
r
o
l

+
=
1
;




/
/

s
e
t

l
a
s
t

b
i
t

o
f

c
o
n
t
r
o
l

t
o

1

t
o

i
n
d
i
c
a
t
e

r
e
a
d

a
c
t
i
o
n




I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


S
t
a
r
t
I
2
C
(
)
;




/
/

I
2
C

s
t
a
r
t

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
S
E
N
)
;


/
/

w
a
i
t

u
n
t
i
l

e
n
d

o
f

s
t
a
r
t

c
o
n
d
i
t
i
o
n


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


W
r
i
t
e
I
2
C
(
c
o
n
t
r
o
l
)
;



/
/

s
e
n
d

t
h
e

s
l
a
v
e

a
d
d
r
e
s
s

(
p
l
u
s

r
e
a
d

c
o
n
d
i
t
i
o
n
)


w
h
i
l
e
(
S
S
P
S
T
A
T
b
i
t
s
.
B
F
)
;


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t
s

f
o
r

I
2
C

p
o
r
t

t
o

b
e
c
o
m
e

i
d
l
e


d
a
t
a

=

R
e
a
d
I
2
C
(
)
;



/
/

r
e
a
d

a

d
a
t
a

b
y
t
e

f
r
o
m

t
h
e

b
u
s


N
o
t
A
c
k
I
2
C
(
)
;




/
/

s
e
n
d

n
o
t

a
c
k
n
o
w
l
a
g
e

b
i
t

t
o

e
n
d

r
e
a
d
i
n
g


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
A
C
K
S
T
A
T
)
;


I
d
l
e
I
2
C
(
)
;




S
t
o
p
I
2
C
(
)
;




/
/

s
t
a
r
t

t
h
e

s
t
o
p

c
o
n
d
i
t
i
o
n


w
h
i
l
e
(
S
S
P
C
O
N
2
b
i
t
s
.
P
E
N
)
;


/
/

w
a
i
t

u
n
t
i
l

s
t
o
p

c
o
n
d
i
t
i
o
n

i
s

o
v
e
r


I
d
l
e
I
2
C
(
)
;




/
/

w
a
i
t

u
n
t
i
l

t
h
e

b
u
s

i
s

i
d
l
e


r
e
t
u
r
n

d
a
t
a
;




/
/

r
e
t
u
r
n

t
h
e

d
a
t
a

}

D
.
6
:

R
e
a
d
C
l
o
c
k
.
c

/
/

A
d
a
p
t
e
d

f
o
r

P
I
C
1
8
F

f
r
o
m

c
o
d
e

w
r
i
t
t
e
n

b
y

T
o
n
y

C
i
m
a
g
l
i
a

f
o
r






/
/

/
/

a

d
s
P
I
C
3
0

f
o
r

O
c
e
a
n

R
e
s
e
a
r
c
h

a
n
d

C
o
n
s
e
r
v
a
t
i
o
n

A
s
s
o
c
i
a
t
i
o
n





/
/

/
/

T
h
i
s

p
r
o
g
r
a
m

r
e
a
d
s

t
h
e

R
T
C
.










/
/

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
i
2
c
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

v
o
i
d

R
e
a
d
C
l
o
c
k
(
v
o
i
d
)







{


e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

h
u
n
d
r
e
d
t
h
s
;


e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

s
e
c
o
n
d
s
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

m
i
n
u
t
e
s
;







e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

h
o
u
r
s
;





e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

d
a
y
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

m
o
n
t
h
;






e
x
t
e
r
n

u
n
s
i
g
n
e
d

v
o
l
a
t
i
l
e

c
h
a
r

y
e
a
r
;







/
/

C
o
n
f
i
g
u
r
e

a
n
d

o
p
e
n

t
h
e

I
2
C

p
o
r
t






O
p
e
n
I
2
C
(

M
A
S
T
E
R
,

S
L
E
W
_
O
N
)
;



/
/
R
T
C

c
o
m
m
u
n
i
c
a
t
e
s

a
t

4
0
0
k
H
z
,

s
o

s
l
e
w

r
a
t
e

c
o
n
t
r
o
l

m
u
s
t

b
e

e
n
a
b
l
e
d


S
S
P
A
D
D

=

0
x
0
B
;

/
*



(
I
2
C
_
O
N

&

I
2
C
_
I
D
L
E
_
S
T
O
P

&

I
2
C
_
C
L
K
_
H
L
D

&

I
2
C
_
I
P
M
I
_
D
I
S

&

I
2
C
_
7
B
I
T
_
A
D
D




&

I
2
C
_
S
L
W
_
D
I
S

&

I
2
C
_
S
M
_
D
I
S

&

I
2
C
_
G
C
A
L
L
_
D
I
S

&

I
2
C
_
S
T
R
_
D
I
S

&




I
2
C
_
N
A
C
K

&

I
2
C
_
A
C
K
_
D
I
S

&

I
2
C
_
R
C
V
_
D
I
S

&

I
2
C
_
S
T
O
P
_
D
I
S

&

I
2
C
_
R
E
S
T
A
R
T
_
D
I
S




&

I
2
C
_
S
T
A
R
T
_
D
I
S
,

0
x
0
7
)
;


*
/


h
u
n
d
r
e
d
t
h
s


=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

0
)
;



/
/

r
e
a
d

h
u
n
d
r
e
d
t
h
s

f
r
o
m

c
l
o
c
k


s
e
c
o
n
d
s


=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

1
)
;


/
/

r
e
a
d

s
e
c
o
n
d
s

f
r
o
m

c
l
o
c
k


m
i
n
u
t
e
s


=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

2
)
;


/
/

r
e
a
d

m
i
n
u
t
e
s

f
r
o
m

c
l
o
c
k


h
o
u
r
s




=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

3
)
;


/
/

r
e
a
d

h
o
u
r
s

f
r
o
m

c
l
o
c
k


d
a
y



=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

5
)
;

/
/

r
e
a
d

d
a
y

f
r
o
m

c
l
o
c
k


m
o
n
t
h


=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

6
)
;


/
/

r
e
a
d

m
o
n
t
h

f
r
o
m

c
l
o
c
k


y
e
a
r


=

I
2
C
R
a
n
d
o
m
R
e
a
d
(
0
b
1
1
0
1
0
0
0
0
,

7
)
;


/
/

r
e
a
d

y
e
a
r

f
r
o
m

c
l
o
c
k




C
l
o
s
e
I
2
C
(
)
;

}

D
.
7
:

S
e
t
C
l
o
c
k
.
c

/
/

*
*
*
*

A
d
a
p
t
e
d

f
o
r

t
h
e

P
I
C
1
8
f

f
r
o
m

T
o
n
y

C
i
m
a
g
l
i
a
'
s

S
e
t
C
l
o
c
k
(
)

f
u
n
c
t
i
o
n

/
/


w
r
i
t
t
e
n

f
o
r

t
h
e

d
s
P
I
C
3
0

f
o
r

O
c
e
a
n

R
e
c
o
n



*
*
*
*

/
/

#
i
n
c
l
u
d
e

<
p
1
8
f
4
5
2
3
.
h
>

#
i
n
c
l
u
d
e

<
s
t
d
i
o
.
h
>

#
i
n
c
l
u
d
e

<
u
s
a
r
t
.
h
>

#
i
n
c
l
u
d
e

<
i
2
c
.
h
>

#
i
n
c
l
u
d
e

"
w
e
c
.
h
"

v
o
i
d

S
e
t
C
l
o
c
k
(
v
o
i
d
)

{


c
h
a
r

C
l
o
c
k
B
u
f
f
e
r
[
1
3
]

=

{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}
;


u
n
s
i
g
n
e
d

i
n
t

D
a
t
a
I
n

=

0
;


c
h
a
r

j

=

0
;


c
h
a
r

T
x
D
a
t
a
[
2
8
]
;


u
n
s
i
g
n
e
d

c
h
a
r

h
o
u
r
s
;






u
n
s
i
g
n
e
d

c
h
a
r

m
i
n
u
t
e
s
;







u
n
s
i
g
n
e
d

c
h
a
r

s
e
c
o
n
d
s
;






u
n
s
i
g
n
e
d

c
h
a
r

d
a
y
;








u
n
s
i
g
n
e
d

c
h
a
r

m
o
n
t
h
;





c
h
a
r

y
e
a
r
;



/
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

S
e
t

u
p

U
A
R
T

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
/




O
p
e
n
U
S
A
R
T
(
U
S
A
R
T
_
T
X
_
I
N
T
_
O
F
F

&

U
S
A
R
T
_
R
X
_
I
N
T
_
O
F
F

&

U
S
A
R
T
_
A
S
Y
N
C
H
_
M
O
D
E

&




U
S
A
R
T
_
E
I
G
H
T
_
B
I
T

&

U
S
A
R
T
_
C
O
N
T
_
R
X

&

U
S
A
R
T
_
B
R
G
H
_
H
I
G
H
,

1
0
)
;


/
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
/


T
X
S
T
A
b
i
t
s
.
S
E
N
D
B

=

0
;


s
p
r
i
n
t
f
(
T
x
D
a
t
a
,

"
\
r
\
n
S
e
t

C
l
o
c
k
\
r
\
n
Y
Y
M
M
D
D
H
H
M
M
S
S
>
\
0
"
)
;





w
h
i
l
e
(
B
u
s
y
U
S
A
R
T
(
)
)
;


p
u
t
s
U
S
A
R
T
(
T
x
D
a
t
a
)
;


w
h
i
l
e
(
B
u
s
y
U
S
A
R
T
(
)
)
;


j

=

0
;



/
/

G
e
t

I
n
c
o
m
m
i
n
g

T
i
m
e

D
a
t
a


w
h
i
l
e
(
D
a
t
a
I
n

!
=

0
x
0
D
)


{



w
h
i
l
e
(
!
P
I
R
1
b
i
t
s
.
R
C
I
F
)
;



D
a
t
a
I
n

=

R
C
R
E
G
;



P
I
R
1
b
i
t
s
.
R
C
I
F

=

0
;



p
u
t
c
U
S
A
R
T
(

D
a
t
a
I
n

)
;

/
/
c
h
e
c
k

t
h
e

t
i
m
e

b
e
i
n
g

e
n
t
e
r
e
d





w
h
i
l
e
(
B
u
s
y
U
S
A
R
T
(
)
)
;



C
l
o
c
k
B
u
f
f
e
r
[
j
]

=

D
a
t
a
I
n

-

4
8
;

/
/
T
u
r
n

a
s
c
i
i

i
n
t
o

d
e
c
i
m
a
l





j

=

j

+

1
;


}


C
l
o
s
e
U
S
A
R
T
(
)
;


/
/
C
o
n
v
e
r
t

d
e
c
i
m
a
l

t
o

B
D
C

f
o
r
m
a
t


y
e
a
r


=

C
l
o
c
k
B
u
f
f
e
r
[
0
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
1
]
;


m
o
n
t
h


=

C
l
o
c
k
B
u
f
f
e
r
[
2
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
3
]
;


d
a
y


=

C
l
o
c
k
B
u
f
f
e
r
[
4
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
5
]
;


h
o
u
r
s


=

C
l
o
c
k
B
u
f
f
e
r
[
6
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
7
]
;


m
i
n
u
t
e
s

=

C
l
o
c
k
B
u
f
f
e
r
[
8
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
9
]
;


s
e
c
o
n
d
s

=

C
l
o
c
k
B
u
f
f
e
r
[
1
0
]

<
<

4

|

C
l
o
c
k
B
u
f
f
e
r
[
1
1
]
;


/
/

c
o
n
f
i
g
u
r
e

a
n
d

o
p
e
n

t
h
e

I
2
C

p
o
r
t






O
p
e
n
I
2
C
(

M
A
S
T
E
R
,

S
L
E
W
_
O
N
)
;



/
/
R
T
C

c
o
m
m
u
n
i
c
a
t
e
s

a
t

4
0
0
k
H
z
,

s
o

s
l
e
w

r
a
t
e

c
o
n
t
r
o
l

m
u
s
t

b
e

e
n
a
b
l
e
d


S
S
P
A
D
D

=

0
x
0
B
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
7
,
y
e
a
r
)
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
6
,
m
o
n
t
h
)
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
5
,
d
a
y
)
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
3
,
h
o
u
r
s
)
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
2
,
m
i
n
u
t
e
s
)
;


I
2
C
B
y
t
e
W
r
i
t
e
(
0
x
D
0
,
0
x
0
1
,
s
e
c
o
n
d
s
)
;


C
l
o
s
e
I
2
C
(
)
;


}

183
Appendix E: Derivation of H/S

E.1 Exponential Decay Paddle

The water surface displacement for large x (far from the paddle) is given by
( ) ( ) ( ) ) cos
2
) cos cosh
1
0
t x k
H
t x k h k
g
A
t g
p p p
p
z

=
=

where

+
+
=
0
2
0
)) ( ( cosh
)) ( cosh(
2
) (
h
p p
h
p
p
dz z h k k
dz z h k
z S
A


and
z k
p
Se z S = ) (
Substituting and canceling the cosine term,
( )
2
cosh
)) ( ( cosh
)) ( cosh(
2
) (
-
0
2
0
H
h k
dz z h k gk
dz z h k
z S
p
h
p p
h
p
=
+
+


From the hyperbolic cosine properties,
( )
( ) | |
( )
2
cosh
1 ) ( 2 cosh
2
1
) ( cosh
2

0
0
2
H
h k
dz z h k
dz z h k e
gk
S
p
h
p
h
p
z k
p
p
=
+ +
+
|
|

\
|


( )
( )
( )
2
cosh
2
) ( 2 sinh
2
1
) ( cosh
2

0
0
2
H
h k
z
k
z h k
dz z h k e
gk
S
p
h
p
p
h
p
z k
p
p
=

+
+
+
|
|

\
|


184
( )
( )
( )
2
cosh
2
2 sinh
) ( cosh

0
2
H
h k
k
h k h k
dz z h k e
gk
S
p
p
p p
h
p
z k
p
p
=

+
+
|
|

\
|


Substituting the dispersion equation into the first coefficient and solving for H/S,
( ) h k gk
p p
tanh
2
=
( ) | |
( )
( )
( )
S
H
h k
k
h k h k
dz z h k e
h k
p
p
p p
h
p
z k
p
p
cosh
2
2 sinh
) ( cosh
tanh 2
0
=

+
+


( )
( )
( )
S
H
dz z h k e
h k h k
h k k
h
p
z k
p p
p p
p
) ( cosh
2 sinh
sinh 4

0
= +


In order to solve the final integral, convert the hyperbolic cosine into its
exponential form:
( )

+
0
) ( cosh
h
p
z k
dz z h k e
p

+ +
|
|

\
|
+
=
0 ) ( ) (
2

h
z h k z h k
z k
dz
e e
e
p p
p


|
|

\
|
+
=
0
2

h
z k h k z k h k
z k
dz
e e e e
e
p p p p
p

|
|

\
|
+
=
0 2
2

h
h k z k h k
dz
e e e
p p p

0
2
2 2
1

h
h k
p
z k h k
z e
k
e e
p
p p

|
|

\
|
+ =

|
|

\
|
+ =

h k
p
h k h k
p
h k
p
p p p
he
k
e e
k
e
2
0
2 2
1

2

185
( )

+ =
h k h k
p
h k
p p
p
he e
k
e 2
1
2 2
1

( )

+
=

+
=

p
h k
p
h k h k
p
h k
p
h k h k
k
he k e e
k
he k e e
p p p p p p
4
2
4
2 1

2

( )

+
=

p
h k
p
h k
k
e h k e
p p
4
1 2

2
186

E.2 Hyperbolic Curve Paddle

Starting once again from
( )
2
cosh
)) ( ( cosh
)) ( cosh(
2
) (
-
0
2
0
H
h k
dz z h k gk
dz z h k
z S
p
h
p p
h
p
=
+
+


and substituting
( ) ( )
( ) h k
z h k S
z S
p
p
sinh
cosh
) (
+
=
yields
( ) ( )
( )
( ) ( )
( )
2
cosh
)) ( ( cosh
cosh
sinh
cosh
2

0
2
0
H
h k
dz z h k gk
dz z h k
h k
z h k
S
p
h
p p
h
p
p
p
=
+
+
+


Since this leaves cosh
2
terms in both the numerators and denominators integrals,
we cancel them to yield
( )
( )
2
cosh
sinh
1
2

2
H
h k
h k gk
S
p
p p
=


( ) S
H
h k gk
p p

tanh

2
=


According to the dispersion relation,
( ) h k g k
p p
tanh
2
=
and therefore
1 =
S
H

187
Appendix F: Calibration Results

Current into DC/DC converter (Rsense = 10, Vsense = 100mV max)
Rload = 1130
Applied Current
(mA)
0 0.52 0.75 1.08 1.51 2.05 2.5 3.05 3.56 4.05 4.14
Vout op amp 0.26 0.685 0.869 1.12 1.515 2.05 2.49 3.03 3.53 4.02 4.09
ADC value 252 673 855 1105 1486 2019 2455 2986 3487 3961 4031
Rload = 1338
Applied Current
(mA)
0 0.25 0.49 0.75 1.04 1.52 2.02 2.51 3.01 3.51 4.1
Vout op amp 0.258 0.465 0.65 0.842 1.064 1.534 2.02 2.51 2.99 3.49 4.09
ADC value 250 452 634 824 1041 1505 1991 2473 2954 3444 4030
Rload = 1973
Applied Current
(mA)
0 0.25 0.5 0.75 1.01 1.25 1.5 2.01 2.25 2.53
Vout op amp 0.258 0.433 0.592 0.774 1.026 1.271 1.516 2.08 2.25 2.53
ADC value 263 423 577 757 1005 1245 1487 1988 2221 2494

ADC Value vs. Applied Current
y = 939.36x + 131.23
R
2
= 0.9985
y = 942.55x + 118.14
R
2
= 0.9992
y = 932.81x + 106.3
R
2
= 0.997
0
1000
2000
3000
4000
5000
0 1 2 3 4 5
Applied current (mA)
A
D
C

v
a
l
u
e
Rload = 1338
Rload =1120
Rload = 1973
Linear (Rload = 1338)
Linear (Rload =1120)
Linear (Rload = 1973)


Average slope: 938.24 counts/mA

All four 12-bit ADCs were programmed to use a voltage reference of 4.096V as
the ceiling value, 4096 counts. In addition to the 10 sense resistor tests shown
above and on the following page, calibration for a 1 sense resistor was also
conducted. However, the low currents present during field testing create too
low a voltage across this smaller resistance for the operational amplifier to
boost dependably. Due to the 0.3V input offset voltage of the op amp,
nonlinear operation was observed for currents less than 2mA on both current
sense resistors, regardless of the attached load resistance value. Performance
data for the 1 tests is available in electronic format in the file \data
processing\ADC calibrations.xls.
188
Current out of DC/DC converter (Rsense = 10, 100mV max)
Rload = 1178
Applied Current
(mA) 0 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.05
Vout op amp 0 0.459 0.738 1.019 1.535 2.03 2.52 3.03 3.53 4.03 4.08
ADC value 0 448 723 1000 1508 2008 2492 2995 3492 3983 4031
Rload = 1493
Applied Current
(mA) 0 0.25 0.5 0.75 1 1.25 1.5 2 2.5 3 4.04
Vout op amp 0.002 0.18 0.473 0.762 1.033 1.282 1.534 2.02 2.53 3.03 4.08
ADC value 0 174 462 747 1013 1258 1507 1999 2501 2997 4028
Rload = 1780
Applied Current
(mA) 0 0.25 0.5 0.75 1 1.25 1.5 2 2.5 3.01
Vout op amp 0 0.19 0.489 0.781 1.033 1.281 1.533 2.02 2.52 3.04
ADC value 0 187 478 766 1013 1258 1506 2000 2495 3003

Isense1 ADC Value vs. Applied Current
y = 1006x - 13.098
R
2
= 0.9995
y = 1006.1x - 18.732
R
2
= 0.9996
y = 1001.1x - 13.164
R
2
= 0.9999
0
1000
2000
3000
4000
5000
0 1 2 3 4 5
Applied current (mA)
A
D
C

v
a
l
u
e
Rload = 1178
Rload = 1493
Rload = 1780
Linear (Rload = 1780)
Linear (Rload = 1493)
Linear (Rload = 1178)


Average Slope = 1006 counts/mA
189
Voltage on Capacitor (5.4V max)
Rload = 1130
Vcap total (V) 0 0.5 1.01 1.5 2.00 2.51 3.02 3.50 4.00 4.50 5.03 5.60
ADC value 0 332 672 1005 1351 1690 2038 2359 2701 3034 3394 3780
V at divider
(1M+2.2M)
0 0.319 0.644 0.96 1.28 1.6 1.942 2.24 2.56 2.88 3.22 3.58
Vlow/Vtotal - 0.639 0.640 0.64 0.64 0.637 0.643 0.64 0.64 0.64 0.640 0.64

Voltage across Load Resistors (Output of DC/DC Converter) (5.0V max)
Voltage divider 666+662
Vload total (V) 0 0.5 1 1.5 2.00 2.50 3.04 3.50 4.00 4.55 5.04
ADC value 0 242 485 729 974 1216 1464 1707 1949 2218 2460
V at divider 0 0.25 0.49 0.74 0.99 1.23 1.48 1.73 1.97 2.25 2.49
Vlow/Vtotal - 0.5 0.49 0.493 0.495 0.492 0.487 0.494 0.493 0.495 0.494
Voltage divider 1k+1k
Vload total (V) 0 0.5 1.003 1.5 2.03 2.50 3.01 3.50 4.00 4.50 5.04
ADC value 0 241 488 732 996 1228 1479 1720 1967 2212 2460
V at divider 0 0.249 0.5 0.748 1.01 1.245 1.5 1.74 1.99 2.24 2.49
Vlow/Vtotal - 0.498 0.499 0.499 0.498 0.498 0.498 0.497 0.498 0.498 0.494

ADC values vs Voltage at component
y = 674.52x
R
2
= 1
y = 487.03x
R
2
= 0.9999
y = 490.82x - 1.3938
R
2
= 1
0
500
1000
1500
2000
2500
3000
3500
4000
0 1 2 3 4 5 6
Applied voltage (V)
A
D
C

v
a
l
u
e
Capacitor Voltage
Vload @ Rload = 1.2k
Vload @ Rload = 2k
Linear (Capacitor Voltage)
Linear (Vload @ Rload = 1.2k)
Linear (Vload @ Rload = 2k)


Average slopes:
Capacitor voltage: 674.52 counts/V
Load voltage: 488.9 counts/V
190
Glossary

Active (real) power: Useful component of power that is dissipated by the purely
real component of impedance (resistance), distinguished from reactive
power by its net transfer of energy in one direction over time.
Added mass: The inertia added to a system when a body surrounded by a fluid
accelerates and must therefore accelerate the fluid occupying the space
and nearby spaces.
Airgap Shear Stress: The force per unit surface area occurring in the small space
between the rotor and stator in a generator, resulting from the interaction
between the magnetic field-producing component and the inductive
armature. This quantity determines the power factor of the
motor/generator, and it is limited by the material properties of the flux-
carrying component and the heating, reactance, etc. of the current-
carrying component.
Apparent power: Imaginary component of complex powr, defined as the product of
voltage and current in an electrical system.
Bandwidth: Segment in the frequency spectrum across which the frequencies of
interest span, especially the range of frequencies passed by a signal
processing filter or the range of frequencies over which significant power
is available in a wave spectrum.
Capture (width) ratio: Quotient of extracted power divided by the power incident
on the cross-section of the buoy.
Complex power: Total power in a system, incluing that component not dissipated
over time, but stored in the imaginary impedance, unusable until
converted to real power.
Damping coefficient: Constant of proportionality describing the energy dissipated
proportional to velocity in a mechanical system and proportional to
current in an electrical system, such as by viscous forces and resistances.
191
Direct drive linear generator: A pwer-generating mechanism that transfers power
without any gear or belt intermediary reductions, allowing for reduced
frictional losses and reduced noise, but requiring a special motor and
control system due to the relatively high torque at lower speeds than
conventional motors.
Excitation (vs Radiation): Component of wave forces acting on an initially
stationary floating body due to both the incident wave pressure
distribution and the pressure distribution of diffracted waves bending
around the body.
Fourier transform: Mathematical analysis technique of characterizing a signals
components involving conversion from the time domain to the frequency
domain.
Harmonic: Integer multiple of the frequency of interest.
Heave: Linear vertical motion of a floating body.
Inductive coupling: The transfer of energy from one circuit component to another
through a shared magnetic field, allowing a change in current in one
device to induce a change in the current flowing through the other device.
Impedance matching: Designing a circuits load such that its impedance is equal to
the complex conjugate of its sources impedance in order to achieve
maximum power transfer by minimizing the total impedance.
Natural frequency: The oscillation frequency to which a systems motion defaults
when the system has been displaced and released, dependent on the total
mass and spring force acting in the direction of oscillation.
Pitch (of a magnet): Width of an individual magnet in an assembly of multiple
magnets aligned axially.
Pitch (ship motion): Rotation of a floating body about its transverse axis.
192
Power factor: A coefficient between 0 and 1 that describes the phase difference
between voltage and current in a complex (AC) system; it is the ratio of
the average power to the
Radiation (vs Excitation): Forces acting on a floating body as a result of its
oscillation in the water column; including added mass and radiation
resisteance effects.
Reactance: The opposition presented by a pure coil or capacitor to the flow of
alternating current through it; diminishes current from an alternating EMF
by setting up an opposing EMF, without wasting energy.
Reactive power: Component of power that is alternately stored by complex
impedance elements and then released back into the AC circuit.
Reluctance: Resistance to magnetization
Resonance frequency: The excitation frequency that produces the largest output
signal for a given input signal magnitude. Closely tied to the natural
frequency of the system, but slightly lower depending on the damping
levels.
Shunt: A device that allows electrical current to pass around another point in the
circuit (opposite of a fuse). In the case of a shunt resistor, it allows for
indirect measurement of currents too high for an ammeter or in places
where an ammeter is inconvenient by inserting a minimal resistance
across which the voltage can be measured instead.
Stator: The stationary component of a motor or generator, which may contain
either the field windings or the armature, depending on the geometry of
the machine.
Sway: Linear lateral movement of a floating body.
Translator: The moving component of a linear generator, analogous to the rotor on
a conventional generator.
Wave spectrum: Description of the wave energy distribution across a range of
wave frequencies, used to describe the wave climate in a given location.

Potrebbero piacerti anche