Chirp Signal that decreases frequency then stabilizes to a constant frequency

조회 수: 1 (최근 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