Filtre emri - musluk sayısı - katsayı sayısı


28

Yavaş yavaş DSP öğreniyorum ve kafamı bir terminolojinin etrafına sarmaya çalışıyorum:

  • Soru 1 : Aşağıdaki filtre farkı denklemine sahip olduğumu varsayalım:

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

    Sağ tarafta 4 katsayı vardır. "Musluk sayısı" da 4? "Filtre sırası" da 4 mü?

  • Soru 2 : MATLAB fir1(n, Wn)fonksiyonunu kullanmaya çalışıyorum . 10 musluklu bir filtre oluşturmak isteseydim, mu?n=10

  • Soru 3 : Aşağıdaki özyinelemeli (muhtemelen IIR) filtre fark denklemine sahip olduğumu varsayalım:

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

    Sol ve sağ taraftaki katsayıların sayısı değiştiğinden, "musluk sayısı" ve "filtre sırası" nı nasıl belirlerim?

  • Soru 4 : Aşağıdaki mantıksal if-only-if ifadeleri doğru mu?

    • Filtre özyinelemeli Filtre IIR'dir.
    • Filtre özyinelemeli değil Filtre FIR.

Yanıtlar:


37

Tamam, sorularınızı cevaplamaya çalışacağım:

S1: musluk sayısı filtre sırasına eşit değil. Örnekte, filtre uzunluğu 5'tir, yani filtre 5 girdi örneğinden [ üzerinde uzanır. ]. Musluk sayısı, filtre uzunluğuyla aynıdır. Senin durumunda sıfıra eşit bir dokunuşa ( katsayısı ) sahip olursunuz, böylece sıfır olmayan 4 dokunuşunuz olur. Yine de, filtre uzunluğu 5'tir. Bir FIR filtresinin sırası filtre uzunluğu eksi 1'dir, yani örneğinizdeki filtre sırası 4'tür.x ( n - 1 )x(n),x(n-1),x(n-2),x(n-3),x(n-4)x(n-1)

Q2: Matlab fonksiyonundaki fir1 (), filtre sırasıdır, yani sonuçta elementleri olan bir vektör elde edersiniz (yani , filtre uzunluğunuz = musluk sayısıdır).n + 1 n + 1nn+1n+1

S3: filtre sırası tekrar 4. Filtrenizi uygulamak için gereken maksimum gecikmeden görebilirsiniz. Gerçekten bir özyinelemeli IIR filtredir. Musluk sayısına göre filtre katsayılarının sayısını kastediyorsanız, bir sipariş IIR filtresi için, örneğin birkaç tanesinde sıfır olmasına rağmen, genellikle katsayıya sahipsiniz . 2 ( n + 1 )nth2(n+1)

S4: Bu biraz zor bir şey. Basit vaka ile başlayalım: özyinelemeli olmayan bir filtrenin daima sınırlı bir dürtü yanıtı vardır, yani bir FIR filtresidir. Genellikle bir özyinelemeli filtre sonsuz bir dürtü yanıtına sahiptir, yani bir IIR filtresidir, ancak bir özyinelemeli yapı kullanılarak sonlu bir dürtü yanıtının uygulandığı dejenere durumlar vardır. Ancak ikinci durum istisnadır.


3
+1: Güzel cevap, özellikle ince nokta # 4. Dediğiniz gibi, FIR filtreleri özyinelemeli bir şekilde yazmak tamamen mümkün (ve bazen arzu edilir).
Peter K.

S3'e ilişkin: Filtre sırası, yalnızca sağ tarafa atıfta bulunarak "filtrenizi uygulamak için gereken maksimum gecikme" den mi geliyor? Bunun hem FIR hem de IIR filtreler için geçerli olması gerektiğini düşünüyorum. Cevap "evet" ise, bir IIR filtresinin sağ tarafının filtre sırasına etkisi yoktur, değil mi?
stackoverflowuser2010

1
S4 ile ilgili olarak: Öyleyse aşağıdaki mantıksal uygulamalar doğru mu: (1) Özyinelemeli filtre -> ("ima eder") FIR veya IIR; (2) Özyinelemeyen filtre -> FIR; (3) FIR -> özyinelemeli olmayan veya özyinelemeli (nadir); (4) IIR -> özyinelemeli. Bu ifadeler doğru mu?
stackoverflowuser2010

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

2
S4: Etkilerin doğru.
Matt L.

3
  • Soru 1: Musluk sayısı = katsayı sayısı s = FIR filtresi durumunda filtre uzunluğu. Filtrenin sırası, filtre-1'in uzunluğuna eşittir.
  • n
  • Y(z)/X(z)='H(z)
  • Soru 4: FIR Filtresi doğrudandır, geri beslemesi yoktur, ancak IIR filtresi için geri besleme yapılır. FIR filtrelerini kullanmanızı öneririm çünkü doğrusal fazları vardır. Öte yandan, IIR filtre hesaplamaları aynı boyuttaki FIR filtresi için daha düşüktür, çünkü IIR filtre daha az sayıda katsayıya sahiptir, ancak IIR filtre doğrusal faza sahip değildir. Yani, söyleyebileceğin bir takas.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.