Hi!
One simple filter is to discard every sample greater then 143Km/h ( as most, but not all, spikes are 144Km/h ).
I don't see how a simple filter would fix the problem.
My first thought was to use the last wind gust to assess whether a wind gust of 144kmh appears possible:
if current wind gust = 144kmh and last wind gust <100 {
current wind gust = last wind gust
}
The station would have to temporarily save the last value in the RAM.
But the peaks are unfortunately not always exactly 144kmh but are variable. I already saw pictures in this thread with peaks of 87 kmh, 94.3kmh, 127kmh and 131kmh.
I also saw a picture on which the 144kmh were displayed over a very long period (2 hours).
I cannot output the value from two hours ago for two hours - that would not be a filter, it would be a lie.
Sometimes (but apparently not always!) windspeed is also affected in addition to wind gust.
And a picture can also be seen here that after a 144kmh peak, values that are clearly too low are output over a longer period of time.
At the moment I really don't know how to solve the problem in software afterwards.
Something has to be tinkered with in the firmware of the WS80 sensor. However, this only applies to future devices because we probably cannot change the firmware of the sensor ourselves.
And - as already communicated here in the forum - the Davis-US anemometers also
share these problems.
So maybe an ultrasonic sensor is not suitable as an anemometer after all?
Oliver