Câu hỏi toán học xuất phát từ việc sử dụng biến đổi song tuyến


10

Vì vậy, điều này có liên quan đến Cookbook và tôi đã cố gắng giải quyết nó có lẽ hai thập kỷ trước, đã từ bỏ và được nhắc nhở về vấn đề chưa được giải quyết. Nhưng nó khá là thẳng về phía trước, nhưng tôi vẫn bị mắc kẹt trong muck.

Đây là bộ lọc Bandpass đơn giản (BPF) với tần số cộng hưởng và cộng hưởng :Ω0Q

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

Ở tần số cộng hưởng

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

và các dải trên và dưới được xác định sao cho

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

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

Chúng tôi gọi đây là "các dải phân nửa công suất" . Bởi vì chúng tôi là âm thanh, chúng tôi xác định băng thông theo quãng tám và trong thế giới tương tự, băng thông này trong quãng tám, , có liên quan đến là:BWQ

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

Chúng tôi đang sử dụng biến đổi song tuyến tính (với tần số cộng hưởng được uốn cong trước) mà ánh xạ:

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

cho và .z=ejωs=jΩ

Tần số góc cộng hưởng của bộ lọc tương tự là và với bù tần số cong được thực hiện theo tần số cộng hưởng trong bộ lọc kỹ thuật số đã nhận ra, khi (tần số cộng hưởng do người dùng xác định), sau đó . ω = ω 0 Ω = Ω 0Ω0ω=ω0Ω=Ω0

Vì vậy, nếu tần số góc tương tự là

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

sau đó nó được ánh xạ tới tần số góc kỹ thuật số như

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

Bây giờ, các dải trên và dưới trong thế giới tương tự là

Ω L = Ω 0 2 - B W / 2

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

và trong miền tần số là

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

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

Khi đó, sự khác biệt thực tế, về tần số nhật ký của các băng thông (là băng thông thực tế trong bộ lọc kỹ thuật số) là:

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

hoặc là

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

Đây là một hình thức chức năng của

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

trong đó , vàf(x)ln(2)bwalphatan(ω0/2)xln(2)2BWαtan(ω0/2)

Những gì tôi muốn làm là đảo ngược (nhưng tôi biết tôi không thể làm điều đó chính xác với một hình thức đóng đẹp). Tôi đã thực hiện một xấp xỉ bậc một và tôi muốn tăng nó lên xấp xỉ bậc ba. Và điều này đã trở thành một loại chó cái đang giao hợp với nhau, mặc dù nó phải thẳng tiến.f(x)

Bây giờ điều này có liên quan đến Công thức đảo ngược Lagrange và tôi chỉ muốn đưa nó đến một thuật ngữ nhiều hơn tôi có.

Chúng ta biết từ trên rằng là một hàm đối xứng lẻ:f(x)

f(x)=f(x)

Điều này có nghĩa là và tất cả các điều khoản theo thứ tự chẵn của loạt Maclaurin sẽ bằng không:f(0)=0

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

Hàm nghịch đảo cũng là đối xứng lẻ, đi qua 0 và có thể được biểu thị dưới dạng chuỗi Maclaurin

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

và nếu chúng ta biết những gì và là của , sau đó chúng tôi có một ý tưởng tốt những gì và phải:a 3 f ( x ) b 1 b 3a1a3f(x)b1b3

b1=1a1b3=a3a14

Bây giờ, tôi có thể tính đạo hàm của và đánh giá nó bằng 0 và tôi nhận đượcf(x)

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

Nhưng tôi đang gặp một con chó cái của một thời gian nhận được và do đó . Ai đó có thể làm điều này? Tôi thậm chí còn giải quyết một biểu thức vững chắc cho đạo hàm thứ ba của đánh giá tại .b 3 f ( x ) x = 0a3b3f(x)x=0


2
Chỉ cần làm rõ: Mục tiêu của bạn là đảo ngược , tức là với một , bạn muốn tìm ? Cụ thể, bạn muốn thực hiện nó bằng cách mở rộng đa thức và bạn đang tìm kiếm hệ số thứ 3 (vì thứ 2 là 0 làm số lẻ của hàm). Đúng? f(x)x
f(x)=ln(arctan(αex))ln(arctan(αex))
f(x)x
Maximilian Matthé

2
Vì vậy, bạn muốn biết được cung cấp , tức là bạn muốn biết băng thông của bộ lọc tương tự bạn cần chọn để có được băng thông mong muốn của bộ lọc kỹ thuật số, phải không? b wBWbw
Matt L.

2
vâng, vâng, vâng
robert bristow-johnson

1
@ robertbristow-johnson Tôi đã không đọc câu hỏi quá cẩn thận, nhưng tôi đã nhận thấy rằng bạn quan tâm đến tại . Bạn có thể sử dụng Mathicala hoặc Wolfram Alpha để tính toán điều đó không? Tôi nhận được một kết quả khá rõ ràng: . wolframalpha.com/input/ Từ Và nếu bạn loại bỏ phần "đánh giá tại x = 0", Wolfram sẽ nhổ cái răng nanh cái khớp nối trong vinh quang đầy đủ của nó. x = 0 4 ( 8 - π 2 ) α 3f(x)x=04(8π2)α3π3
Atul Ingle

1
Typo trong tôi ở đó. Kết quả "sạch" thực sự là: wolframalpha.com/input/ từ- ( 6 a 2 ) / ( ( a 2 + 1 ) 2 a t a n ( a ) 2 ) + ( 2 a ) / ( ( a 2 + 1 ) a t a n ( a ) ) + ( 16 a 5 ) / ( ( a 2 +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 Ingle

Câu trả lời:


4

Để bổ sung cho phần của tôi cho câu hỏi này: Đây là một câu trả lời hơi ngắn dựa trên việc mở rộng thủ công hàm lẻ thành một chuỗi theo thứ tự thứ ba. Một số chi tiết có thể được tìm thấy tại mathSE .f ( x )f(x)

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

Đầu tiên, chúng tôi tập trung ở thuật ngữ của và bắt đầu bằng f ( x )

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

Mở rộng loạt :arctan

Chúng tôi có được

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

Bây giờ chúng ta xuất phát từ (2) các hệ số lên đến . Sử dụng toán tử hệ số để biểu thị hệ số của trong chuỗi chúng ta thu được [ x k ] x k [ x 0 ] arctan ( α e x )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

Chúng tôi kết luận

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

Quyền hạn trong chuỗi logarit:

Để lấy được các hệ số của chuỗi logarit chúng ta viết biểu thức (3) là và chúng tôi xem xét arctan(αex)

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

Bây giờ chúng tôi đặt và trích xuất các hệ số của thành từ x 0 x 3 ( A ( x ) ) nA(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

Chúng tôi có được từ (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

Mở rộng chuỗi logarit:

Chúng tôi tính toán bằng cách sử dụng (6) các hệ số của theomột j , 0 j 3ln(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

Mở rộng chuỗi của :f(x)

Bây giờ là thời gian để thu hoạch. Cuối cùng chúng tôi cũng có được (3) và (7) tôn trọng rằng là số lẻ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, trong khi bạn đúng về , vì chúng ta biết có tính đối xứng lẻ và các điều khoản theo thứ tự bằng 0, tôi nghĩ bạn có thể nói rằng sự mở rộng này tốt cho . O(x4)f(x)O(x5)
robert bristow-johnson

@ robertbristow-johnson: Vâng, tất nhiên. Cập nhật cho phù hợp. :-)
Markus Scheuer

Sự nỗ lực to lớn! Cố gắng đọc câu trả lời chi tiết và dài dòng này, tôi không thể thấy làm thế nào bạn có thể cô lập , trong phương trình (4), bên ngoài logarit? Chuỗi vô hạn đã bao gồm mọi lũy thừa của , vậy thuật ngữ bị cô lập có nghĩa là gì? O(x4)xO(x4)
Fat32

Tất nhiên tôi có cảm giác về những gì bạn muốn nói ở đó nhưng ký hiệu thích hợp có thể là một cái gì đó như thế này: trong đó tôi đã sử dụng để tránh xa tất cả các ký hiệu khác của bạn. Và lưu ý rằng tôi đã sử dụng và để phân biệt giữa hai bộ hệ số đó. Vì vậy, bây giờ phương trình của bạn (4) và dòng trên không hoàn toàn giống nhau. Tôi không nghĩ tuy nhiên nó sẽ ảnh hưởng đến bất kỳ tiến bộ nào của bạn.
ln(arctan(αex)) = n=1(1)n+1n((a01)+a1x+a2x2+a3x3+O1(x4))n = T0+T1x+T2x2+T3x3+O2(x4)
TO1O2
Fat32

@ Fat32: Bạn có thể muốn xem ký hiệu big-O
Markus Scheuer

3

(Chuyển đổi nhận xét để trả lời.)

Sử dụng Wolfram Alpha, tại ước tính thành: 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=evalu+d3%2Fdx3++(+ln+(arctan+(a+Ex(+x)))+-+ln+(arctan(a+Ex(-+x) )) +) + tại + x% 3D0

Chúng tôi cũng có thể kiểm tra lại nếu điều này phù hợp với câu trả lời của Markus tại đây .

Hệ số ta xuất hiệnx3

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

Nếu chúng ta nhân số đó với 6 và sắp xếp lại một số yếu tố chúng ta sẽ nhận được:

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

phù hợp lên!


Atul, có vẻ như câu trả lời đơn giản của bạn không phù hợp với câu trả lời của Markus tại SE toán học. nên là trường hợp tôi không nghĩ mọi thuật ngữ trong f '' '(0) của bạn phù hợp với Markus. có thể là Markus sai.
f(x)|x0 = 3!a3=6a3
robert bristow-johnson

2
@ robertbristow-johnson Tôi nghĩ họ hợp nhau.
Atul Ingle

họ làm ngay bây giờ Tôi nghĩ rằng Markus đã có một lỗi. ông đã làm mình câu trả lời theo cách cũ lỗi thời tốt.
robert bristow-johnson

Atul, bạn sẽ nhận được tiền thưởng của bạn. nhưng tôi đã khám phá các quy tắc về tiền thưởng và họ không cho phép tôi chia nó, nhưng họ cho tôi thưởng hai lần, nhưng mỗi lần một. Vì vậy, vì Markus có ít đại diện hơn bạn ở đây tại dsp.se và vì anh ta đã đưa ra câu trả lời mà không cần sự trợ giúp của máy tính, nên tôi sẽ trao giải thưởng cho anh ta trước. sau đó tôi sẽ đặt một tiền thưởng khác cho câu hỏi này và sau đó tôi sẽ trao giải cho bạn. nó nói tôi cần đợi 23 giờ. dunno ai sẽ nhận được "dấu kiểm" của tôi chưa.
robert bristow-johnson

1
@ robertbristow-johnson xin lỗi vì phản hồi muộn. Các hệ số lần lượt là cho . wolframalpha.com/input/ từ2/3,2/15,16/945,2/945ω02,ω04,ω06,ω08
Atul Ingle

3

Vấn đề như được đặt ra trong câu hỏi dường như không có giải pháp dạng đóng. Như đã đề cập trong câu hỏi và được hiển thị trong các câu trả lời khác, kết quả có thể được phát triển thành một chuỗi, có thể được thực hiện bằng bất kỳ công cụ toán học tượng trưng nào như Mathicala. Tuy nhiên, các điều khoản trở nên khá phức tạp và xấu xí, và không rõ mức độ gần đúng tốt như thế nào khi chúng tôi bao gồm các điều khoản lên đến bậc ba. Vì chúng ta không thể có được một công thức chính xác, nên tốt hơn là tính toán giải pháp bằng số, không giống như phép tính gần đúng, sẽ cho kết quả chính xác (gần như).

Tuy nhiên, đây không phải là câu trả lời của tôi. Tôi đề nghị một lộ trình khác nhau đưa ra giải pháp chính xác bằng cách thay đổi công thức bài toán. Sau khi suy nghĩ một lúc, hóa ra đó là thông số kỹ thuật của tần số trung tâm và đặc điểm kỹ thuật của băng thông là tỷ lệ (hoặc, tương đương, trong quãng tám) gây ra tính hấp dẫn toán học. Có hai cách thoát khỏi tình trạng khó xử:ω0

  1. xác định băng thông của bộ lọc thời gian rời rạc như một sự khác biệt tần số , nơi và là các cạnh dải phía dưới và phía trên của bộ lọc thời gian rời rạc, tương ứng.Δω=ω2ω1ω1ω2
  2. quy định tỷ lệ , và thay vì định một trong hai cạnh tần số hoặc .ω2/ω1ω0ω1ω2

Trong cả hai trường hợp, một giải pháp phân tích đơn giản là có thể. Vì mong muốn quy định băng thông của bộ lọc thời gian rời rạc theo tỷ lệ (hoặc, tương đương, trong quãng tám), tôi sẽ mô tả cách tiếp cận thứ hai.

Hãy xác định tần số cạnh và của bộ lọc thời gian liên tục bằng cáchΩ1Ω2

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

với , trong đó là chức năng chuyển của bộ lọc thông dải thứ hai:Ω2>Ω1H(s)

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

với và . Lưu ý rằng và cho .ΔΩ=Ω2Ω1Ω02=Ω1Ω2H(jΩ0)=1|H(jΩ)|<1ΩΩ0

Chúng tôi sử dụng Bilinear biến để lập bản đồ các tần số cạnh và của bộ lọc thời gian rời rạc với tần số cạnh và của bộ lọc liên tục theo thời gian. Không mất tính tổng quát, chúng ta có thể chọn . Đối với mục đích của chúng tôi, biến đổi song tuyến sau đó có dạngω1ω2Ω1Ω2Ω1=1

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

tương ứng với mối quan hệ sau đây giữa tần số thời gian liên tục và thời gian rời rạc:

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

Từ chúng tôi có được bằng cách đặt . Với và tính từ , chúng tôi có được chức năng chuyển của bộ lọc nguyên mẫu tương tự từ . Áp dụng biến đổi song tuyến tính , chúng ta có được hàm truyền của bộ lọc vượt qua dải thời gian rời rạc:(4)Ω2ω=ω2Ω1=1Ω2(4)(2)(3)

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

với

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

Tóm lược:

Băng thông của bộ lọc thời gian rời rạc có thể được chỉ định theo quãng tám (hay nói chung là tỷ lệ) và các tham số của bộ lọc nguyên mẫu tương tự có thể được tính toán chính xác, sao cho đạt được băng thông được chỉ định. Thay vì tần số trung tâm , chúng tôi chỉ định ban nhạc cạnh và . Tần số trung tâm được xác định bởi là kết quả của thiết kế.ω0ω1ω2|Hd(ejω0)|=1

Các bước cần thiết như sau:

  1. Xác định tỷ lệ mong muốn của ban nhạc cạnh , và một trong những ban nhạc cạnh (đó là tất nhiên tương đương với chỉ đơn giản là xác định và ).ω2/ω1ω1ω2
  2. Chọn và xác định từ . Tính toán và của bộ lọc nguyên mẫu tương tự .Ω1=1Ω2(4)ΔΩ=Ω2Ω1Ω02=Ω1Ω2(2)
  3. Đánh giá các hằng số để có được hàm truyền thời gian rời rạc .(6)(5)

Lưu ý rằng với cách tiếp cận phổ biến hơn ở đâu và được quy định, ban nhạc thực tế cạnh và là một kết quả của quá trình thiết kế. Trong giải pháp đề xuất, các cạnh của dải có thể được chỉ định và là kết quả của quá trình thiết kế. Ưu điểm của phương pháp sau là băng thông có thể được chỉ định trong quãng tám và giải pháp là chính xác, tức là bộ lọc kết quả có chính xác băng thông được chỉ định trong quãng tám.ω0Δω=ω2ω1ω1ω2ω0

Thí dụ:

Hãy chỉ định băng thông của một quãng tám và chúng tôi chọn cạnh dải dưới là . Điều này mang lại cho cạnh trên dải . Các cạnh dải của bộ lọc nguyên mẫu tương tự là và từ (với ) . Điều này mang lại cho và . Với chúng ta có được hàm truyền thời gian rời rạcω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

đạt được chính xác băng thông 1 quãng tám và các cạnh của dải được chỉ định, như trong hình bên dưới:

nhập mô tả hình ảnh ở đây

Giải pháp số của bài toán gốc:

Từ các nhận xét, tôi hiểu rằng điều quan trọng là có thể chỉ định chính xác tần số trung tâm mà được thỏa mãn. Như đã đề cập trước đây, không thể có được một giải pháp dạng đóng chính xác, và một sự phát triển hàng loạt tạo ra các biểu thức khá khó sử dụng.ω0|Hd(ejω0)|=1

Để rõ ràng, tôi muốn tóm tắt các tùy chọn có thể với ưu điểm và nhược điểm của chúng:

  1. chỉ định băng thông mong muốn là chênh lệch tần số và chỉ định ; trong trường hợp này, một giải pháp dạng đóng đơn giản là có thể.Δω=ω2ω1ω0
  2. xác định các cạnh ban nhạc và (hay tương đương, băng thông trong quãng tám, và là một trong các cạnh ban nhạc); điều này cũng dẫn đến một giải pháp dạng đóng đơn giản, như đã giải thích ở trên, nhưng tần số trung tâm là kết quả của thiết kế và không thể được chỉ định.ω1ω2ω0
  3. chỉ định băng thông mong muốn trong quãng tám và tần số trung tâm (như được hỏi trong câu hỏi); không có giải pháp dạng đóng là có thể, cũng không có (trong thời điểm hiện tại) bất kỳ phép tính gần đúng đơn giản nào. Vì lý do này, tôi nghĩ rằng mong muốn có một phương pháp đơn giản và hiệu quả để có được một giải pháp số. Đây là những gì được giải thích dưới đây.ω0

Khi được chỉ định, chúng tôi sử dụng một dạng biến đổi song tuyến tính với hằng số chuẩn hóa khác với dạng được sử dụng trong và :ω0(3)(4)

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

Chúng tôi xác định . Biểu thị tỷ lệ được chỉ định của các cạnh dải của bộ lọc thời gian rời rạc nhưΩ0=1

(8)r=ω2ω1

Với chúng tôi nhận được từ vàc=tan(ω0/2)(7)(8)

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

Với , có thể được viết lại dưới dạng sau:Ω1Ω2=Ω02=1(9)

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

Đối với một giá trị đã cho của , phương trình này có thể được giải cho với một vài lần lặp Newton. Đối với điều này, chúng ta cần đạo hàm của :rΩ1f(Ω1)

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

Với , chúng tôi biết rằng phải nằm trong khoảng . Mặc dù có thể đưa ra các giải pháp ban đầu thông minh hơn, nhưng hóa ra dự đoán ban đầu hoạt động tốt đối với hầu hết các thông số kỹ thuật và sẽ cho kết quả rất chính xác chỉ sau lần lặp lại phương pháp của Newton:Ω0=1Ω1(0,1)Ω1(0)=0.14

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

Với thu được với một vài lần lặp chúng ta có thể xác định và và chúng tôi sử dụng và để tính các hệ số của bộ lọc thời gian rời rạc. Lưu ý rằng hằng số hiện được cung cấp bởi .Ω1(12)Ω2=1/Ω1ΔΩ=Ω2Ω1(5)(6)cc=tan(ω0/2)

Ví dụ 1:

Hãy chỉ định và băng thông quãng tám. Điều này tương ứng với tỷ lệ . Với dự đoán ban đầu về , lần lặp lại phương pháp của Newton đã dẫn đến một giải pháp , từ đó các hệ số của thời gian rời rạc có thể được tính toán như đã giải thích ở trên. Hình dưới đây cho thấy kết quả:ω0=0.6π0.5r=ω2/ω1=20.5=2=1.4142Ω1=0.14Ω1=0.71

nhập mô tả hình ảnh ở đây

Bộ lọc đã được tính toán với tập lệnh Matlab / Octave này:

% thông số kỹ thuật
bw = 0,5; % băng thông mong muốn trong quãng tám
w0 = .6 * pi; % tần số cộng hưởng

r = 2 ^ (bw); % tỷ lệ các cạnh của dải
W1 = .1; % dự đoán ban đầu (hoạt động cho hầu hết các thông số kỹ thuật)
Nit = 4; Lặp lại% # Newton
c = tan (w0 / 2);

% Newton
cho i = 1: Nit,
    f = r * atan (c * W1) - atan (c / W1);
    fp = c * (r / (1 + c ^ 2 * W1 ^ 2) + 1 / (c ^ 2 + W1 ^ 2));
    W1 = W1 - f / fp
kết thúc

W1 = abs (W1);
if (W1> = 1), lỗi ('Không thể hội tụ. Giảm giá trị của dự đoán ban đầu.'); kết thúc

W2 = 1 / W1;
dW = W2 - W1;

% bộ lọc thời gian rời rạc
tỷ lệ = 1 + dW * c + W1 * W2 * c ^ 2;
b = (dW * c / thang đo) * [1,0, -1];
a = [1, 2 * (W1 * W2 * c ^ 2-1) / thang đo, (1-dW * c + W1 * W2 * c ^ 2) / thang đo];

Ví dụ 2:

Tôi thêm một ví dụ khác để chỉ ra rằng phương pháp này cũng có thể xử lý các thông số kỹ thuật mà hầu hết các phép tính gần đúng sẽ cho kết quả không nhạy cảm. Đây thường là trường hợp khi băng thông mong muốn và tần số cộng hưởng đều lớn. Hãy thiết kế bộ lọc với và quãng tám. Bốn lần lặp lại phương pháp của Newton với dự đoán ban đầu dẫn đến giá trị cuối cùng là , tức là trong băng thông của nguyên mẫu tương tự quãng tám. Bộ lọc thời gian rời rạc tương ứng có các hệ số sau và đáp ứng tần số của nó được hiển thị trong biểu đồ bên dưới:ω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,8172];

nhập mô tả hình ảnh ở đây

Các cạnh của nửa dải công suất thu được là và , thực sự cách nhau chính xác quãng tám (tức là hệ số ) cách nhau.ω1=0.062476πω2=0.999612π416


hai nhận xét ban đầu (tôi chưa đọc thông tin này qua, tuy nhiên, Matt): đầu tiên, tôi quan tâm đến tần số nhật ký nhiều hơn tần số tuyến tính. đối với BPF tương tự (hoặc BPF kỹ thuật số có tần số cộng hưởng thấp hơn nhiều so với Nyquist), có sự đối xứng hoàn hảo về tần số cộng hưởng.
robert bristow-johnson

và nhận xét thứ hai là thế này, trong khi tôi cảm ơn bạn vì rõ ràng đã gắn bó với ký hiệu và , tôi ước bạn sẽ gắn bó với ký hiệu rằng tần số cộng hưởng tương tự và kỹ thuật số là và , tương ứng, và các dải trên và dưới tương tự lần lượt là và và tương tự cho các dải kỹ thuật số: và . chúng tôi biết rằng, trong tần số nhật ký, một nửa băng thông ở trên và một nửa ở dưới. nhưng, do cong vênh, điều đó không chính xác cho bộ lọc BPF kỹ thuật số. s=jΩz=ejωΩ0ω0ΩUΩLωUωLΩ0
robert bristow-johnson

khi tôi đọc thêm, điều quan trọng đối với tôi là tần số cộng hưởng được ánh xạ thông qua biến đổi song tuyến chính xác. Vì vậy, tôi hiểu cách tiếp cận này, Matt, nhưng tôi muốn gắn bó với ánh xạ chính xác của và sau đó điều chỉnh cho đến khi được chỉ định. ω0BWbw
robert bristow-johnson

@ robertbristow-johnson: OK, đủ công bằng, bạn muốn có một đặc điểm kỹ thuật chính xác của . Điều đó có thể nếu bạn chỉ định là một sự khác biệt tuyến tính (mà bạn không muốn, tôi hiểu). Không thể có giải pháp gọn gàng với VÀ băng thông được chỉ định trong quãng tám. ω0Δωω0
Matt L.

1
@ robertbristow-johnson: Tôi đã thêm một giải pháp số rất đơn giản vào câu trả lời của mình (4 lần lặp Newton).
Matt L.

3

được rồi, tôi đã hứa sẽ đưa tiền thưởng và tôi sẽ giữ lời hứa. nhưng tôi phải thú nhận rằng tôi có thể từ bỏ một chút về việc hài lòng với chỉ đạo hàm thứ ba của . những gì tôi thực sự muốn là hai hệ số cho .f(x)g(y)

vì vậy tôi đã không nhận ra rằng có ngôn ngữ Wolfram này thay thế cho toán học hoặc Derive và tôi không nhận ra nó có thể dễ dàng tính toán đạo hàm thứ ba và đơn giản hóa biểu thức.

và anh chàng Markus tại toán SE này đã đăng câu trả lời này (mà tôi nghĩ rằng sẽ phải là số lượng grunge tôi nghĩ sẽ cần thiết).

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

vì vậy tôi kết hợp xấp xỉ bậc ba với nghịch đảo:

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)

tôi đã hy vọng người khác sẽ làm điều này. nhớ lại , và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)

tôi có ba danh tính thuận tiện:

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

"Cuối cùng" chúng tôi đã nhận được:

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

Điều này không tệ lắm. phù hợp trên một dòng duy nhất. Nếu ai đó thấy một lỗi hoặc một cách tốt để đơn giản hóa hơn nữa, xin vui lòng cho tôi biết.

với xấp xỉ chuỗi lũy thừa từ nhận xét trên,

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

Ngoài ra, tôi không chắc chắn rằng câu trả lời của Atul cho và câu trả lời của Markus cho là nhất quán. tôi tự hỏi nếu ai đó có thể nói thẳng ra câu trả lời có thể nhận được tiền thưởng. a 3f(0)a3
robert bristow-johnson

Tôi cũng đã tìm hiểu về máy tính xách tay trên đám mây của Wolfram giống như Mathicala trong webbrowser của bạn. Tới sandbox.open.wolframcloud.com/app và gõ 6*SeriesCoefficient[ Series[Log[ArcTan[a E^x]] - Log[ArcTan[a/E^x]],{x,0,5}],3]
Atul Ingle

@AtulIngle, tôi đã kết hợp các hiệu chỉnh của Markus vào hàm nghịch đảo. bạn có phiền kiểm tra kết quả cho không? g(y)
robert bristow-johnson

tôi sẽ đánh giá cao nếu ai đó kiểm tra sự thay thế của tôi trở lại , đặc biệt là hệ số nhân . rất sớm tôi sẽ trả lại trở lại , điều này sẽ gây ra một sự đơn giản hóa và hình thức hoàn toàn khác. nhưng tôi sẽ giữ một chút trong trường hợp ai đó nói với tôi rằng sự đơn giản hóa của tôi ở trên là sai. g(y)y2αtan(ω0/2)
robert bristow-johnson

1
@ robert bistow-johnson Tôi đã kiểm tra biểu thức cuối cùng của bạn cho g (y) bằng Mathicala, nó có vẻ đúng.
Atul Ingle

2

Vì vậy, đây là một số kết quả định lượng. tôi đã vẽ sơ đồ băng thông cho bộ lọc kỹ thuật số trên trục x và kết quả là băng thông kỹ thuật số trên trục y. có năm ô từ màu xanh sang màu đỏ biểu thị tần số cộng hưởng chuẩn hóa bởi Nyquist:bwω0

ω0π= [0,0002 0,2441 0,4880 0,7320 0,9759]

vì vậy tần số cộng hưởng đi từ gần DC đến gần Nyquist.

ở đây không có đền bù (hoặc cong vênh trước) cho băng thông: nhập mô tả hình ảnh ở đây

Đây là phần bù đơn hàng đầu tiên đơn giản mà Cookbook đã thực hiện cùng: nhập mô tả hình ảnh ở đây

đây là khoản bồi thường thứ ba mà chúng tôi vừa giải quyết ở đây: nhập mô tả hình ảnh ở đây

những gì chúng tôi muốn là cho tất cả các dòng nằm trực tiếp trên đường chéo chính.

tôi đã phạm một lỗi trong trường hợp thứ ba và sửa nó trong lần sửa đổi này. nó không trông như xấp xỉ bậc thứ ba để là một chút tốt hơn so với xấp xỉ bậc nhất cho nhỏ .b wg(y)bw

vì vậy tôi đã thay đổi hệ số của thuật ngữ bậc 3 (tôi muốn giữ nguyên thuật ngữ bậc 1 như nhau), làm giảm hiệu quả của nó. đây là từ nhân chỉ số hạng thứ 3 với 50%:

nhập mô tả hình ảnh ở đây

điều này đang giảm xuống còn 33%:

nhập mô tả hình ảnh ở đây

và điều này đang giảm thời hạn đặt hàng thứ 3 xuống 25%:

nhập mô tả hình ảnh ở đây

vì đối tượng của hàm nghịch đảo là hoàn tác hàm đã chỉ định, nên điểm của toàn bộ điều này là lấy các đường cong của hàm tổng hợp nằm càng gần đường chéo chính càng tốt. Nó không quá tệ với tới 75% Nyquist cho tần số cộng hưởng và băng thông 3 quãng tám . nhưng không tốt hơn nhiều để thực sự làm cho nó có giá trị trong mã "nấu hệ số" được thực thi bất cứ khi nào người dùng xoay núm hoặc trượt một thanh trượt. b wω0bw


Làm thế nào băng thông có thể trở nên tiêu cực trong âm mưu thứ hai và thứ ba ??
Matt L.

không thể, đó là lý do tại sao tôi không ấn tượng với phép tính gần đúng bậc ba này với là hàm nghịch đảo của tôi không nghĩ rằng xấp xỉ bậc ba là một sự cải tiến so với xấp xỉ bậc một đã tồn tại trong một vài thập kỷ . vì vậy những gì được vẽ là trong đó là gần đúng với nghịch đảo thực trong đó vì là lưỡng cực (mặc dù băng thông âm là vô nghĩa) có thể âm. f ( x ) = ln ( arctan ( α e x )x=g(y)f( g (y)) g (y)g(y)y=f(g(y))f(x)
f(x)=ln(arctan(αex)arctan(αex))
f(g^(y))
g^(y)g(y)
y=f(g(y))
f(x)f(g^(y))
robert bristow-johnson

ồ, @MattL. thực tế là đi qua điểm gốc sẽ không làm bạn thất vọng ngay cả khi băng thông không bao giờ thực sự âm. chức năng ánh xạ băng thông là đối xứng kỳ lạ, do đó, âm mưu thứ nhất và thứ hai hoàn toàn không làm tôi thất vọng. nhưng cốt truyện thứ ba gây thất vọng. f(x)
robert bristow-johnson

Tôi chỉ tự hỏi tại sao bạn vẽ các đường cong cho băng thông âm. Nhưng dù sao đi nữa, nếu tôi không nhầm thì sê-ri bạn sử dụng là một dạng mở rộng chuỗi Taylor tại , phải không? Vậy tại sao bạn thậm chí mong đợi nó sẽ xấp xỉ hành vi thực sự ở băng thông lớn hơn nếu bạn chỉ sử dụng hai thuật ngữ? bw=0
Matt L.

tôi chỉ muốn đảm bảo các chức năng là đối xứng lẻ và đi qua nguồn gốc thực sự độc đáo. vâng, đây là tất cả về loạt Taylor (hay cụ thể hơn là Maclaurin). bạn sẽ nhận thấy, @MattL., rằng tôi nghĩ rằng một thuật ngữ thực sự khá độc đáo đối với tất cả các tần số cộng hưởng không quá gần với Nyquist. không thay đổi thuật ngữ tuyến tính, tôi đã thay đổi một chút với thuật ngữ thứ ba một chút (hãy theo dõi, tôi sẽ hiển thị kết quả) và nó hoạt động khá tốt. nhưng không tốt hơn nhiều so với đơn hàng đầu tiên mà tôi nghĩ rằng tôi nên thay đổi nó trong Cookbook.
robert bristow-johnson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.