matlab产生扫频余弦信号 chirp用法
記得曾經(jīng)大研做錄音放音程序,老大讓我編一個掃頻信號做輸入,還給了個英文的掃頻信號說明,暈暈乎乎做了半天。。。突然發(fā)現(xiàn)matlab有產(chǎn)生掃頻信號的函數(shù)的,一聽掃頻就感覺好親切啊,這個肯定要收藏了。
這個網(wǎng)址有介紹http://blog.csdn.net/skyujwang/archive/2011/03/03/6221201.aspx,我不妨翻譯一下matlab幫助吧。
chirp:產(chǎn)生余弦掃頻信號
=
根據(jù)指定的方法在時間t上產(chǎn)生余弦掃頻信號,f0為第一時刻的瞬時頻率,f1為t1時刻的瞬時頻率,f0和f1單位都為Hz。如果未指定,f0默認(rèn)為e-6(對數(shù)掃頻方法)或0(其他掃頻方法),t1為1,f1為100Hz。
linear線性掃頻、
phi允許指定一個初始相位(以°為單位),默認(rèn)為0,如果想忽略此參數(shù),直接設(shè)置后面的參數(shù),可以指定為0或[];
shape指定二次掃頻方法的拋物線的形狀,凹還是凸,值為concave或convex,如果此信號被忽略,則根據(jù)f0和f1的相對大小決定是凹還是凸。
?
例如,線性掃頻
t = 0:0.001:2; % 2 secs @ 1kHz sample rate y = chirp(t,0,1,150); % Start @ DC, % cross 150Hz at t=1 sec spectrogram(y,256,250,256,1E3,'yaxis')
?
二次掃頻
% ±2 secs @ 1kHz sample rate t = -2:0.001:2; % Start @ 100Hz,?cross 200Hz at t=1 sec y = chirp(t,100,1,200,'quadratic'); spectrogram(y,128,120,128,1E3,'yaxis') 指數(shù)掃頻 t = 0:0.001:10; % 10 seconds @ 1kHz sample rate fo = 10; f1 = 400; % Start at 10Hz, go up to 400Hz y = chirp(t,fo,10,f1,'logarithmic'); spectrogram(y,256,200,256,1000,'yaxis') ? spectrogram或specgram為用短時傅里葉變換計算信號的時頻譜, specgram(a,nfft,fs,window,numoverlap)
nfft是fft的長度,越長的話,頻域分辨率越高,但是,對于語音這種時變信號,不能過長,一般采樣率16k或者8k的取1024或者512,要看采樣率的高低;
fs就是采樣率;
window是指窗的長度,一般和nfft相同即可;
numoverlap是指nfft減去步長,越大越好,但運算量越大。一般取nfft的3/4效果就比較好了。
總結(jié)
以上是生活随笔為你收集整理的matlab产生扫频余弦信号 chirp用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扫地机器人哪个品牌好?五款口碑最好的扫地
- 下一篇: jsp mysql书店源码_使用jsp数