資源簡介
短時傅里葉變換的matlab實現,有詳盡的注釋,方便學習理解
代碼片段和文件信息
function?[S?W?T]?=?stft(signalnscnovfswin)
%短時傅里葉變換的實現
%?Input????????
%???????signal??????-?輸入信號
%???????nsc?????????-?信號切片的大小
%???????nov?????????-?重疊信號的大小
%???????fs??????????-?采樣頻率
%???????win?????????-?窗的類型,包括矩形窗,三角窗,漢寧窗,海明窗
%?Output
%???????S???????????-?時間頻率矩陣,每一列式一個時間切片的FFT
%???????W???????????-?頻率標度
%???????T???????????-?時間標度
????if?nargin?5
????????win?=?‘hamming‘;
????end
??%?信號處理,信號切片
????if?strcmp(win‘boxcar‘)
????????h?=?boxcar(nsc);?
????end
????if?strcmp(win‘triang‘)
????????h?=?triang(nsc);?
????end
????if?strcmp(win‘hanning‘)
????????h?=?hanning(nsc?‘periodic‘);?
????end
????if?strcmp(win‘hamming‘)
????????h?=?hamming(nsc?‘periodic‘);?
????end?????????????????????????????%?窗函數
????L?=?length(signal);?????????????%?信號長度
????nst?=?nsc-nov;??????????????????%?信號切片移動步長
????ncl?=?fix(?(L-nsc)/nst?)?+?1;???%?信號切片的個數,對應時間
- 上一篇:仿真車輛移動的matlab代碼
- 下一篇:GA優化BP權閾值的matlab程序
評論
共有 條評論