What is the difference between "phased.Li​nearFMWave​form" and "phased.FMCWWaveform"

4 visualizzazioni (ultimi 30 giorni)
1. What is the difference between "phased.LinearFMWaveform" and "phased.FMCWWaveform" in Phased Array System Toolbox except for that Triangle waveform generation is possible in P"phased.LinearFMWaveform" function.
2. My other concern is I want to sweep bandwidth of 10Mhz from start frequency of 10 MHz and End Frequency 20MHz. How can i do that in "phased.LinearFMWaveform" function.
3. When i dechirp the received signal from transmitted signal of saw-tooth waveform, i should get 2 beat frequencies (according to "New ideas in FM Radar by H. D. Griffiths"). but i get only 1 beat frequency, why?

Risposta accettata

Honglei Chen
Honglei Chen il 27 Dic 2012
Hi Ali,
LinearFMWaveform is a pulse waveform, meaning that in general the system only transmit a very short period of time during one cycle and uses the rest of cycle to receive. On the other hand, FMCWWaveform is a continuous waveform, so the system transmits and receives at the same time and the duty cycle for the waveform is always 1.
Currently you cannot specify the starting and ending frequencies in LinearFMWaveform. However, depending on the system setup, you may still be able to simulate your case. For example, if your system's center frequency is 15 MHz, then your situation is just a symmetric sweeping over a 10MHz range.
I don't have that particular paper handy so I cannot comment much on your third question without seeing some code snippet.
HTH
  4 Commenti
AR
AR il 13 Mar 2013
Modificato: AR il 13 Mar 2013
<http://www.flickr.com/photos/31340493@N06/8554191926/in/photostream> see the attached image, two beat frequencies calculated should be 2Mz and 8Mhz

Accedi per commentare.

Più risposte (1)

Nadir HEFHAF
Nadir HEFHAF il 10 Set 2017
Modificato: Honglei Chen il 11 Set 2017
i have problem also in this program
close all
clc
clear all
L = 50;
N = 4;
rxULA = phased.ULA('Element',phased.OmnidirectionalMicrophoneElement,...
'NumElements',N);
rxpos1 = [0;0;0];
rxvel1 = [0;0;0];
rxax1 = azelaxes(90,0);
rxpos2 = [L;0;0];
rxvel2 = [0;0;0];
rxax2 = rxax1;
srcpos = [30;100;0];
srcvel = [0;0;0];
srcax = azelaxes(-90,0);
srcULA = phased.OmnidirectionalMicrophoneElement;
fc = 300e3; % 300 kHz
c = 1500; % 1500 m/s
dmax = 150; % 150 m
pri = (2*dmax)/c;
prf = 1/pri;
bw = 100.0e3; % 100 kHz
fs = 2*bw;
waveform = phased.LinearFMWaveform('SampleRate',fs,'SweepBandwidth',bw,...
'PRF',prf,'PulseWidth',pri/10);
signal = waveform();
nfft = 128;
radiator = phased.WidebandRadiator('Sensor',srcULA,...
'PropagationSpeed',c,'SampleRate',fs,...
'CarrierFrequency',fc,'NumSubbands',nfft);
collector1 = phased.WidebandCollector('Sensor',rxULA,...
'PropagationSpeed',c,'SampleRate',fs,...
'CarrierFrequency',fc,'NumSubbands',nfft);
collector2 = phased.WidebandCollector('Sensor',rxULA,...
'PropagationSpeed',c,'SampleRate',fs,...
'CarrierFrequency',fc,'NumSubbands',nfft);
channel1 = phased.WidebandFreeSpace('PropagationSpeed',c,...
'SampleRate',fs,'OperatingFrequency',fc,'NumSubbands',nfft);
channel2 = phased.WidebandFreeSpace('PropagationSpeed',c,...
'SampleRate',fs,'OperatingFrequency',fc,'NumSubbands',nfft);
[~,ang1t] = rangeangle(rxpos1,srcpos,srcax);
[~,ang2t] = rangeangle(rxpos2,srcpos,srcax);
sigt = radiator(signal,[ang1t ang2t]);
sigp1 = channel1(sigt(:,1),srcpos,rxpos1,srcvel,rxvel1);
sigp2 = channel2(sigt(:,2),srcpos,rxpos2,srcvel,rxvel2);
[~,ang1r] = rangeangle(srcpos,rxpos1,rxax1);
[~,ang2r] = rangeangle(srcpos,rxpos2,rxax2);
sigr1 = collector1(sigp1,ang1r);
sigr2 = collector2(sigp2,ang2r);
doa1 = phased.GCCEstimator('SensorArray',rxULA,'SampleRate',fs,...
'PropagationSpeed',c);
doa2 = phased.GCCEstimator('SensorArray',rxULA,'SampleRate',fs,...
'PropagationSpeed',c);
angest1 = doa1(sigr1);
angest2 = doa2(sigr2);
yest = L/(abs(tand(angest1)) + abs(tand(angest2)));
xest = yest*abs(tand(angest1));
zest = 0;
srcpos_est = [xest;yest;zest]
the problem is
Array formation and parentheses-style indexing with objects of class 'phased.LinearFMWaveform' is not allowed. Use objects of class 'phased.LinearFMWaveform' only as scalars or use a cell array.
Error in program11 (line 27) signal = waveform();
  3 Commenti

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by