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(:)))

1 件のコメント

esteban
esteban 2012 年 10 月 25 日
Yes, you're right. Thanks.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeFourier Analysis and Filtering についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by