資源簡介
MATLAB原代碼 分三個m文件 放在一起就能用
代碼片段和文件信息
function?[Y]?=?ISTFT(X?N?WINDOW?NOVERLAP);
%?Short-time?Fourier?Transform?Synthesis?by?Overlap-add?method
%
%???Y?=?ISTFT(X?N?WINDOW?NOVERLAP)
%
%?????Y?:?time?domain?output?vector
%?????X?:?input?stFT?matrix?(NFFT?x?L)
%?????N?:?the?length?of?output?samples
%?????WINDOW?:?window?function
%?????NOVERLAP?:?#?of?overlaped?samples
%
%??????????????????????by?Taesu?Kim
%???????????????????????????2003.?1.?26.
%
NFFT?=?(size(X?1)-1)*2;
%?NFFT?=?(size(X?1)+1)*2;
L?=?size(X?2);
WLEN?=?size(WINDOW?1);
SHIFT?=?WLEN?-?NOVERLAP;
W?=?zeros(N+WLEN+NFFT?1);
X?=?[X;conj(X(end-1:-1:2:))];
%?X?=?[zeros(1L);X;zeros(1L);conj(X(end:-1:1:))];
Y?=?zeros(N+WLEN+NFFT?1);
for?i?=?1:L
sp?=?SHIFT*i?+?1;
tmp?=?real(ifft(X(:?i)));
W(sp:sp+WLEN-1)?=?W(sp:sp+WLEN-1)?+?WINDOW.^2;
Y(sp:sp+WLEN-1)?=?Y(sp:sp+WLEN-1)?+?WINDOW.*tmp(1:WLEN);
%? W(sp:sp+WLEN-1)?=?W(sp:sp+WLEN-1)?+?WINDOW;
%? Y(sp:sp+NFFT-1)?=?Y(sp:sp+NFFT-1)?+?real(ifft(X(:?i)));
%? Y(sp:sp+WLEN-1)?=?Y(sp:sp+WLEN-1)?+?tmp(1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1219??2012-10-22?21:30??istft.m
?????文件????????3583??2012-12-03?20:17??ivabss.m
?????文件?????????887??2012-10-22?21:30??stft.m
- 上一篇:2DPSK的MATLAB代碼實現
- 下一篇:彩色圖像增強的同態濾波的MATLAB實現
評論
共有 條評論