Changing pulse width for linear FM waveform
Show older comments
The help on linear FM waveforms states that increasing the pulse width improves detection capability. However, when I tried doubling or halving my pulse width, I did not notice a change in probability of detection. Am I implementing this incorrectly?
I used the basic monostatic radar example to get started and made modifications from there. The code below shows the linear FM waveform initialization followed by a loop used to get my simulated probability of detection, which will be sum(detected)/n_steps.
hWav = phased.LinearFMWaveform(...
'PulseWidth',pulse_width,...
'SweepBandwidth',pulse_bw,...
'SampleRate',fs,...
'PRF',prf); % linear fm waveform instead of rectangular waveform
n_steps = 1000;
detected = false(n_steps, 1);
%hWav.release(); % uncomment these two lines to run with modified pulse width
%hWav.PulseWidth = 1/pulse_bw/2;
for istep = 1:n_steps
x = step(hWav);
[s, tx_status] = step(hTx, x);
rSig = zeros(size(s,1),3);
[tgt_pos, tgt_vel] = step(hTargetplatform, 1/prf);
[tgt_rng, tgt_ang] = rangeangle(tgt_pos);
tSig = step(hRadiator, s, tgt_ang);
tSig = step(hTargetchannel, tSig,...
ant_pos, tgt_pos, ant_vel, tgt_vel);
rSig = step(hTarget, tSig, true);
rSig = step(hCollector, rSig, tgt_ang);
rx_pulses = step(hRx, rSig, ~(tx_status>0));
% *Detection Threshold*
npower = noisepow(noise_bw, hRx.NoiseFigure, hRx.ReferenceTemperature);
threshold = npower * db2pow(npwgnthresh(pfa));
above_inds = abs(rx_pulses).^2 > threshold;
expected_bin = 2*tgt_rng/c*fs + 1;
detected(istep) = above_inds(expected_bin);
end
Accepted Answer
More Answers (0)
Categories
Find more on Pulsed Waveforms in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!