hanning ,hamming window in matlab?
29 ビュー (過去 30 日間)
古いコメントを表示
how do Hanning and Hamming window in matlab?
when must I do these window after DFT signal or before DFT signal?
0 件のコメント
採用された回答
Wayne King
2013 年 11 月 26 日
編集済み: Wayne King
2013 年 11 月 26 日
Before you take the DFT
hamming() or hann()
t = 0:0.001:1-0.00;
x = cos(2*pi*100*t)+randn(size(t));
winvec = hamming(length(x)); % hann(length(x));
xdft = fft(x'.*winvec);
plot(abs(xdft))
6 件のコメント
Wayne King
2013 年 11 月 26 日
You can put them in a matrix and multiply them all at once.
X = randn(100,20);
h = hamming(100);
h = repmat(h,1,20);
X = X.*h;
その他の回答 (2 件)
Wayne King
2013 年 11 月 27 日
編集済み: Wayne King
2013 年 11 月 27 日
That depends on how they are in your workspace. If you have 20 separate vectors, then just do this.
I'll assume they are column vectors and I'll just create 3 signals here.
s1 = randn(33,1);
s2 = randn(33,1);
s3 = randn(33,1);
Sig = [s1 s2 s3];
Now window them as before:
h = hamming(33);
Sig = Sig.*repmat(h,1,3);
Now take the DFT
SigDFT = fft(Sig);
Obviously, you have to make adjustments for the 20 columns above:
repmat(h,1,20)
for example
Wayne King
2013 年 11 月 27 日
If you have row vectors you have to make the necessary adjustment. Just convert them to column vectors.
s1 = s1';
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で Hamming についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!