Dear Zigang Yang
, I was inspired.
Question one:The following is my processing of ADC data. I would like to ask my processing method is correct? If not, what is wrong and how can I correct it?
1. I used 1-D FFT to get range profile from the ADC data of 12 virtual receiving antennas, and used 2-D FFT to get speed profile;
2. Take the speed profile (corresponding to tx0 and TX2) of the first eight virtual antennas to detect the target points, and the target point set index is target_idx_azim = [row_azim, col_azim]; take the speed profile (corresponding to TX1) of the last four antennas, and the target point set index is target_idx_elev= [row_elev, col_elev];
3、Perform 3D FFT (180 points) on the speed_profile of the first 8 virtual antennas to obtain angle_profile_azim, and perform 3D FFT (180 points) on the speed_profile of the last 4 virtual antennas to obtain angle_profile_elev. Take the peaks at the target points corresponding to target_idx_azim and target_idx_elev, and get the peak indexes as peak_idx_azim = [row_azim, col_azim, pag_azim] and peak_idx_elev = [row_elev, col_elev, pag_elev];
4. Use the azimuth peak index peak_idx_azim to find the beat frequency fb, Doppler frequency fd, and azimuth spatial frequency fw_azim, and then obtain the distance, speed, and azimuth (radian) of the target
5. Use the peak elevation index peak_idx_elev to find the elevation frequency fw_elev, take the phase angle frequency difference between the azimuth antenna and the elevation antenna fw_delta = fw_azim-fw_elev; find the elevation (radian) theta_elev = asin (fw_delta * lambda / d);
The above is my processing process of ADC data. I would like to ask if my processing method is correct? If not, what is wrong and how can I correct it?
Question two:
In your previous answer, mention Wz = sin (ElevAngle); Wx = sin (AzimAngle) * cos (ElevAngle). What I want to ask is whether ElevAngle represents radian angle or angle (such as 180 °, 240 °)
Question three:
The method of finding x in my original program is x (xx) = R (xx). * Sin (theta_azim), where xx represents the xxth frame (my method has not been calibrated); but in your previous answer, x = range * Wx, why is there such a big difference, does range here refer to the distance of the target from the radar? Does x refer to the x coordinate of the target in rectangular coordinates?