Convert ENU velocity to ECEF

1. Aug 21, 2011

microgorilla

1. The problem statement, all variables and given/known data
This is not actually a homework problem, but it should be a fairly simple problem (hopefully). My apologies if this is better suited for the engineering forum.
I have been given an aircraft heading and a set of velocities in the ENU coordinate system. I need to convert the velocities from ENU to ECEF and calculate the aircraft track. As far as I can tell I am doing the velocity conversions correctly, but I cannot get the aircraft heading and the aircraft track to agree within +/- 15 degrees.

2. Relevant equations
I am using the following direction cosine matrix, which I arrived at by starting with the DCM for converting from ECEF to NED, swapping the first and second rows, negating the third row and taking the transpose:

CN2E = | -sin(lon) -sin(lat)*cos(lon) cos(lat)*cos(lon) |
| cos(lon) -sin(lat)*sin(lon) cos(lat)*sin(lon) |
| 0 cos(lat) sin(lat) |

lat = 34.2547 %degrees
lon = -96.6522 %degrees
height = 3690 %meters
velocity_ENU = [76.8213; -42.7113; 1.5302] %meters

3. The attempt at a solution
Multiplying CN2E * vel_ENU yields:
vel_x = 73.3726
vel_y = -34.0346
vel_z = -34.4414

This gives an aircraft speed of approx 170 knots; i don't have our exact aircraft speed at the time the measurement was made, but that's in the ballpark.
Finally, taking atan2(vel_y/vel_x) and converting to degrees yields an aircraft track of -24.8847 degrees, which is not even close to the heading of 123.2568 degrees.
Can anyone see where I might have gone wrong?