Changing pulse width for linear FM waveform
显示 更早的评论
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
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Pulsed Waveforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!