2012-10-27 4 views
0

신호 값 x [T]와 필터 계수 b [i]가있는 경우 i는 회선을 사용하여 필터링을 수행 할 수 있습니다. enter image description hereFIR 필터를 사용한 스펙트럼 필터링

x (FFT 후)의 스펙트럼이 있고 필터 계수를 사용하여 필터링을 수행해야한다고 가정하면 어떻게해야합니까? 주파수 도메인에서 컨볼 루션 (시간 도메인)보다는 곱셈이 될 것이라고 들었습니다. 하지만 그것을 사용하는 방정식을 찾을 수 없습니다. y = fft (x [T]) 벡터와 119 개의 필터 계수 (fdatool을 사용하여 생성 된)에 614000 개의 값이 있는데, 직접 곱할 수는 없습니다 ... 감사합니다.

답변

3

하면 승산하여 고속 컨볼 루션을 수행하기 위해 제로 - 패딩 된 신호 값 (X)의 스펙트럼과 FIR 필터 커널 B (동일한 길이) 제로 패딩의 FFT를 필요로한다. 그렇지 않으면 0을 채우지 않고 선형 회선 대신 순환 회선을 수행하게됩니다.

긴 데이터 벡터와 상대적으로 짧은 FIR 필터 커널의 경우, 실제로 긴 FFT와 IFFT가 필요하지 않도록하려면 오버랩 추가 또는 오버랩 저장 빠른 컨볼 루션 알고리즘을 검토하는 것이 좋습니다.

+0

x가 [b, 0에 곱해질 경우 "패딩 된 0"이 무슨 뜻인지 이해가 안됩니다. , 0 .... 0] 그러면 나는 x의 스펙트럼으로부터 오직 119 개의 낮은 주파수를 보존 할 것이다. –

+0

질문이 실제 이상이 아닙니다. –

+0

b가 짧으면 b의 FT가 더 길어집니다. – hotpaw2

1

필터를 주파수 도메인으로 변환해야합니다. 그런 다음 주파수 영역에서 요소 별 곱셈을 사용할 수 있습니다.

http://en.wikipedia.org/wiki/Convolution_theorem

+0

죄송합니다,하지만 어떻게 서로 다른 크기의 b와 x를 처리 할 수 ​​있는지 이해할 수 없습니다. 주파수 도메인 b에서도 x 길이가 614400 일 때 길이 119가됩니다. 그 질문은 ... –

관련 문제