Chirp Signal that decreases frequency then stabilizes to a constant frequency

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

Accepted Answer

Sai Sri Pathuri
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()]);

More Answers (2)

Sai Sri Pathuri
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
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?

Categories

Find more on Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!