# Chirp Signal that decreases frequency then stabilizes to a constant frequency

10 views (last 30 days)
rtn on 30 Apr 2020
Commented: rtn on 6 May 2020
Hi!
I would like to create a chirp or a sweep signal that starts at about 1.5 Hz then decreases to about .6 Hz and then remains at .6 Hz frequency. What is the best way to implement this?
Fs = 1000; % Sampling rate of signal
T=1/Fs; % period
t = 0:T:10; % sample times
% amplitude of message signal
vm = .15
% amplitude of carrier signal
vc = .15
% message frequency
fm = .1
% carrier freq
fc = 1
% modulation index
m = 5
%
t1 = 0:T:10;
t2 = (4+T):T:10;
figure
subplot(2,1,1)
y1 = [sin(2*pi*fm*t1)];
plot(t,y1);
subplot(2,1,2)
y = vc*sin(2*pi*fc*t+m.*y1);
plot(t,y);

Sai Sri Pathuri on 6 May 2020
You may try the following idea
% Chirp signal with an initial frequency of 0 and target frequency of 10
hchirp1 = dsp.Chirp( ...
'InitialFrequency', 0,...
'TargetFrequency', 10, ...
'TargetTime', 10, ...
'SweepTime', 100, ...
'SampleRate', 50, ...
'SamplesPerFrame', 500);
% Chirp signal with an constant frequency of 10
hchirp2 = dsp.Chirp( ...
'InitialFrequency', 10,...
'TargetFrequency', 10, ...
'TargetTime', 10, ...
'SweepTime', 100, ...
'SampleRate', 50, ...
'SamplesPerFrame', 500);
% Chirp signal with an initial frequency of 0 and a steady target frequency of 10
plot([hchirp1();hchirp2()]);
rtn on 6 May 2020
Thank you!!!

Sai Sri Pathuri on 4 May 2020
You may use dsp.Chirp object to create a chirp signal. You may refer the example in the linked documentation to generate chirp signal with required characteristics.

rtn on 4 May 2020
Using this object I can create a chirp signal that linearly decreases but it keeps decreasing. Is there anyway to create a chirp signal that decreases in frequency and stops decreasing at a specified time point?