Bu nasıl bir filtre? IIR mi?


9

Aşağıdaki soruya cevap vermeye çalışıyorum:

Sistem denklem ile tanımlanıyor mu?

y[n]=0.5y[n1]+x[n]0.5x[n1]

Bir IIR filtresi? Cevabım evet.

teşekkür ederim


1
"Kesik IIR" (TIIR) filtreleri adı verilen bir FIR filtresi sınıfı vardır. bunu google'da bulabilirsiniz ve Julius Smith ve Avery Wang'dan bir şeyler bulacaksınız. TIIR filtrelerinin başka bir örneği de Hareketli Toplam veya Hareketli Ortalama filtresi veya CIC filtresidir (hepsi aynı şey için hemen hemen farklı isimler). bu özyinelemeli filtreyi FIR yapan sıfır kutup iptalidir. uygulandığı gibi, iç kutuplar vardır ve kararsızlarsa, filtre içeride patlayabilir, ancak sayısal sınırlar aşılıncaya kadar çıktıda göremezsiniz.
robert bristow-johnson

1
sayısal sınırlar nelerdir?
Black Yasmin

sayısal türe (kayan veya sabit) ve kelime genişliğine bağlıdır. bu şeylere bakılabilir. (diyelim ki, IEEE-754 şamandıraları için. sabit için, ikili noktadan kaç bit, bağlıdır ; kabaca .nI±2nI1
robert bristow-johnson

tüm yardım için tekrar baylar teşekkür ederim! Bu web sitesini bulduğum için çok memnunum
Black Yasmin

2
@AnthonyParks: Diyorsunuz ki : " insanlar bunu neden karmaşık hale getiriyor ... filtrenin ilk döneminin geri bildirim kısmı olduğu için bu açıkça bir IIR. " " İnsanlar neden DSP'nin temel kavramlarını anlama zahmetine girmiyor " diyorum ? IIR filtresi her zaman özyinelemeli formu ifade eder, ancak FIR gerekli değildir, filtrenin özyinelemesiz olduğu anlamına gelir. Tek doğru cevap bu ve buradaki kavramları karıştırıyorsunuz. Bu sınav sorusuysa, bunun IIR olduğunu söyleyerek başarısız olursunuz. Oppenheim bu konuyu DSP hakkındaki kitabında açıklıyor.
jojek

Yanıtlar:


18

Bu bir IIR gibi görünse de FIR filtresidir. Katsayıları hesaplarsanız, sonlu dürtü yanıtı alırsınız:

h=[1]

Bu, sıfır kutuplu iptal nedeniyle olur:

Y(z)0.5Y(z)z1=X(z)0.5X(z)z1

H(z)=Y(z)X(z)=10.5z110.5z1=1

Evet, zor olabilir. LCCDE'de (Doğrusal Sabit Katsayılar Fark Denklemi) katsayılarını görmek mutlaka bir IIR filtresi olduğu anlamına gelmez. Sadece özyinelemeli bir FIR filtresi olabilir.y[nk]


1
tanıma için teşekkürler! Ben katsayılara dikkatle bakmadan IIR demeye kandırıldım ... Cevabımı sildim.
Fat32

Yine de, denklemleri başlangıçta belirtildiği şekilde uygularsanız, sonlu kelime uzunluğu etkileri nedeniyle tam olarak H (z) = 1 gibi davranmayacaktır (kutup sıfır iptali bu durumda kesin olmasına rağmen).
Oscar

Bu @Oscar için doğrudur, ancak bunlar filtrenin F / IIR olmasıyla ilgisi olmayan sayısal konulardır.
jojek

1
@jojek: elbette tamamen haklısın. Bununla birlikte, eğer bunlardan habersizseniz (birçok, hatta "yüksek kaliteli" araştırmacılar), özyinelemeli FIR filtreleri kullanmak biraz sorun yaratır. Dolayısıyla benim yorumum. İdeal olarak algoritma ve transfer fonksiyonunun tartışılması da gerekir.
Oscar

jojek Ben cevap bu sorudan cevabınızı okuyorum ama yorum yapamam. dsp.stackexchange.com/questions/17605/… farklı pencere kullanabilir miyim?
Black Yasmin

14

Jojek'in cevabı elbette doğrudur. Daha fazla bilgi eklemek istiyorum çünkü çok sık "IIR" ve "özyinelemeli" terimlerini karıştırdım. Aşağıdaki çıkarımlar her zaman geçerlidir:

IIRrecursivenon-recursiveFIR

yani her IIR filtresi (yani sonsuz uzun bir dürtü yanıtına sahip bir ayrık zamanlı filtre) tekrarlamalı olarak uygulanmalıdır (sonsuz belleğiniz olmadığı sürece) ve her özyinelemesiz LTI sistemi sınırlı bir dürtü yanıtına sahiptir (yine sonsuz bir dürtü yanıtı yoksa) hafıza).

Ancak, bunun tersi genellikle doğru değildir. Özyinelemeli bir filtrenin, sorudaki örnekte olduğu gibi, sınırlı bir dürtü yanıtı olabilir. Bir diğer ünlü örnek hareketli bir ortalama filtredir. Bu, hareketli bir ortalamanın yinelemeli olmayan bir uygulamasıdır (mutlaka FIR):

y[n]=1Nk=nN+1nx[k]

Ve bu, aynı filtrenin tekrarlanan bir uygulamasıdır (ayrıca FIR):

y[n]=y[n1]+1N(x[n]x[nN])

1
Her zamanki gibi özlü ve doğru, +1;) MA davasını açtığınız için teşekkür ederiz.
jojek

1
@jojek: evet, bence herkesin bilmesi gereken bir klasik.
Matt L.

Öncelikle jojek'in cevabına yapılan yorumda yuvarlama gürültüsünü düşünürken, MA için taşma, dikkatle düşünülmesi gereken potansiyel bir sorun olacak. Kolayca iki tamamlayıcı aritmetik ve yeterli kelime uzunluğu ile çözüldü.
Oscar

1
@Oscar: Çift kayan nokta hassasiyeti ile çok basit bir analiz yaptıktan sonra 8.881784197001252e-16 hatası aldım . Bu, 44.1kHz örnekleme frekansında 1 yıllık ses eşdeğerini işledikten sonra gerçekleşir. Giriş verileri normalleştirilmiş dağılıma sahip bir Gauss gürültüsüdür. İşte sonucu yeniden oluşturmak için kod ! Tıklayın! (çalıştırmak 3 gün sürebilir). Bunu sağlamak doğru, o zaman endişelenecek bir şey olmadığını düşünüyorum.
jojek

1
@jojek: Üç şey. 1) Orijinal sorunun cevabından değil, cevabın hareketli ortalama filtresinden bahsediyordum. 2) Evet, böylece ses için Tamam (ama kesin olan hiçbir sebep) "hayır" kalın koymak, ama sentetik özelliklere sahip giriş sinyalinin çalışma bağımsız benim emniyet kritik sinyal işleme tercih ederim. 3) İlginç olan, simüle ettiğiniz filtrenin tanımladığım problemlere sahip olmaması (kutup, ünite dairesinin içinde olduğu için, üzerinde değil), ancak temsilden bağımsız olarak her zaman yuvarlak hatalara sahip olacak (kaçınılabilir) hareketli ortalama durumunda).
Oscar
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.