Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

buttap

버터워스 필터 프로토타입

설명

예제

[z,p,k] = buttap(n)n차 버터워스 아날로그 저역통과 필터 프로토타입의 극점과 이득을 반환합니다.

예제

모두 축소

9차 버터워스 아날로그 저역통과 필터를 설계합니다. 필터의 크기 응답과 위상 응답을 표시합니다.

[z,p,k] = buttap(9);          % Butterworth filter prototype
[num,den] = zp2tf(z,p,k);     % Convert to transfer function form
freqs(num,den)                % Frequency response of analog filter

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

입력 인수

모두 축소

버터워스 필터의 차수로, 양의 정수 스칼라로 지정됩니다.

출력 인수

모두 축소

시스템의 영점으로, 행렬로 반환됩니다. z의 열은 분자 영점을 포함합니다. 영점이 없으므로 z는 빈 행렬입니다.

시스템의 극점으로, 열 벡터로 반환됩니다. p에는 전달 함수의 분모 계수 극점 위치가 있습니다.

시스템의 이득으로, 스칼라로 반환됩니다. k에는 각 분자 전달 함수의 이득이 있습니다.

알고리즘

함수 buttap는 극점을 길이가 n인 열 벡터 p로 반환하고 이득을 스칼라 k로 반환합니다. 영점이 없으므로 z는 빈 행렬입니다. 전달 함수는 다음과 같습니다.

H(s)=z(s)p(s)=k(sp(1))(sp(2))(sp(n))

z = [];
p = exp(sqrt(-1)*(pi*(1:2:2*n-1)/(2*n)+pi/2)).';
k = real(prod(-p));

참고

함수 buttap는 MATLAB®에서는 영점, 극점, 이득 (z, p, and k)를 반환합니다. 그러나 buttap에 대해 생성된 C/C++ 코드는 극점 p와 이득 k만 반환합니다. 영점 z는 항상 빈 행렬이기 때문입니다.

버터워스 필터의 크기 응답은 통과대역이 최대로 평탄하고 전체적으로 단조적(Monotonic)인 것이 특징입니다. 저역통과의 경우 제곱 크기 응답의 처음 2n-1개 도함수가 ω = 0에서 0입니다. 제곱 크기 응답 함수는 다음과 같습니다.

|H(ω)|2=11+(ω/ω0)2n

이는 왼쪽 절반 평면에서 원을 중심으로 균일하게 배치된 극점을 갖는 전달 함수에 대응됩니다. 차단 각주파수 ω0에서의 크기 응답은 필터 차수와 관계없이 항상 1/2입니다. buttap는 정규화된 결과를 얻기 위해 ω0을 1로 설정합니다.

참고 문헌

[1] Parks, T. W., and C. S. Burrus. Digital Filter Design. New York: John Wiley & Sons, 1987.

확장 기능

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

참고 항목

| | | |

R2006a 이전에 개발됨