Ewolucyjne projektowanie filtrów cyfrowych FIR (z - kik

Transkrypt

Ewolucyjne projektowanie filtrów cyfrowych FIR (z - kik
Adam Słowik
Marian Kopczewski
Wydział Elektroniki
Politechnika Koszalińska
ul. Partyzantów 17, 75-411 Koszalin
Ewolucyjne projektowanie filtrów cyfrowych
FIR (z gwarantowaną liniowością fazy)
Słowa kluczowe: sztuczna inteligencja, algorytmy ewolucyjne, projektowanie, filtr cyfrowy
FIR (z gwarantowaną liniowością fazy w paśmie przepustowym), metoda Parks’aMcClenllan’a
STRESZCZENIE
W artykule zaprezentowana zostanie możliwość (metoda) wykorzystania algorytmu ewolucyjnego do
projektowania filtru cyfrowego typu FIR (Finite Impulse Response). Zaprezentowane zostanie podejście
polegające na projektowaniu filtru FIR przy znanej strukturze (znanym rzędzie filtru). Proponowana metoda
zostanie przedstawiona w wersji, która uwzględnia liniowość fazy w paśmie przepustowym, czyli gwarantuje
symetrię współczynników filtru. Otrzymane wyniki proponowanej metody zostaną porównane z wynikami
otrzymanymi podczas projektowania filtrów FIR, przy użyciu jednej z typowo stosowanych metod tj. metody
Remez (znanej też pod nazwą metody Parksa-McClenllana).
1.
WPROWADZENIE
Chociaż metodologia tworzenia filtrów cyfrowych jest dobrze znana, to jednak technologiczny postęp w dziedzinie technologii krzemowych powoduje, że jest zapotrzebowanie na
nowe narzędzia typu CAD, które spowodowały by jeszcze większy wzrost wydajnościowy w
fazie projektowania. Co raz większa liczba elementów zintegrowanych w jednej strukturze
krzemowej powoduje nie tylko wzrost wydajności takiego układu, ale pozwala również na
zwiększenie częstotliwości pracy, przez co jednak zwiększa się pobór energii, co jest
głównym problemem dla projektantów układów scalonych w następnej dekadzie. Również
ważnym elementem jest, aby zaprojektowany układ jak najwierniej spełniał postawione przed
fazą projektowania założenia. W przypadku filtrów cyfrowych FIR takimi parametrami może
być częstotliwość graniczna górna i/lub dolna, szybkość spadku (stromość) charakterystyki
między pasmem przepustowym, a pasmem zaporowym, wielkość zafalowań w paśmie
przepustowym i/lub zaporowym. W dzisiejszych czasach dominującą metodą projektowania
filtrów cyfrowych (bądź jedną z bardziej popularnych metod) jest metoda ParksaMcClenllana (zwana również metodą remez). Obecnie coraz większą popularnością również
cieszą się algorytmy ewolucyjne (AE) stosowane do rozwiązywania wszelkich problemów.
Można więc również oczekiwać przydatności AE do wyszukiwania poprawnych
współczynników filtru cyfrowego typu FIR.
IV Układy Cyfrowe
— 399 —
2.
FILTR FIR
Filtrem FIR nazywamy filtr dla którego wartość transmitancji w dziedzinie z przedstawia się
zgodnie z zależnością (2.1)
H(z) = b 0 + b1z −1 + b 2 z −2 + .... + b m z − m
(2.1)
natomiast odpowiedź impulsowa filtru h[n] wynosi (2.2)
h[n ] = Z −1{H(z)} = b 0 δ[n ] + b1δ[n − 1] + b 2 δ[n − 2] + .... + b m δ[n − m]
(2.2)
mając daną odpowiedź impulsową można przystąpić do narysowania struktury (rys. 2.1).
Rys. 2.1 – Struktura filtru typu FIR (Finite Impulse Response)
3.
ALGORYTM EWOLUCYJNY
Zastosowany został elementarny algorytm ewolucyjny, którego schemat blokowy przedstawiony został na rysunku rys. 3.1. Każdy osobnik (rys. 3.2) reprezentował sobą określoną
odpowiedź impulsową filtru. Chcąc zapewnić symetrię współczynników filtru wprowadzono
dwunicienne chromosomy w których wartość b0 jest równa wartości bm, wartość b1 jest równa
wartości bm-1 itd. Zakres zmienności (tylko przy losowaniu populacji początkowej)
poszczególnych genów (współczynników filtru) określono na poziomie [-0.5; 0.5]. Następnie
korzystając z FFT (której wyniki były zespolone) wyznaczano charakterystykę amplitudową
H(f) [dB], zgodnie z zależnością (3.1), aby porównać ją z założeniami projektowymi,
w wyniku czego otrzymywano błąd dla każdego osobnika, będący sumą błędów częściowych
wyznaczanych dla poszczególnych częstotliwości fi . Sposób wyznaczania błędów
częściowych został przedstawiony przez zależności (3.2 – 3.4) (oznaczenia zostały przyjęte
zgodnie z rysunkiem rys.3.5).
Rys. 3.1. Schemat blokowy zastosowanego algorytmu ewolucyjnego.
— 400 —
Rys. 3.2a – Chromosom (m – nieparzyste)
Rys. 3.2b – Chromosom (m – parzyste)
H(f ) = 20 ⋅ log10  H real (f ) 2 + H imag (f ) 2 


[dB]
(3.1)
– błąd częściowy dla pasma przepustowego ( f ≤ fp )
a1

 H (f i ) − 2
blad i = 
0

dla
dla
a
H (f i ) > 1
2
a1
H (f i ) ≤
2
(3.2)
– błąd częściowy dla pasma zaporowego ( f ≥ fz )
 − a − H (f i )
bladi =  2
0
dla H(f i ) > −a 2
dla H(f i ) ≤ −a 2
(3.3)
– błąd częściowy dla pasma przejściowego (fp < f < fz)
bladi = 0
(3.4)
Algorytm ewolucyjny podczas pracy minimalizował ten błąd, który po osiągnięciu wartości
bliskiej 0 dawał argument do zakończenia pracy przez algorytm ewolucyjny. W algorytmie
ewolucyjnym zastosowano krzyżowanie proste (rys. 3.3) polegające na wymianie pomiędzy
dwoma losowo wybranymi osobnikami (odpowiedziami impulsowymi) pewnej liczby genów
(współczynników filtru), która to liczba była zależna od wybranego losowo punktu cięcia,
selekcję elitarystyczną oraz mutację (rys. 3.4) która polegała na dodaniu lub odjęciu od
wybranego genu pewnej wartości ∆ (z zakresu 0.1 – 0.00001), która to wartość malała
skokowo (zgodnie z zależnością 3.5) wraz ze wzrostem liczby pokoleń, zaczynając od
wartości ∆=0.1 aż do osiągnięcia wartości ∆=0.00001
– jeśli przez k pokoleń od ostatniej zmiany najlepszy osobnik nie uległ zmianie to
∆k =
∆ k −1
10
(3.5)
Rys. 3.3. Schemat zastosowanego operatora krzyżowania
IV Układy Cyfrowe
— 401 —
Rys. 3.4. Schemat zastosowanego operatora mutacji
Parametry filtru, które były brane pod uwagę to: pasmo przenoszenia (fp), pasmo zaporowe
(fz), zafalowania w paśmie przepustowym (a1) oraz tłumienie w paśmie zaporowym (a2).
Wszystkie te wartości zostały zaprezentowane na rysunku rys. 3.5.
Rys. 3.5. Parametry uwzględniane podczas projektowania filtru FIR
4.
EKSPERYMENTY PROGRAMU EVOFIR
Podczas przeprowadzonych eksperymentów ustalono wielkość populacji algorytmu ewolucyjnego na poziomie 50, prawdopodobieństwo krzyżowania równe było 0.4, prawdopodobieństwo mutacji wynosiło 0.1. Zaproponowana metoda została zastosowana do
zaprojektowania filtru cyfrowego typu FIR o następujących parametrach (oś częstotliwości
została znormalizowana i przyjmuje wartości od 0 do 1, gdzie wartość 1 oznacza
częstotliwość Nyquist’a):
– znormalizowane pasmo przepustowe (fp)
0.25
– zafalowania w paśmie przepustowym (a1)
0.2 [dB]
– znormalizowane pasmo zaporowe (fz)
0.75
– tłumienie w paśmie zaporowym (a2)
50 [dB]
Jedno z otrzymanych rozwiązań (przy założeniu rzędu filtru o wartości 13) zostało dokładnie
przedstawione na rysunkach rys. 4.1a – rys. 4.1f.
Rys. 4.1a – Odpowiedź impulsowa
Rys. 4.1b – Charakterystyka amplitudowa
— 402 —
Rys. 4.1c – Charakterystyka fazowa
Rys. 4.1d – Pasmo przenoszenia
Rys. 4.1e – Pasmo zaporowe
Rys. 4.1f – Faza (pasmo przenoszenia)
Z rysunków rys. 4.1a – 4.1f wynika, że zaprojektowany przy pomocy algorytmu ewolucyjnego filtr typu FIR spełnia wszystkie założenia postawione na początku fazy projektowania.
Faza w paśmie przepustowym jest liniowa (patrz rys. 4.1c; 4.1f) dzięki wprowadzeniu
symetrii współczynników filtru, co jest widoczne na rys. 4.1a. Podczas wykonywania
symulacji koszt uzyskania rezultatu o zadanych parametrach (dla filtru rzędu 13) znajdował
się w granicach od 10000 do 25000 pokoleń. W dalszej części eksperymentu dokonano
porównania jakości struktur projektowanych przy pomocy metody opartej na algorytmie
ewolucyjnym (z gwarantowaną liniowością fazy generowanych filtrów) oraz projektowanym
przy pomocy metody remez zawartej w Matlab Signal Processing Toolbox. Ze względu, że we
wszystkich rozwiązaniach (zaprojektowanych filtrach) faza w paśmie przepustowym jest
liniowa dalsze rozważania zostały skupione na charakterystykach amplitudowych i tylko takie
wykresy zostaną zaprezentowane w dalszej części artykułu (rys. 4.2 – 4.3). Linią ciągłą (kolor
czarny) oznaczono charakterystykę amplitudową filtru znalezioną przy pomocy metody
opartej na algorytmie ewolucyjnym, natomiast linią przerywaną (kolor czerwony) oznaczono
charakterystykę amplitudową filtru znalezioną przy pomocy metody remez.
Rys. 4.2 – Filtr 9-go rzędu
Rys. 4.3 – Filtr 8-go rzędu
W tabeli tab. 4.1 zawarto parametry jakie posiadały filtry, których charakterystyki
amplitudowe zostały zaprezentowane na wykresach rys. 4.1 – 4.1f oraz 4.2 – 4.3. Przyjęte
oznaczenia są zgodne z oznaczeniami zawartymi na rys. 3.5. Pogrubioną czcionką zostały
IV Układy Cyfrowe
— 403 —
zaznaczone te parametry filtru, które nie spełniały postawionych założeń.
Tab. 4.1 – Parametry zaprojektowanych filtrów
Metoda oparta na algorytmie ewolucyjnym
(wariant z gwarantowaną liniowością fazy w
paśmie przepustowym)
Rząd
fp
fz
a1
a2
13
0.25
0.75
0.14
51.86
9
0.25
0.75
0.20
50.00
8
0.24
0.75
0.21
50.07
5.
Metoda remez
(pakiet Matlab Signal Processing Toolbox)
Rząd
13
9
8
fp
0.25
0.25
0.25
fz
0.75
0.75
0.75
a1
0.03
0.22
0.30
a2
65.95
49.20
46.40
PODSUMOWANIE
Z wykresów przedstawionych na rysunkach rys. 4.1 – 4.3 widać, że metoda oparta na
algorytmie ewolucyjnym jest na pewno nie gorsza (jeśli chodzi o charakterystyki amplitudowe i charakterystyki fazowe) od jednej z najczęściej stosowanych metod przy projektowaniu
filtrów cyfrowych tj. metody Remez (znanej też pod nazwą metody Parksa-McClenllana).
Wprowadzona modyfikacja polegająca na zagwarantowaniu liniowości fazy poprzez dodanie
symetrii współczynników sprawdziła się, ponieważ rezultaty otrzymane w ten sposób są
zbliżone do rezultatów uzyskanych w poprzednich badaniach nad metodą bez gwarantowanej
liniowości fazy, jednak tym razem wszystkie znalezione filtry typu FIR posiadają liniową
charakterystykę fazową w paśmie przepustowym. Oceniając charakterystyki znalezione przy
pomocy metody opartej na algorytmie ewolucyjnym i porównując je z charakterystykami
znalezionymi przy pomocy metody remez można stwierdzić, że charakterystyki otrzymane
w wyniku działania algorytmu ewolucyjnego są lepsze, można to zauważyć chociażby
obserwując pasmo zaporowe, gdzie wyraźnie widać, że algorytm ewolucyjny potrafi znaleźć
filtr spełniający warunek odstępu pasma przepustowego od pasma zaporowego przy mniejszej
liczbie elementów (mniejszy rząd filtru).
Widać, że metoda oparta na algorytmie ewolucyjnym (zarówno bez gwarantowania liniowości fazy jak i metoda opisywana w tym artykule tj.z gwarantowaniem liniowości fazy) jest
dosyć obiecująca i może stanowić alternatywę dla metody remez. Pewną wadą może być fakt,
że metoda oparta na algorytmie ewolucyjnym jest wolniejsza od metody remez. Jednak i w
tym wypadku można dokonać pewnych modyfikacji mających na celu przyśpieszenie jej
działania. Pewnym rozsądnym rozwiązaniem wydaje się być wprowadzenie metody hybrydowej w której, inicjalizacja populacji początkowej algorytmu ewolucyjnego nie następowałaby
w sposób losowy, lecz populacja początkowa tworzona by była przy pomocy rozwiązań
uzyskanych z metody remez. Przez co algorytm ewolucyjny startowałby z tzw. „dobrego
punktu” i wówczas można mieć pewne przypuszczenia, że czas obliczeń uległby skróceniu.
BIBLIOGRAFIA
[1] D. Goldberg, „Algorytmy genetyczne i ich zastosowania” WNT, Warszawa 1995, 1998
[2] Z. Michalewicz, „Algorytmy genetyczne + struktury danych = programy ewolucyjne” WNT, Warszawa
1996,1999
[3] R. Lyons, „Wprowadzenie do cyfrowego przetwarzania sygnałów” WKŁ, Warszawa 1999, 2000
— 404 —