IIR filtreleri sonsuzun anlamı nedir?


11

Ben IIR pratikte "sonsuz" ne anlama geldiğini anlamakta zorluk yaşıyorum .. Teorik olarak dürtü yanıtı geri bildirim için kullanılır .. Eğer bu geri besleme hiç bitmez nasıl üretilir?

Yanıtlar:


18

Bu soruyu cevaplamak için "Dürtü" ve "Tepki" nin ne anlama geldiğini bilmelisiniz ...

"Dürtü" basit bir darbedir. Dijital olarak maksimum değere sahip bir örnek olurken, diğer tüm örnekler sıfırdan önce ve sonra sıfır olacaktır. Bunu dinlediyseniz, bir pop veya havai fişek gibi bir şey duyarsınız.

"Yanıt", bir filtrenin (veya başka bir şeyin) çıktısı olarak dürtü verilir.

Örneğin, odaya girerek, basit bir el çırpması yaparak ve yankıyı dinleyerek "bir odanın dürtü tepkisini" dinleyebilirsiniz. El çırpmasını mümkün olduğunca "keskin" hale getirmek biraz pratik gerektirir. Bir filtrenin dürtü tepkisini almak aynıdır, ancak el çırpması yerine basit bir darbe kullanırsınız ve bir oda yerine bir filtreniz vardır.

Bir filtrenin veya odanın dürtü yanıtına bakarsanız, dürtüden sonra bir süre için çıkış kıpırdatmasını görürsünüz (ve bazen de daha önce kıpır kıpır). Odada bu kıpırtıyı yankı olarak duydun. Bir filtrede bu kıpır kıpır doğrudan filtrenin frekansı ve faz tepkisi ile ilgilidir. Bir odada yankıyı duyduğunuz süreye "yankı süresi" denir - bir filtre için karşılık gelen bir terim yoktur, ancak dürtü yanıtının bir parçasıdır.

Şimdi, bir FIR filtresi (Sonlu Darbe Tepkisi) sonludur, çünkü dürtü tepki süresi matematikle sınırlıdır. Darbe tepki süresinin filtredeki musluk sayısının ötesine uzanması matematiksel olarak imkansızdır - bu nedenle sonludur .

Öte yandan bir IIR filtresi, dürtü tepki süresinde bu matematiksel sınırlamaya sahip değildir. Sonsuz bir matematiksel hassasiyet verilirse, bir IIR filtresi çıkışları sonsuza dek sallayabilir. Tabii ki, pratik anlamda asla sonsuza kadar devam etmez, çünkü kıpır kıpır kullanılan matematiğin hassasiyetinden daha küçük hale gelir ve böylece gider.


güzel açıklama için teşekkürler! IIR'de geri bildirim nerede gerçekleşir?
GorillaApe

2
@Parhs: geri besleme gerçekleşir çünkü akım çıkışı önceki giriş ve çıkış değerlerinden elde edilirken FIR filtresi için çıkış yalnızca önceki giriş değerlerinden türetilir .
Paul R

1
@Parha Feedback topolojinin bir yan etkisidir. Ve topoloji ile, bir akış şeması veya filtrenin "şematik" görünümü gibi bir şey kastediyorum. Temel olarak, bir aşamadaki matematik işleminin sonuçları bir önceki aşamadaki başka bir işlemi besler. Geri bildirim budur. Çoğu insan FIR'ın kullanımını daha kolay bulur, çünkü bu geri bildirimleri yoktur. Bu geribildirimi doğru bir şekilde yapmak zordur, ancak içinde büyük miktarda verimlilik vardır.

Bir IIR sistemi, her zaman için önceki girişi 'hatırlayan' dahili duruma sahiptir. Bunu modellemenizin yolu, bu doğrudan form 1 iki- kare gibi önceki çıkışları akım çıkışına geri beslemek veya bu doğrudan form 2 kanonik iki kare gibi girişte eşdeğer bir geri besleme döngüsüdür .
Eryk Sun

11


b0yb0z-1b1b1bben


z-1

resim açıklamasını buraya girin

FIR
FIR filtreleri ise girişten çıkışa doğrusal bir yola sahiptir. N numuneden sonra giriş sinyali (bir Dirac darbesi gibi) dışarı kaydırılmış olacaktır ve bu da sonudur.
FIR filtreleri doğal olarak kararlıdır, ancak IIR filtreleri zorunlu değildir.

resim açıklamasını buraya girin


1
Bu döngüsel singal bazı durumlarda istenmeyen sonuçlar veren güvensiz olamaz?
GorillaApe

2
Kesinlikle olabilir. Yanlış geri bildirim yollarını veya kazançlarını kullanın ve kararsız bir filtre veya sonsuza dek bir şeyin sinüs dalgalanmasını ortaya koyan bir filtre yapabilirsiniz. Genellikle bir "filtre" nin yapmasını istediğiniz şey değildir, bu nedenle kararlılığı analiz etmek ve kararsızlığı önlemek için teknikler vardır.
Olin Lathrop

Tüm geribildirim terimlerinden elde edilen toplamın, geri bildirim zincirinin başlangıcına kadar geri beslenmesi mi gerekiyor, yoksa sonraki terimlerden elde edilen çıktı, daha sonraki terimlere girdi olarak toplanabilir mi? İkinci yolun gerçekleştirilebileceği herhangi bir filtrenin gösterdiğiniz forma dönüşebileceğini beklesem de, basamaklı birinci dereceden filtrelerden oluşturulabilecek yararlı bir IIR filtreleri alt sınıfının (her birinin sağ taraftaki terimin çıktısı kendisini besleyebilir, ancak öncekilerden hiçbirini
besleyemez

1
-bir1-bir2

@stevenvh: Cevabımda belirttiğim gibi, bir aşamanın kendisine geri beslenebileceği, ancak daha önceki bir aşamadan yoksun olduğu IIR filtrelerinin kullanışlı bir alt kümesi var; Bu tür filtreleri tanımlamak için bir terim okuduğumu bilmiyorum, ancak karakterize edilmeleri genel IIR filtrelerinden çok daha kolay. Doğru katsayılarla yukarıdaki formda oluşturulabilseler de, bu formda böyle bir filtreyi (onlar için bir terim var mı?) Tanımak daha zor olacaktır.
supercat

4

İki geniş dijital filtre sınıfı vardır: sonsuz dürtü yanıtı (IIR) ve sonlu dürtü yanıtı (FIR). Yine genel olarak, IIR filtreleri denklem ve FIR filtreleri tablo tabanlıdır.

IIR filtreleri gerçek dünyadaki analog filtrelere benzer. Örneğin, bir RC analog düşük geçiş filtresinden alacağınız gibi basit bir üstel bozunum düşünün. Adım girişine verilen çıkış yanıtı, girişe daha da yaklaşan bir üsteldir. Bu üstelin hiçbir zaman çıktıya ulaşmadığını, yalnızca umursamadığımız veya hatayı ölçemeyeceğimiz kadar yakın olduğunu unutmayın. Bu anlamda böyle bir filtre insizinite. Bir IIR filtresi aynı özelliklere sahiptir.

Çok yaygın tek kutuplu düşük geçişli IIR filtresi şu şekilde ifade edilebilir:

FILT <- FILT + FF (YENİ - FILT)

Bu, girişe olan mesafenin sabit bir kısmını (FF, "filtre kısmı") hareket ettirirse, her bir yinelemenin çıktığı anlamına gelir. FF = 1/2 olduğunda bunu görselleştirmek kolaydır. Her şey 0 ise ve giriş aniden 1'e gidip orada kalırsa (birim adım), çıkış 1/2, 3/4, 7/8, 15/16 vb. Olacaktır. Bu sonsuz bir seridir. Sonunda değer 1'e o kadar yakın olacak ki, bilgisayardaki dijital değerler sonsuz hassasiyete sahip olmadığı için 1 olarak ifade edilecek.

FIR filtreleri tamamen farklı bir prensipte çalışır. Giriş sinyalinin sonlu bir snippet'i kaydedilir ve kaydedilen değerlerin her biri farklı bir katsayı ile çarpılır, ardından tüm sonuçlar o yineleme için filtre çıkışı yapmak için eklenir. Bir sonraki yineleme kaydedilen en eski değer atılır, diğerleri bir yuva daha eski haline getirilir ve yeni giriş boş yuvaya yerleştirilir. Yeni kaydedilen snippet, daha sonra katsayılar, vb. İle çarpılır. Bu işlem bir "evrişim" olarak bilinir ve katsayılar tablosu genellikle filtre çekirdeği olarak adlandırılır. Bu tür filtrelerle katsayılarla yaratıcılaşarak bazı süslü ve faydalı şeyler yapılabilir. Bu, içine girmeyeceğim bir konu. Ancak, girdinin sınırlı bir snippet'i bellekte saklandığından, giriş sinyalinin herhangi bir kısmı çıkışı yalnızca sınırlı bir süre için etkileyebilir. Bir giriş örneği depolanan snippet'in sonundan çıkarıldıktan sonra gitti ve artık çıktı üzerinde bir etkisi yok.

Bu kitapların üzerine yazılmış bütün kitaplar var ve bu derslerin yarısına birkaç ders harcayabilirsiniz. Umarım 30 saniyelik genel bakış bunu sorunuzu cevaplayacak kadar açıklığa kavuşturur.


1

Henüz bahsedilmeyen bir nokta, IIR filtrelerinin ayrıca iki stile bölünebileceğidir: aşamaların sıralanabileceği, her aşama tamamen kendi önceki değerlerine ve önceki aşamaların değerlerine bağımlı olacaklardır. aşamalar sıralanamaz (çünkü iki veya daha fazla aşama birbirine bağlıdır). Bir FIR filtresindeki aşamaların, önceki IIR stilinde olduğu gibi sıralanabilmeleri ve diğer aşamaların kendi önceki çıktılarına atıfta bulunmaları şartıyla, diğer aşamaların önceki çıktılarına referans vermesi mümkündür.

Bir IIR filtresindeki aşamalar sıralanabilirse ve belirli bir aşama için öz geri besleme katsayılarının toplam büyüklüğü birden küçükse, IIR filtresinin kararlı olduğu garanti edilir. Örneğin, bir aşama önceki aşamalardan bir miktar sinyal içeriyorsa, o aşamadaki önceki değerin yarısı ve ondan önceki değerin 1 / 4'ü, bundan önceki değerin 1 / 8'i, benliğin toplam büyüklüğü geri bildirim 7/8 olacaktır, bu nedenle daha düşük aşamalardan daha fazla girdi olmaması, kendi geri bildirimlerinden gelen katkının büyüklüğü her yinelemede% 12,5 oranında azalacaktır.


0

Bir FIR, matematiğini sonlu sayıda eleman üzerinde yapar, diyelim ki 32 veya 12 veya bir sayı diyelim, ancak matematiğin yaptığı budur, sınırlı sayıda eleman alır ve filtreyi sadece bunlara uygular.

Bir IIR, matematiğini beslediğiniz tüm örnekler üzerinde yapar. 10 örnek beslerseniz ve durdurursanız, 10 örnek üzerinde çalıştı, eğer 1.000.000.000 örnek beslerseniz, matematik 1.000.000.000 örnek üzerinde çalışıyordu. Ve eğer bir şeyi süresiz olarak bırakırsanız, sonsuzluğa yaklaşırsanız (sonsuza kadar koşmasına izin verirseniz), o zaman aynı şekilde sonsuz sayıda yaklaşan unsurdur. Sonlu kelimesi diğer modele açıkça uygulandığı ve IIR modelinin sonlu sayıda örneğe sahip olmaması amaçlandığından, sonluya zıt olarak sonsuz olan kelime belirsiz veya başka bir kelimeden daha iyidir.


"1.000.000.000 örnek üzerinde çalıştırıldı". Doğrudan değil. Çıktının bir kısmı bir sonraki numune için hesaplamada kullanıldığından, her zaman önceki örneklerin izleri olacaktır. Filtre her zaman çok sınırlı sayıda numune alacaktır. Ve "belirsiz" değil; kararsız olsa bile deterministiktir.
stevenvh

IIR için her numunenin kendisinden önce gelen tüm örneklerden küçük ama küçük etkileri olduğunu ima ediyorum.
old_timer

Hesaplamadaki sonsuz ve sonlu eleman sayısı IIR ve FIR arasındaki fark değildir . En basit IIR yalnızca 2 veri öğesi üzerinde çalışır: 1 girişten, 1 çıkıştan.
radagast

Sonsuz girişlerin sayısından değil, biriken döngü sayısından, sonlu sadece matematikteki tek bir giriş için N sayıda örnek alır, sonsuz her döngüde etkili bir şekilde çalışır. Tek bir giriş için sonlu döngü sayısı ile sonsuz döngü sayısı.
old_timer
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.