Który filtr FIR przy zdziesiątkowaniu sygnału wąskopasmowego za pomocą kaskadowego filtra grzebieniowego integratora (CIC) jest bardziej odpowiedni do kompensacji odpowiedzi częstotliwościowej CIC?
filter-design
Augusto Zebadúa
źródło
źródło
Odpowiedzi:
Nie ma jednej odpowiedzi na twoje pytanie: jak w przypadku każdego problemu z projektowaniem filtrów, zależy to od twoich wymagań. Jak opisano dość dobrze na stronie Wikipedii , filtry CIC (kaskadowo-integrator-grzebień) składają się z kilku par etapów integratora i grzebienia (stąd nazwa). Każdy stopień grzebieniowy integratora ma zagregowaną odpowiedź impulsową, która jest równoważna filtrowi boxcar (tj. O prostokątnej odpowiedzi częstotliwościowej). Odpowiedź częstotliwości (wielkości) wagonu ma kształt przypominający funkcję sinusa, więc ogólna struktura CIC będzie miała charakterystykę wielkości, która wygląda jak funkcja sinusa pobrana do pewnej mocy , gdzie N jest liczbą stopni grzebienia integratora.N. N.
Jednak nie ma zbyt wielu pokręteł do dostosowania w zależności od wymagań specyficznych dla aplikacji. Możesz dostosować stosunek decymacji / interpolacji struktury CIC, opóźnienie grzebienia i liczbę etapów, ale nadal utkniesz z pasmową charakterystyką częstotliwościową, która nie jest szczególnie idealna, ponieważ nie jest płaska w poprzek główny płat i ma stosunkowo wysokie boki boczne. Jest więc typowe, że po CIC następuje kolejny filtr, który „oczyszcza” ogólną odpowiedź.
Rub: to, czego potrzebujesz od dowolnego filtra kompensacyjnego, który umieścisz po CIC, zostanie zdefiniowane przez twoją aplikację. To, co naprawdę ważne, to reakcja ogólnej kaskady, którą ograniczyłbyś w zależności od potrzeb twojej aplikacji. Nie ma konkretnego filtra, który byłby „najbardziej odpowiedni”.
źródło
Było podobne pytanie, https://dsp.stackexchange.com/a/1551/306 , a poniżej jest podzbiór odpowiedzi z drugiego postu.
Ogólnie, aby skompensować filtr CIC, odwrotność odpowiedzi filtrów CIC może być wykorzystana do wygenerowania filtra kompensacji. CIC ma odpowiedź 2
Gdzie D jest opóźnieniem różnicowym, M jest szybkością decymacji, a N jest kolejnością filtrów (liczba filtrów kaskadowych). Odwrotność można określić jako
Po uzyskaniu odpowiedzi częstotliwościowej filtra kompensacyjnego, możemy po prostu wybrać pożądaną długość filtra FIR. Długość FIR zależy od aplikacji. Oczywiście im dłuższy filtr FIR, tym lepsza kompensacja.
Poniżej przedstawiono wykresy tej prostej kompensacji.
Poniżej znajduje się kod Pythona do tworzenia odpowiedzi częstotliwości i wykresów.
import numpy as np z numpy import sin, abs, pi import pylab
1 Altera, „Zrozumienie filtrów kompensacyjnych CIC”
2 R. Lyons, „Understanding Digital Signal Processing”, wyd. 2, Prentice Hall, Upper Saddle River, New Jersey, 2004
źródło
ISOP (interpolowany wielomian drugiego rzędu) jest często używany do kompensacji opadania pasma przepustowego CIC.
Odpowiedź Matlaba tego filtra można wyświetlić za pomocą:
Wybór alfy do swoich wymagań to trudna część. Najgorszy przypadek symulacji siły brutalnej preformy, zapętlanie od 0 do 0,5 w przyrostach 0,001, znajdowanie alfa, co daje najlepszą kompensację opadania. Zdefiniowanie najlepszej kompensacji opadania jako minimalnego błędu na brzegu pasma przepustowego.
W celu zwiększenia wydajności filtr ten zwykle umieszcza się przy niższej szybkości przesyłania danych, przed CIC dla interpolacji i po CIC dla dziesiętnej.
źródło