I have some questions about length of windowing functions applied to 1D and 2D FFT. For a N point 1D FFT, it is very straightforward, I can generate a N point window function, and multiply it with the signal before doing FFT. But for N*N point 2D FFT, what length of window function should I use? Should I generate a N*N point window same to the one used in 1D FFT, or a N point window and repeat the waveform for N times to form a N*N point window? Which one should I use? also for 1D FFT, in the time domain, y=sig*win, and in frequency domain this becomes Y=conv( FFT(sig), FFT(win) ) how to explain this for 2D FFT? Thanks
2D FFT window function
Started by ●March 6, 2009
Reply by ●March 6, 20092009-03-06
On 6 Mar, 14:04, "gobruins" <chunmei.k...@gmail.com> wrote:> I have some questions about length of windowing functions applied to 1D and > 2D FFT. For a N point 1D FFT, it is very straightforward, I can generate a > N point window function, and multiply it with the signal before doing FFT. > But for N*N point 2D FFT, what length of window function should I use?Try and formulate the 2D DFT in terms of 1D DFTs (it can be done, as the 2D DFT is separable), and you might find the answer. Rune
Reply by ●March 6, 20092009-03-06
On Mar 6, 5:04 am, "gobruins" <chunmei.k...@gmail.com> wrote:> I have some questions about length of windowing functions applied to 1D and > 2D FFT. For a N point 1D FFT, it is very straightforward, I can generate a > N point window function, and multiply it with the signal before doing FFT. > But for N*N point 2D FFT, what length of window function should I use? > Should I generate a N*N point window same to the one used in 1D FFT, or a N > point window and repeat the waveform for N times to form a N*N point > window? Which one should I use? > > also for 1D FFT, in the time domain, y=sig*win, and in frequency domain > this becomes Y=conv( FFT(sig), FFT(win) ) > > how to explain this for 2D FFT? > > ThanksFor 1D in the time domain I think you mean y = sig .* win Most windows are low pass filter prototypes. There is considerable information available on generating 2D filters from 1D filters. Three of the possibilities are 1) Separable formed as products of 1D filters, win2D = win1D * win1D' 2) Rotationally symmetric formed by rotating the 1D window shape 3) McClellan transformed to generate 2D from a 1D prototype Google is your friend. Dale B. Dalrymple
Reply by ●March 9, 20092009-03-09
>On Mar 6, 5:04 am, "gobruins" <chunmei.k...@gmail.com> wrote: >> I have some questions about length of windowing functions applied to 1Dand>> 2D FFT. For a N point 1D FFT, it is very straightforward, I cangenerate a>> N point window function, and multiply it with the signal before doingFFT.>> But for N*N point 2D FFT, what length of window function should I use? >> Should I generate a N*N point window same to the one used in 1D FFT, ora N>> point window and repeat the waveform for N times to form a N*N point >> window? Which one should I use? >> >> also for 1D FFT, in the time domain, y=sig*win, and in frequencydomain>> this becomes Y=conv( FFT(sig), FFT(win) ) >> >> how to explain this for 2D FFT? >> >> Thanks > >For 1D in the time domain I think you mean > >y = sig .* win > >Most windows are low pass filter prototypes. There is considerable >information available on generating 2D filters from 1D filters. Three >of the possibilities are > >1) Separable formed as products of 1D filters, win2D = win1D * win1D' > >2) Rotationally symmetric formed by rotating the 1D window shape > >3) McClellan transformed to generate 2D from a 1D prototype > >Google is your friend. > >Dale B. Dalrymple > >Thanks a lot!I followed on 1), and seems I can get the right spectrum.