Windowing in a 2D-FFT non image matrix

Hi, I've a 2D-matrix which represents a group of aligned signals. In one dimension I've time in msec, in the other dimension I've # of signal. I need to process this matrix by a 2D-FFT in order to see the freq content in one dimesion and the periodicity in the other dimension. I want to use a window before to process the 2D-FFT and I wondering which is the best way to use the window function. I've two possible methods.
1) create a 2D window as W * W', apply to the matrix of data an then call the fft2 function.
2) process 1D window to the first dimension and calculate the 1D-FFT for each signal, then apply again the 1D window to the ensamble of spectrums for each frequency (the other dimesion) and the calculate the 1D-FFT to this dimension in order to get the 2D-FFT, in which the windowing was applied in each dimension by steps.
I think 2) is better than 1) because both axis represent different things and no the same thing just like images.
I wish to ask what do you think about this. Method 1) or 2) ??? Is the method 2) a valid one ??? Is there another method to process 2D windowing to matrix of data where both dimensions represents differents units (for example age and height) ???
thanks

댓글 수: 1

esteban
esteban 2012년 10월 24일
But... I realize a little topic. 1D-FFT gives a complex result, and then I could use this result as an argument for the 2nd 1D-FFT and get the 2D-FFT jus like the fft2 algorithm. But, how can I do to apply the windowing to a complex number at the end of the first 1D-FFT befor the 2nd one ??? Need I do to apply the window to bhot real and imaginary parts separely ??? thanks

댓글을 달려면 로그인하십시오.

 채택된 답변

Honglei Chen
Honglei Chen 2012년 10월 24일

0 개 추천

I think the two approaches are equivalent, see the example below
x = magic(8)
w = hamming(8)
fft2(x.*(w*w'))
y1 = fft2(x.*(w*w'));
y2 = fft(bsxfun(@times,fft(bsxfun(@times,x,w)),w'),[],2);
max(abs(y1(:)-y2(:)))

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

질문:

2012년 10월 24일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by