Migration is an important signal processing method that can improve signal-clutter ratio and reconstruct subsurface image. Diffraction stacking migration and Kirchhoff migration sum amplitudes along the migration trajectory, which generally is hyperbolic. But when the ground surface varies acutely, the migration trajectory is not hyperbolic. To computer the migration trajectory need the technique of ray tracing. We introduce a method of ray tracing based on 3D velocity model. Firstly, we build the 3D velocity model depending on the estimation of both ground surface topography and velocities. Then we compute the travel time between transmitter, receiver and each subsurface scattering point, and search the propagation ray depending on the Fermat's principle. The method is tested by an experiment data acquired by the stepped-frequency (SF) CMP antenna GPR system. The target is a metal ball that is buried under a sand mound. A nice result of ray tracing is shown in the case.