Posts Tagged ‘Numerical’

h1

Convolution in the Frequency Domain

January 3, 2006
주파수 영역에서의 (circular) convolution

길이 n인 real wavelet1과
길이 m인 real wavelet2를
각각 complex로 만들어준 후 길이 m+n-1이 되도록
Zero padding을 해준다.

각각의 wavelet들을 FFT한 후에

k=m+n-1
output(1:k)=cwave1(1:k)*cwave2(1:k) !곱하기

그리고 나서 inverse Fourier transform 하면
Time domain에서의 convolution 결과와 같게 나온다.

01:   L=m+n-1
02:   cw1(1:n)=cmplx(wave1(1:n),0.)
03:   cw1(n+1:L)=cmplx(0.,0.)
04:
05:   cw2(1:m)=cmplx(wave2(1:m),0.)
06:   cw2(m+1:L)=cmplx(0.,0.)
07:
08:   call fft(cw1,L)
09:   call fft(cw2,L)
10:
11:   conv(1:L)=cw1(1:L)*cw2(1:L)
12:
13:   call ift(conv,L)