Zaprojektuj filtr, który pozwala na swobodny przepływ częstotliwości poniżej 5 kHz, ale wszystkie częstotliwości powyżej 5,2 kHz muszą być niewykrywalne


12

Moim największym wyzwaniem związanym z tym pytaniem jest absurdalnie wysoka stopa wycofywania.

Zakładam, że sygnał jest niewykrywalny, jeśli jego wzmocnienie wynosi -20 dB. Oznacza to, że w zakresie przejściowym 200 Hz siła sygnału musi spaść o 20 dB.

Jeśli moje obliczenia są poprawne, ten filtr wymaga prędkości tłumienia wynoszącej 1200 dB / dec. Wymaga to 60 biegunów, co oczywiście nie jest możliwe.

Chciałbym zastosować analogowy filtr aktywny z minimalną falą w paśmie pasmowym. Duże przesunięcie fazowe nie jest zbyt ważne.

Jednym potencjalnym rozwiązaniem jest zastosowanie filtra wycinającego przy 5,2 kHz. Jednak częstotliwości powyżej szerokości pasma filtra wycinającego nadal nie są wystarczająco filtrowane.

Proszę wskazać wszelkie wady mojej logiki i / lub zaproponować potencjalne rozwiązania. Dziękuję Ci.


16
Wywołanie -20dB niewykrywalne jest dość rozciągliwe
PlasmaHH 10.03.18

1
@WhatRoughBeast ??? Zdaję sobie sprawę, że podzielił 4500 na 20, aby uzyskać 225 Polaków; wyzwaniem jest przede wszystkim sposób, w jaki zdobył 4500.
Dave Tweed

7
Jakiej odpowiedzi oczekujesz od Tamira? Analogowy pasywny / aktywny? Cyfrowy IIR / FIR? Filtr cyfrowy Wave? FFT + Usunąć niechciane rzeczy + IFFT?
Harry Svensson,

4
Ile tętnienia pasma jest dopuszczalne?
Bruce Abbott,

1
„z minimalnym tętnieniem w paśmie przenoszenia” - „minimalny” nie jest specyfikacją.
Bruce Abbott,

Odpowiedzi:


21

Dla Twojego filtra przyjęto 20dB / dec dla każdego zamówienia na filtr. Nie dotyczy to wszystkich typów filtrów.

Niech a f s t o p = 5,2 k H z . Następnie f s t o pf0=5kHzfstop=5.2kHz

fstopf0=1.04.

Spójrz na ten eliptyczny filtr czwartego rzędu zaczerpnięty z artykułu z Wikipedii . eliptyczny

Chociaż nie do końca spełnia twoje wymagania, możesz to zobaczyć. Filtr eliptyczny wyższego rzędu może osiągnąć to, czego szukasz.

Należy pamiętać, że filtry eliptyczne mogą zaburzać fazę sygnału. Ponieważ nie wspomniałeś nic o ograniczeniach fazowych, założyłem, że odpowiedni jest filtr eliptyczny.


To nie jest zły pomysł. Eliptyczny LPF 6. rzędu ma wystarczająco stromy spadek przejściowy, jeśli pasmo przepustowe 3dB tętni i maks. Dopuszczalny jest wyciek -20dB przy 5200Hz i wyższych. Rezultat uzyskano za pomocą kalkulatora filtra, wprowadzałem tylko różne zamówienia i limity, dopóki nie pojawiła się właściwa odpowiedź częstotliwościowa. Szósty rząd oznacza tylko trzy bloki drugiego rzędu kaskadowo. Nie ma pojęcia, czy będzie to możliwe do zrealizowania w praktyce przy zwykłych tolerancjach komponentów jako analogowy filtr opampowy. To wymaga więcej symulacji.
user287001,

Cześć i dzięki za miłą odpowiedź. Ciekawostką, kiedy patrzę na wikipedię, wydaje się, że bieguny leżą na elipsie, czy to stąd pochodzi nazwa, czy to przypadek?
matematyk

1
@ matreadler Uważam, że nazwa pochodzi od eliptycznej funkcji wymiernej, która pojawia się w funkcji przenoszenia filtra eliptycznego. Biegi filtrów eliptycznych są funkcją eliptycznej funkcji cosinus Jacobi. Dlatego leżą na elipsie.
user110971,

21

Ten rodzaj ostrej zmiany wymaga filtra cyfrowego. Nawet nie myśl o analogu. Musisz przekształcić wejście za pomocą funkcji sinc. Szerokość funkcji sinc (liczba punktów jądra) określa tłumienie pasma zatrzymania.

Nie zrobiłem matematyki, ale niektóre bardzo szybkie (może być wyłączone, twoje zadanie do poprawnego wykonania) obliczenia mówią, że prawdopodobnie potrzebujesz kilku 100 punktów, jeśli próbkujesz przy 20 kHz. 200 punktów przy 20 kHz oznacza szybkość MAC 4 MHz. Jest to wykonalne, w rzeczywistości znacznie poniżej tego, co współczesne DSP mogą zrobić dość łatwo. Oznacza to, że twój problem jest całkiem uleczalny. Może to zrobić coś w rodzaju dsPIC z serii E. Jest to raczej niski poziom, jeśli szukasz tylko możliwości DSP.


3
jest to właściwie filtr FIR. Szybka symulacja wykazała, że ​​wystarczy filtr 128 kranów z prostokątnym okienkiem. Współczynniki są pobierane z odpowiedzi impulsowej cynku idealnego LPF 5100Hz. Pierwszy sidelobe ma zaledwie -20dB przy około. 5250Hz (widziane z kalkulatora filtra)
287001

2
@ użytkownik: OK, więc to znaczy, że jest to trochę łatwiejsze niż moje wstępne oszacowanie powyżej. Prawdopodobnie zrobiłbym jądro trochę szersze, żeby mieć margines, zwłaszcza, że ​​wciąż jest to w zakresie możliwości nawet skromnego DSP.
Olin Lathrop,

Jest kilka naprawdę dobrych zasobów dla filtra i jakiej funkcji okna użyć: Osobiście lubię dspguide.com
Peter Smith

4

Jeśli zezwolisz na znaczne opóźnienie lub przetworzysz nagrany sygnał, możesz po prostu wykonać FFT, usunąć niepożądane komponenty i odwrócić transformację. Musisz skrócić fft z odpowiednią funkcją okna, aby dzwonek był akceptowalny.


8
Myślę, że dla tak wąskiego pasma przejściowego musisz powiedzieć dużo więcej o tym, jak wybrać funkcję okna, aby ta odpowiedź była przydatna do rozwiązania problemu.
Photon

4

Wybrałem układ kodeka audio (ADC + DAC), skierowałem cyfrowe wyjście ADC do wejścia DAC i ustawiłem częstotliwość próbkowania na 10 kHz.

Te układy zawierają już potrzebny silnik filtra cyfrowego. Szybka kontrola arkusza danych wydaje się potwierdzać, że uzyskasz wymaganą wydajność filtra.


Czy jesteś tego pewien?
user253751,

Nie jestem w 100% pewien, ale nie widzę powodu, dla którego nie działałby z kodekiem delta sigma, niektórzy mogą próbkować do 8 kHz ...
peufeu

Ale mam na myśli, dlaczego, twoim zdaniem, odrzuci niepożądane częstotliwości, zamiast je aliasingować?
user253751,

Zwykły ADC audio to sigma delta z ogromnym współczynnikiem nadpróbkowania, po którym następuje ostry filtr cyfrowy. Większość z nich będzie działać od Fs = 8k do 96-192k. Aliasowania unika prosty dolnoprzepustowy rzędu 1 przed ADC, a zajmuje się nim nadpróbkowanie. Powinny one działać dobrze wokół Fs = 10 kHz z odpowiednią częstotliwością zegara.
Peufeu,

4

Masz już wiele fajnych odpowiedzi z dobrymi tradycyjnymi rozwiązaniami, filtrami eliptycznymi, (krótki czas) FFT itp., Więc pomyślałem, że mogę dodać coś ze świata kodowania podpasmowego / transformacji falkowej.

Kodowanie podpasmowe oznacza podział widma częstotliwości na „przedziały”, każdy z tych przedziałów ma swój własny powiązany filtr. Węższe pasma, szersze filtry w dziedzinie czasu (oczywiście) - ale w obszarach, w których nie potrzebujemy bardzo ciasnych pasm, możemy uzyskać bardzo krótkie i tanie do obliczenia filtry.

Falki są funkcjami, które są wynikiem określonego rodzaju filtrów podpasmowych, które są generowane przez iterowane filtrowanie, a następnie podpróbkowanie.

Pomysł polegałby na znalezieniu interesujących podpasm, które pozwoliłyby nam najbardziej wycisnąć obliczenia, ale nadal uzyskać dobrą szczegółowość w interesującym paśmie.

Przykład dekompozycji pakietu kranu Daubechies 12 na trzech poziomach (Wikipedia):

Wpisz opis zdjęcia tutaj

Następnie możemy je selektywnie podsumować, aby uzyskać pożądaną odpowiedź. A te, których nie chcemy dodawać - nie musimy nawet obliczać! Będziemy potrzebować cieńszych, bliższych pasma 5–5,2 kHz, aby móc uzyskać wystarczająco strome zachowanie. Ale z drugiej strony, z dala od pasma 5–5,2 kHz możemy uciec tylko z kilkoma podziałami.


To bardziej reklama niż odpowiedź.
Harry Svensson

@HarrySvensson Mogę postarać się sprecyzować, ale w dzisiejszych czasach nie mam tyle wolnego czasu, ile musiałem poprawiać odpowiedzi.
matematyk

3

jeśli GWARANTUJESZ sinusoidalny sygnał wejściowy, to wystarczy jeden monostabilny strzał (74121). Lub ponownie wyzwalany 122/123.

Użyj komparatora przed 74121/122/123

Niektóre MCU zawierają komparatory analogowe jako urządzenia peryferyjne; po przekształceniu na falę prostokątną można użyć timerów itp., aby wykryć powyżej / poniżej 5000 Hz, jeśli MCU ma zegar stabilizowany XTAL. Nie ma potrzeby monostabilnego czujnika temperatury.


3
Ciekawe, ale co sprawia, że ​​myślisz, że wkład może być sinusoidalny? Wydaje się dość utopijne przyjmowanie tego założenia bez żadnego konkretnego powodu.
lewo około

1
myślę, że sating jako pierwsze 4 słowa jego odpowiedzi „jeśli możesz GWARANTOWAĆ”, to jest nowatorskie rozwiązanie.
Techydude,

Zastosowałem to podejście (z możliwością ponownego włączenia 74123), aby wykryć zablokowanie koła w układzie przeciwpoślizgowym; kiedy upłynął limit 74123, siłownik hydrauliczny napędzany był z 2N3055 w celu uruchomienia hamulców. Otrzymujemy tylko około 2 impulsy na sekundę, ze względu na stały czas hydrauliczny.
analogsystemsrf 17.03.18
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.