Ultrasonic Anemometer

A previous question asked:

Then you mentioned the other problem about transducers behavior and define Northerror[20] .
Why 20 values? An again the logic , even is there, not sure to follow why.

This relates to your problem of the differences.

From the project report we compensate using software:

We do run into another problem. Ultrasonic transducers are not symmetric for transmission and
reception. The devices are not linear components and even worse the symmetry changes with
temperature.
You can match them as north-south, east-west pairs. It's properly a good idea to do so.
However we do need to have a constant which is used to match the pairs as closely as possible.
This constant will need to change with time as the temperature changes.
I use:
int Northerror[20]; //The tof error for north-south transmit
We keep a running sample of the differences when the difference should be zero.