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

2 views (last 30 days)
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');

Accepted Answer

Honglei Chen
Honglei Chen on 1 Dec 2014
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 Comments
ahmed
ahmed on 5 Dec 2014
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 on 5 Dec 2014
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))];

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!