TAS (true airspeed) is the vector sum of groundspeed and wind. So wind = TAS - groundspeed. TAS is usually measured using a Pitot-static system and a computer to correct for barometric effects. I don't know anything about 3D ultrasonic anemometers, so I can't comment on those. Groundspeed of course comes from a GPS.
1. Whenever the plane changes orientation, an accurate estimate of air speed magnitude is made by taking the ratio of the magnitude of the change in 3D ground speed vector, divided by the magnitude of the change in fuselage axis of the IMU, as seen in the earth frame.
2. From the airspeed and ground speed vector, wind speed vector is computed. There is stream of estimates, whenever the plane changes orientation, which are filtered.
3. Once the wind vector is known, MatrixPilot computes a high bandwidth estimate of the ground speed vector using "dead reckoning", which fuses gyro, accelerometer, and GPS information.
4. A high bandwidth estimate of airspeed vector is computed from ground speed and wind speed.
Attached is the track from a typical flight in windy conditions. The large yellow arrows indicate the wind vector field. The airplane icons indicate the orientation of the plane.
"3D ultrasonic anemometer" - I'd like to know where to get one of those that doesn't cost a fortune and would fit in a small UAV...... I know the wind farm guys use such things but they look to cost $$$$$$ and be about the size of a microwave oven.
Airspeed is typically the speed the aircraft is moving relative to the air it is in. (The speed of air moving over the body of the aircraft.) Wind speed it the speed the air is moving relative to the ground. Therefore, the speed the aircraft is moving relative to the ground (grounspeed, what GPS measures) is the vector sum of airspeed and wind speed.