본문 바로가기

conv3

MATLAB Convolution index 계산 신호 처리에서 convolution은 필터링의 기본이 되는 만큼 매우 자주 사용하게 되는데요~ 아래 글에서는 MATLAB conv() 함수를 사용하는 게 아닌 for 문을 사용해서 Convolution 을 수행하는 방법에 대해 소개한 적이 있고~ http://iamaman.tistory.com/317 아래 글에서는 FFT 를 활용하여 convolution 을 하는 방법에 대해 소개한 적이 있습니다. http://iamaman.tistory.com/131 오늘은 convolution 수행 시 인덱스를 계산하는 방법에 대해 소개하려 합니다. 보통 conv() 함수는 convolution을 수행한 결과만 나오게 됩니다. 그런데 신호 및 시스템이나 DSP 등의 과목에서 convolution을 배울 때는 인덱스도.. 2015. 10. 16.
MATLAB convolution 요즘 부쩍 MATLAB for 문을 이용한 convolution 에 대한 질문이 많이 들어오는군요. 그래서 오늘은 MATLAB for loop 를 이용한 convolution 에 대해 설명 드리려 합니다. 다들 아시는 바와 같이 MATLAB 에는 기본적으로 convolution 을 수행하는 함수인 conv() 라는 함수가 존재 합니다. c=conv(a, b) 와 같은 형태로 쓰이곤 합니다. 당연히 a 와 b 의 convolution결과를 c 에 리턴 하는 함수이죠 convolution 이라는 것이 결국에는 FIR filter 와 같다고 보셔도 무방 합니다. 다만 그 return 되는 값의 길이에 있어서 차이가 있죠. 이는 filter 의 shift register 를 다시 0으로 채워주는 과정이 추가가 .. 2011. 11. 20.
MATLAB FAST convolution using FFT 이번 포스팅에서는 FFT 를 이용한 고속 convolution 에 대해 알아본다. 일반적으로 conv(x, y) 은 filter() 함수로 구현되는 선형 convolution 이다. 선형 convolution 은 x 또는 y 의 길이가 증가할수록 그 복잡도는 급격히 증가하는 특징이 있다. 이러한 선형 convolution 은 순환(Circular) convolution 을 이용하여 구현이 가능하며, 순환 convolution 은 FFT(Fast Fourier Transform) 와 IFFT(Inverse Fast Fourier Transform)를 이용하여 구현이 가능하다. 일단 선형 convolution 을 순환 convolution 으로 변환하는 과정에 대해 살펴 보자. x=[1 2 3 4] y=[1.. 2011. 3. 23.