질문에 제기 된 문제에는 폐쇄 형 솔루션이없는 것으로 보입니다. 질문에서 언급하고 다른 답변에서 볼 수 있듯이 결과는 Mathematica와 같은 상징적 수학 도구로 달성 할 수있는 시리즈로 개발 될 수 있습니다. 그러나 용어는 매우 복잡하고 추악 해졌으며 최대 3 차 항을 포함 할 때 근사값이 얼마나 좋은지 불분명합니다. 정확한 공식을 얻을 수 없기 때문에 근사와 달리 수치를 계산하는 것이 더 좋을 수 있습니다. 이는 근사와 달리 (거의) 정확한 결과를 제공합니다.
그러나 이것은 내 대답에 관한 것이 아닙니다. 문제 공식을 변경하여 정확한 솔루션을 제공하는 다른 경로를 제안합니다. 잠시 동안 생각한 후에 그것은 중심 주파수 의 사양이고 대역폭의 사양이 하는 비율 (또는 옥타브 단위)로 지정되었습니다. 딜레마에는 두 가지 방법이 있습니다.ω0
- 불연속 시간 필터의 대역폭을 주파수 차이 . 여기서 및 는 각각 불연속 시간 필터의 하위 및 상위 대역 에지입니다.Δω=ω2−ω1ω1ω2
- 비율을 규정 하고 대신이 두 에지 주파수의 하나 PRESCRIBE 또는 .ω2/ω1ω0ω1ω2
두 경우 모두 간단한 분석 솔루션이 가능합니다. 이산 시간 필터의 대역폭을 비율 (또는 옥타브 단위) 로 규정하는 것이 바람직하므로 두 번째 방법을 설명하겠습니다.
연속 시간 필터 의 에지 주파수 및 를Ω1Ω2
|H(jΩ1)|2=|H(jΩ2)|2=12(1)
함께 , 제 차 대역 통과 필터의 전달 함수이다 :Ω2>Ω1H(s)
H(s)=ΔΩss2+ΔΩs+Ω20(2)
함께 및 . 참고 및 대 .ΔΩ=Ω2−Ω1Ω20=Ω1Ω2H(jΩ0)=1|H(jΩ)|<1Ω≠Ω0
우리는 에지 주파수 매핑 변환 선형를 사용 와 가장자리 주파수에 이산 시간 필터를 와 연속 시간 필터. 일반성을 잃지 않으면 서 선택할 수 있습니다 . 우리의 목적을 위해 쌍 선형 변환은 다음 형식을 취합니다.ω1ω2Ω1Ω2Ω1=1
s=1tan(ω12)z−1z+1(3)
연속 시간과 이산 시간 주파수 사이의 다음 관계에 해당합니다.
Ω=tan(ω2)tan(ω12)(4)
에서 설정하여 를 얻 . 함께 및 로부터 계산 , 우리의 아날로그 프로토 타입 필터의 전달 함수 구 . 쌍 선형 변환 적용하면 불연속 시간 대역 통과 필터의 전달 함수를 얻을 수 있습니다.(4)Ω2ω=ω2Ω1=1Ω2(4)(2)(3)
Hd(z)=g⋅z2−1z2+az+b(5)
와
gabc=ΔΩc1+ΔΩc+Ω20c2=2(Ω20c2−1)1+ΔΩc+Ω20c2=1−ΔΩc+Ω20c21+ΔΩc+Ω20c2=tan(ω12)(6)
요약:
이산 시간 필터의 대역폭은 옥타브 (또는 일반적으로 비율)로 지정 될 수 있으며, 아날로그 프로토 타입 필터의 매개 변수는 지정된 대역폭이 달성되도록 정확하게 계산 될 수 있습니다. 중심 주파수 대신 밴드 가장자리 및 지정합니다 . 의해 정의 된 중심 주파수 는 설계의 결과입니다.ω0ω1ω2|Hd(ejω0)|=1
필요한 단계는 다음과 같습니다.
- 원하는 밴드 에지 비율 과 밴드 에지 중 하나를 지정하십시오 (물론 및 를 지정하는 것과 동일 ).ω2/ω1ω1ω2
- 선택 하고 에서 를 결정하십시오 . 계산 및 아날로그 프로토 타입 필터 .Ω1=1Ω2(4)ΔΩ=Ω2−Ω1Ω20=Ω1Ω2(2)
- 불연속 시간 전달 함수 를 얻기 위해 상수 를 평가하십시오 .(6)(5)
및 을 지정 하는보다 일반적인 방법을 사용 하면 실제 밴드 에지 및 가 설계 프로세스의 결과입니다. 제안 된 솔루션에서 밴드 에지를 지정할 수 있으며 은 설계 프로세스의 결과입니다. 후자의 접근법의 장점은 대역폭이 옥타브로 지정 될 수 있고 솔루션이 정확하다는 것입니다. 즉, 결과 필터는 정확히 옥타브로 지정된 대역폭을 갖습니다.ω0Δω=ω2−ω1ω1ω2ω0
예:
1 옥타브의 대역폭을 지정하고 하위 밴드 에지를 합니다. 이것은 상단 밴드 가장자리에 됩니다. 아날로그 프로토 타입 필터의 밴드 에지는 및 ( ) 입니다. 이것은 제공 와 . 와 우리는 이산 시간 전달 함수를 얻을ω1=0.2πω2=2ω1=0.4πΩ1=1(4)ω=ω2Ω2=2.2361ΔΩ=Ω2−Ω1=1.2361Ω20=Ω1Ω2=2.2361(6)(5)
Hd(z)=0.24524⋅z2−1z2−0.93294z+0.50953
아래 그림과 같이 정확히 1 옥타브의 대역폭과 지정된 대역 에지를 달성합니다.
원래 문제의 수치 해법 :
코멘트에서 나는 정확히 중심 주파수 지정할 수있는 것이 중요하다는 것을 이해 에 대한 만족을. 앞에서 언급했듯이 정확한 폐쇄 형 솔루션을 얻을 수 없으며 시리즈 개발은 다루기 어려운 표현을 생성합니다.ω0|Hd(ejω0)|=1
명확성을 위해 가능한 옵션을 장점과 단점으로 요약하고 싶습니다.
- 원하는 대역폭을 주파수 차이 로 지정하고 지정 . 이 경우 간단한 폐쇄 형 솔루션이 가능합니다.Δω=ω2−ω1ω0
- 대역 모서리 및 (또는 옥타브 단위의 대역폭 및 대역 모서리 중 하나)를 지정하십시오. 이것은 또한 위에서 설명한 것처럼 간단한 폐쇄 형 솔루션으로 만 중심 주파수 은 설계의 결과이므로 지정할 수 없습니다.ω1ω2ω0
- 원하는 대역폭을 옥타브 단위로 지정하고 중심 주파수 (질문에서 요청 )를 지정하십시오. 닫힌 양식 솔루션은 불가능하며 간단한 근사도 없습니다. 이러한 이유로 수치 솔루션을 얻는 간단하고 효율적인 방법을 사용하는 것이 바람직하다고 생각합니다. 이것이 아래에 설명되어 있습니다.ω0
이 지정 되면 및 에서 사용 된 것과 다른 정규화 상수를 가진 이중 선형 변환 형식을 사용합니다 .ω0(3)(4)
Ω=tan(ω2)tan(ω02)(7)
정의 합니다. 불연속 시간 필터의 지정된 밴드 에지 비율을 다음과 같이 나타냅니다.Ω0=1
r=ω2ω1(8)
함께 우리에서 얻는 및c=tan(ω0/2)(7)(8)
r=arctan(cΩ2)arctan(cΩ1)(9)
함께 , 다음의 형태로 쓸 수있다 :Ω1Ω2=Ω20=1(9)
f(Ω1)=rarctan(cΩ1)−arctan(cΩ1)=0(10)
주어진 값에 대해이 방정식은 에 대해 몇 가지 뉴턴 반복 으로 풀 수 있습니다 . 이를 위해 우리는 의 파생물이 필요합니다 .rΩ1f(Ω1)
f′(Ω1)=c(r1+c2Ω21+1c2+Ω21)(11)
함께 , 우리는 알고 구간에 있어야합니다 . 더 똑똑한 초기 솔루션을 제시 할 수는 있지만 초기 추측 은 대부분의 사양에 적합하며 Newton의 방법을 번만 반복하면 매우 정확한 솔루션을 얻을 수 있습니다 .Ω0=1Ω1(0,1)Ω(0)1=0.14
Ω(n+1)1=Ω(n)1−f(Ω(n)1)f′(Ω(n)1)(12)
함께 몇 번 반복하여 얻은 우리 결정할 수 및 하고, 우리가 사용하는 와 의 계수를 계산 불연속 시간 필터. 상수 는 이제 됩니다.Ω1(12)Ω2=1/Ω1ΔΩ=Ω2−Ω1(5)(6)cc=tan(ω0/2)
예 1 :
와 옥타브 의 대역폭을 지정합시다 . 이것은 의 비율에 해당합니다 . 의 초기 추측으로 , Newton의 방법을 반복하면 가되었으며, 이로부터 이산 시간의 계수를 계산할 수 있습니다. 아래 그림은 결과를 보여줍니다.ω0=0.6π0.5r=ω2/ω1=20.5=2–√=1.4142Ω1=0.14Ω1=0.71
이 Matlab / Octave 스크립트를 사용하여 필터를 계산했습니다.
% 사양
bw = 0.5; 옥타브 단위로 원하는 대역폭 %
w0 = .6 * pi; 공진 주파수 %
r = 2 ^ (bw); 밴드 엣지 비율
W1 = 0.1; 초기 추측 % (대부분의 사양에서 작동)
Nit = 4; % # 뉴턴 반복
c = tan (w0 / 2);
뉴턴 %
i = 1 : Nit 인 경우
f = r * 아탄 (c * W1)-아탄 (c / W1);
fp = c * (r / (1 + c ^ 2 * W1 ^ 2) + 1 / (c ^ 2 + W1 ^ 2));
W1 = W1-f / fp
종료
W1 = abs (W1);
if (W1> = 1), error ( '수렴에 실패했습니다. 초기 추측 값을 줄입니다.'); 종료
W2 = 1 / W1;
dW = W2-W1;
이산 시간 필터 %
스케일 = 1 + dW * c + W1 * W2 * c ^ 2;
b = (dW * c / 스케일) * [1,0, -1];
a = [1, 2 * (W1 * W2 * c ^ 2-1) / 스케일, (1-dW * c + W1 * W2 * c ^ 2) / 스케일];
예 2 :
이 방법으로 대부분의 근사값이 중요하지 않은 결과를 제공하는 사양을 처리 할 수 있음을 보여주는 다른 예를 추가합니다. 원하는 대역폭과 공진 주파수가 모두 큰 경우가 종종 있습니다. 및 옥타브 로 필터를 설계 해 봅시다 . 초기 추측 사용하여 Newton의 방법을 네 번 반복하면 의 최종 값 , 즉 옥타브. 해당 이산 시간 필터는 다음과 같은 계수를 가지며 주파수 응답은 아래 그림에 나와 있습니다.ω0=0.95πbw=4Ω(0)1=0.1Ω1=0.00775log2(Ω2/Ω1)=log2(1/Ω21)≈14
b = 0.90986 * [1,0, -1];
a = [1.00000 0.17806 -0.81972];
결과로 생성되는 절반 전력 대역 에지는 및 이며, 실제로 정확히 옥타브 (즉, )입니다.ω1=0.062476πω2=0.999612π416