Filter urutan vs jumlah keran vs jumlah koefisien


28

Saya belajar DSP perlahan dan mencoba merangkul beberapa terminologi:

  • Pertanyaan 1 : Misalkan saya memiliki persamaan perbedaan filter berikut:

    y[n]=2x[n]+4x[n2]+6x[n3]+8x[n4]

    Ada 4 koefisien di sisi kanan. Apakah "jumlah keran" juga 4? Apakah "urutan filter" juga 4?

  • Pertanyaan 2 : Saya mencoba menggunakan fir1(n, Wn)fungsi MATLAB . Jika saya ingin membuat filter 10-tap, apakah saya akan mengatur ?n=10

  • Pertanyaan 3 : Misalkan saya memiliki persamaan perbedaan filter rekursif (mungkin IIR) berikut:

    y[n]+2y[n-1]=2x[n]+4x[n-2]+6x[n-3]+8x[n-4]

    Bagaimana saya menentukan "jumlah keran" dan "urutan filter" karena jumlah koefisien berbeda pada sisi kiri dan kanan?

  • Pertanyaan 4 : Apakah pernyataan logis jika-dan-hanya-jika berikut ini benar?

    • Filter bersifat rekursif Filter adalah IIR.
    • Filter ini nonkursif . adalah FIR.

Jawaban:


37

Oke, saya akan mencoba menjawab pertanyaan Anda:

Q1: jumlah keran tidak sama dengan urutan filter. Dalam contoh Anda panjang filter adalah 5, yaitu filter memanjang lebih dari 5 sampel input [ ] Jumlah keran sama dengan panjang filter. Dalam kasus Anda, Anda memiliki satu ketuk sama dengan nol (koefisien untuk x ( n - 1 )x(n),x(n-1),x(n-2),x(n-3),x(n-4)x(n-1)), jadi Anda memiliki 4 ketukan yang bukan nol. Namun, panjang filter adalah 5. Urutan filter FIR adalah panjang filter minus 1, yaitu urutan filter dalam contoh Anda adalah 4.

Q2: dalam fungsi Matlab fir1 () adalah urutan filter, yaitu Anda mendapatkan vektor dengan n + 1 elemen sebagai hasilnya (jadi n + 1 adalah panjang filter Anda = jumlah keran).nn+1n+1

Q3: urutan filter lagi 4. Anda dapat melihatnya dari penundaan maksimum yang diperlukan untuk menerapkan filter Anda. Ini memang filter IIR rekursif. Jika dengan jumlah keran Anda berarti jumlah koefisien filter, maka untuk rangka IIR filter yang umumnya memiliki 2 ( n + 1 ) koefisien, meskipun dalam contoh beberapa dari mereka adalah nol.nth2(n+1)

Q4: ini agak sulit. Mari kita mulai dengan kasus sederhana: filter non-rekursif selalu memiliki respon impuls terbatas, yaitu filter FIR. Biasanya filter rekursif memiliki respon impuls tak terbatas, yaitu itu adalah filter IIR, tetapi ada kasus degenerasi di mana respon impuls terbatas diimplementasikan menggunakan struktur rekursif. Tetapi kasus terakhir adalah pengecualian.


3
+1: Jawaban yang bagus, terutama titik halus # 4. Seperti yang Anda katakan, sangat mungkin (dan kadang-kadang diinginkan) untuk menulis filter FIR dalam bentuk rekursif.
Peter K.

Mengenai Q3: Apakah urutan filter ditemukan dari "keterlambatan maksimum yang diperlukan untuk menerapkan filter Anda" hanya merujuk ke sisi kanan? Saya menganggap ini harus berlaku untuk filter FIR dan IIR. Jika jawabannya "ya", maka sisi kanan filter IIR tidak berdampak pada urutan filter, bukan?
stackoverflowuser2010

1
Mengenai Q4: Jadi, apakah implikasi logis berikut ini benar: (1) Filter rekursif -> ("menyiratkan") FIR atau IIR; (2) Filter non-rekursif -> FIR; (3) FIR -> non-rekursif atau rekursif (jarang); (4) IIR -> rekursif. Apakah pernyataan itu benar?
stackoverflowuser2010

2
y(n)x(n)y(n)+y(n-10)=x(n)

2
T4: Implikasi Anda benar.
Matt L.

3
  • Pertanyaan 1: Jumlah keran = jumlah koefisien s = Panjang filter dalam kasus filter FIR. Urutan filter sama dengan Panjang filter-1.
  • n
  • Y(z)/X(z)=H(z)
  • Pertanyaan 4: Filter FIR langsung artinya tidak ada umpan balik, tetapi untuk filter IIR Anda akan mendapat umpan balik. Saya akan menyarankan Anda untuk menggunakan filter FIR karena mereka memiliki fase linier. Di sisi lain perhitungan filter IIR lebih kecil untuk ukuran filter FIR yang sama, karena filter IIR memiliki lebih sedikit koefisien, tetapi filter IIR tidak memiliki fase linier. Jadi, ini adalah trade off yang bisa Anda katakan.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.