Bagaimana cara memperkirakan fungsi transfer dari respons frekuensi hanya-magnitudo?

11

Dengan adanya respons frekuensi yang arbitrer, metode pemrosesan sinyal apa yang mungkin ada yang dapat menebak, memperkirakan, atau menentukan fungsi transfer (rasi kutub dan nol) yang memberikan perkiraan "cukup baik" (untuk beberapa kriteria kualitas perkiraan tertentu) hingga respons frekuensi yang diberikan itu? Apa artinya ada untuk memperkirakan jumlah kutub dan nol yang diperlukan untuk fungsi transfer yang diberikan ditambah kelonggaran kesalahan perkiraan yang diberikan? Atau bagaimana orang dapat menentukan kendala ini tidak dapat dipenuhi, jika memungkinkan?

Jika respons frekuensi yang diberikan benar-benar dihasilkan oleh fungsi transfer yang diketahui, akankah salah satu metode ini menyatu pada fungsi transfer asli? Bagaimana jika respons frekuensi yang diberikan mengalami kesalahan pengukuran (diasumsikan Gaussian)?

Asumsikan bekerja di bidang-Z dengan spektrum sampel, meskipun jawaban domain kontinu juga mungkin menarik.

Ditambahkan: Apakah metode solusi berbeda jika hanya besarnya respons frekuensi yang diberikan (misalnya solusi dengan respons fase apa pun diizinkan)?

Ditambahkan: Masalah terakhir adalah apa yang paling saya minati, mengingat besarnya respons yang diketahui di sekitar lingkaran unit, tetapi respons fase yang tidak diketahui / tidak terukur, dapatkah sistem yang diukur diestimasi, dan jika demikian dalam kondisi apa?

hotpaw2
sumber
Apakah Anda mencoba memperkirakan respons frekuensi sewenang-wenang sebagai spektrum rasional? Yaitu (b [0] + b [1] z ^ -1 ...) / (1 + a [1] z ^ -1 ...)? Jika demikian, ini biasanya disebut sebagai pemodelan ARMA. Ini lebih sulit daripada pemodelan AR karena autokorelasi suatu sinyal cenderung tidak linier terkait dengan koefisien rata-rata bergerak (b [], atau nol). Jika asumsi saya benar, saya dapat menulis respons yang lebih formal.
Bryan
@Bryan: Ya. Saya mencoba menyiratkan bahwa dengan menyatakan solusi "kutub dan nol" (fungsi transfer rasional) cocok (lebih disukai hanya jika lebih baik daripada semua kutub atau semua solusi / estimasi nol pada tingkat yang sama).
hotpaw2
Apa arti yang melekat pada respons frekuensi ? Beberapa orang membedakan antara fungsi respons frekuensi atau H ( f ) dan fungsi transfer H ( s ) dan sebagian orang tidak. Lihat misalnya, diskusi yang mengikuti jawaban ini untuk pertanyaan sebelumnya. H(ω)H(f)H(s)
Dilip Sarwate
@Dilip Sarwate: Diberikan H (w) hanya untuk lingkaran unit (apakah itu redundan?), Pecahkan / perkirakan representasi z bidang lengkap. Mudah-mudahan, itu konsisten dengan pernyataan asli saya atas pertanyaan itu.
hotpaw2
1
Anda menambahkan perubahan. Polandia dan nol dapat berubah dengan besarnya respon tetap sama. Contoh paling umum dari ini adalah ketika seseorang merancang filter fase minimum. Ini biasanya melibatkan pengambilan sistem yang ada dan mencerminkan kutub dan nol di dalam lingkaran unit. Ini hanya mengubah respons fase, bukan respon besarnya.
Bryan

Jawaban:

14

Salah satu pendekatan adalah dengan menggunakan metode frekuensi-domain kuadrat-terkecil (FDLS) . Diberikan satu set sampel (kompleks) dari respons frekuensi sistem waktu-diskrit, dan urutan filter yang dipilih oleh perancang, metode FDLS menggunakan optimasi linear kuadrat-terkecil untuk menyelesaikan set koefisien (yang memetakan langsung ke set kutub dan nol) untuk sistem yang respons frekuensinya cocok dengan respons yang diinginkan dengan kesalahan kuadrat total minimum.

N

H(ω)=H(z)|z=ejω

H(z)z

H(z)=k=0Nbkzk1+k=1Nakzk

Respons frekuensi karenanya:

H(ω)=k=0Nbkejkω1+k=1Nakejkω

Atur ulang di atas untuk mendapatkan:

k=0NbkejkωH(ω)(1+k=1Nakejkω)=0

2N+1bkakH(ω)ω

ωm[0,2π),m=0,1,,M1M>2N+1M2N+1)ωk

k=0NbkejkωkH(ωk)(1+k=1Nakejkωk)=0

H(ωk)ωkbkakH(ω)

Teknik ini memiliki beberapa keunggulan:

  • Respons frekuensi kompleks apa pun (magnitudo dan fase) dapat digunakan sebagai templat. Jika Anda hanya memiliki batasan magnitudo, Anda bisa memilih respons fase, seperti fase linier.

  • ak

  • Teknik ini sangat sederhana untuk diterapkan dan mudah diukur berdasarkan urutan sistem yang diinginkan.

  • N

Anda bisa sedikit memperluas metode ini untuk menggunakan pengoptimalan kuadrat terkecil jika diperlukan; ini akan memungkinkan Anda untuk menentukan wilayah respons frekuensi yang kesalahan aproksimasinya lebih berbobot daripada yang lain. Hal ini memungkinkan Anda untuk mengontrol area passband / stopband dengan lebih ketat sambil memungkinkan lebih banyak slop di area "tidak peduli".

Jason R
sumber
1
Jawaban bagus !! "Seni" dalam melakukan desain filter dengan galat kuadrat terkecil adalah menentukan dengan tepat apa sebenarnya "kesalahan" itu. Ini dikontrol dengan memilih grid frekuensi yang tepat, faktor bobot pada frekuensi tertentu dan menambahkan lebih banyak kendala untuk keluar dari perilaku band dan juga untuk menjaga kutub Anda di dalam lingkaran unit.
Hilmar
Masalah dengan solusi potensial ini adalah, jika fase tidak diketahui tentang fungsi transfer yang ada, FDLS dapat menyatu pada solusi yang salah jika fase yang salah diasumsikan, tidak peduli seberapa akurat urutannya ditebak dengan benar atau respon besarnya diukur.
hotpaw2
@ hotpaw2: Sudah bisa diduga. Jika Anda tidak tahu apa-apa tentang respons fase, maka ada sejumlah solusi tak terbatas yang sama-sama valid (yaitu mereka akan memiliki respon magnitudo yang benar). Anda akan memerlukan beberapa informasi untuk mengarahkan Anda menuju apa yang Anda anggap sebagai solusi yang paling tepat.
Jason R
@JasonR: Satu-satunya solusi yang benar harus permutasi dari membalik kutub / nol di dalam / luar, yang merupakan angka hingga untuk sistem pemesanan terbatas (yang ada).
hotpaw2
6

Rekan-rekan saya mendapatkan hasil yang bagus dengan pemasangan vektor :

Pemasangan Vektor adalah metode numerik yang kuat untuk pendekatan rasional dalam domain frekuensi. Ini memungkinkan untuk mengidentifikasi model ruang negara secara langsung dari respons frekuensi yang diukur atau dihitung, baik untuk sistem input / output tunggal atau ganda. Perkiraan yang dihasilkan telah menjamin kutub stabil yang nyata atau datang dalam pasangan konjugat kompleks.

Kami menggunakannya untuk konversi FIR ke IIR.

Untuk aplikasi yang tidak terlalu menuntut, Anda bisa menggunakan fitting kuadrat terkecil nonlinear untuk sejumlah kutub dan nol. Ini diimplementasikan dalam Matlab sebagai invfreqsdan invfreqz.

nibot
sumber
0

Pendekatan lain: plot respons frekuensi dan sesuaikan plot Bode sebaik mungkin. Ini bisa dilakukan dengan sangat cepat untuk solusi perkiraan, atau dalam beberapa kasus kuadrat terkecil untuk kesesuaian yang lebih baik. GTH

G Heydt
sumber