이중 선형 변환을 사용하여 수학적 질문


10

따라서 이것은 요리 책과 관련이 있으며 20 년 전에 해결을 시도했지만 포기했으며 해결되지 않은 문제를 상기 시켰습니다. 그러나 그것은 꽤 직설적이지만 여전히 멍에 빠져 들었습니다.

공진 주파수가 이고 공명 가있는 간단한 대역 통과 필터 (BPF)입니다 .Ω0Q

H(s)=1QsΩ0(sΩ0)2+1QsΩ0+1

공진 주파수에서

|H(jΩ)|H(jΩ0)=1

상단 및 하단 밴드에지가 정의되도록

|H(jΩU)|2=|H(jΩ02BW/2)|2=12

|H(jΩL)|2=|H(jΩ02BW/2)|2=12

우리는 이것을 "반파 대" 라고 부릅니다 . 우리는 오디오이기 때문에 옥타브 단위로 대역폭을 정의하고 아날로그 세계에서는 옥타브 단위로이 대역폭 를 와 관련 시킵니다 .BWQ

1Q=2BW12BW=2sinh(ln(2)2BW)

우리는 다음을 매핑하는 이중 선형 변환 (사전 왜곡 공진 주파수)을 사용합니다.

sΩ01tan(ω0/2)1z11+z1jΩΩ0jtan(ω/2)tan(ω0/2)

시키는 및 .z=ejωs=jΩ

공진 각도 아날로그 필터의 주파수는 및 구현 디지털 필터의 공진 주파수로 할 주파수 왜곡 보상 (사용자 정의 공진 주파수) 다음 .Ω0ω=ω0Ω=Ω0

아날로그 각 주파수가

ΩΩ0=tan(ω/2)tan(ω0/2)

그런 다음 디지털 각 주파수에 매핑됩니다.

ω=2arctan(ΩΩ0tan(ω0/2))

이제 아날로그 세계의 상단 및 하단 대역은

ΩU=Ω02BW/2
ΩL=Ω02BW/2

디지털 주파수 영역에서

ωU=2arctan(ΩUΩ0tan(ω0/2))=2arctan(2BW/2tan(ω0/2))

ωL=2arctan(ΩLΩ0tan(ω0/2))=2arctan(2BW/2tan(ω0/2))

그런 다음 대역폭의 로그 주파수에서 실제 차이 (디지털 필터의 실제 대역폭)는 다음과 같습니다.

bw=log2(ωU)log2(ωL)=log2(2arctan(2BW/2tan(ω0/2)))log2(2arctan(2BW/2tan(ω0/2))) 

또는

ln(2)bw=ln(arctan(eln(2)BW/2tan(ω0/2)))ln(arctan(eln(2)BW/2tan(ω0/2)))

이것은 기능적인 형태를 가지고 있습니다.

f(x)=ln(arctan(αex))ln(arctan(αex))

여기서 , 및f(x)ln(2)bwxln(2)2BWαtan(ω0/2)

내가하고 싶은 것은 뒤집는 것입니다 (그러나 나는 닫힌 양식으로 정확하게 할 수 없다는 것을 알고 있습니다). 나는 이미 1 차 근사를했고 그것을 3 차 근사치까지 부풀리고 싶다. 그리고 이것은 똑바로되어야하지만 일종의 교미하는 여성 송곳니가되었습니다.f(x)

이제 이것은 Lagrange Inversion Formula 와 관련이 있으며 나는 그것을 가지고있는 것보다 더 하나의 용어로 가져 가고 싶습니다.

위에서 는 홀수 대칭 함수 라는 것을 알고 있습니다.f(x)

f(x)=f(x)

이것은 의미 하며 Maclaurin 계열의 모든 짝수 항은 0이됩니다.f(0)=0

y=f(x)=a1x+a3x3+...

역함수는 홀수 대칭이며 0을 통과하며 Maclaurin 계열로 표현 될 수 있습니다.

x=g(y)=b1y+b3y3+...

우리가 무엇을 알고있는 경우와 하고 의있는 , 우리는 어떤 좋은 아이디어가 및 이어야합니다 :a1a3f(x)b1b3

b1=1a1b3=a3a14

이제 의 미분을 계산하고 0으로 평가하면 얻을 수 있습니다.f(x)

a1=2α(1+α2)arctan(α)=sin(ω0)ω0/2
b1=(1+α2)arctan(α)2α=ω0/2sin(ω0)

그러나 나는 얻고 따라서 얻는 의 시간을 있습니다. 누군가 이것을 할 수 있습니까? 나는 평가 된 의 3 차 도함수에 대한 확실한 표현을 원했다 .a3b3f(x)x=0


2
명확하게 : 목표는 , 즉 주어진 에 대해 ? 특히, 당신은 다항식 확장에 의해 그것을하고 싶고 당신은 세 번째 계수를 찾고 있습니다 (두 번째는 함수의 홀수에 대해 0이므로). 권리?
f(x)=ln(arctan(αex))ln(arctan(αex))
f(x)x
Maximilian Matthé

2
당신이 알고 싶어 그래서 주어진 , 즉, 당신은 당신이 바로, 디지털 필터의 원하는 대역폭을 얻기 위해 선택해야 아날로그 필터의 어떤 대역폭을 알고 싶어? BWbw
Matt L.

2
예, 그렇습니다.
robert bristow-johnson 2012

1
@ robertbristow-johnson 나는 질문을 너무 신중하게 읽지 않았지만 에 관심이 있다는 것을 알았습니다 . Mathematica 나 Wolfram Alpha를 사용해도 괜찮습니까? 꽤 깨끗한 결과를 얻습니다 : . wolframalpha.com/input/… 그리고 "x = 0에서 평가"부분을 제거하면 Wolfram은 couplating 여성 송곳니를 최대한으로 뱉어냅니다. f(x)x=04(8π2)α3π3
Atul Ingle

1
내 오타 가 있습니다. "clean"결과는 실제로 다음과 같습니다 wolframalpha.com/input/…f(x)(6a2)/((a2+1)2atan(a)2)+(2a)/((a2+1)atan(a))+(16a5)/((a2+1)3atan(a))+(12a4)/((a2+1)3atan(a)2)(16a3)/((a2+1)2atan(a))+(4a3)/((a2+1)3atan(1)(a)3)
Atul 잉글

답변:


4

이 질문에 대한 나의 부분을 보완하기 위해 : 여기에 홀수 함수 를) 3 차까지의 시리즈로 만듭니다. 더 자세한 내용은 mathSE 에서 찾을 수 있습니다 .f(x)

f(x)=ln(arctan(αex))ln(arctan(αex))(1)=f1x+f3x3+O(x5)

처음에 우리 는 항 에 초점을 맞추고 시작합니다.

ln(arctan(αex))
f(x)

의 시리즈 확장 :arctan

우리가 구

arctan(αex)=n=0(1)n2n+1α2n+1e(2n+1)x=(2)=j=01j!n=0(1)n(2n+1)j1α2n+1xj

우리는 이제 (2) 까지의 계수에서 파생됩니다 . 은 Using 계수 연산자 의 계수를 나타 내기 위해 우리가 구 일련 x3[xk]xk

[x0]arctan(αex)=n=0(1)n2n+1α2n+1=arctanα[x1]arctan(αex)=n=0(1)nα2n+1=α1+α2[x2]arctan(αex)=12n=0(1)n(2n+1)α2n+1==α2ddα(α1+α2)=α(1α2)2(1+α2)2[x3]arctan(αex)=16n=0(1)n(2n+1)2α2n+1=α26n=0(1)n(2n+1)(2n)α2n1+α6n=0(1)n(2n+1)α2n==(α26d2dα2+α6ddα)(α1+α2)==α56α3+α6(1+α2)3

우리는

arctan(αex)=arctan(α)+α1+α2x+α(1α2)2(1+α2)2x2(3)+α56α3+α6(1+α2)3x3+O(x4)

대수 시리즈의 힘 :

대수 계열 식 (3)을 그리고

ln(arctan(αex))=n=1(1)n+1n(arctan(αex)1)n
arctan(αex)=a0+a1x+a2x2+a3x3+O(x4)
(4)ln(arctan(αex))=n=1(1)n+1n((a01)+a1x+a2x2+a3x3)n+O(x4)

이제 하고 에서 ~ 의 계수를 추출합니다.A(x)=(a01)+a1x+a2x2+a3x3x0x3

(A(x))n=((a01)+a1x+a2x2+a3x3)n=j=0n(nj)(a01)j(a1x+a2x2+a3x3)nj(5)=j=0n(nj)(a01)jk=0nj(njk)a1kxk(a2x2+a3x3)njk

우리는 (5)

[x0](A(x))n==(a01)n[x1](A(x))n==a1n(a01)n1[x2](A(x))n==a2n(a01)n1+12n(n1)a12(a01)n2[x3](A(x))n==na3(a01)n1+a1a2n(n1)(a01)n2(6)+16n(n1)(n2)a13(a01)n3

대수의 계열 확장 :

우리는 (6)의 계수를 계산하여 의 관점에서ln(arctan(αex))aj,0j3

[x0]ln(arctan(αex))=n=1(1)n+1n[x0]A(x)=n=1(1)n+1n[x0](a01)n=ln(a01)[x1]ln(arctan(αex))=n=1(1)n+1n[x1]A(x)=n=1(1)n+1n[x0]a1n(a01)n1=a1n=0(1)n(a01)n=a1a0[x2]ln(arctan(αex))=n=1(1)n+1n[x2]A(x)=n=1(1)n+1n(a2n(a01)n1+12n(n1)a12(a01)n2)==(a2+a122dda0)(1a0)=a2a0a122a02[x3]ln(arctan(αex))=n=1(1)n+1n[x3]A(x)=n=1(1)n+1n(na3(a01)n1+a1a2n(n1)(a01)n2+16n(n1)(n2)a13(a01)n3)==(a3+a1a2dda0+a136d2da02)(1a0)(7)=a3a0a1a2a02+a133a03

의 시리즈 확장 :f(x)

이제 수확 할 시간입니다. 우리는 마침내 가 홀수 라는 것을 (3)과 (7)으로 얻는다f(x)

f(x)=ln(arctan(αex))ln(arctan(αex))==2a1a0x+2(a3a0a1a2a02+a133a03)x3+O(x5)=2α(1+α2)arctan(α)x+α3(1+α2)3arctan(α)(α46α2+13α(1α2)arctan(α)+2α2(arctan(α))2)x3+O(x5)

Markus, 당신이 에 대해서는 정확하지만 , 우리는 가 홀수 대칭이고 짝수 차 항이 0이라는 것을 알고 있기 때문에이 확장이 좋다고 말할 수 있습니다 . O(x4)f(x)O(x5)
robert bristow-johnson 18

@ robertbristow-johnson : 물론입니다. 이에 따라 업데이트되었습니다. :-)
Markus Scheuer

엄청난 노력! 이 상세하고 긴 대답을 읽으 려고 하면 방정식 (4)에서 로그 외부에서 분리하는 방법을 알 수 없었 습니까? 무한의 계열은 이미 모든 거듭 제곱을 포함 하므로 분리 된 항은 무엇을 의미합니까? O(x4)xO(x4)
Fat32

물론 나는 당신이 거기에서 의미하고 싶은 느낌 을 얻었 지만 올바른 표기법은 다음과 같을 수 있습니다 : 여기서 를 사용 하여 다른 모든 표기법을 피하십시오. 그리고 과 를 사용 하여 두 세트의 coefficent를 구별했습니다. 이제 방정식 (4)와 위의 줄은 정확히 동일하지 않습니다. 그러나 나는 그것이 당신의 더 이상의 발전에 영향을 줄 것이라고 생각하지 않습니다.
ln(arctan(αex)) = n=1(1)n+1n((a01)+a1x+a2x2+a3x3+O1(x4))n = T0+T1x+T2x2+T3x3+O2(x4)
TO1O2
Fat32

@ Fat32 : 당신은 큰 O 표기법
Markus Scheuer

3

(댓글을 답변으로 변환)

Wolfram Alpha를 사용하면 에서 는 다음과 같이 평가됩니다. f(x)x=0

f(0)=6α2(α2+1)2(arctan(α))2 + 2α(α2+1)arctan(α)+16α5(α2+1)3arctan(α) + 12α4(α2+1)3(arctan(α))216α3(α2+1)2arctan(α) + 4α3(α2+1)3(arctan(α))3=2(α46α2+1)α(α2+1)3arctan(α)+6(α21)α2(α2+1)3(arctan(α))2+4α3(α2+1)3(arctan(α))3

http://www.wolframalpha.com/input/?i=evaluate+d3%2Fdx3++(+ln+(arctan+(a+exp(+x)))+-+ln+(arctan(a+exp(-+x) )) +) + at + x % 3D0

이것이 Markus의 답변과 일치하는지 다시 확인할 수도 있습니다 .

그의 계수 나옵니다x3

α3(1+α2)3arctan(α)(α46α2+13α(1α2)arctan(α)+2α2(arctan(α))2).

6을 곱하고 몇 가지 요소를 재 배열하면 다음과 같은 결과를 얻습니다.

2α(α46α2+1)(1+α2)3arctan(α)6α2(1α2)(1+α2)3(arctan(α))2+4α3(1+α2)3(arctan(α))3

맞습니다!


Atul, 귀하의 단순화 된 답변이 math SE에서의 Markus의 답변과 일치하지 않는 것 같습니다 . 의 경우 여야합니다 f '' '(0)의 모든 항이 Markus와 일치하지는 않습니다. Markus가 잘못되었을 수 있습니다.
f(x)|x0 = 3!a3=6a3
robert bristow-johnson 2012

2
@ robertbristow-johnson 나는 그들이 일치한다고 생각합니다.
Atul Ingle

그들은 지금한다. Markus에 오류가 있었을 것 같습니다. 그는 한 그의 대답은 좋은 구식 방법을.
robert bristow-johnson

아툴, 당신은 현상금을 얻을 것입니다. 그러나 나는 현상금에 관한 규칙을 탐구했고 그것들을 나눌 수는 없지만 한 번에 하나씩 두 번 수여 할 수있게했습니다. 그래서 Markus는 dsp.se에서 귀하보다 덜 담당자이며 컴퓨터의 도움없이 답변을 그렸으므로 먼저 그의 현상금을 수여합니다. 그런 다음이 질문에 또 다른 현상금을 배치하고 당신에게 그것을 수여합니다. 23 시간 기다려야한다고합니다. 아직 "체크 표시"를받을 사람은 없습니다.
robert bristow-johnson 2012

1
@ robertbristow-johnson 늦은 응답에 대해 죄송합니다. 계수는 각각 대해 입니다 . wolframalpha.com/input/…2/3,2/15,16/945,2/945ω02,ω04,ω06,ω08
Atul 잉글

3

질문에 제기 된 문제에는 폐쇄 형 솔루션이없는 것으로 보입니다. 질문에서 언급하고 다른 답변에서 볼 수 있듯이 결과는 Mathematica와 같은 상징적 수학 도구로 달성 할 수있는 시리즈로 개발 될 수 있습니다. 그러나 용어는 매우 복잡하고 추악 해졌으며 최대 3 차 항을 포함 할 때 근사값이 얼마나 좋은지 불분명합니다. 정확한 공식을 얻을 수 없기 때문에 근사와 달리 수치를 계산하는 것이 더 좋을 수 있습니다. 이는 근사와 달리 (거의) 정확한 결과를 제공합니다.

그러나 이것은 내 대답에 관한 것이 아닙니다. 문제 공식을 변경하여 정확한 솔루션을 제공하는 다른 경로를 제안합니다. 잠시 동안 생각한 후에 그것은 중심 주파수 의 사양이고 대역폭의 사양이 하는 비율 (또는 옥타브 단위)로 지정되었습니다. 딜레마에는 두 가지 방법이 있습니다.ω0

  1. 불연속 시간 필터의 대역폭을 주파수 차이 . 여기서 및 는 각각 불연속 시간 필터의 하위 및 상위 대역 에지입니다.Δω=ω2ω1ω1ω2
  2. 비율을 규정 하고 대신이 두 에지 주파수의 하나 PRESCRIBE 또는 .ω2/ω1ω0ω1ω2

두 경우 모두 간단한 분석 솔루션이 가능합니다. 이산 시간 필터의 대역폭을 비율 (또는 옥타브 단위) 로 규정하는 것이 바람직하므로 두 번째 방법을 설명하겠습니다.

연속 시간 필터 의 에지 주파수 및 를Ω1Ω2

(1)|H(jΩ1)|2=|H(jΩ2)|2=12

함께 , 제 차 대역 통과 필터의 전달 함수이다 :Ω2>Ω1H(s)

(2)H(s)=ΔΩss2+ΔΩs+Ω02

함께 및 . 참고 및 대 .ΔΩ=Ω2Ω1Ω02=Ω1Ω2H(jΩ0)=1|H(jΩ)|<1ΩΩ0

우리는 에지 주파수 매핑 변환 선형를 사용 와 가장자리 주파수에 이산 시간 필터를 와 연속 시간 필터. 일반성을 잃지 않으면 서 선택할 수 있습니다 . 우리의 목적을 위해 쌍 선형 변환은 다음 형식을 취합니다.ω1ω2Ω1Ω2Ω1=1

(3)s=1tan(ω12)z1z+1

연속 시간과 이산 시간 주파수 사이의 다음 관계에 해당합니다.

(4)Ω=tan(ω2)tan(ω12)

에서 설정하여 를 얻 . 함께 및 로부터 계산 , 우리의 아날로그 프로토 타입 필터의 전달 함수 구 . 쌍 선형 변환 적용하면 불연속 시간 대역 통과 필터의 전달 함수를 얻을 수 있습니다.(4)Ω2ω=ω2Ω1=1Ω2(4)(2)(3)

(5)Hd(z)=gz21z2+az+b

(6)g=ΔΩc1+ΔΩc+Ω02c2a=2(Ω02c21)1+ΔΩc+Ω02c2b=1ΔΩc+Ω02c21+ΔΩc+Ω02c2c=tan(ω12)

요약:

이산 시간 필터의 대역폭은 옥타브 (또는 일반적으로 비율)로 지정 될 수 있으며, 아날로그 프로토 타입 필터의 매개 변수는 지정된 대역폭이 달성되도록 정확하게 계산 될 수 있습니다. 중심 주파수 대신 밴드 가장자리 및 지정합니다 . 의해 정의 된 중심 주파수 는 설계의 결과입니다.ω0ω1ω2|Hd(ejω0)|=1

필요한 단계는 다음과 같습니다.

  1. 원하는 밴드 에지 비율 과 밴드 에지 중 하나를 지정하십시오 (물론 및 를 지정하는 것과 동일 ).ω2/ω1ω1ω2
  2. 선택 하고 에서 를 결정하십시오 . 계산 및 아날로그 프로토 타입 필터 .Ω1=1Ω2(4)ΔΩ=Ω2Ω1Ω02=Ω1Ω2(2)
  3. 불연속 시간 전달 함수 를 얻기 위해 상수 를 평가하십시오 .(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Ω02=Ω1Ω2=2.2361(6)(5)

Hd(z)=0.24524z21z20.93294z+0.50953

아래 그림과 같이 정확히 1 옥타브의 대역폭과 지정된 대역 에지를 달성합니다.

여기에 이미지 설명을 입력하십시오

원래 문제의 수치 해법 :

코멘트에서 나는 정확히 중심 주파수 지정할 수있는 것이 중요하다는 것을 이해 에 대한 만족을. 앞에서 언급했듯이 정확한 폐쇄 형 솔루션을 얻을 수 없으며 시리즈 개발은 다루기 어려운 표현을 생성합니다.ω0|Hd(ejω0)|=1

명확성을 위해 가능한 옵션을 장점과 단점으로 요약하고 싶습니다.

  1. 원하는 대역폭을 주파수 차이 로 지정하고 지정 . 이 경우 간단한 폐쇄 형 솔루션이 가능합니다.Δω=ω2ω1ω0
  2. 대역 모서리 및 (또는 옥타브 단위의 대역폭 및 대역 모서리 중 하나)를 지정하십시오. 이것은 또한 위에서 설명한 것처럼 간단한 폐쇄 형 솔루션으로 만 중심 주파수 은 설계의 결과이므로 지정할 수 없습니다.ω1ω2ω0
  3. 원하는 대역폭을 옥타브 단위로 지정하고 중심 주파수 (질문에서 요청 )를 지정하십시오. 닫힌 양식 솔루션은 불가능하며 간단한 근사도 없습니다. 이러한 이유로 수치 솔루션을 얻는 간단하고 효율적인 방법을 사용하는 것이 바람직하다고 생각합니다. 이것이 아래에 설명되어 있습니다.ω0

이 지정 되면 및 에서 사용 된 것과 다른 정규화 상수를 가진 이중 선형 변환 형식을 사용합니다 .ω0(3)(4)

(7)Ω=tan(ω2)tan(ω02)

정의 합니다. 불연속 시간 필터의 지정된 밴드 에지 비율을 다음과 같이 나타냅니다.Ω0=1

(8)r=ω2ω1

함께 우리에서 얻는 및c=tan(ω0/2)(7)(8)

(9)r=arctan(cΩ2)arctan(cΩ1)

함께 , 다음의 형태로 쓸 수있다 :Ω1Ω2=Ω02=1(9)

(10)f(Ω1)=rarctan(cΩ1)arctan(cΩ1)=0

주어진 값에 대해이 방정식은 에 대해 몇 가지 뉴턴 반복 으로 풀 수 있습니다 . 이를 위해 우리는 의 파생물이 필요합니다 .rΩ1f(Ω1)

(11)f(Ω1)=c(r1+c2Ω12+1c2+Ω12)

함께 , 우리는 알고 구간에 있어야합니다 . 더 똑똑한 초기 솔루션을 제시 할 수는 있지만 초기 추측 은 대부분의 사양에 적합하며 Newton의 방법을 번만 반복하면 매우 정확한 솔루션을 얻을 수 있습니다 .Ω0=1Ω1(0,1)Ω1(0)=0.14

(12)Ω1(n+1)=Ω1(n)f(Ω1(n))f(Ω1(n))

함께 몇 번 반복하여 얻은 우리 결정할 수 및 하고, 우리가 사용하는 와 의 계수를 계산 불연속 시간 필터. 상수 는 이제 됩니다.Ω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Ω1(0)=0.1Ω1=0.00775log2(Ω2/Ω1)=log2(1/Ω12)14

b = 0.90986 * [1,0, -1];
a = [1.00000 0.17806 -0.81972];

여기에 이미지 설명을 입력하십시오

결과로 생성되는 절반 전력 대역 에지는 및 이며, 실제로 정확히 옥타브 (즉, )입니다.ω1=0.062476πω2=0.999612π416


두 개의 초기 주석 (아직은 이것을 읽지 않았습니다, 매트) : 첫째, 선형 주파수보다 로그 주파수에 더 관심이 있습니다. 아날로그 BPF (또는 나이키 스트보다 공진 주파수가 훨씬 낮은 디지털 BPF)의 경우 공진 주파수에 대해 완벽한 대칭이 있습니다.
robert bristow-johnson 18시 08 분

그리고 두 번째 의견은 이것입니다 및 표기법을 고수해 주셔서 감사 하지만 아날로그 및 디지털 공진 주파수가 있다는 표기법을 고수하고 싶습니다. 및 이고 아날로그 상단 및 하단 밴드 에지는 각각 및 이며 디지털 밴드 및 입니다. 로그 주파수에서 대역폭의 절반은 이상 이고 절반은 아래에 있음을 알고 있습니다. 그러나 뒤틀림으로 인해 디지털 BPF 필터에는 해당되지 않습니다. s=jΩz=ejωΩ0ω0ΩUΩLωUωLΩ0
로버트 브리스 토우-존슨

이것을 더 읽으면 공진 주파수가 이중 선형 변환을 통해 정확하게 매핑되는 것이 중요합니다. 그래서이 접근법, 매트를 이해하지만 의 정확한 매핑을 하고 가 지정 될 때까지 를 조정하고 . ω0BWbw
robert bristow-johnson 18시 33 분

@ robertbristow-johnson : 알겠습니다. 충분히 정확한 . 를 선형 차이로 지정하면 가능합니다 (원치 않는 것으로 이해합니다). 지정된 및 옥타브 단위의 대역폭으로 는 깔끔한 솔루션을 사용할 수 없습니다 . ω0Δωω0
Matt L.

1
@ robertbristow-johnson : 나는 내 대답에 매우 간단한 수치 해법을 추가했습니다 (4 뉴턴 반복).
Matt L.

3

좋아, 나는 현상금을 내겠다고 약속했고 내 약속을 지키겠다. 그러나 나는 의 세 번째 파생물에 만족하면 약간 회복 될 것이라고 고백해야 합니다. 내가 정말로 원하는 것은 대한 두 계수입니다 .f(x)g(y)

그래서 나는 수학 이나 파생에 대한 대안 으로이 Wolfram 언어 가 있다는 것을 몰랐고 그것이 너무 쉽게 3 차 미분을 계산하고 표현을 단순화 할 수 있다는 것을 깨닫지 못했습니다.

그리고 수학 SE의이 Markus 녀석 은이 답변을 게시했습니다 .

y=f(x)=ln(arctan(αex))ln(arctan(αex))a1x + a3x3=2α(1+α2)arctan(α)x+α3(1+α2)3arctan(α)(α46α2+13α(1α2)arctan(α)+2α2(arctan(α))2)x3

그래서 나는 3 차 근사를 역수로 합칩니다.

x=g(y)b1y + b3y3=1a1y  a3a14y3=(1+α2)arctan(α)2αy(1+α2)(arctan(α))348α3(α46α2+13α(1α2)arctan(α)+2α2(arctan(α))2)y3=(1+α2)arctan(α)2αy(1+α2)(arctan(α))348α(α26+α23(1α2)αarctan(α)+2(arctan(α))2)y3=y(arctan(α)α+α12)(1 +((arctan(α))2(1α2+α26)arctan(α)αα1213)y24)

나는 다른 누군가가 이것을하기를 바랐습니다. 리콜 , 및y=f(x)ln(2)bwg(y)=xln(2)2BWαtan(ω0/2)

x=g(y)y(arctan(α)α+α12)(1 +((arctan(α))2(1α2+α26)arctan(α)αα1213)y24)ln(2)2BW(ln(2)bw)(arctan(α)α+α12)(1 +((arctan(α))2(1α2+α26)arctan(α)αα1213)(ln(2)bw)24)

나는 세 가지 편리한 삼각 관계가 있습니다.

12(α+α1)=12(tan(ω0/2)+1tan(ω0/2))=1sin(ω0)

12(αα1)=12(tan(ω0/2)1tan(ω0/2))=1tan(ω0)

12(α2+α2)=12(tan2(ω0/2)+1tan2(ω0/2))=1sin2(ω0)+1tan2(ω0)=2sin2(ω0)1

"마침내" 우리는 얻었다 :

BWbwω0sin(ω0)(1 + (ln(2))224(2(ω021)(ω0sin(ω0))2+3ω0tan(ω0))(bw)2)

이것은 그렇게 나쁘지 않습니다. 한 줄에 맞습니다. 누군가가 오류를 보거나 더 간단하게 만드는 좋은 방법을 찾으면 lemme에 문의하십시오.

위의 주석에서 파워 시리즈 근사값으로

BWbwω0sin(ω0)(1 + (ln(2))2(136ω021180ω0422835ω06)(bw)2)

또한 대한 Atul의 대답 과 에 대한 Markus의 대답 이 일치 하는지 확실하지 않습니다 . 나는 누군가가 현상금에 들어갈 수있는 대답으로 그것을 바로 잡을 수 있는지 궁금합니다. f(0)a3
robert bristow-johnson 2012

또한 웹 브라우저의 Mathematica와 같은 Wolfram의 클라우드 노트북에 대해서도 알았습니다. sandbox.open.wolframcloud.com/app로 이동하여 다음 을 입력하십시오 6*SeriesCoefficient[ Series[Log[ArcTan[a E^x]] - Log[ArcTan[a/E^x]],{x,0,5}],3]
Atul Ingle

@ AtulIngle, 나는 Markus의 수정 사항을 역함수에 통합했습니다. 의 결과를 확인 하시겠습니까? g(y)
robert bristow-johnson

누군가가 내 대체물을 다시 확인 하면 특히 를 곱하는 요소를 확인하면 좋을 것 입니다. 곧 나는 를 완전히 다른 단순화와 형태를 일으킬 것입니다. 그러나 누군가가 위의 단순화가 잘못되었다고 말하는 경우를 대비하여 조금만 보류합니다. g(y)y2αtan(ω0/2)
robert bristow-johnson

1
@ robert bistow-johnson Mathematica를 사용하여 g (y)에 대한 최종 표현을 확인했습니다.
Atul Ingle

2

여기 정량적 인 결과가 있습니다. x 축의 디지털 필터와 y 축의 결과 디지털 대역폭에 대해 지정된 대역폭 를 플로팅했습니다 . 나이키 스트 (Nyquist)에 의해 정규화 된 공진 주파수 나타내는 녹색에서 적색까지의 5 개의 플롯이 있습니다 :bwω0

ω0π= [0.0002 0.2441 0.4880 0.7320 0.9759]

공진 주파수는 거의 DC에서 거의 나이키 스트 (Nyquist)로 이동합니다.

다음은 대역폭에 대한 보상 (또는 사전 뒤틀림)이 없습니다. 여기에 이미지 설명을 입력하십시오

다음은 Cookbook이 수행 한 간단한 1 차 보상입니다. 여기에 이미지 설명을 입력하십시오

여기에 방금 해결 한 3 차 보상이 있습니다. 여기에 이미지 설명을 입력하십시오

우리가 원하는 것은 모든 선이 주 대각선에 직접 놓이는 것입니다.

3 차 경우 실수이 개정을 보정. 그것이 수행 하는 3 차 근사처럼 약간 더 작은위한 1 차 근사보다 .g(y)bw

그래서 저는 3 차 항의 계수를 다루지 않았고 (1 차 항을 동일하게두고 싶습니다), 효과가 줄었습니다. 이것은 3 차 항에 50 %를 곱한 것입니다.

여기에 이미지 설명을 입력하십시오

이것은 33 %로 감소하고 있습니다.

여기에 이미지 설명을 입력하십시오

3 차 항을 25 %로 줄입니다.

여기에 이미지 설명을 입력하십시오

역함수의 목적은 지정된 기능을 취소하는 것이기 때문에이 모든 것의 핵심은 복합 함수의 곡선을 가능한 한 주 대각선에 가깝게 위치시키는 것입니다. 공명 주파수 및 3 옥타브 대역폭 대해 최대 75 % 나이 퀴 스트에 대해 나쁘지 않습니다 . 그러나 사용자가 노브를 돌리거나 슬라이더를 움직일 때마다 실행되는 "계수 요리" 코드 에서 그 가치를 실제로 얻는 것이 훨씬 나을 것입니다 .ω0bw


두 번째 및 세 번째 플롯에서 어떻게 대역폭이 음수가 될 수 있습니까?
Matt L.

그것은 지금까지 의 역함수 의 실제 에 대한이 3 차 근사에 대해 지금까지 감동을받지 못한 이유 입니다 3 차 근사치가 수십 년 동안 존재했던 1 차 근사치보다 개선 된 것이라고 생각하지 않습니다. . 그래서이다 플롯 여기서 실제 역의 근사 로 인해 는 양극성입니다 (음의 대역폭이 무의미하더라도) 는 음수 일 수 있습니다. x=g(y)
f(x)=ln(arctan(αex)arctan(αex))
f(g^(y))
g^(y)g(y)
y=f(g(y))
f(x)f(g^(y))
로버트 브리스 토우-존슨

오, @MattL. 가 원점을 통과 한다는 사실은 대역폭이 실제로 음수가 아니더라도 놀라지 않아야합니다. 대역폭 매핑 기능은 홀수 대칭이므로 첫 번째와 두 번째 플롯은 전혀 놀랍지 않습니다. 그러나 세 번째 줄거리는 실망 스럽습니다. f(x)
robert bristow-johnson

음의 대역폭에 대한 곡선을 왜 플롯했는지 궁금합니다. 그러나 어쨌든, 내가 실수하지 않으면 사용하는 시리즈는 에서 일종의 Taylor 시리즈 확장입니다 . 두 개의 용어 만 사용하는 경우 더 큰 대역폭에서 실제 동작을 대략적으로 예상 할 수있는 이유는 무엇입니까? bw=0
Matt L.

나는 함수가 홀수 대칭인지 확인하고 원점을 정말 잘 통과하고 싶었습니다. 예, 이것은 Taylor (또는 Maclaurin) 시리즈에 관한 것입니다. 여러분은 @MattL., 한 용어가 나이키 스트 (Nyquist)에별로 근접하지 않은 모든 공진 주파수에 대해 다소 훌륭하다고 생각합니다. 선형 항을 변경하지 않고 3 차 항으로 약간 흘렀습니다 (계속 지켜봐 주시고 결과를 보여 드리겠습니다). 그러나 요리 책에서 그것을 바꾸는 것을 귀찮게해야한다고 생각하는 1 차 주문보다 훨씬 낫지는 않습니다.
robert bristow-johnson 2012
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.