Zaloguj się
Blog na Matlab.pl
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Modelowanie i symulacja pracy radaru FMCW
Forum MATLAB Strona Główna-> Sterowanie i modelowanie systemów
Post Wysłany: 2 Sierpnia 2014, Sob 7:22 pm Temat postu: Modelowanie i symulacja pracy radaru FMCW Odpowiedz z cytatem
 
AUTOR:
karol93
Początki pisania


Dołączył: 02 Sie 2014
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam. W oparciu o tutorial http://www.mathworks.com/help/phased/examples/automotive-adaptive-cruise-control-using-fmcw-technology.html chcę zrobić własną symulację, jednak zawierającą 2 cele (lub więcej) podobny przykład był dla radaru impulsowego i tak wyglądało to trochę prościej, bo opierało się o zliczanie impulsów. http://www.mathworks.com/matlabcentral/fileexchange/41021-radar-system-design-and-analysis-with-matlab--webinar/content/RadarSystemDesign_Webinar_Examples/html/rangeDopplerStreamExample.html
Jak jednak zastosować podobną ideę dla fali ciągłej? Poniżej zamieszczam kod. Na 'Range Doppler Map' mam dobrze wskazane położenia(odległości) celów, jednak nie wiem, jak wyświetlić ich prędkość. Ktoś coś podpowie?
Kod:

close all
clear all
clc

fr
= 77e9;
c = 3e8;
lambda = c/fr;
maxRange = 200;
tm = 5.9*range2time(maxRange,c);
rangeRes = 1;
bw = range2bw(rangeRes,c);
sweepSlope = bw/tm;
fr_max = range2beat(maxRange,sweepSlope,c);
v_max = 230*1000/3600;
fd_max = speed2dop(2*v_max,lambda);

fb_max = fr_max+fd_max;
fs = max(2*fb_max,bw);
signal = phased.FMCWWaveform('SweepTime',tm,'SweepBandwidth',bw,...
    
'SampleRate',fs);
s = step(signal);
figure('WindowStyle','docked'),
subplot(211); plot(0:1/fs:tm-1/fs,real(s));
xlabel('Time (s)'); ylabel('Amplitude (v)');
title('FMCW signal'); axis tight;
subplot(212); spectrogram(s,32,16,32,fs,'yaxis');
title('FMCW signal spectrogram');

tgt{1}=phased.RadarTarget('MeanRCS',40,'OperatingFrequency',fr,'Model','Swerling3');
sTgtMotion{1} = phased.Platform('InitialPosition',[150; 0; 0],'Velocity',[120; 0; 0]);
channel{1} = phased.FreeSpace('SampleRate',fs,'TwoWayPropagation',true,'OperatingFrequency',fr);

tgt{2}=phased.RadarTarget('MeanRCS',30,'OperatingFrequency',fr,'Model','Swerling3');
sTgtMotion{2} = phased.Platform('InitialPosition',[90; 0; 0],'Velocity',[60; 0; 0]);
channel{2} = phased.FreeSpace('SampleRate',fs,'TwoWayPropagation',true,'OperatingFrequency',fr);

%
collector = phased.Collector('Sensor',ant,'Wavefront','Plane','OperatingFrequency',fr);

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

htx
= phased.Transmitter('PeakPower',tx_ppower,'Gain',tx_gain);
hrx = phased.ReceiverPreamp('Gain',rx_gain,'NoiseFigure',rx_nf,...
    
'NoiseBandwidth',bw,'SampleRate',fs);
radar_speed = 72*1000/3600;
hradarplatform = phased.Platform('Velocity',[radar_speed;0;0],'InitialPosition',[0;0;0]);


hrdresp = phased.RangeDopplerResponse('PropagationSpeed',c,...
    
'DopplerOutput','Speed','OperatingFrequency',fr,...
    
'SampleRate',fs,'RangeMethod','Dechirp','SweepSlope',sweepSlope,...
    
'RangeFFTLengthSource','Property','RangeFFTLength',256,...
    
'DopplerFFTLengthSource','Property','DopplerFFTLength',256);


Nsweep = 256;
xr =complex(zeros(1180,Nsweep));
xd=complex(zeros(1180,Nsweep));
rsig=zeros(1180,Nsweep);
for
m = 1:Nsweep
    
[radar_pos,radar_vel] = step(hradarplatform,signal.SweepTime);     
    for
n = 1:2
        
[tgt_pos(:,n),tgt_vel(:,n)] = step(sTgtMotion{n},signal.SweepTime);               
        
x = step(signal);
        
tsig(:,n)=step(htx,x); %,ang(:,n)
        
tsig(:,n)=step(channel{n},tsig(:,n),radar_pos,tgt_pos(:,n), radar_vel,tgt_vel(:,n));
        
tsig(:,n)=step(tgt{n},tsig(:,n),true); 
    
end   
    rsig
= step(hrx,tsig);
    
    
xd = dechirp(rsig,x);                       
    
xd = sum(xd,2);
    [
rdmap,rangeGrid,speedGrid] = step(hrdresp,xd);
end

for a=1:2
    xr
(:,a) = xd;
end

figure
('WindowStyle','docked'),
plotResponse(hrdresp,xr);                     
axis([-v_max v_max 0 maxRange])
fb_rng = rootmusic(pulsint(xr,'coherent'),1,fs);
rng_est = beat2range(fb_rng,sweepSlope,c)


Z góry dziękuję!


 

Post Wysłany: 27 Lipca 2015, Pon 10:11 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
janedakdoy



Dołączył: 27 Lip 2015
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
This story teaches many readers do not read. I know that I'm getting really good at it.


 

Forum MATLAB Strona Główna-> Sterowanie i modelowanie systemów
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 37615625
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Simulink/ xPC target - błąd polecenia slrtexplr  (21 Sierpnia 2017, Pon 7:41 pm)
Niedoparki - 2017 - Cały Film Online/Pobierz  (19 Sierpnia 2017, Sob 6:24 pm)
Fatima. Ostatnia tajemnica- 2017 - Cały Film Online/Pobierz  (19 Sierpnia 2017, Sob 6:24 pm)
Mamuśki mają wychodne- 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:23 pm)
Gang Wiewióra 2 - 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:22 pm)
Dom wygranych - 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:22 pm)
Agentka specjalnej troski - 2017 - Film Online/Pobierz  (19 Sierpnia 2017, Sob 6:21 pm)
Królewicz Olch - 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:20 pm)
Bodyguard Zawodowiec - 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:20 pm)
Obdarowani - 2017 - Cały Film Online/Pobierz [CDA]  (19 Sierpnia 2017, Sob 6:19 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum