중복 추가 대 중복 저장


24

필터링에 겹침 추가와 겹침 저장을 사용하도록 결정하는 데 도움이되는 차이점이나 다른 기준은 무엇입니까? 오버랩-애드 및 오버랩-저장은 FIR 필터 커널로 데이터 스트림의 FFT 기반 고속 컨볼 루션을 수행하기위한 알고리즘으로 설명됩니다. 대기 시간, 계산 효율성 또는 캐싱 로컬 리티 등의 차이는 무엇입니까? 아니면 같은가요?

답변:


27

기본적으로 OS는 겹치는 과도 현상을 추가 할 필요가 없으므로 약간 더 효율적입니다. 그러나 반복 샘플이 아닌 제로 패딩으로 FFT를 재사용해야하는 경우 OA를 사용할 수 있습니다.

여기 내가 얼마 전에 쓴 기사 의 간략한 개요가 있습니다 .

빠른 컨벌루션은 선형 컨벌루션을 달성하기 위해 원형 컨벌루션을 블록 단위로 사용하는 것을 말합니다. OA 또는 OS 방법으로 빠른 컨볼 루션을 수행 할 수 있습니다. OS는“오버랩 스크랩”이라고도합니다. OA 필터링에서, 각 신호 데이터 블록은 원형 컨벌루션이 선형 컨벌루션과 같을 수있는 개수의 샘플 만 포함합니다. 신호 임펄스 응답은 필터 임펄스 응답이 시퀀스의 끝에서 "래핑"되는 것을 방지하기 위해 FFT 전에 제로 패딩됩니다. OA 필터링은 한 블록의 입력 온 과도를 이전 블록의 입력 오프 과도와 함께 추가합니다. 그림 1에 표시된 OS 필터링에서 입력 데이터에 대해 제로 패딩이 수행되지 않으므로 원형 컨벌루션은 선형 컨벌루션과 동일하지 않습니다. "포장 된"부분은 쓸모없고 폐기됩니다. 이를 보완하기 위해 이전 입력 블록의 마지막 부분이 다음 블록의 시작으로 사용됩니다. OS는 과도 현상을 추가 할 필요가 없으므로 OA보다 빠릅니다.


좋은 기사! =)
Phonon 2016 년

OA 버퍼의 0으로 채워진 부분에 대한 DFT가 계산되는 방식에 따라 최적화가 수행되어 OA 방법에 우위를 점할 수 있습니다. 프로세서 및 FFT 패키지에 따라 다릅니다. 또한 제로 패드를 고려한 OA 전용 FFT 알고리즘을 직접 작성할 수도 있습니다.
orodbhen

@orodbhen, 그런 FFT 패키지에 대해 알고 있습니까?
Mark Borgerding

@MarkBorgerding OpenCV에서는 0 행의 수를 지정할 수 있지만 2D에만 해당됩니다. 그 또는 다른 FFT 패키지에 어떤 암시 적 최적화가 있는지에 대해서는 알 수 없습니다. 나는 sparseness를 악용하는 커스텀 FFT가 도움이 될만한 많은 경우를 생각할 수 있지만 그 길을 직접 보지 않았습니다. 아직.
orodbhen

1
링크가 끊어 졌기 때문에 인용 한 좋은 점 :(
Mehrdad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.