Chirp Signal that decreases frequency then stabilizes to a constant frequency

2 次查看(过去 30 天)
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
Sai Sri Pathuri 2020-5-6
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()]);

更多回答(2 个)

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

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by