How can I use the chirp function to create a linear sine sweep from a given starting and ending frequency within a given time frame?
21 次查看(过去 30 天)
显示 更早的评论
How could I, for example, make a 3 second sine sweep starting at 40 Hz and ending at 10 kHz?
The examples given in the help section for chirp have not been useful.
0 个评论
回答(1 个)
David Barry
2016-12-13
% create time signal
freqSamp = 1e6;
tStart = 0;
tEnd = 3;
t = tStart:1/freqSamp:tEnd;
% create swept sine
freqStart = 40;
freqEnd = 1e4;
phaseInit = -90;
method = 'linear';
y = chirp(t, freqStart, tEnd, freqEnd, method, phaseInit);
4 个评论
Atilla Golan
2018-1-29
It does work perfectly, I have two questions: 1- What is the role of phaseinit? I changed it to different values and nothing changed. 2- It is up-going linear, how we can make down-going one?
Greg Dionne
2018-1-29
Try something like this:
t=0:0.001:2; % 2 secs @ 1kHz sample rate
y=chirp(t,200,1,100,'linear'); % Start @ 200Hz, cross 100Hz at t=1sec
spectrogram(y,kaiser(128,18),120,128,1E3,'reassigned','yaxis');
title('Linear Chirp: start at 200Hz and cross 100Hz at t=1sec');
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Prediction 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!