Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / Have been able to come up with the radar parameters and target parameters but have been finding it difficult to get a working CFAR algorithm and also generate Monte Carlo simulation of Radar ROC curve of different SNR and fluctuations fc = 77e9; % Beat frequency c = 3e8; % Speed of Light lambda = c/fc; % lamba snr = -20; % db noise % Sweep time: This must be at least 5 or 6 times round trip time range_max = 200; tm = 5

Have been able to come up with the radar parameters and target parameters but have been finding it difficult to get a working CFAR algorithm and also generate Monte Carlo simulation of Radar ROC curve of different SNR and fluctuations fc = 77e9; % Beat frequency c = 3e8; % Speed of Light lambda = c/fc; % lamba snr = -20; % db noise % Sweep time: This must be at least 5 or 6 times round trip time range_max = 200; tm = 5

Computer Science

Have been able to come up with the radar parameters and target parameters but have been finding it difficult to get a working CFAR algorithm and also generate Monte Carlo simulation of Radar ROC curve of different SNR and fluctuations

fc = 77e9; % Beat frequency
c = 3e8; % Speed of Light
lambda = c/fc; % lamba
snr = -20; % db noise
% Sweep time: This must be at least 5 or 6 times round trip time
range_max = 200;
tm = 5.5*range2time(range_max,c); %sweep time
% The sweep bandwidth can be determined according to the range resolution and the
sweep slope is calculated using both sweep bandwidth and sweep time.
range_res = 1;
bw = rangeres2bw(range_res,c);
sweep_slope = bw/tm;
% The maximum beat frequency the radar needs to detect is the sum of the beat
% frequency corresponding to the maximum range and the maximum Doppler frequency.
% Hence, the sample rate only needs to be twice the maximum beat frequency.
% begin first with the maximum frequency
fr_max = range2beat(range_max,sweep_slope,c);
v_max = 230*1000/3600; % Car Maximum speed
fd_max = speed2dop(2*v_max,lambda); % Doppler frequency
fb_max = fr_max+fd_max; % Max beat frequency
% sample rate of the larger of twice the maximum beat frequency and the bandwidth.
fs = max(2*fb_max,bw);
% FMCW Wavform formular
waveform = phased.FMCWWaveform('SweepTime',tm,'SweepBandwidth',bw, ...
'SampleRate',fs);
sig = waveform();
subplot(211); plot(0:1/fs:tm-1/fs,real(sig));
xlabel('Time (s)'); ylabel('Amplitude (v)');
title('FMCW signal'); axis tight;
subplot(212); spectrogram(sig,32,16,32,fs,'yaxis');
title('FMCW signal spectrogram');
% target1 Model
car_dist1 = 43; % target car distance
car_speed1 = 96*1000/3600; % car_speed
car_rcs1 = db2pow(min(10*log10(car_dist1)+5,20)); % car radar cross sesction
tgtmodel = 'Swerling4'; % car radar cross sesction
cartarget1 = phased.RadarTarget('MeanRCS',car_rcs1,'PropagationSpeed',c,...
'OperatingFrequency',fc,'Model',tgtmodel);
carmotion1 = phased.Platform('InitialPosition',[car_dist1;0;0.5],...
'Velocity',[car_speed1;0;0]);
% Propagation model to be free space
channel = phased.FreeSpace('PropagationSpeed',c,...
'OperatingFrequency',fc,'SampleRate',fs,'TwoWayPropagation',true);
% target2 Model
car_dist2 = 63; % target car distance
car_speed2 = 126*1000/3600; % car_speed

car_rcs2 = db2pow(min(10*log10(car_dist2)+5,40)); % car radar cross sesction
tgtmodel2 = 'Swerling4'; % car radar cross sesction
cartarget2 = phased.RadarTarget('MeanRCS',car_rcs2,'PropagationSpeed',c,...
'OperatingFrequency',fc,'Model',tgtmodel2);
carmotion2 = phased.Platform('InitialPosition',[car_dist2;0;1],...
'Velocity',[car_speed2;0;0]);
% Radar System Setup
% The rest of the radar system includes the transmitter, the receiver, and the
antenna. This example uses the parameters presented in [1].
% Note that this example models only main components and omits the effect from
other components, such as coupler and mixer. In addition,
% for the sake of simplicity, the antenna is assumed to be isotropic and the gain
of the antenna is included in the transmitter and the receiver.
ant_aperture = 6.06e-4; % in square meter
ant_gain = aperture2gain(ant_aperture,lambda); % in dB
tx_ppower = db2pow(5)*1e-3; % in watts
tx_gain = 9+ant_gain; % in dB
rx_gain = 15+ant_gain; % in dB
rx_nf = 4.5; % in dB
transmitter = phased.Transmitter('PeakPower',tx_ppower,'Gain',tx_gain);
receiver = phased.ReceiverPreamp('Gain',rx_gain,'NoiseFigure',rx_nf,...
'SampleRate',fs);
radar_speed = 100*1000/3600;
radarmotion = phased.Platform('InitialPosition',[0;0;0.5],...
'Velocity',[radar_speed;0;0]);
specanalyzer = spectrumAnalyzer('SampleRate',fs, ...
'Method','welch','AveragingMethod','running', ...
'PlotAsTwoSidedSpectrum',true, 'FrequencyResolutionMethod','rbw', ...
'Title','Spectrum for received and dechirped signal', ...
'ShowLegend',true);
rng(2012);
Nsweep = 64;
xr = complex(zeros(waveform.SampleRate*waveform.SweepTime,Nsweep));
xd = size(xr)
for m = 1:Nsweep
% Update radar and target positions
[radar_pos,radar_vel] = radarmotion(waveform.SweepTime);
[tgt_pos1,tgt_vel1] = carmotion1(waveform.SweepTime);
[tgt_pos2,tgt_vel2] = carmotion2(waveform.SweepTime);
% Transmit FMCW waveform
sig = waveform();
txsig1 = transmitter(sig);
txsig2 = transmitter(sig);
% Transmit FMCW waveform
sig = waveform();

txsig1 = transmitter(sig);
txsig2 = transmitter(sig);
% Propagate the signal and reflect off the target
updatercs =true;
txsig1 = channel(txsig1,radar_pos,tgt_pos1,radar_vel,tgt_vel1);
txsig2 = channel(txsig2,radar_pos,tgt_pos2,radar_vel,tgt_vel2);
txsig1 = cartarget1(txsig1,updatercs);
txsig2 = cartarget2(txsig2, updatercs);
% Dechirp the received radar return
txsig = receiver(txsig1+txsig2);
% To generate noise you use the formular
y = awgn(txsig,snr,'measured','dB');
% Noise effectB
txsig = txsig + y;
dechirpsig = dechirp(txsig,sig);
% Visualize the spectrum
specanalyzer([txsig dechirpsig]);
xr(:,m) = dechirpsig;
end
%% Range and Doppler Estimation
% Before estimating the value of the range and Doppler, take a look at the zoomed
range Doppler response of all
% 64 sweeps.
hrdresp = phased.RangeDopplerResponse('PropagationSpeed',c,...
'DopplerOutput','Speed','OperatingFrequency',fc,'SampleRate',fs,...
'RangeMethod','FFT','SweepSlope',sweep_slope,...
'RangeFFTLengthSource','Property','RangeFFTLength',2048,...
'DopplerFFTLengthSource','Property','DopplerFFTLength',256);
clf;
[resp_bt,dop_grid,rng_grid] = plotResponse(hrdresp,xr);
% Plot range Doppler map
axis([-v_max v_max 0 range_max])
clim = caxis;

Option 1

Low Cost Option
Download this past answer in few clicks

60 USD

PURCHASE SOLUTION

Already member?


Option 2

Custom new solution created by our subject matter experts

GET A QUOTE

Related Questions