Changing pulse width for linear FM waveform
Afficher commentaires plus anciens
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
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Pulsed Waveforms dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!