The Doppler spectrum can be generated using a periodogram. This will not improve the resolution of the resulting spectrum, but can improve the estimation of the locations of the peaks in the spectrum. Since the Doppler processing is limited to a given range, all pulses used in the processing have to be collected before the target moves from one range bin to the next.īecause the number of Doppler samples are in general limited, it is common to zero pad the sequence to interpolate the resulting spectrum. However, the number of pulses available is also limited by the radial velocity of the target. To improve the ability to discriminate between different target speeds, more pulses are needed. The resulting Doppler resolution is about 45 m/s, which means that the two speeds must be at least 45 m/s apart to be separable in the Doppler spectrum. In addition, the number of pulses determines the resolution in the Doppler spectrum, which determines the resolution of the speed estimates.Īs shown in the calculation above, in this example, the maximum detectable speed is 225m/s, either approaching (-225) or departing (+225). This also translates to the maximum unambiguous speed a radar system can detect. Because there is one sample from each pulse, the sampling frequency for the Doppler samples is the pulse repetition frequency (PRF).Īs predicted by the Fourier theory, the maximum unambiguous Doppler shift a pulse radar system can detect is half of its PRF. Since we are using 10 pulses, there are 10 samples available for Doppler processing. Unlike range estimation, Doppler processing processes the data across the pulses (slow time), which is along the rows of the data matrix. The received signal after the matched filter is a matrix whose columns correspond to received pulses. Therefore, the first step in Doppler processing is to generate the Doppler spectrum from the received signal. Once we successfully estimated the ranges of the targets, we can then estimate the Doppler information for each target.ĭoppler estimation is essentially a spectrum estimation process. These estimates suggest the presence of targets in the range of 2000 m and 3550 m. Range_estimates = round(range_gates(range_detect)) = findpeaks(pulsint(rxpulses, 'noncoherent'). 'ReferenceLoss',2*fspl(prop_speed/(prf*2),lambda)) Range_gates = prop_speed*fast_time_grid/2 % apply time varying gain to compensate the range dependent loss Rxpulses = buffer(rxpulses(matchingdelay+1:end),size(rxpulses,1)) Matchingcoeff = getMatchedFilter(waveform) % apply matched filter and update the threshold Threshold = npower * db2pow(npwgnthresh(pfa,num_pulse_int, 'noncoherent')) Receiver.NoiseFigure,receiver.ReferenceTemperature) % in loaded system, noise bandwidth is half of the sample rate The detection process is described in detail in the aforementioned example so we simply perform the necessary steps here to estimate the target ranges. This means that we use noncoherent detection schemes. Because the Doppler shift spreads the signal power into both I and Q channels, we need to rely on the signal energy to do the detection. To be able to estimate the Doppler shift of the targets, we first need to locate the targets through range detection. Rxpulses(:,m) = receiver(rxsig,~(txstatus>0)) Txsig = channel(txsig,sensorpos,tgtpos,sensorvel,tgtvel) % Simulate propagation of pulse in direction of targets % Calculate the target angles as seen by the sensor Rxpulses = zeros(numel(fast_time_grid),num_pulse_int) % Pre-allocate array for improved processing speed
0 Comments
Leave a Reply. |