Java applet calculates true airspeed from three GPS ground speeds. The runs have to be on headings 90 degrees apart, which makes the flying easier than some other methods which require tracks 90 degrees apart. It does require that the compass headings be accurately known which requires a recent compass swing.
I verified that the applet correctly calculates the TAS (at least it did on 23 Dec 98 - I cannot vouch for any changes that may have been made to it since).
"Using GPS to Determine Pitot-Static Errors" - A paper published by Greg Lewis, of the National Test Pilot School. Describes the method they use to determine static system error using GPS data.
NTPS took Doug Gray's TAS from GPS data method, and added a nice twist. Only three legs are needed for one data set, but they do a box pattern with four legs. Then they use the legs, three at a time, four different ways to get four different results. The four results will be essentially identical if the data is good, but they will differ if there is a problem (wind changed, or data recording error, or poorly flown test point). This provides a good way to identify bad test points so they can be thrown out.
Directions - Click on the tab labeled "Four Legs". Enter your raw data in rows 5 to 8. You need the ground speed (Vg) and GPS track for each run. The spreadsheet will calculate the TAS (Vtrue) for each point (four runs in an approximate square = one data point). You will find the Standard Deviation (Std Dev) for each point in column Z further down. The Standard Deviation is a measure of how closely the four calculated TAS for each data point agreed. A perfect set of data would have a Std Dev of 0, but you'll never see that - be happy if your Std Dev is around 1. If you see one or more data points that have higher Std Dev, that means that those points have poor quality data for some reason, and you should probably chuck them out.
Doug Gray developed possibly the best method to calculate TAS from GPS data. This method is different from any others that I have seen in that it does not require that you fly specific tracks or headings, which simplifies the flying. I checked the calculations, and they work properly.