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

조회 수: 4 (최근 30일)
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?

채택된 답변

Honglei Chen
Honglei Chen 2012년 12월 27일
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
AR
AR 2013년 3월 13일
편집: AR 2013년 3월 13일
<http://www.flickr.com/photos/31340493@N06/8554191926/in/photostream> see the attached image, two beat frequencies calculated should be 2Mz and 8Mhz

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Nadir HEFHAF
Nadir HEFHAF 2017년 9월 10일
편집: Honglei Chen 2017년 9월 11일
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
Harwanto Zidqi Putro
Harwanto Zidqi Putro 2020년 8월 12일
편집: Harwanto Zidqi Putro 2020년 8월 12일
I have version 2016a, and its error with same problem
PATRICK UWIGIZE
PATRICK UWIGIZE 2021년 12월 30일
편집: PATRICK UWIGIZE 2021년 12월 30일
Upgrade you MATLAB to a newer version

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by