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?
20 ビュー (過去 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!