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:
- High filtering, configured for 2 Hz output
- 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.