Filter löschen
Filter löschen

Radar Signal Simulation: range-angle response

1 Ansicht (letzte 30 Tage)
Wei-Min Chen
Wei-Min Chen am 12 Dez. 2018
Bearbeitet: Wei-Min Chen am 12 Dez. 2018
I'm going to get range-angle response of example in ACC.
I know that there's only single sensor in RX in this example, what I want to do is replacing single sensor to ULA.
Then the size of response I get should be like:4*512 (for example)
4 is number ULA elements and 512 is fast time samples.
I studied FMCW DSP before but I still don't know how to deal with so many system objects in Matlab.
I really need an example or a tutorial.
Thanks!
%% Radar System Setup
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);
sULA = phased.ULA('NumElements',4,'ElementSpacing',lambda/2);
radar_speed = 0;
radarmotion = phased.Platform('InitialPosition',[0;0;0],'Velocity',[radar_speed;0;0]);
%% Radar Signal Simulation
% specanalyzer = dsp.SpectrumAnalyzer('SampleRate',fs,...
% 'PlotAsTwoSidedSpectrum',true,...
% 'Title','Spectrum for received and dechirped signal',...
% 'ShowLegend',true);
rng(2012);
for azimuth = 1:180
xr = complex(zeros(4,waveform.SampleRate*waveform.SweepTime));
% Update radar and target positions
[radar_pos,radar_vel] = radarmotion(waveform.SweepTime);
[tgt_pos,tgt_vel] = carmotion(waveform.SweepTime);
% Transmit FMCW waveform
sig = waveform();
txsig = transmitter(sig);
% Propagate the signal and reflect off the target
txsig = channel(txsig,radar_pos,tgt_pos,radar_vel,tgt_vel);
txsig = cartarget(txsig);
% Dechirp the received radar return
txsig = collectPlaneWave(sULA,sig,[azimuth;0],fc);
% txsig = receiver(txsig);
dechirpsig = dechirp(txsig,sig);
% Visualize the spectrum
% specanalyzer([txsig dechirpsig]);
xr(:,azimuth) = dechirpsig;
azimuth
end

Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by