Main Content

filternorm

디지털 필터의 2-노름 또는 무한대 노름

구문

L = filternorm(b,a)
L = filternorm(b,a,pnorm)
L = filternorm(b,a,2,tol)

설명

필터 노름은 일반적으로 디지털 필터 스케일링에서 양자화 효과를 줄이기 위해 사용됩니다. 스케일링은 종종 데이터 오버플로를 일으키지 않으면서 필터의 신호 대 잡음비를 개선합니다. 2-노름을 사용하여 필터의 임펄스 응답 에너지를 계산할 수도 있습니다.

L = filternorm(b,a)b의 분자 계수와 a의 분모 계수로 정의된 디지털 필터의 2-노름을 계산합니다.

L = filternorm(b,a,pnorm)은 디지털 필터의 2-노름 또는 무한대 노름(inf-norm)을 계산하며 여기서 pnorm은 2 또는 inf입니다.

L = filternorm(b,a,2,tol)은 지정된 허용오차 tol을 갖는 IIR 필터의 2-노름을 계산합니다. 허용오차는 IIR 2-노름 계산에서만 지정할 수 있습니다. 이 경우 pnorm은 2여야 합니다. tol이 지정되지 않은 경우 디폴트 값은 10–8입니다.

예제

모두 축소

허용오차가 10-10인 버터워스 IIR 필터의 2-노름을 계산합니다. 정규화된 차단 주파수 0.5π rad/s와 필터 차수 5를 지정합니다.

[b,a] = butter(5,0.5);
L2 = filternorm(b,a,2,1e-10)
L2 = 0.7071

차수 30, 정규화 천이 폭 0.2π rad/s인 FIR 힐베르트 변환기의 무한대 노름을 계산합니다.

b = firpm(30,[.1 .9],[1 1],'Hilbert');
Linf = filternorm(b,1,inf)
Linf = 1.0028

알고리즘

필터의 주파수 응답이 H(e)인 경우 1 ≤ p < ∞에 대한 Lp-노름은 다음과 같이 표현됩니다.

H(ejω)p=(12πππ|H(ejω)|pdω)1/p.

p → ∞의 경우, L-노름은 다음과 같이 표현됩니다.

H(ejω)=maxπωπ|H(ejω)|.

p = 2의 경우, 파시발의 정리에 따라 다음이 성립합니다.

H(ejω)2=(12πππ|H(ejω)|2dω)1/2=(n|h(n)|2)1/2,

여기서 h(n)은 필터의 임펄스 응답입니다. 임펄스 응답의 에너지는 L2-노름의 제곱입니다.

참고 문헌

[1] Jackson, L. B. Digital Filters and Signal Processing: with MATLAB Exercises. 3rd Ed. Hingham, MA: Kluwer Academic Publishers, 1996, Chapter 11.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

|