Kaskadowy integrator – filtr grzebieniowy
W cyfrowym przetwarzaniu sygnału kaskadowy grzebień całkujący (CIC) to zoptymalizowana klasa filtrów o skończonej odpowiedzi impulsowej (FIR) połączona z interpolatorem lub decymatorem .
Filtr CIC składa się z jednej lub kilku par integratora i filtra grzebieniowego . W przypadku dziesiątkującego CIC sygnał wejściowy jest podawany przez jeden lub więcej integratorów kaskadowych, następnie próbnik w dół, po którym następuje jedna lub więcej sekcji grzebieniowych (w liczbie równej liczbie integratorów). Interpolujący układ CIC jest po prostu odwrotnością tej architektury, w której próbnik w dół został zastąpiony układem zerowym (w górę).
Filtr CIC
Filtry CIC zostały wynalezione przez Eugene'a B. Hogenauera i stanowią klasę filtrów FIR używanych w cyfrowym przetwarzaniu sygnałów o wielu szybkościach . Filtr CIC znajduje zastosowanie w interpolacji i dziesiątkowaniu. W przeciwieństwie do większości filtrów FIR, ma on wbudowany w architekturę decymator lub interpolator. Rysunek po prawej stronie przedstawia architekturę Hogenauera dla interpolatora CIC.
Funkcja systemu dla kompozytowego filtra CIC w odniesieniu do wysokiej częstotliwości próbkowania, fs, wynosi :
Gdzie:
- R = współczynnik dziesiętności lub interpolacji
- M = liczba próbek na stopień (zwykle 1, ale czasami 2)
- N = liczba stopni w filtrze
Charakterystyka filtrów CIC
- Liniowa odpowiedź fazowa;
- Używaj tylko opóźnienia oraz dodawania i odejmowania; to znaczy nie wymaga żadnych operacji mnożenia;
CIC jako filtr średniej ruchomej
Filtr CIC jest wydajną implementacją filtra średniej ruchomej . Aby to zobaczyć, zastanów się , dodając najnowszą próbkę do poprzedniego wyniku i odejmując najstarszą próbkę. Pomijając dzielenie przez , mamy:
Druga równość odpowiada grzebieniu ( do następuje integrator ( . Konwencjonalną strukturę CIC uzyskuje się przez kaskadowanie filtrów średniej ruchomej, a następnie zmianę układu sekcji w celu umieszczenia wszystkich integratorów na pierwszym miejscu (decymator) lub grzebieni na pierwszym miejscu (interpolator) Takie przegrupowanie jest możliwe, ponieważ zarówno grzebienie, jak i integratory są LTI . W przypadku interpolatora moduł upsamplera, który zwykle poprzedza filtr interpolacyjny, można przepuścić przez sekcje grzebienia przy użyciu tożsamości Noble'a , zmniejszając liczbę potrzebnych elementów opóźniających o współczynnik . Podobnie w przypadku decymatora, próbnik w dół, który normalnie podąża za filtrem dziesiętnym, można przesunąć przed sekcjami grzebieniowymi.
Równoważność filtra CIC z filtrem średniej ruchomej pozwala nam w prosty sposób obliczyć jego wzrost bitowy jako . .
Porównanie z innymi filtrami
Filtry CIC są używane w przetwarzaniu wieloszybkościowym. Filtr FIR jest używany w szerokim zakresie zastosowań i może być używany w przetwarzaniu z wieloma szybkościami w połączeniu z interpolatorem lub decymatorem. Filtry CIC mają dolnoprzepustową charakterystykę częstotliwościową, podczas gdy filtry FIR mogą mieć dolnoprzepustową , górnoprzepustową lub pasmowoprzepustową charakterystykę częstotliwościową. Filtry CIC wykorzystują tylko dodawanie i odejmowanie. Filtry FIR wykorzystują dodawanie, odejmowanie, ale większość filtrów FIR wymaga również mnożenia. Filtry CIC mają określony spadek częstotliwości , podczas gdy dolnoprzepustowe filtry FIR mogą mieć dowolnie ostry spadek częstotliwości.
Filtry CIC są na ogół znacznie bardziej ekonomiczne niż ogólne filtry FIR, ale wiążą się z kompromisami. W przypadkach, gdy potrzebna jest tylko niewielka ilość interpolacji lub dziesiątkowania, filtry FIR generalnie mają przewagę. Jednak gdy szybkości zmieniają się o współczynnik 10 lub więcej, osiągnięcie użytecznego pasma antyaliasingu filtra FIR wymaga wielu odczepów FIR.
W przypadku dużych zmian szybkości CIC ma znaczną przewagę nad filtrem FIR pod względem architektury i wydajności obliczeniowej . Ponadto filtry CIC można zazwyczaj rekonfigurować dla różnych szybkości, zmieniając jedynie sekcję dziesiętną/interpolacyjną, zakładając, że szerokość bitowa integratorów i sekcji grzebieniowych spełnia określone kryteria matematyczne oparte na maksymalnej możliwej zmianie szybkości.
Podczas gdy filtr FIR może wykorzystywać matematykę stałoprzecinkową lub zmiennoprzecinkową , filtr CIC wykorzystuje tylko matematykę stałoprzecinkową. Jest to konieczne, ponieważ jako rekurencyjnie realizowany filtr FIR, filtr CIC polega na dokładnym usuwaniu biegunów z sekcji integratora przez zera z sekcji grzebieniowych. Chociaż przyczyny są mniej niż intuicyjne, nieodłączną cechą architektury CIC jest to, że jeśli w integratorach wystąpią przepełnienia o stałej długości bitowej, są one korygowane w sekcjach grzebienia.
Zakres kształtów filtrów i odpowiedzi dostępnych w filtrze CIC jest nieco ograniczony. Większe ilości pasma zaporowego można osiągnąć poprzez zwiększenie liczby biegunów. Jednak wykonanie tego wymaga zwiększenia szerokości bitów w sekcjach integratora i grzebienia, co zwiększa złożoność filtra . Kształt odpowiedzi filtra zapewnia jeszcze mniej stopni swobody projektowania. Z tego powodu sam filtr CIC nie może spełnić wielu rzeczywistych wymagań dotyczących filtrowania. Jednak filtr CIC, po którym następuje FIR lub IIR o krótkiej lub średniej długości, okazuje się bardzo odpowiedni. Dodatkowo kształt filtra FIR jest znormalizowany względem częstotliwości próbkowania CIC na interfejsie FIR/CIC, więc jeden zestaw współczynników FIR może być używany w całym zakresie interpolacji i szybkości dziesiątkowania CIC.
- ^ Donadio, Matthew (2000) Wprowadzenie do filtra CIC „Hogenauer wprowadził ważną klasę filtrów cyfrowych o nazwie„ Cascaded Integrator-Comb ”lub w skrócie„ CIC ”(czasami nazywane również„ filtrami Hogenauera ”).
- ^ a b c d e f g hi j k l m Hogenauer , Eugene B. (kwiecień 1981). „Ekonomiczna klasa filtrów cyfrowych do dziesiątkowania i interpolacji” . Transakcje IEEE dotyczące akustyki, mowy i przetwarzania sygnałów . 29 (2): 155–162. doi : 10.1109/TASSP.1981.1163535 .
- ^ Hogenauer 1981 , równ. 11