ROZDZIAŁ 7. FILTRY CYFROWE 140Oznaczenia zmiennych a, b, c, b0, b1, b2, a1, a2 pokrywają się z przykłademobliczeniowym zawartym w podrozdziale 7.6.3. Pominęliśmy tu etap projektowaniaod podstaw prototypu analogowego, ponieważ było to przedmiotemrozdziału 6. Użyliśmy funkcji Matlaba - cheby1, której podajemy częstotliwośćgraniczną przeliczoną według wzoru 7.38. W wektorach bd i ad znajdują sięzebrane współczynniki odpowiednio licznika i mianownika transmitancji filtrucyfrowego, poukładane w kolejności od najwyższej do najniższej potęgi zmiennejz. Należy zauważyć, że struktura programu nie pozwala dokonać obliczeń dlafiltru innego rzędu niż 2. O funkcji freqz napisaliśmy przy okazji filtrów FIR(7.5.1).Pierwszym, dużym ułatwieniem jest użycie funkcji bilinear. Funkcji tej podajemywspółczynniki licznika i mianownika transmitancji filtru analogowegooraz częstotliwość próbkowania. W wyniku otrzymujemy współczynniki licznikai mianownika transmitancji układu cyfrowego. Zatem nasz kod znaczącosię skróci, ponieważ tuż po obliczeniu ba, aa filtru analogowego można obliczyćbd, ad:[ ba , aa]=cheby1 (2 ,R, wga , ’ s ’ ) ; % p r o j e k t f i l t r u analogowego[ bd , ad]= b i l i n e a r ( ba , aa , f s ) ; % współczynniki f i l t r u cyfr owegoCo więcej, nie jesteśmy ograniczeni co do stopnia wielomianów licznika i mianownika,zatem bez problemów możemy obliczać transmitancje filtrów dowolnychrzędów.Kolejnym ułatwieniem jest użycie wprost funkcji cheby1 (butter i pozostałych)do obliczenia współczynników filtru cyfrowego. W naszym przykładziebyłaby to linijka:[ bd , ad]=cheby1 (N,R, wga )Jak widać, brakuje parametru ’s’, co Matlab traktuje jako chęć zaprojektowaniafiltru cyfrowego z użyciem transformacji biliniowej.7.7.3 Metoda Yule’a-WalkeraDo zaprojektowania filtru tą metodą służy funkcja yulewalk. Jej parametramisą rząd filtru, oraz dwa wektory kształtujące charakterystykę amplitudowoczęstotliwościową.Wektor częstotliwości zawiera współrzędną częstotliwości dlapunktów, a wektor amplitud - wartości modułu transmitancji dla wymienionychczęstotliwości. Zakres częstotliwości to 0 . . . 1, przy czym 1 oznacza połowę częstotliwościpróbkowania. Poniżej znajduje się przykładowy projekt dolnoprzepustowegofiltru IIR ósmego rzędu o częstotliwości granicznej 0, 3 · f s .
ROZDZIAŁ 7. FILTRY CYFROWE 141f = [ 0 0.6 0.6 1 ] ;m = [ 1 1 0 0 ] ;[ b , a ] = yulewalk (8 , f ,m) ;[ h ,w] = f r e q z (b , a , 1 2 8 ) ;p l o t ( f ,m,w/ pi , abs (h) , ’ − − ’)legend ( ’ i dealna ’ , ’ yulewalk ’ )Zadanie.Zaprojektuj metodą Yule’a-Walkera filtr pasmowoprzepustowy o częstotliwościachf d = 300Hz, f g = 2200Hz, czwartego rzędu. Częstotliwość próbkowaniajest równa 8kHz. Przedstaw jego charakterystykę amplitudowo-częstotliwościowąw skali liniowej na tle charakterystyki projektowanej (’idealnej’), na drugim wykresieprzedstaw tę charakterystykę w skali decybelowej.7.8 Proces filtracji cyfrowej7.8.1 Struktury filtrówZasadniczo algorytm filtracji opisuje równanie różnicowe (7.16), które tu powtórzymy:M∑N∑y(n) = b m x(n − m) − a k y(n − k). (7.40)m=0Schemat blokowy tego algorytmu przedstawiliśmy już na rysunku 7.2b. Jest totak zwana postać bezpośrednia typu I. Dzięki liniowości układów można zamienićkolejność struktur FIR i IIR, w wyniku czego powstaje układ postaci bezpośredniejtypu II. Oba układy dla porównania przedstawiamy na rysunku 7.18 (dlaM=N=2). Oczywiście, jeśli budujemy filtr tylko FIR, współczynniki a 1 . . . a nsą równe 0 i układ sprowadza się do przedstawionego na rysunku 7.1.Można budować również inne postacie. Wykorzystując zasady transpozycjielementów filtrów FIR i IIR, przedstawione na rysunku 7.19, uzyskujemyschematy jak na rysunkach 7.20.Zauważmy, że w postaciach II filtrów ulega redukcji liczba komórek pamiętających(bloków z −1 ).W przypadku filtrów FIR o liniowej fazie odpowiedź impulsowa, a zatemwspółczynniki filtru, są symetryczne wokół próbki środkowej, to znaczy spełniająrównanie:h(m) = h(M − m).k=1