Optics/이론

Lec 14. Discrete Convolution

0verc10ck 2021. 8. 16. 18:30
반응형

본 게시물은 University of Arizona의 Prof. J. Scott Tyo의 OPTI512R 강의를 보고 정리한 내용입니다.
전공자가 아닌 만큼 부정확한 정보가 포함되어 있을 수 있습니다.
부정확한 정보가 있다면 알려주시면 감사하겠습니다.


The Convolution Theorem for DFT

우리는 Convolution integral이 다음과 같이 정의되는 Continuous linear System에 대해 학습하였다.

 

g(x)=f(x)h(x)=f(α)h(xα)dαg(x)=f(x)h(x)=f(α)h(xα)dα

 

여기서 αα는 integration을 위한 dummy variable이다. 우리는 위 수식의 Integral과 Fourier Transform을 연관 짓는 다음의 중요한 theorem을 배웠다.

 

G(ξ)=F(ξ)H(ξ)G(ξ)=F(ξ)H(ξ)

 

위 theorem에 의해 f(x)F(ξ)f(x)F(ξ)이고, h(ξ)G(ξ)h(ξ)G(ξ)이다. 여기서 볼 수 있는 것과 같이 Discrete signal에 대한 비슷한 convolution 정리를 도출할 수 있다.

 

DFT{fk}=FnDFT{fk}=FnDFT{hk}=HnDFT{hk}=Hn가 성립하는 Discrete Sequence Gn=FnHnGn=FnHn이 있다고 하자. 이때 gk=DFT1{Gn}gk=DFT1{Gn}fkfkhkhk를 사용하여 표현할 수 있을까?

Inverse DFT부터 시작해보자.

 

gk=1NN1n=0FnHnej2piknN=1NN1n=0{[N1k1=0fk1ej2πk1nN][N1k2=0hk2ej2πk2nN]ej2πknN}gk=1NN1n=0FnHnej2piknN=1NN1n=0{[N1k1=0fk1ej2πk1nN][N1k2=0hk2ej2πk2nN]ej2πknN}

 

Complex exponential의 sum을 다음과 같이 분리하기 위해 summation의 순서를 rearrange 할 수 있다.

 

gk=1NN1k1=0N1k2=0{fk1hk2N1n=0ej2πN[(kk1)k2]n}gk=1NN1k1=0N1k2=0{fk1hk2N1n=0ej2πN[(kk1)k2]n}

 

우리는 이미 Complex Exponential의 sum이 다음과 같이 주어지는 것을 알고 있다.

 

N1n=0ej2πN[(kk1)k2]n=Nδ(kk1,k2)N1n=0ej2πN[(kk1)k2]n=Nδ(kk1,k2)

 

이를 이용해 우리는 rearrange 한 수식을 위 수식으로 substitute 할 수 있다.

 

gk=N1k1=0N1k2=0ff1fk2δ(kk1,k2)=N1k1=0hkk1fk1gk=N1k1=0N1k2=0ff1fk2δ(kk1,k2)=N1k1=0hkk1fk1

 

위 equation은 놀랍게도 convolutional sum과 같아 보인다. 하지만 아직까지 DFT의 Property가 위 수식에 적용된다는 확신이 없기에 검증이 필요하다.

 

다음의 두 function의 convolution을 생각해보자.

 

f(x)=ramp(x)rect(x.5)h(x)=rect(x.25.5)f(x)=ramp(x)rect(x.5)h(x)=rect(x.25.5)

 

아래 두 그림은 위 두 function의 graphical convolution 단계를 보여준다. f(x)f(x)의 length가 1이고, h(x)h(x)의 length가 0.5 이기 때문에 g(x)=f(x)h(x)g(x)=f(x)h(x)의 length는 1.5 임을 알 수 있다. function h(xα)h(xα)f(x)f(x)를 통과하면, output은 0이 된다.

 

두 signal의 DFT를 정의하기 위해서는 각 sequence의 length를 정의해야 한다. 우리는 f(x)f(x)h(x)h(x)가 모두 0x<1.250x<1.25의 interval에 걸쳐 정의된다고 정의할 것이다. 그러나 DFT와 IDFT operation이 periodic 하기 때문에 kk1kk1이 range 0,1,....,N10,1,....,N1의 밖에 있다면, 우리는 Input sequence에 Periodicity를 적용해야 하고, 이는 아래 그림과 같다.

위 그림에서 보이다시피 f(x)f(x)의 한 interval 이후로, function h(x)h(x)를 fit 할 수 있는 만큼의 space가 없기 때문에, function의 succeissive period 사이에 overlap이 발생하게 되고, g(x)g(x)가 periodicity를 가지게 된다.

 

 

위 그림과 같은 Convolution은 Circular convolution 또는 Periodic convolution이라고 불린다. Linear axis를 따라 function을 표시하는 대신에, axis의 끝과 끝이 만나도록 warping 한다.

 

h(x)h(x)를 flip 하고, shifting 한다면, h(x)h(x)는 위 그림과 같이 circle을 따라 cycle 하게 된다.

만약 function의 zero padding이 더욱 줄어든다면 아래 그림과 같은 결과를 확인할 수 있다. 이는 Periodic representation에서 본 것과 유사한 effect를 보인다.

 

반응형

'Optics > 이론' 카테고리의 다른 글

Lec 16. Fraunhofer Diffraction  (0) 2021.08.23
Lec 15. Plane wave spectrum and Beams  (0) 2021.08.18
Lec 13. Discrete Fourier Transform  (0) 2021.08.16
Lec 12. Sampling & Reconstruction  (2) 2021.08.14
Lec 11. Signal Processing  (0) 2021.08.13