이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
firpm
팍스-맥클렐란(Parks-McClellan) 최적 FIR 필터 설계
구문
설명
예제
입력 인수
출력 인수
팁
필터 설계가 수렴하지 않을 경우, 필터 설계가 올바르지 않은 것일 수 있습니다. 주파수 응답을 검사하여 설계를 확인하십시오.
필터 설계가 수렴하지 않고 결과로 생성되는 필터 설계가 올바르지 않을 경우에는 다음 방법을 시도하십시오.
필터 차수를 늘립니다.
저지대역의 감쇠량을 줄이거나 천이 영역을 넓히는 방식으로 필터 설계를 완화합니다.
알고리즘
firpm
은 팍스-맥클렐란 알고리즘[2]을 사용하여 선형 위상 FIR 필터를 설계합니다. 팍스-맥클렐란 알고리즘은 레메즈 교환 알고리즘(Remez Exchange Algorithm)과 체비쇼프 근사 이론을 사용하여 원하는 주파수 응답과 실제 주파수 응답 사이에 최적 피팅을 갖는 필터를 설계합니다. 이 필터는 원하는 주파수 응답과 실제 주파수 응답 간의 최대 오차가 최소화된다는 측면에서 가장 적합합니다. 이렇게 설계된 필터는 해당 주파수 응답에서 등리플 동작을 보이므로 등리플 필터라고도 합니다. firpm
은 이러한 등리플 특성으로 인해 해당 임펄스 응답의 머리와 꼬리에서 불연속성을 보입니다.
이러한 필터는 유형 I(n
이 홀수)과 유형 II(n
이 짝수) 선형 위상 필터입니다. 벡터 f
와 a
는 필터의 주파수-진폭 특성을 지정합니다.
f
는 0에서 1 사이의 범위에 지정된 주파수 점의 쌍으로 구성된 벡터입니다. 여기서 1은 나이퀴스트 주파수에 해당됩니다. 주파수는 오름차순이어야 합니다.a
는f
에 지정된 점에서 원하는 진폭을 포함하는 벡터입니다.k가 홀수인 경우 점의 쌍 (f(k), f(k+1)) 간의 주파수에서 원하는 진폭 함수는 점 (f(k), a(k))와 (f(k+1), a(k+1))을 연결하는 선분입니다.
k가 짝수인 경우 점의 쌍 (f(k), f(k+1)) 사이의 주파수에서 원하는 진폭 함수는 지정되지 않습니다. 이러한 영역은 천이 영역 또는 "무관(Don’t Care)" 영역입니다.
f
와a
는 길이가 같습니다. 이 길이는 짝수여야 합니다.
아래 그림은 원하는 진폭 응답을 정의할 때 f
벡터와 a
벡터 간의 관계를 보여줍니다.
firpm
은 나이퀴스트 주파수에서 우대칭과 0이 아닌 통과대역을 갖는 구성에 대해 항상 짝수 필터 차수를 사용합니다. 짝수 필터 차수를 사용하는 이유는 임펄스 응답이 우대칭과 홀수 차수를 보이는 경우 나이퀴스트 주파수에서 주파수 응답이 반드시 0이 되기 때문입니다. 홀수 값을 가지는 n
을 지정하는 경우 firpm
은 이를 1씩 증가시킵니다.
firpm
은 유형 I, II, III, IV 선형 위상 필터를 설계합니다. 유형 I과 유형 II는 각각 짝수 n
과 홀수 n
에 대한 디폴트 필터이고, 유형 III(n
이 짝수인 경우)과 유형 IV(n
이 홀수인 경우)는 ftype
인수를 사용하여 각각 'hilbert'
또는 'differentiator'
로 지정됩니다. 필터는 유형에 따라 각기 다른 대칭성과 해당 주파수 응답에 대한 특정한 제약 조건을 가집니다. (자세한 내용은 [3] 항목을 참조하십시오.)
선형 위상 필터 유형 | 필터 차수 | 계수의 대칭성 | 응답 H(f), f = 0 | 응답 H(f), f = 1(나이퀴스트) |
---|---|---|---|---|
유형 I | 짝수 | 짝수: | 제한 사항 없음 | 제한 사항 없음 |
유형 II | 홀수 | 짝수: | 제한 사항 없음 | H(1) 나이퀴스트 주파수에서 0이 아닌 통과대역을 갖는 유형 II 필터를 생성하려고 하면 |
유형 III | 짝수 | 홀수: | H(0) | H(1) |
유형 IV | 홀수 | 홀수: | H(0) | 제한 사항 없음 |
firpm
을 사용하여 원하는 주파수 응답을 정의하는 함수를 작성할 수도 있습니다. firpm
에 대해 미리 정의된 주파수 응답 함수 핸들은 @firpmfrf
입니다. 이는 선형 위상 FIR 필터를 설계합니다.
참고
b = firpm(n,f,a,w)
는 b = firpm(n,f,{@firpmfrf,a},w)
와 동일합니다. 여기서 @firpmfrf
는 firpm
에 대한 미리 정의된 주파수 응답 함수 핸들입니다. 원하는 경우, 자신만의 고유한 응답 함수를 작성할 수 있습니다. 자세한 내용을 보려면 help
private/firpmfrf
를 사용하여 함수 핸들 생성하기 항목을 참조하십시오.
참고 문헌
[1] Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Selected Papers in Digital Signal Processing. Vol. II. New York: IEEE Press, 1976.
[2] Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979, algorithm 5.1.
[3] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999, p. 486.
[4] Parks, Thomas W., and C. Sidney Burrus. Digital Filter Design. New York: John Wiley & Sons, 1987, p. 83.
[5] Rabiner, Lawrence R., James H. McClellan, and Thomas W. Parks. "FIR Digital Filter Design Techniques Using Weighted Chebyshev Approximation." Proceedings of the IEEE®. Vol. 63, Number 4, 1975, pp. 595–610.
확장 기능
버전 내역
R2006a 이전에 개발됨