Windowing in a 2D-FFT non image matrix

20 views (last 30 days)
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 Comment
esteban
esteban on 24 Oct 2012
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

Sign in to comment.

Accepted Answer

Honglei Chen
Honglei Chen on 24 Oct 2012
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(:)))

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!