Hangi bant geçiren filtre tasarımı en kısa dürtü tepkisini verecektir?


14

500 Hz'lik merkezi frekansa ve 1 oktav bant genişliğine sahip basit bir 2. dereceden IIR bant geçiren Buterworth filtresi tasarlamak bana aşağıdaki frekans tepkisini verir ...

resim açıklamasını buraya girin

Şimdi, dürtü yanıtını alıp normalleştirip dB'ye dönüştürürsem , dürtü yanıtının bozulmasını gözlemleyebiliriz .

resim açıklamasını buraya girin

Dürtü tepkisinin bozulması, bu ölçekte çizildiğinde zamanla yaklaşık olarak doğrusaldır ve bir bozulma süresi istatistiği tanımlamamıza izin verir (tıpkı reverb zamanını tanımlayabileceğiniz oda akustiğinde olduğu gibi). Bu filtrenin impuls tepkisinin 30 dB altına düşmesi yaklaşık 11 ms sürer.

Aşağıdakileri sabit tutarak bu bozulma süresini en aza indirmeye çalışıyoruz:

  • -3 dB bant genişliği
  • Filtre sırası

Bunu başarmak için (sınırlar içinde) geçiş bandı ve durdurma bandı dalgalanmasını ve / veya geçiş bandının dikliği konusunda uzlaşmayı kabul etmekten mutluluk duyuyorum. Herkes yukarıda tanımlandığı gibi mümkün olan en kısa dürtü tepki süresiyle filtreleme için bir yöntem önerebilir mi?


2
Lütfen 11ms'e bir anlam vermek için örnekleme frekansını ekleyin.
Juancho

4
Filtredeki kutuplar, dürtü tepkisinde katlanarak azalan terimler verecektir; Çürüme oranı, kutupların birim daireye uzaklığı ile ilgilidir; ne kadar yakınlarsa, çürüme o kadar yavaş olur. Geçiş bandının dikliği, kutupların birim daireye ne kadar yakın olduğu ile de ilgilidir. Bu özel özelliğe öncelik vermenizi sağlayacak herhangi bir tasarım tekniği bilmiyorum.
Jason R

@ Juancho Tamamen alakasız olduğunu düşündüğüm için örnekleme hızı atlandı: 5 kHz veya 500 kHz kullanmak dürtü yanıtının bozulma oranını değiştirmez. Merak ediyorsanız 44.1 kHz'i hedefliyorum. Baktığınız için teşekkürler :)
learnvst

2
@JimClay evet emin olabilirsiniz, ancak hesaplama maliyetini çok düşük tutmak istiyorum. Fir'ı verimli bir şekilde kullanmak için fft tabanlı bir teknik kullanmam gerekirdi ve FFT tamponu örneklerle doldurulurken algoritmaya gecikme getirecektir. Evet Hayır?
learnvst

3
@JimClay fizik yasaları neden dünya hakimiyeti için planlarımı her zaman durduruyor! Grumble grumble
learnvst

Yanıtlar:


8

Butterworth filtrenin frekans yanıtı özel formüllere bir sonucu olup, karakteristik düz geçirme bandı frekans tepkisidir. Sonuç olarak, IIR filtresinin katsayıları herhangi bir şekilde değiştirilirse, filtre "Butterworth" özelliklerini koruyamayabilir.

"Hilmar" ve "Jason R" tarafından verilen yanıtlara ek olarak, bunu spesifikasyonlarınızı yakalayan bir fitness fonksiyonunun optimizasyon problemi olarak da değerlendirebilirsiniz.

Örneğin, bazı tasarımlarla (örneğin bir Butterworth filtresi) başlayabilir ve daha sonra, spesifikasyonlarınızı (daha keskin bir şekilde) elde etmeye çalışan sıfırları ve kutupları konumları hakkında taşımak (veya kutupları ve sıfırları ekleyerek / kaldırarak tasarımı değiştirmek) için bir optimizasyon tekniği kullanabilirsiniz. bant genişliğini ve filtre sırasını koruyan zaman alanından ayrılma

Bu hat boyunca, yararlı bulabileceğiniz Genetik Algoritmalar (ve burada ) ve Simüle Tavlama (ve burada ) ile filtrelerin tasarımı üzerinde büyük miktarda çalışma yapılmıştır .


6

Sihirli kurşun yok, korkarım. Geçiş bandı dalgalanmasını ve durdurma bandı zayıflamasını bağımsız olarak kontrol etmek için eliptik bir filtre kullanabilirsiniz, ancak bozulma hızının filtrenin dikliği ve genel bant genişliği ile yakından ilişkili olduğunu göreceksiniz. Filtre sırasını 1'e düşürerek filtre çürümesini büyük ölçüde daha hızlı yapabilirsiniz, ancak daha sonra filtre çok daha az dik olacaktır.


Bir Linkwitz-Riley ağ türünde kullanıldığı için filtreyi ilk sıraya indiremezsiniz, ancak +1 yanıt vermek için zaman ayırdığınız için çok teşekkür
ederiz
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.