함수 > 신호 가공 > 디지털 필터링 > 예제: IIR 필터 설계
  
예제: IIR 필터 설계
bessel, butter, cheby1, cheby2, iirlow, iirhigh, iirpassiirstop 함수를 사용하여 지정된 유형의 아날로그 저역 통과 필터에 대한 계수를 생성합니다. 그런 다음 계수를 iir 함수 중 하나의 인수로 사용하여, 배율을 적용하고 겹선형 변환을 수행함으로써 필요한 주파수 응답을 생성합니다.
* 
짝수 차수 N의 저역 통과 및 고역 통과 필터의 경우 모든 섹션은 각 열의 계수가 3개인 2차입니다. 차수가 홀수인 경우 마지막 섹션은 1차입니다. 대역 통과 및 대역 저지 필터의 경우 디지털 필터로 변환하면 각 섹션의 차수가 두 배로 증가합니다.
gainresponse 함수에는 이러한 함수로 생성된 형식의 계수 배열을 사용할 수 있습니다. 복소 게인은 섹션 게인을 곱하여 얻고 응답은 각 섹션의 응답을 다음 섹션에 공급하여 얻습니다.
이러한 함수는 Samuel Stearns 및 Ruth David가 저술한 Signal Processing Algorithms(Prentice-Hall, Inc.)의 7장에서 설명하는 알고리즘을 구현합니다.
저역 통과 체비셰프 유형 I 필터
1. 차수, 맥동 매개변수 및 차단 주파수를 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. iirlowcheby1 함수를 사용하여 필터 계수를 생성합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
* 
필터 A에는 2차 섹션 네 개가 있습니다.
3. 게인의 크기를 도표화하고 가로 마커를 사용하여 맥동 레벨을 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
전달 함수가 2차 인수의 곱으로 지정되므로 복소 평면에 극점을 도표화하는 것은 매우 간단합니다.
4. 분모의 각 인수에 대한 복소수 근을 구합니다.
이 식을 복사하려면 클릭
* 
필터 A에 대한 전달 함수의 극점은 첫 번째 2차 항의 계수를 포함한 A의 홀수 번째 열로 지정되는 계수의 2차 방정식 근입니다.
5. 분모의 각 인수에 대한 근을 구합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
6. 공액근을 구합니다.
이 식을 복사하려면 클릭
7. 전달 함수의 극점을 표시하고 복소 평면에 도표화합니다. 참조할 수 있도록 단위 원 그래프선을 추가합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
도표는 8개 극점 모두 단위 원 내에 있다는 것을 보여줍니다. 따라서 필터는 안정적이며 요구 사항에 맞습니다.
8. max 함수를 사용하여 모든 8개 극점이 단위 원 내에 속한다는 것을 수치적으로 확인합니다.
이 식을 복사하려면 클릭
9. response 함수를 적용한 다음 필터 A의 충격 반응을 도표화합니다. 이 함수의 첫 번째 인수로 단위 충격을 나타내는 길이 1인 벡터를 지정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
응답의 길이는 무한하지만 처음 80개 항 이후에 거의 0으로 줄어듭니다. 안정성 조건에 따라 응답의 절대값 합계에 한계가 있습니다.
저역 통과 체비셰프 유형 II 필터
1. 유형 II 체비셰프 필터에 대한 매개변수를 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. tan 함수를 사용하여 배율을 계산합니다.
이 식을 복사하려면 클릭
* 
이 계산의 원리에 대해서는 Stearns 및 David를 참조하십시오. 이 숫자는 항상 1보다 큽니다.
3. iirlowcheby2 함수를 사용하여 차단 주파수 f=pass인 5차, 저역 통과, IIR 필터의 계수를 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
* 
계수 행렬에는 2차 섹션 두 개와 선형 섹션 하나가 있습니다.
4. gain 함수를 사용하여 각 주파수의 게인을 구한 다음 주파수 응답을 도표화합니다. 마커를 사용하여 passstop 주파수와 역 감쇄 수준을 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
response 도표는 설계 조건을 만족하는 정도를 보여줍니다. 마커를 사용하면 정지 대역이 필요한 위치(stop1/atten 선의 교차 위치)에서 시작하고 통과 대역이 차단 주파수 오른쪽에서 끝나는 것을 쉽게 확인할 수 있습니다.
5. iirlowcheby2 함수를 사용하지만 감쇄를 더 크게 하여 위 설계를 반복합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
* 
감쇄가 커지면 변환 대역을 필요한 너비로 줄이기 위해 더 높은 차수의 필터가 필요합니다. 5차 및 8차 필터를 사용하여 결과를 비교합니다.
6. 5차 필터의 게인을 dB 단위로 도표화합니다. 마커를 사용하여 통과 주파수와 필요한 30dB 감쇄를 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
7. 8차 필터의 게인을 dB 단위로 도표화합니다. 마커를 사용하여 통과 주파수와 필요한 30dB 감쇄를 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
두 필터 모두에서 -30db 선 이하인 게인은 정지 주파수 근방에서 유사하지만 8차 필터의 게인은 차단 주파수를 넘어서까지 평평하게 유지됩니다. 즉, 원하는 감쇄 1000을 달성하려면 8차 필터가 필요합니다.
배율 인수 계산
아래 방정식은 고역 통과, 대역 통과 및 대역 저지 필터에 대한 배율 인수의 정의를 보여줍니다.
고역 통과 필터:
이 식을 복사하려면 클릭
대역 통과 필터:
이 식을 복사하려면 클릭
매개변수 pass1pass2는 통과 대역의 하한 및 상한이고, 매개변수 stop1stop2는 두 정지 대역의 경계입니다.
정지 대역 필터:
이 식을 복사하려면 클릭
매개변수 pass1pass2는 두 통과 대역의 경계이고, 매개변수 stop1stop2는 정지 대역의 하한 및 상한 경계입니다.
1. 대역 통과 필터에 대한 매개변수를 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 위 매개변수를 사용하여 대역 통과 필터의 배율을 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 위 대역 통과 필터에 대한 계수를 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. dB 단위로 응답을 도표화하고 정지 및 통과 마커를 표시합니다.
이 식을 복사하려면 클릭
오른쪽 정지 대역 경계는 올바른 위치에 정확히 위치하지만 왼쪽 정지 대역 경계는 목표 주파수 값 바로 위까지 상승합니다. 즉, 이 변환 대역은 필요한 대역보다 좁습니다.
저역 통과 베셀 필터
베셀 필터는 단일 섹션으로 반환됩니다.
1. 베셀 필터 매개변수를 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
* 
배율 매개변수를 사용하면 차단 주파수 위치에서 게인을 제어할 수 있습니다.
2. bessel 함수를 사용하여 베셀 필터 계수를 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 게인을 도표화하고 차단 주파수 위치에서 게인을 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 배율 인수를 사용하여 정지 대역에서 향상된 감쇄를 얻을 수 있도록 차단 주파수 위치에서 더 낮은 게인을 얻습니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
R은 아날로그 계수 B1에 해당하는 아날로그 전달 함수입니다.
5. 시작 추측값 1인 root 함수를 사용하여 차단 주파수에서 아날로그 전달 함수 R가 0.8과 같아지는 점을 찾습니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
배율 마커가 0.8에서 게인 곡선과 교차합니다.
* 
추측값은 양의 배율 값을 얻는 양수여야 합니다.
6. 계산된 배율 인수를 사용하여 디지털 필터 계수를 다시 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
7. 새 주파수 응답을 도표화하고 차단 주파수 위치에서 게인을 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
도표에서는 새 주파수 응답이 차단 주파수를 지나서 0까지 더 가파르게 변한다는 것을 보여줍니다. 배율 인수를 사용하면 정지 대역에서 향상된 감쇄를 얻게 됩니다.
대역 통과, 대역 저지 및 고역 통과 버터워스 필터
입력 계수의 차수는 iirpassiirstop 함수에 의해 두 배가 되므로 4차 아날로그 계수는 8차 필터가 됩니다.
대역 통과 버터워스 필터
1. 필터 매개변수를 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 계수를 계산합니다.
이 식을 복사하려면 클릭
3. response를 도표화합니다. 세로 마커를 사용하여 저역 및 고역 주파수를 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
응답은 f_lof_hi 사이의 주파수가 통과하도록 허용됨을 보여줍니다. 다른 모든 주파수는 필터링됩니다.
정지 대역 버터워스 필터
1. 필터 차수를 설정합니다.
이 식을 복사하려면 클릭
2. iirstopbutter 함수를 사용하여 계수를 계산합니다.
이 식을 복사하려면 클릭
3. response를 도표화합니다. 세로 마커를 사용하여 저역 및 고역 주파수를 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
응답은 f_lof_hi 사이의 주파수가 통과하지 못하도록 정지됨을 보여줍니다. 다른 모든 주파수는 통과하도록 허용됩니다.
고역 통과 버터워스 필터
1. 필터 차수를 설정합니다.
이 식을 복사하려면 클릭
2. iirhighbutter 함수를 사용하여 계수를 계산합니다.
이 식을 복사하려면 클릭
* 
iirpassiirstop 함수와 달리 iirhigh 함수는 입력 계수의 차수를 두 배로 만들지 않습니다. 따라서 차수 값이 butter 함수로 그대로 전달됩니다.
3. response를 도표화합니다. 세로 마커를 사용하여 고역 주파수를 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
응답은 f_hi보다 높은 주파수의 통과가 허용됨을 보여줍니다. 다른 모든 주파수는 필터링됩니다.