Dietrich Epp가 이미 지적한대로 IIR 필터가 있습니다. 이제 컴퓨터에는 "무한 (inifinite)"과 같은 것이 없습니다. 숫자 정밀도, 메모리, 사용 가능한 계산 시간 등으로 항상 제한됩니다. 일반적인 숫자 표현의 제한된 정밀도로 인해 루프 광고를 무한정 실행하더라도 아주 일찍 오류를 반올림하는 의미있는 것을 잃어 버릴 것입니다.
그래서 솔직히 말해서 응답 시간이 매우 긴 FIR 필터를 호출하십시오. 그것들을 병렬 처리 할 수 있습니까? 예, 가능하지만 시간 영역을 떠나 주파수 영역에서 살펴 봐야합니다.
시스템에 대한 응답 (= 필터)을 가능한 모든 신호로 모델링 한 다음 신호를 기반으로하는 응답을 "재생"하면 원하는 출력이 제공된다고 가정하십시오. 모든 주파수를 포함하는 광대역 신호에 대한 응답으로 시스템의 "녹음"이되는 주파수 도메인에서. 그러나 그 신호는 단순한 충동입니다. 그것이 FIR 및 IIR이라는 용어가 중간에 올리는 곳입니다. I from.
회선을 통해 시스템의 임펄스 응답을 임의의 신호에 적용하면 신호 자체와 같이 시스템이 응답 할 대상을 얻을 수 있습니다. 그러나 시간 영역에서 컨볼 루션을 계산하는
s * r = F^-1(F(s) · F(r))
푸리에 변환의 것들 중 하나, 즉 푸리에 임펄스 응답의 푸리에 변환으로 신호 변환 승산 결과를 다시 바뀌는 동일하다 잘 병렬화 될 수 있으며 GPU는 실제로 상당히 잘 수행됩니다.
이제는 GLSL 기반 푸리에 변환 코드가 있지만 일반적으로 GPU에서 실행하려면 OpenCL 또는 CUDA로 작성해야합니다.
어쨌든, 여기 당신을위한 조리법 :
이 IIR은 FIR과 구별하게하는 컷오프 k
를 결정합니다. 임펄스 응답 (= 복합 스펙트럼 응답, CSR)의 푸리에 변환을 결정합니다. 신호 (= 이미지)를 푸리에 변환하여 CSR로 곱하고 다시 변환합니다.