## Tuesday, January 25, 2011

### Boat and wind speed calibration

A basic linear calibration is first programmed in the microcontroller. For boat speed, we can use the nominal specification of the Airmar transducer (4.8 Hz/knot). For the anemometer, a good starting point is 1.0 Hz/knot.

Then we go on a sea trial in which we make several slow turns by motoring at constant speed. We try to choose a calm sea with light winds and currents, but we cannot make the assumption of null current and wind, whatever we think or feel. In the general case, the boat drifts with the current as seen by the GPS. And the apparent wind speed depends both on the movement of the boat and any true wind speed over water.

During these tests, we record the following data: boat speed through water (STW), apparent wind speed (AWS), and speed over ground (SOG) from the GPS.

We will record a constant speed through water (STW) as we are motoring at constant speed. We will record a maximum SOG (SOGmax) as the boat goes in the same direction as the current, and a minimum SOG (SOGmin) as the boat is directly against the current. We will also record a maximum AWS (AWSmax) as the boat goes directly against the wind (AWS = boat speed + true wind speed) and a minimum AWS (AWSmin) when the boat goes with the wind (AWS = boat speed – true wind speed).

From these values, we can calculate the real speed through water:
STW_corrected = (SOGmin + SOGmax) / 2

The correction factor to apply to the boat speed is:
Boat_Speed_Correction_Factor = STW_corrected / STW

The correction to apply to the apparent wind speed is:
Wind_Speed_Correction_Factor = STW_corrected x 2 / (AWSmax + AWSmin)

This test also provides the following information:

Speed of Current during test = (SOGmax – SOGmin) / 2
True Wind Speed during test = (AWSmax – AWSmin) * Wind_Correction_Factor / 2

We can repeat the process for 3 different speeds, for example:  hull speed, 2/3 hull speed and 1/3 hull speed. We can then construct a calibration curve covering the whole range of boat speeds.

Similarly we can construct a calibration curve for the lower range of wind speeds. Cup anemometers are known to have a very linear calibration curve, so that we can safely extrapolate our curve for higher wind speeds.

Here is an example from a preliminary trial test done with the system (STW in blue, SOG in brown, AWS in green).

In a calibrated installation, the STW line will cross the middle of both the SOG and AWS curves. The one that is correct is the SOG curve from the GPS. We see that STW line is too high (the reported boat speed is over-evaluated) and that the AWS curve is much too low (the reported wind speed is grossly under-evaluated).

We can now calculate the correction factors to apply to the reported values.

STW = 6.69 kts
SOGmin = 4.36 kts            SOGmax = 7.38 kts
AWSmin = 1.56 kts           AWSmax = 4.16 kts

STW_corrected = (4.36 + 7.38) / 2 = 5.87 kts
Boat_Speed_Correction_Factor = 5.87 / 6.69 = 0.878
Wind_Speed_Correction_Factor = 5.87 * 2 / (1.56 + 4.16) = 2.05

Speed of Current during test = (7.38 – 4.38) / 2 = 1.51 kts
True Wind Speed during test = (4.16 – 1.56) * 2.05 / 2 = 2.67 kts

1. I understand why the STW line crosses the SOG line in the middle of the curves, but how about the AWS, what is you calibrate with 15 knots of wind?

2. I made some tests and I realized that the approach described here is valid as long as the motoring boat speed is larger than the true wind speed. When the true wind speed becomes larger, another approach should be used. I’m working on it.

3. OK, here is the approach to use when the true wind speed (TWS) is larger than the boat speed through water (STW).

First, how to recognize the situation? This will happen if, when the boat is at the position of minimum apparent wind speed (AWSmin), the wind comes from behind.

In this case, in a calibrated installation, the semi-amplitude of the AWS curve will be equal to the corrected STW value, and the middle of the curve will be higher that the corrected STW value. If not, the whole AWS curve has to be scaled until its semi-amplitude is equal the corrected STW, and the scaling factor becomes the wind correction factor.

The formulas to use are then:
STW_corrected = (SOGmin + SOGmax) / 2 (UNCHANGED))
Boat_Speed_Correction_Factor = STW_corrected / STW (UNCHANGED)

Wind_Speed_Correction_Factor = 2 * STW_corrected / (AWSmax – AWSmin)

Speed of Current during test = (SOGmax – SOGmin) / 2 (UNCHANGED)
True Wind Speed during test = (AWSmax + AWSmin) * Wind_Correction_Factor / 2

Then, if we suppose that, in the example above, the wind came from behind at AWSmin, we would have:

STW = 6.69 kts
SOGmin = 4.36 kts SOGmax = 7.38 kts
AWSmin = 1.56 kts AWSmax = 4.16 kts

STW_corrected = (4.36 + 7.38) / 2 = 5.87 kts (UNCHANGED)
Boat_Speed_Correction_Factor = 5.87 / 6.69 = 0.878 (UNCHANGED
Wind_Speed_Correction_Factor = 2 *5.87 / (4.16 – 1.56) = 4.52

Speed of Current during test = (7.38 – 4.38) / 2 = 1.51 kts (UNCHANGED
True Wind Speed during test = (4.16 + 1.56) * 4.52 / 2 = 12.91 kts

4. Thanks! Will test this once the temperature rises here!