Calypso wind sensor testing

Share
Calypso wind sensor testing

Please note that the text below was written by my AI sidekick using data generated by me doing the actual testing of the wind sensor. I supplied the logfiles to ChatGPT for analysis and writing the report.

Calypso ULP Standard: Testing 2 Hz Filtered vs. 10 Hz Wind Data

I have been testing a wired Calypso ULP Standard ultrasonic wind sensor, and one thing I particularly wanted to understand was what its different filtering and update modes actually do.

Does setting the sensor to 10 Hz simply cause it to transmit essentially the same filtered measurement more frequently, or does it actually provide substantially more instantaneous wind information?

To find out, I did a simple bench test and logged the NMEA 0183 output with timestamps.

The results are quite interesting.

NMEA 0183 output

The wired RS-485 version outputs standard NMEA 0183 MWV sentences. For example:

$IIMWV,038,R,067.8,N,A*2e

This breaks down as:

Field

Meaning

$II

Integrated Instrument talker ID

MWV

Wind Speed and Angle sentence

038

Wind angle = 38°

R

Relative/apparent wind

067.8

Wind speed = 67.8

N

Speed is in knots

A

Data valid

*2e

NMEA checksum

So this particular sentence represents:

38° apparent wind at 67.8 knots.

The high wind speeds I saw during some testing were produced by a small high-speed blower held close to the ultrasonic sensor. They were not ambient wind readings.

The test

For the comparison test I used the blower to provide reasonably steady airflow of approximately 23 knots at about 50°.

Obviously, a small blower is not a calibrated wind tunnel. This test was therefore not intended to measure the absolute accuracy of the Calypso.

The purpose was to compare:

  • Output frequency
  • Short-term wind-speed variation
  • Short-term wind-direction variation
  • Behavior of the internal filtering

I tested two Calypso configurations:

  1. High filtering, configured for 2 Hz output
  2. Low-power mode, configured for 10 Hz output

Calypso describes the latter as requiring external filtering, which made me particularly interested in what the actual NMEA output would look like.

I logged the serial output using Tera Term with timestamps.

There was a clear stop in the data stream while I reconfigured the sensor, so the two sections of the log are easily separated.

High filtering at 2 Hz

The first section contained 54 MWV sentences over 30.687 seconds.

Measurement

Result

Samples

54

Test duration

30.687 s

Average interval

579 ms

Median interval

578 ms

Fastest interval

500 ms

Slowest interval

655 ms

Effective output rate

1.73 Hz

Some representative measurements:

Time            Direction    Speed

13:04:07.529    51°          23.0 kn

13:04:08.139    51°          22.8 kn

13:04:08.717    50°          22.9 kn

13:04:09.280    49°          23.2 kn

13:04:09.874    49°          23.1 kn

So although configured for 2 Hz, I measured approximately 1.73 complete MWV sentences per second.


Low-power/external-filtering mode at 10 Hz

The second section contained 212 MWV sentences over 23.528 seconds.

Measurement

Result

Samples

212

Test duration

23.528 s

Average interval

111.5 ms

Median interval

109 ms

Fastest interval

93 ms

Slowest interval

141 ms

Effective output rate

8.97 Hz

Some representative measurements:

Time            Direction    Speed

13:07:35.257    46°          21.9 kn

13:07:35.366    50°          22.8 kn

13:07:35.476    47°          22.8 kn

13:07:35.585    47°          24.1 kn

13:07:35.694    47°          24.1 kn

13:07:35.804    49°          22.1 kn

13:07:35.929    50°          22.1 kn

13:07:36.038    50°          22.1 kn

13:07:36.147    45°          23.1 kn

13:07:36.257    45°          24.0 kn

So the nominal 10 Hz mode produced almost 9 complete MWV sentences per second in this test.

There will inevitably be some timing uncertainty caused by the USB/serial converter, USB buffering, Windows scheduling and Tera Term itself. Individual timestamp intervals therefore shouldn’t be interpreted as exact ultrasonic measurement intervals.

Averaged over hundreds of sentences, however, the difference between the two modes is very clear.


Comparing the actual wind data

I analyzed all 54 samples from the filtered section and all 212 samples from the 10 Hz low-power section.

The interesting thing is that the average measured airflow during the two tests was almost identical:

Measurement

High filtering / 2 Hz

Low-power / 10 Hz

Samples

54

212

Mean direction

50.17°

50.13°

Direction standard deviation

0.86°

2.19°

Direction range

48–52°

45–55°

Mean sample-to-sample direction change

0.62°

1.09°

Mean wind speed

23.03 kn

22.92 kn

Speed standard deviation

0.27 kn

0.67 kn

Speed range

22.5–23.7 kn

20.9–24.9 kn

Mean sample-to-sample speed change

0.22 kn

0.36 kn

The averages are almost identical

For wind direction:

  • High filtering: 50.17°
  • Low-power 10 Hz: 50.13°
  • Difference: 0.04°

For wind speed:

  • High filtering: 23.03 kn
  • Low-power 10 Hz: 22.92 kn
  • Difference: 0.11 kn

Considering this was just a blower sitting in front of the sensor rather than a controlled wind tunnel, that is a remarkably close match.

It makes the difference in short-term variation particularly interesting.

Direction variation increases about 2.5×

With high filtering, the standard deviation of wind direction was:

0.86°

With low-power/external filtering:

2.19°

That’s approximately 2.5 times as much variation.

The total observed direction range increased from 48–52° to 45–55°.

Wind-speed variation also increases about 2.5×

With high filtering, the wind-speed standard deviation was:

0.27 knots

With low-power/external filtering:

0.67 knots

Again, approximately 2.5 times as much variation.

The observed speed range increased from 22.5–23.7 knots to 20.9–24.9 knots, yet the average speed changed by only 0.11 knots.

The sample-to-sample changes are especially interesting

The average change between consecutive direction measurements increased from:

0.62° → 1.09°

The average change between consecutive speed measurements increased from:

0.22 kn → 0.36 kn

This is particularly interesting because the samples in the 10 Hz mode are arriving much closer together in time.

The filtered samples were approximately 0.58 seconds apart.

The low-power samples were approximately 0.11 seconds apart.

So despite having only about one fifth as much elapsed time between samples, consecutive measurements in the 10 Hz mode actually differ more from one another.

That is strong evidence that the 10 Hz mode isn’t simply transmitting the same heavily filtered measurement more frequently.


What does this mean for an autopilot?

This was the main reason I was interested in doing the test.

It would be too simplistic to say that an autopilot always wants completely raw, unfiltered wind data.

An autopilot needs some filtering or damping. If it reacted directly to every tiny wind-direction fluctuation, turbulence event or measurement disturbance, it could result in unnecessary rudder activity and poor steering.

Different autopilots handle this in different ways, and some allow their response to wind changes to be adjusted.

There is, however, an important distinction between filtering at the wind sensor and filtering farther downstream.

If the masthead sensor heavily averages its measurements before transmitting them, the short-term information removed by that filtering is gone permanently. The receiving system cannot subsequently decide that it would have preferred a faster response.

If the sensor instead supplies higher-rate, lightly filtered data, the receiving instrumentation or autopilot remains free to apply whatever amount of filtering is appropriate.

That doesn’t prove that 10 Hz minimally filtered wind data will make every autopilot steer better. The optimum amount of filtering will depend on the autopilot algorithms, boat dynamics, point of sail, sea state and other factors.

But supplying the downstream system with more information gives it the option of using that information.

You can filter high-rate data later. You cannot recover information that has already been averaged away at the masthead.


Conclusion

The measurements show a very clear difference between the two Calypso ULP Standard operating modes:


High filtering / 2 Hz

Low-power / 10 Hz

Actual output rate

~1.73 Hz

~8.97 Hz

Direction SD

0.86°

2.19°

Speed SD

0.27 kn

0.67 kn

Mean direction

50.17°

50.13°

Mean wind speed

23.03 kn

22.92 kn

While the average measurements remain almost unchanged, removing the heavy internal filtering increases the observed short-term variation in both speed and direction by approximately 2.5 times.

The 10 Hz mode therefore appears to be doing considerably more than simply transmitting the same smoothed measurement more frequently. It is preserving substantially more short-term information about the measured airflow.

For an installation where the downstream instrumentation or autopilot can perform its own filtering, my preference would therefore be to start with the 10 Hz low-power/external-filtering mode and allow the downstream system to determine how much filtering is appropriate.

That is a preference, not a claim that every autopilot will necessarily steer better this way. Testing it on the boat will ultimately be much more meaningful than a bench test.

Finally, this was not an accuracy test. A handheld blower is obviously not a calibrated wind source. The test only compares timing and short-term variation between two operating modes of the same sensor.

For that purpose, however, the difference between the two modes seems quite clear.