Jaki projekt filtra pasmowoprzepustowego da najkrótszą odpowiedź impulsową?

14

Zaprojektowanie prostego filtru pasmowego IIR II rzędu z filtrem Buterwortha o częstotliwości środkowej 500 Hz i szerokości pasma 1 oktawy daje mi następujące pasmo przenoszenia ...

wprowadź opis zdjęcia tutaj

Teraz, jeśli wezmę odpowiedź impulsową i znormalizuję ją i przekonwertuję na dB, możemy zaobserwować zanik odpowiedzi impulsowej.

wprowadź opis zdjęcia tutaj

Zanik reakcji impulsowej jest w przybliżeniu liniowy z czasem na wykresie w tej skali, co pozwala nam zdefiniować statystykę czasu zaniku (podobnie jak w akustyce pomieszczenia, w której można zdefiniować czas pogłosu). Aby odpowiedź impulsowa tego filtra spadła poniżej 30 dB, potrzeba około 11 ms.

Staramy się zminimalizować ten czas rozpadu, utrzymując następujące wartości:

  • Szerokość pasma -3 dB
  • Filtruj kolejność

Z przyjemnością akceptuję (w ramach limitów) tętnienie pasma i pasma stopu i / lub kompromis w kwestii nachylenia pasma przejściowego, aby to osiągnąć. Czy ktoś może zasugerować metodę filtrowania o najkrótszym możliwym czasie trwania odpowiedzi impulsowej, jak zdefiniowano powyżej?

learnvst
źródło
2
Podaj częstotliwość próbkowania, aby nadać sensowi 11 ms.
Juancho
4
Bieguny w filtrze dadzą wykładniczo rozkładające się elementy w odpowiedzi impulsowej, które po wykreśleniu na skali logarytmicznej dają rozkład liniowy, jak pokazano. Szybkość zaniku jest związana z odległością biegunów do okręgu jednostki; im są bliżej, tym wolniej się rozpada. Stromość pasma przejściowego jest również związana z odległością biegunów od koła jednostki. Nie znam żadnych technik projektowania, które pozwoliłyby ustalić priorytet tej szczególnej cechy.
Jason R
@ Juancho Częstotliwość próbkowania została pominięta, ponieważ myślałem, że jest całkowicie nieistotna: użycie 5 kHz lub 500 kHz nie zmienia częstotliwości zaniku odpowiedzi impulsowej. Jeśli jesteś ciekawy, celuję w 44,1 kHz. Dzięki za opiekę :)
learnvst
2
@JimClay tak, jestem pewien, ale chcę, aby koszty obliczeniowe były bardzo niskie. Aby efektywnie wykorzystać Fir, musiałbym zastosować technikę opartą na fft, a to wprowadziłoby opóźnienie do algorytmu, gdy bufor FFT jest wypełniony próbkami. Tak nie?
learnvst
3
@JimClay, dlaczego prawa fizyki zawsze powstrzymują moje plany dominacji nad światem! Grumble grumble
learnvst

Odpowiedzi:

8

Charakterystyka częstotliwościowa filtra Butterwortha jest wynikiem określonych wzorów, a jego cechą charakterystyczną jest płaska pasmo przenoszenia. W konsekwencji, jeśli współczynniki filtra IIR zostaną zmodyfikowane w jakikolwiek sposób, filtr może nie zachować właściwości „Butterwortha”.

Oprócz odpowiedzi „Hilmar” i „Jason R”, być może możesz potraktować to jako problem z optymalizacją funkcji fitness, która odzwierciedla twoje specyfikacje.

Możesz na przykład zacząć od jakiegoś projektu (np. Filtr Butterwortha), a następnie użyć techniki optymalizacji, aby przesunąć zera i bieguny wokół ich lokalizacji (lub zmodyfikować projekt przez dodanie / usunięcie biegunów i zer), starając się osiągnąć twoje specyfikacje (ostrzejsze wycofywanie w dziedzinie czasu z zachowaniem przepustowości i kolejności filtrów).

Wzdłuż tej linii wykonano wiele pracy przy projektowaniu filtrów za pomocą algorytmów genetycznych (i tutaj ) oraz symulowanego wyżarzania (i tutaj ), które mogą okazać się przydatne.

A_A
źródło
6

Obawiam się, że nie ma magicznej kuli. Możesz użyć filtra eliptycznego do niezależnego kontrolowania tętnienia pasma przepustowego i zatrzymania tłumienia pasma, jednak przekonasz się, że szybkość zaniku jest ściśle związana z nachyleniem i ogólną szerokością pasma filtra. Możesz sprawić, że rozpad filtra będzie znacznie szybszy, zmniejszając kolejność filtrów do 1, ale wtedy filtr będzie o wiele mniej stromy.

Hilmar
źródło
Nie mogę zredukować filtra do pierwszego rzędu, ponieważ jest on używany w sieci typu Linkwitz-Riley, ale bardzo dziękuję za
poświęcenie