Filter FIR dengan fase linier, 4 jenis

16

Saya tahu ada 4 jenis filter FIR dengan fase linier, yaitu penundaan grup konstan: (M = panjang respons impuls)

  1. Respons impuls simetris, M = aneh

  2. Imp. resp. simetris, M = genap

  3. Imp. resp. anti-simetris, M = aneh

  4. Imp. resp. anti-simetris, M = genap

masing-masing dengan sifat-sifatnya. Manakah dari jenis ini yang paling umum digunakan dalam filter FIR dengan desain fase linier dan mengapa? :)

Vidak
sumber
1. adalah IME yang paling umum - memiliki jumlah integer keterlambatan sampel dan dapat diimplementasikan secara efisien dengan menggabungkan pasangan istilah dengan koefisien yang sama.
Paul R

Jawaban:

27

Saat memilih salah satu dari 4 jenis filter fase linier ini, ada 3 hal yang perlu dipertimbangkan:

  1. kendala pada nol H(z) pada z=1 dan z=1

  2. integer / keterlambatan grup non-integer

  3. pergeseran fasa (terlepas dari fase linier)

Untuk filter tipe I (jumlah ganjil keran, bahkan simetri) tidak ada kendala pada nol pada dan z = - 1 , pergeseran fasa adalah nol (terlepas dari fase linier), dan penundaan grup adalah bilangan bulat nilai.z=1z=1

Filter tipe II (bahkan jumlah keran, bahkan simetri) selalu memiliki nol pada (yaitu, setengah frekuensi pengambilan sampel), mereka memiliki pergeseran fase nol, dan mereka memiliki penundaan grup non-integer.z=1

Filter tipe III (jumlah ganjil keran, ganjil simetri) selalu memiliki nol pada dan z = - 1 (yaitu pada f = 0 dan f = f s / 2 ), mereka memiliki pergeseran fase 90 derajat, dan bilangan bulat keterlambatan grup.z=1z=1f=0f=fs/2

Filter tipe IV (jumlah genap, simetri ganjil) selalu memiliki nol pada , pergeseran fasa 90 derajat, dan penundaan grup non-integer.z=1

Ini menyiratkan (antara lain) hal berikut:

  • Filter tipe I cukup universal, tetapi tidak dapat digunakan setiap kali diperlukan pergeseran fase 90 derajat, misalnya untuk pembeda atau transformator Hilbert.

  • Filter tipe II biasanya tidak akan digunakan untuk filter high pass atau band stop, karena nol pada , yaitu pada f = f s / 2 . Mereka juga tidak dapat digunakan untuk aplikasi di mana perubahan fasa 90 derajat diperlukan.z=1f=fs/2

  • Filter tipe III tidak dapat digunakan untuk filter selektif frekuensi standar karena dalam kasus ini, pergeseran fase 90 derajat biasanya tidak diinginkan. Untuk transformator Hilbert, filter tipe III memiliki perkiraan magnitudo yang relatif buruk pada frekuensi yang sangat rendah dan sangat tinggi karena nol pada dan z = - 1 . Di sisi lain, transformator Hilbert tipe III dapat diimplementasikan lebih efisien daripada transformator Hilbert tipe IV karena dalam hal ini setiap tap lainnya adalah nol.z=1z=1

  • Filter tipe IV tidak dapat digunakan untuk filter selektif frekuensi standar, untuk alasan yang sama seperti filter tipe III. Mereka sangat cocok untuk pembeda dan transformator Hilbert, dan perkiraan besarnya biasanya lebih baik karena, tidak seperti filter tipe III, mereka tidak memiliki nol pada .z=1

  • Dalam beberapa aplikasi penundaan kelompok integer diinginkan. Dalam kasus ini, filter tipe I atau tipe III lebih disukai.

Matt L.
sumber
5

Filter dengan respons impuls anti-simetris semuanya memiliki nol pada (yaitu frekuensi 0). Jadi jika Anda perlu menerapkan filter high-pass atau filter seperti turunan (atau bahkan band-pass), maka Anda harus menggunakan tipe 3 dan 4.z=1

Demikian pula, jika filter Anda adalah tipe low-pass, maka tipe 1 dan 2 berlaku.

Jadi, ini tergantung pada jenis filter yang perlu Anda desain, dan bukan yang lebih umum.

Kemudian, ada juga perbedaan antara tipe 1 dan 3 vs 2 dan 4 dalam hal respons fase. Akan ada tambahan antara kedua jenis. Bahkan jika Anda tidak peduli dengan penundaan aktual yang diperkenalkan, perbedaan setengah sampel ini dapat menjadi penting dalam hal konvergensi dalam beberapa kasus filter high-pass (fase tambahan dapat membuat respons frekuensi Anda terus menerus pada θ = π , oleh karena itu menyediakan konvergensi yang jauh lebih cepat dan kebutuhan akan koefisien yang lebih sedikit).ejθ/2θ=π

Dalam hal implementasi, keempat jenis dapat diimplementasikan secara efisien tanpa mengulangi koefisien yang sama dua kali.

Anda perlu, tentu saja, seluruh garis tunda M berukuran. Tetapi alih-alih mengalikan masing-masing output keran dengan koefisiennya sendiri, pertama-tama Anda tambahkan (atau kurangi) dua output yang sesuai dan kemudian kalikan hanya satu kali dengan koefisien.

h[n]=Sebuahδ[n]+bδ[n-1]+Sebuahδ[n-2]y[n]=Sebuahx[n]+bx[n-1]+Sebuahx[n-2]y[n]=a(x[n]+x[n2])+bx[n1]

Juancho
sumber
5

Karena sudah ada dua jawaban yang sangat bagus, saya akan memberikan beberapa contoh yang sangat mendasar dari mana properti yang diberikan dalam jawaban lain dapat diperiksa kewarasannya. Lokasi nol dan respons fase tersedia secara langsung.

simetris, M = aneh

H(z)=1±2z1+z2=(1±z1)2H(ejω)=(1±ejω)2=(ejω/2(ejω/2±ejω/2))2=ejω(ejω/2±ejω/2)2=4ejωcos2(ω/2)or4ejωsin2(ω/2)=4ej(ωπ)sin2(ω/2)

H(z)=1+z2=(1+jz1)(1jz1)H(ejω)=(1+ej2ω)=ejω(ejω+ejω)=2ejωcos(ω)

simetris, M = genap

H(z)=1+z1H(ejω)=(1+ejω)=ejω/2(ejω/2+ejω/2)=2ejω/2cos(ω/2)

H(z)=1+z3H(ejω)=(1+ej3ω)=ej3ω/2(ej3ω/2+ej3ω/2)=2ej3ω/2cos(3ω/2)

H(z)=1+3z1+3z2+z3=(1+z1)3=(1e2π/3z1)(1e2π/3z1)(1+z1)H(ejω)=(1+ejω)3=(ejω/2(ejω/2+ejω/2))3=8ej3ω/2cos(ω/2)3

h[N/2]=0

H(z)=1z2=(1+z1)(1z1)H(ejω)=1ej2ω=ejω(ejωejω)=2jejωsin(ω)=2ej(ωπ/2)sin(ω)

antisymmetrical, M=even

H(z)=1z1H(ejω)=(1ejω)=ejω/2(ejω/2ejω/2)=2jejω/2sin(ω/2)

[1] a good reference mitrappt

niaren
sumber