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
Windowing in a 2D-FFT non image matrix
20 views (last 30 days)
Show older comments
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
Accepted Answer
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)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!