이 수동 쌍 선형 변환이 Matlab과 다른 결과를 생성하는 이유는 무엇입니까?


10

컷오프 주파수가 1 차 버터 워스 필터가 있습니다. 그 전달 기능은ωc

H(s)=ωcs+ωc

쌍 선형 변환을 사용하여 를 찾으십시오 (이 함수는 무엇입니까?).H(z)

H(z)=ωc2Tz1z+1+ωc=ωcz+ωc(2T+ωc)z+ωc2T

그러나 Matlab 이하는 일과이 결과를 조정할 수 없습니다. 값에 관계없이 잘못 보입니다 . 그 가정 하고 이하의 계수이다 .H ( Z )TBAH(z)

>> [B,A] = butter(1,0.5)
B = 0.5000    0.5000
A = 1.0000   -0.0000
>> [B,A] = butter(1,0.6)
B = 0.5792    0.5792
A = 1.0000    0.1584
>> [B,A] = butter(1,0.7)
B = 0.6625    0.6625
A = 1.0000    0.3249
>> [B,A] = butter(1,0.8)
B = 0.7548    0.7548
A = 1.0000    0.5095

내가 무엇을 오해하고 있습니까?


MATLAB은 아날로그-디지털 변환을 사용하지 않습니다. 필터를 디지털 방식으로 설계하므로 쌍 선형 변환 아이디어가 적용되지 않을 수 있습니다.
Phonon

1
@Phonon : 이 답변 은 Matlab이 어떤 방식으로 쌍 선형 변환을 사용한다는 것을 나타냅니다.
Andreas

여기서 게임에 늦었지만 z / s / \ omega의 모든 대문자 함수 H는 일반적으로 전달 함수라고합니다. 인수가 시간 또는 샘플 인 경우이를 임펄스 응답이라고하며 일반적으로 소문자 h입니다. 전달 함수는 임펄스 응답의 변환 (어플리케이션에 따라 Z, 푸리에, 라플라스)입니다.
Emanuel Landeholm

답변:


10

몇 가지 사항 :

대체 을 만들기 전에 대체 를 수행 하여 컷오프 빈도 를 미리 왜곡 해야합니다 .s=2Tz1z+1

ωc,w=2Ttan(ωcT2)

여기서 는 뒤틀린 컷오프 주파수입니다. 이중 선형 변환은 아날로그 필터 설계에서 사용되는 Laplace 도메인의 왼쪽 절반 평면을 비선형 방식으로 도메인 의 단위 원에 매핑하기 때문에 필요합니다 . 따라서 나이키 스트 속도 (디지털 주파수 )에 접근하면 아날로그 필터 프로토 타입에 대한 근사값이 부정확 해집니다.ωc,wz±π

또한 butter함수에 전달하는 두 번째 파라미터 는 샘플링 간격 가 아니라 정규화 된 차단 주파수 입니다. 해당 기능에서 사용하는 정규화 된 주파수는 간격 에 있으며 원하는 차단 주파수 대 나이 퀴 스트 속도의 비율과 같습니다.T(0,1)

ωn=ωc2πfs2

ωn=ωcπfs

ωn=ωcTπ

감사합니다! 이제 올바른 계수를 얻습니다. 여기서 표현식에서 를 로 대체했습니다 . 컷오프 주파수가 버터 워스 필터에 어떤 영향을 미치는지 알고 있기 때문에 이것은 효과가있었습니다. 일반 필터가 있고 의 극점과 영점 만 알고 있다면 어떻게해야 합니까? 대체 할 값을 어떻게 알 수 있습니까? o m e g a c , w H ( z ) H ( s )ωcomegac,wH(z)H(s)
Andreas

합리적인 의 쌍 선형 변환이 (정규화 된) 컷오프 주파수가 아닌 샘플 주파수 만 아는 것이 가능하다고 가정하기 때문입니다 . H(s)
Andreas

쌍 선형 변환을 사용하여 모든 도메인 시스템을 도메인 의 근사치에 매핑 할 수 있습니다 . 사전 워핑은 필요하지 않지만 결과 이산 시간 시스템이 아날로그 시스템에 대한 근사치라는 경고가 적용됩니다. 관심있는 주파수를 미리 워핑하면 가장 관심있는 주파수 대역의 영역이 프로토 타입 필터의 왜곡을 최대한 줄일 수 있도록 매핑을 "스트레칭"할 수 있습니다. Zsz
Jason R

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.