IIR은 무한의 의미를 필터링합니까?


11

실제로 IIR의 "무한"이 무엇을 의미하는지 이해하는 데 어려움이 있습니다. 이론적으로는 임펄스 응답이 피드백에 사용됩니다.

답변:


18

그 질문에 답하기 위해서는 "임펄스"와 "응답"이 무엇을 의미하는지 알아야합니다.

"임펄스"는 간단한 펄스입니다. 디지털 방식으로 최대 값을 갖는 샘플이되고 그 전후의 다른 모든 샘플은 0이됩니다. 이 말을 들으면 팝이나 폭죽 같은 소리가 들립니다.

"응답"은 필터 (또는 다른 것)의 출력에 임펄스가 부여됩니다.

예를 들어, 방에 들어가서 간단한 손 cla을 치고 에코를 들으면서 "방의 임펄스 응답"을들을 수 있습니다. 핸드 박수를 최대한 "날카롭게"하려면 약간의 연습이 필요합니다. 필터의 임펄스 응답을 얻는 방법은 동일하지만 핸드 박수 대신 간단한 펄스를 사용하고 방 대신 필터를 사용합니다.

필터 또는 룸의 임펄스 응답을 보면 임펄스 후 시간 동안 출력이 흔들리는 것을 볼 수 있습니다 (때로는 너무 흔들 리기도합니다). 방에서 당신은이 흔들림을 에코로 들었습니다. 필터에서이 흔들기는 필터의 주파수 및 위상 응답과 직접 관련이 있습니다. 방에서 에코가 들리는 시간을 "리버브 시간"이라고합니다. 필터에 해당하는 용어는 없지만 임펄스 응답의 일부입니다.

이제 임펄스 응답 시간이 수학에 의해 제한되기 때문에 FIR 필터 (유한 임펄스 응답)는 유한합니다. 임펄스 응답 시간이 필터의 탭 수를 초과하여 확장되는 것은 수학적으로 불가능하므로 유한 합니다.

반면에 IIR 필터는 임펄스 응답 시간에 이러한 수학적 제한이 없습니다. 무한한 수학적 정밀도가 주어지면 IIR 필터는 출력을 영원히 흔들릴 수 있습니다. 물론, 실제로는 흔들림이 사용 된 수학의 정밀도보다 작아지기 때문에 결코 사라지지 않습니다.


좋은 설명 감사합니다! IIR에서 피드백은 어디에서 발생합니까?
GorillaApe

2
@Parhs : 전류 출력이 이전 입력 출력 값 에서 파생되기 때문에 피드백이 발생 하는 반면 FIR 필터의 경우 출력은 이전 입력 값 에서만 파생됩니다 .
Paul R

1
@Parha Feedback은 토폴로지의 부작용입니다. 토폴로지에서는 필터의 흐름도 또는 "도식"보기와 같은 것을 의미합니다. 기본적으로 한 단계의 수학 연산 결과는 이전 단계의 다른 연산을 피드합니다. 그것이 피드백입니다. 대부분의 사람들은 피드백이 없기 때문에 FIR의 사용이 더 쉽다고 생각합니다. 이러한 피드백은 올바르게 작동하기는 어렵지만 효율성이 뛰어납니다.

IIR 시스템에는 항상 이전 입력을 '기억'하는 내부 상태가 있습니다. 이를 모델링하는 방법은이 직접 형식 1 biquad 와 같은 이전 출력을 현재 출력으로 다시 공급 하거나이 직접 형식 2 표준 biquad 와 같은 입력에서 피드백 루프와 동일하게 피드백하는 것 입니다.
Eryk Sun

11


0와이0111나는


1

여기에 이미지 설명을 입력하십시오


반면 FIR FIR 필터는 입력에서 출력까지 선형 경로를 갖습니다. N 개의 샘플을 입력 한 후 (Dirac 펄스와 같은) 입력 신호가 시프트되어 그 끝이됩니다.
FIR 필터는 본질적으로 안정적인 반면, IIR 필터는 반드시 필요한 것은 아닙니다.

여기에 이미지 설명을 입력하십시오


1
그 루핑 한글이 안전하지 않아 어떤 경우에는 원하지 않는 결과를 제공합니까?
GorillaApe

2
확실히 할 수 있습니다. 잘못된 피드백 경로 또는 게인을 사용하면 불안정한 필터 또는 무언가의 사인파를 영원히 내보내는 필터를 만들 수 있습니다. 그것은 일반적으로 "필터"가 원하는 것이 아니므로 안정성을 분석하고 불안정성을 피하는 기술이 있습니다.
Olin Lathrop

모든 피드백 조건의 합계가 피드백 체인의 시작 부분으로 피드백되어야합니까, 아니면 이후 조건의 출력을 입력 조건으로 요약 할 수 있습니까? 후자의 방법으로 구현할 수있는 필터는 설명 된 형식으로 변환 될 수 있지만 캐스케이드 된 1 차 필터 (각각 각 오른쪽 항의 결과는 스스로를 먹일 수는 있지만 전임자는 아님)
supercat

1
12

@ stevenvh : 내 대답에서 언급했듯이 스테이지가 자신에게 피드백 할 수 있지만 이전 스테이지로는 되돌릴 수없는 유용한 IIR 필터 하위 세트가 있습니다. 필자는 이러한 필터를 설명하는 용어를 읽었지만 일반화 된 IIR 필터보다 특성화하기가 훨씬 쉽습니다. 올바른 계수를 사용하여 위의 형식으로 렌더링 할 수는 있지만 해당 형식으로 이러한 필터를 인식하는 것이 더 어렵습니다 (그러한 용어가 있습니까?).
supercat

4

무한 임 플러스 응답 (IIR)과 유한 임펄스 응답 (FIR)의 두 가지 광범위한 디지털 필터 클래스가 있습니다. 다시 말하면 IIR 필터는 방정식 기반이고 FIR 필터는 테이블 기반입니다.

IIR 필터는 실제 아날로그 필터와 비슷합니다. 예를 들어 RC 아날로그 저역 통과 필터에서 얻을 수있는 것과 같이 단순한 지수 감쇠를 고려하십시오. 단계 입력에 대한 출력 응답은 입력에 점점 가까워지는 지수입니다. 이 지수는 실제로 출력에 도달하지 않으며 오차를 측정하거나 측정 할 수 없을 정도로 충분히 가까워 야합니다. 그런 의미에서 그러한 필터는 무한합니다. IIR 필터는 동일한 특성을 갖습니다.

매우 일반적인 단일 극 저역 통과 IIR 필터는 다음과 같이 표현할 수 있습니다.

FILT <-FILT + FF (NEW-FILT)

이것은 입력까지의 거리의 고정 분수 (FF, "필터 분수")를 움직 인 경우 각 반복 출력을 의미합니다. FF = 1/2 인 경우 쉽게 시각화 할 수 있습니다. 모든 것이 0이고 입력이 갑자기 1로 가고 거기에 머무르면 (단위 단계) 출력은 1/2, 3/4, 7/8, 15/16 등이됩니다. 이것은 무한한 시리즈입니다. 결국이 값은 1에 가까워 져서 컴퓨터의 디지털 값이 무한정의 정밀도를 갖지 않기 때문에 1로 표시됩니다.

FIR 필터는 완전히 다른 원리로 작동합니다. 입력 신호의 유한 최근 스 니펫이 저장되고 저장된 각 값에 다른 계수를 곱한 다음 모든 결과를 추가하여 해당 반복에 대한 필터 출력을 만듭니다. 가장 오래된 저장된 값의 다음 반복은 폐기되고 다른 반복은 한 슬롯 이전으로 이동하고 새 입력은 비어있는 슬롯에 배치됩니다. 그런 다음 새로 저장된 스 니펫에 계수 등을 곱합니다.이 프로세스를 "컨볼 루션"이라고하며 계수 테이블을 종종 필터 커널이라고합니다. 이러한 종류의 필터로 계수로 창의성을 발휘하여 멋지고 유용한 작업을 수행 할 수 있습니다. 그것은 제가 지금 다루지 않을 주제입니다. 그러나 입력의 유한 스 니펫은 메모리에 저장되므로 입력 신호의 모든 부분은 제한된 시간 동안 만 출력에 영향을 줄 수 있습니다. 입력 샘플이 저장된 스 니펫의 끝으로 이동하면 사라지고 더 이상 출력에 영향을 미치지 않습니다.

이 내용에 관한 책이 많이 있으며이 학기 동안 몇 학기 동안 대학 과정을 쓸 수 있습니다. 바라건대 내 30 초 개요는 귀하의 질문에 대답하기에 충분하지 않습니다.


1

아직 언급되지 않은 한 가지 점은 IIR 필터가 두 가지 스타일로 세분 될 수 있다는 것입니다. 각 단계는 전적으로 자신의 이전 값과 이전 단계의 값에 따라 달라집니다. 단계는 순위를 지정할 수 없습니다 (두 개 이상의 단계가 서로 의존하기 때문에). FIR 필터의 단계가 다른 단계의 이전 출력을 참조 할 수 있습니다 (단, 이전 스타일의 IIR에서 순위가 ​​매겨 질 수 있으며 자체 이전 출력을 참조하는 단계는 없습니다).

IIR 필터의 스테이지가 순위를 매길 수 있고 주어진 스테이지에 대한 자체 피드백 계수의 총 크기가 1보다 작 으면 IIR 필터는 안정적입니다. 예를 들어, 한 단계에 이전 단계의 신호가 더 해지고 해당 단계의 이전 값의 절반과 그 이전 값의 1/4, 그 이전 값의 1/8을 빼면 피드백은 7/8이되므로 하위 단계에서 추가 입력이 없으면 자체 피드백의 기여도는 매 반복마다 12.5 % 감소합니다.


0

FIR은 한정된 수의 요소에 대해 계산을 수행하며 32 또는 12 또는 일부 수를 말하지만, 이것이 수학이 수행하는 것입니다. 유한 한 수의 요소를 가져 와서 그에 대해서만 필터를 수행합니다.

IIR은 공급하는 모든 샘플에 대해 수학을 수행합니다. 10 개의 샘플을 공급하고 중지하면 10 개의 샘플에서 작동했으며 1,000,000,000 개의 샘플을 공급하면 수학은 1,000,000,000 개의 샘플에서 작동했습니다. 그리고 무한대로 다가 가고 (영원하게 계속하자) 무한대로 실행하면 무한대로 다가오는 요소의 수입니다. 유한 단어는 다른 모델에 명확하게 적용되며, IIR 모델은 유한 샘플 수를 갖지 않기 때문에 유한 단어와 반대되는 단어는 부정 또는 다른 단어보다 더 잘 들립니다.


"1,000,000,000 개 샘플에서 작동". 글쎄요, 직접은 아닙니다. 출력의 일부가 다음 샘플의 계산에 사용되므로 항상 이전 샘플의 흔적이 있습니다. 필터는 항상 매우 제한된 수의 샘플을 보유합니다. 그리고 그것은 "무한대"가 아닙니다. 불안정하더라도 결정 론적입니다.
stevenvh 2016 년

이것이 IIR에 대해 각 샘플이 그보다 앞서 모든 샘플에서 약간의 영향을 미쳤다는 것을 암시하는 것입니다.
old_timer

계산에서 무한 대 유한 요소 수는 IIR과 FIR의 차이 가 아닙니다 . 가장 간단한 IIR은 2 개의 데이터 요소 (입력에서 1, 출력에서 ​​1)에서만 작동합니다.
radagast

무한대는 입력 횟수가 아니라 누적 된주기 수이며, 유한은 수학에서 단일 입력에 대해 N 개의 샘플 만 취하며 모든주기에서 효과적으로 작동합니다. 단일 입력에 대한 유한 사이클 수 대 무한 사이클 수.
old_timer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.