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!