how can i use a varying bandwidth in phased.FMCWWaveform function

3 次查看(过去 30 天)
The FMCWWaveform object creates an FMCW (frequency modulated continuous wave) waveform.
To obtain waveform samples:
1-Define and set up your FMCW waveform. See Construction. 2-Call step to generate the FMCW waveform samples according to the properties of phased.FMCWWaveform. The behavior of step is specific to each object in the toolbox. Construction
H = phased.FMCWWaveform creates an FMCW waveform System object™, H. The object generates samples of an FMCW waveform.
H = phased.FMCWWaveform(Name,Value) creates an FMCW waveform object, H, with additional options specified by one or more Name,Value pair arguments. Name is a property name, and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,…,NameN,ValueN.
FM sweep bandwidth bw= (f0:f1);
this part i can't use my bandwidth. it always begin with zero to f0
Specify the bandwidth of the linear FM sweeping, in hertz, as a row vector of positive, real numbers. The default value corresponds to 100 kHz. To implement a varying bandwidth, specify SweepBandwidth as a nonscalar row vector. The waveform uses successive entries of the vector as the sweep bandwidth for successive periods of the waveform. If the last element of the SweepBandwidth vector is reached, the process continues cyclically with the first entry of the vector. If SweepTime and SweepBandwidth are both nonscalar, they must have the same length. Default: 1e5
Fs = 20e7; % sampling rate (Hz) M = 2; % no.of sweeps ts = 1e-3; % Sweep time (sec) F_start = 6.0e7; % chirp start frequency (Hz) F_stop = 9.00e7; % chirp stop frequency (Hz) delta = F_stop-F_start; % Operating BW (Hz) Bw = (F_start:2*ts*delta:F_stop); % Operating BW (Hz) t = 0:1/Fs:M*ts-1/Fs; % t-axis for display
%%%%%%Generate the Tx Chirp signal %%%%%%
h = phased.FMCWWaveform('SweepDirection','Triangle','NumSweeps',M,'SampleRate',Fs,...
'SweepTime',ts,'SweepBandwidth',Bw);
xt = step(h);
figure(1);plot(t,xt);title('Tx Chirp Signal in Time Domain')
xlabel('Time (sec)')
ylabel('Amplitude')
spectrogram(xt,32,16,32,h.SampleRate,'yaxis');

采纳的回答

Honglei Chen
Honglei Chen 2014-12-1
You can modify the SweepInterval property in FMCWWaveform, if you set it to 'Positive', it sweeps from 0 to BW, where BW is the bandwidth. If you set it to 'Symmetric', it sweeps from -BW/2 to BW/2. Does this solve your issue or you really want to start at an arbitrary frequency?
  2 个评论
ahmed
ahmed 2014-12-5
first thanks for your response really i want to start at an arbitrary frequency and end with another one different so i think the solution is to write the equations instead of the function
ahmed
ahmed 2014-12-5
a = cos(2*pi*F0*rem(t0,ts) + pi*k*(rem(t0,ts).^2)); % Up Sweep b = cos(2*pi*F1*rem(t1,ts) - pi*k*(rem(t1,ts).^2)); % Down Sweep xt = [a(1:length(a)) b(2:length(b))];

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Continuous Waveforms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by