You are on page 1of 14

DIZAJN „EQUIRIPPLE“ FIR FILTARA

LINEARNE FAZE

I ova tehnika za projektovanje FIR filtara se zasniva na minimizaciji razlike između


željenog frekvencijskog odziva i frekvencijskog odziva projektovanog filtra. Algoritam za dizajn
FIR filtara ovom metodom se jednostavno implementira na računaru. Osnovna ideja ove, kao i
drugih iterativnih tehnika, je u sledećem. Neka je sa H ( e jω ) obeležen frekvencijski odziv

digitalnog filtra funkcije prenosa H ( z ) koji treba biti projektovan tako da aproksimira željeni

frekvencijski odziv D ( e jω ) , koji je dat kao deo-po-deo linearna funkcija po ω . Cilj je da se

iterativno odrede koeficijenti funkcije prenosa tako da je razlika između H ( e jω ) i D ( e jω ) , za sve

vrednosti ω na zatvorenim podintervalima za 0 ≤ ω ≤ π , minimalna. Obično je ta razlika zadata


kao težinska funkcija Ε (ω ) data sa:

Ε (ω ) W ( e jω )  H ( e jω ) − D ( e jω ) 
= (9.1)

gde je sa W ( e jω ) obeležena neka pozitivna težinska funkcija.

Najčešće korišćena mera aproksimacije, koja se zove Čebiševljev „minimax“ kriterijum, je


da se minimizira apsolutna vrednost pikova težinske funkcije Ε (ω )

=ε max Ε (ω ) (9.2)
ω∈R

gde je sa R obeležen skup nepreklapajućih frekvencijskih opsega za 0 ≤ ω ≤ π na kojima je


definisan željeni frekvencijski odziv.
Filtri projektovani ovom metodom se zovu „equiripple“ FIR filtri jer, nakon minimizacije ε
iz (9.2), težinska funkcija greške Ε (ω ) iz (9.1) pokazuje „equiripple“ ponašanje (talasnost jednake

visine) u frekvencijskom opsegu od interesa. Najpoznatijii i najkorišćeniji algoritam za


projektovanje ovakvih filtara je Parks-McClellanov algoritam.
Generalna forma (sva četiri tipa FIR filtara) frekvencijskog odziva H ( e jω ) FIR filtra

linearne faze dužine N+1 se može pisati kao:




H (e )=e
−j
jω 2
e j β H (ω ) (9.3)


gde je H (ω ) čisto realna funkcija po ω , tj. amplitudska karakteristika, a β je 0 ili π / 2 za

simetrične ili antisimetrične impulsne odzive, respektivno. Težinska funkcija greške u ovom slučaju
uključuje amplitudski odziv i data je sa:

Ε (ω ) W (ω )  H (ω ) − D (ω ) 
= (9.4)

gde je D (ω ) željena amplitudska karakteristika, a W (ω ) je pozitivna težinska funkcija. W (ω ) se

bira tako da kontroliše relativnu visinu pikova greške u zadatim frekvencijskim opsezima. Ovaj
algoritam se bazira na iterativnom podešavanju koeficijenata amplitudskog odziva dok se apsolutna
vrednost pikova Ε (ω ) ne minimizuje.

Ako je minimalna vrednost pika apsolutne vrednosti Ε (ω ) u opsegu ωa ≤ ω ≤ ωb jednaka

ε 0 , tada apsolutna greška zadovoljava jednačinu

 ε0
H (ω ) − D (ω ) ≤ , ωa ≤ ω ≤ ωb (9.5)
W (ω )

Tipično je da je D (ω ) jednako

1, u propusnom opsegu


D (ω ) =  (9.6)
0, u nepropusnom opsegu

i od amplitudskog odziva H (ω ) se zahteva da odstupa od željenog odziva D (ω ) sa talasnošću

±δ p u propusnom opsegu i δ s u nepropusnom opsegu. Kao rezultat, evidentno je iz (9.4) da

težinska funkcija treba da bude ili

1, u propusnom opsegu



W (ω ) =  δ p (9.7)
 δ , u nepropusnom opsegu
 s

ili

 δs
 , u propusnom opsegu
W (ω ) =  δ p (9.8)
1,
 u nepropusnom opsegu
Razmotrićemo slučaj projektovanja za sva četiri tipa FIR filtra:
- tip I – simtričnog impulsnog odziva neparne dužine
- tip II – simtričnog impulsnog odziva parne dužine
- tip III – antisimtričnog impulsnog odziva neparne dužine
- tip IV – antisimtričnog impulsnog odziva parne dužine
U svim izvođenjima ćemo uzeti da je filtar dužine N+1 (filtar N-tog reda čiji odbirci idu od 0 do N).

Tip I
Ukoliko se uzme da je N = 2 M , amplitudska karakteristika ima oblik

 M
H (ω ) = ∑ a ( k ) cos (ω k ) (9.9)
k =0

gde je

a (=
0 ) h ( M ) , a (=
k ) 2h ( M − k ) , 1≤ k ≤ M (9.10)

Tip II
2 M +1
 2
  1 
=H (ω ) ∑ b ( k ) cos  ω  k − 2  
k =1
(9.11)

gde je

 2M + 1  2M + 1
b ( k ) 2h 
= − k , 1≤ k ≤ (9.12)
 2  2

Jednačina (9.11) može biti napisana u formi


2 M −1
 ω  2
H (ω ) = cos  
2
∑ b ( k ) cos (ω k )
k =0
(9.13)

gde su

 2M + 1  1   2M − 1 
b (1) =
2
(
1 
)
b (1) + 2b ( 0 ) , b =
 2  2  2 
b ,
(9.14)
2M − 1
b=(k )
2
(
1 
b ( k ) + b ( k − 1) ,) za 2 ≤ k ≤
2
Tip III

 M
H (ω ) = ∑ c ( k ) sin (ω k ) (9.15)
k =1

gde je

c (=
k ) 2h ( M − k ) , 1≤ k ≤ M (9.16)

Jednačina (9.15) može biti napisana u formi

 M −1
H (ω ) = sin (ω ) ∑ c ( k ) cos (ω k ) (9.17)
k =0

gde su

1 1
c (1) =c ( 0 ) − c (1) , c(M ) = c ( M − 1) ,
2 2 (9.18)
( k ) ( c ( k − 1) − c ( k ) ) , za 2 ≤ k ≤ M − 1
1
c=
2

Tip IV
2 M +1
 2
  1 
=H (ω ) ∑ d ( k ) sin  ω  k − 2  
k =1
(9.19)

gde je

 2M + 1  2M + 1
d ( k ) 2h 
= − k , 1≤ k ≤ (9.20)
 2  2

Jednačina (9.19) može biti napisana u formi


2 M −1
 ω  2
H (ω ) = sin  
2
∑ d ( k ) cos (ω k )
k =0
(9.21)

gde su

1  2M + 1    2M − 1 
d (1) =d ( 0 ) − d (1) , d = d ,
2  2   2  (9.22)
2M − 1
d=(k )
2
(
1 
)
d ( k − 1) − d ( k ) , za 2 ≤ k ≤
2
Amplitudska karakteristika se za sve tipove filtara, na osnovu (9.9), (9.13), (9.17) i (9.21),
može napisati u obliku:

H (ω ) = Q (ω ) A (ω ) (9.23)

gde je

1, tip I
 ω
cos , tip II

Q (ω ) = 
2 (9.24)
sin ω , tip III
 ω
sin , tip IV
 2

a
L
A (ω ) = ∑ a ( k ) cos (ω k ) (9.25)
k =0

gde je

a ( k ) , tip I

b ( k ) , tip II
a ( k ) =  (9.26)
c ( k ) , tip III
d ( k ) , tip IV

M , tip I
 2M − 1
 , tip II
 2
L= (9.27)
 M − 1, tip III
 2M − 1
 , tip IV
 2

Ako jednačinu (9.23) zamenimo u (9.4) dobijamo modifikovani oblik težinske aproksimacione
funkcije kao

 D (ω ) 
=Ε (ω ) W (ω ) Q (ω ) A=
(ω ) − D (ω )  W (ω ) Q (ω )  A (ω ) −  (9.28)
 Q (ω ) 

D (ω )
Ako sada obeležimo W (ω ) = W (ω ) Q (ω ) i D (ω ) = , može se pisati:
Q (ω )
Ε (ω ) W (ω )  A (ω ) − D (ω ) 
= (9.29)

Optimizacioni problem se svodi na određivanje koeficijenata a ( k ) za 0 ≤ k ≤ L koji

minimizuju ε težinske funkcije Ε (ω ) (9.29) na zadatim opsezima učestanosti ω ∈ R . Parks-

McClellanov metod se zasniva na teoremi alternacije iz teorije Čebiševljeve aproksimacije.

Teorema alternacije

Amplitudska funkcija A (ω ) (9.25) je najbolja jedinstvena aproksimacija željenog

amplitudskog odziva dobijena minimizacijom pikova apsolutnih vrednosti, ε , od Ε (ω ) datog sa

(9.28) ako i samo ako postoji najmanje L + 2 „ekstremnih“ učestanosti ω0 < ω1 < ... < ωL < ωL +1 za

koje važi Ε (ωi ) = −Ε (ωi +1 ) i Ε (ωi ) =


ε za svako i u opsegu 0 ≤ i ≤ L + 1 .

Ispitaćemo ponašanje amplitudske karakteristike filtra tipa I koji zadovoljava uslove date
prethodnom teoremom. Pikovi Ε (ω ) su na učestanostima ω = ωi za 0 ≤ i ≤ L + 1 gde je

d Ε (ω )
= 0 . Kako su u propusnom i nepropusnom opsegu W (ω ) i D (ω ) deo-po-deo konstantne

funkcije, iz (9.29) sledi

d Ε (ω ) dA (ω )
= = 0 (9.30)
dω dω

tj. amplitudski odziv A (ω ) ima takođe pikove na ω = ωi . Korišćenjem jednačine

cos ω k = Tk ( cos ω ) (9.31)

gde je sa Tk ( x ) obeležen Čebiševljev polinom k-tog reda definisan sa

Tk ( x ) = cos ( k arccos x ) (9.32)

amplitudska karakteristika A (ω ) data sa (9.25) se može predstaviti kao

L
A (ω ) = ∑ α ( k )( cos ω )
k
(9.33)
k =0

što je polinom L-tog reda po cos ω . Kao rezultat, A (ω ) može imati maksimalno L − 1 lokalnih

maksimuma i minimuma unutar zadatog propusnog i nepropusnog opsega. Povrh toga, na


granicama opsega, ω = ω p i ω = ωs , Ε (ω ) ima najveću vrednost i stoga A (ω ) ima ekstremume i

na tim učestanostima. Dodatno, A (ω ) može imati ekstremume i na ω = 0 i ω = π .

Dakle, najviše može postojati L + 3 „ekstremnih učestanosti“ (učestanosti ekstremuma) od


Ε (ω ) . Na isti način, u slučaju FIR filtra za k zadatih graničnih učestanosti, može postojati najviše

L + k + 1 ekstremnih učestanosti.
Da bi se dobilo optimalno rešenje potrebno je da rešimo set od L + 2 jednačine

W (ωi )  A (ωi ) − D (ωi )  = ( −1) ε , 0 ≤ i ≤ L +1


i
(9.34)

gde je potrebno odrediti a ( i ) i ε , a dato je L + 2 ekstremnih učestanosti. Jednačinu (9.34) možemo

napisati u matričnoj formi

1 cos ω0  cos ( Lω0 ) 1/ W (ω0 )   a   D (ω ) 


  0  0

1 cos ω1  cos ( Lω1 ) −1/ W (ω1 )   a1   D (ω1 ) 

        =    (9.35)
    
1 cos ωL cos ( LωL ) ( −1) / W (ωL )   aL   D (ωL ) 
L

   
 cos ( LωL +1 ) ( −1) / W (ωL+1 )  ε   D (ωL+1 )
L +1
1 cos ωL +1

Ova jednačina može, u principu, da se reši po nepoznatim parametrima ako su lokacije L + 2


ekstremnih učestanosti a priori poznate.

Remezov metod alternacije

Ova veoma efikasna iterativna procedura se koristi za određivanje lokacija ekstremnih


učestanosti i sastoji se od sledećih koraka u svakom iteracionom stepenu.

Korak 1: Set inicijalnih učestanosti za ekstremne učestanosti su ili izabrane ili dostupne iz
prethodne iteracije.

Korak 2: Vrednost ε se izračunava rešavanjem (9.35) rezultujući izrazom

c0 D (ω0 ) + c1 D (ω1 ) + ... + cL +1 D (ωL +1 )


ε= (9.36)
( −1) cL+1
L +1
c0 c1
− + ... +
W (ω0 ) W (ω1 ) W (ωL +1 )

gde su konstante cn date sa


L +1
1
cn = ∏ (9.37)
i =0 cos ωn − cos ωi
i≠n

Korak 3: Vrednosti A (ω ) na učestanostima ω = ωi se računaju kao

( −1) ε + D ω ,
i

(ωi ) 
A= ( i) 0 ≤ i ≤ L +1 (9.38)
W (ωi )

Korak 4: Polinom A (ω ) se određuje interpolacijom gore izračunatih vrednosti na L + 2 ekstremnih

učestanosti korišćenjem Lagranžeove interpolacione formule


L +1
A (ω ) = ∑ A (ωi ) Pi ( cos ω ) (9.39)
i =0

gde je
L +1
cos ω − cos ωl
=Pi ( cos ω ) ∏ cos ω − cos ω
l =0
, 0 ≤ i ≤ L +1 (9.40)
i l
l ≠i

Korak 5: Nova težinska funkcija greške Ε (ω ) iz (9.29) se računa po učestanostima na gustom setu

S ( S ≥ L ). U praksi S = 16 L je dovoljno i adekvatno. Potrebno je odrediti L + 2 novih ekstremnih


učestanosti iz vrednosti Ε (ω ) izračunatih na tom gustom setu učestanosti.

Korak 6: Ako su pikovi, ε , od Ε (ω ) jednaki po amplitudi, algoritam je konvergirao i tu se

postupak završava. U suprotnom, preći na Korak 2.

Na slici 9.1 je prikazan prelazak iz jedne u drugu iteraciju i kako se dobijaju nove
frekvencije ekstremuma. Konačno, iterativni proces se završava kada je razlika između pikova, ε , u
tekućoj i prethodnoj iteraciji manja od nekog zadatog praga, recimo 10−6 . U praksi, proces
konvergira posle samo nekoliko iteracija.
D (ω ) Ak (ω )

D (ω ) - željeni odziv
ω Ak (ω ) - amplitudski odziv na
ω k
1
ω k
2
ω k
3 ω k
4 kraju k -te iteracije
Ε k (ω ) - greška na kraju
Ε k (ω )
k -te iteracije

+ε ω
Lokacije novih "ekstremnih
−ε
ω k
1 ω2k ω3k ω4k učestanosti" su date sa ωik +1

ω1k +1 ω2k +1 ω3k +1 ω4k +1

Slika 9.1. Ilustracija Remezovog algoritma – prelazak iz k-te na k+1. iteraciju i određivanje novih
„ekstremnih učestanosti“

( x ) 1.1x 2 − 0.1 i definisana na


Primer: Neka je željena fukcija kvadratnog oblika D=

opsegu 0 ≤ x ≤ 2 . Želimo da ovu funkciju aproksimiramo linearnom funkcijom A ( =


x ) a1 x + a0

minimizacijom pika apsolutne greške


max 1.1x 2 − 0.1 − a0 − a1 x
x∈[ 0,2]

Pošto postoje 3 nepoznate koje treba da se odrede, a0 , a1 i ε , potrebne su nam tri tačke

ekstremuma po x koje proizvoljno biramo: x0 = 0 , x1 = 0.5 i x2 = 1.5 . Rešavamo tri linearne


jednačine:

+ ( −1) ε D (=
a0 + a1 x= xl ) ,
l
l 0,1, 2

što je u matričnom obliku, za izabrane tačke,


1 0 1   a0   −0.1 
1 0.5 −1  a  =  
   1   0.175
1 1.5 1   ε   2.375

Rešavanjem se dobija
a0 =
−0.375 a1 =
1.65 ε=
0.275
Na slici (a) je prikazana odgovarajuća greška
ε1 (=
x ) 1.1x 2 − 0.1 − (−0.375) − 1.65
= x 1.1x 2 − 1.65 x + 0.275

zajedno sa vrednostima greške na izabranim ekstremnim tačkama. Kao što je za očekivati, na


ekstremnim tačkama su greške iste i menja im se znak:

0.275

-0.275

0 0.5 1.5

slika (a)

Sledeći korak je da se izaberu tačke gde ε1 ( x ) ima maksimalne apsolutne vrednosti. Kako

je ε1 ' ( x ) = 2.2 x − 1.65 = 0 za x = 0.75 , ove tačke su: x0 = 0 , x1 = 0.75 i x2 = 2 . Nove vrednosti

nepoznatih opet se rešavaju


1 0 1   a0   −0.1 
1 0.75 −1  a  =  
   1   0.5188
1 2 1   ε   4.3 

što dovodi do rešenja


a0 =
−0.6156 a1 =
2.2 ε=
0.5156

Grafik greške ε 2 ( x ) = 1.1x 2 − 2.2 x + 0.5156 i vrednosti greške na novom setu ekstremnih tačaka su

prikazane na slici (b).

0.5156

-0.5156

0 0.75 2

slika (b)
Nastavlja se proces i određuje novi set ekstremnih tačaka na kojima ε 2 ( x ) uzima

maksimalnu apsolutnu vrednost. One su: x0 = 0 , x1 = 1 i x2 = 2 . Rešava se sistem

1 0 1   a0   −0.1
     1.0 
1 1 −1  a1  =  
1 2 1   ε   4.3 

što dovodi do
a0 =
−0.65 a1 =
2.2 ε=
0.55

Na slici (c) je nacrtana nova greška ε 3 ( x ) = 1.1x 2 − 2.2 x + 0.55 i prikazane su vrednosti greške na

ekstremnim tačkama. Ovaj put algoritam je konvergirao pošto je ε maksimalna vrednost apsolutne
greške i tu se proces završava. Dakle monom koji aproksimira željenu kvadratnu funkciju je oblika
( x ) 2.2 x − 0.65 . Na slici (d) su prikazane željena kvadratna funkcija D ( x ) i polinom koji
A=

aproksimira željenu funkciju A ( x )

0.55

-0.55

0 1 2

slika (c)

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

slika (d)
OSNOVNE STRUKTURE ZA REALIZACIJU
DISKRETNIH SISTEMA

Realizacija FIR sistema

Posmatraćemo filtar M-tog reda, tj. koji ima M+1 koeficijent u impulsnom odzivu:

b , 0 ≤ n ≤ M
h (n) =  n (9.41)
0, če
ina

Najjednostavnija je direktna realizacija koja je prikazana na Slici 9.2. Potrebno je M+1


množača, M sabirača i M memorijskih lokacija za čuvanje prethodnih odbiraka ulaznog signala.
Kako za bilo koji FIR filtar linearne faze važi:

h (n) =
±h ( M − n ) (9.42)

broj množača može da se smanji na ( M + 1) / 2 , ako je M neparno, odnosno na M / 2 ako je M

parno. Na slici 9.3. je prikazana realizacija za M parno. Transponovanjem šeme na slici 9.2 se
dobija tzv. transponovana realizacija i ona je prikazana na slici 9.4.

x [ n]
z −1 z −1 z −1  z −1

× h [ 0] × h [1] × h [ 2] × h [3] × × h[M ]


y [ n]
+ + +  + +

Slika 9.2. Direktna realizacija FIR sistema

x [ n]
z −1 z −1 z −1  z −1

+ + + + +

z −1 z −1 z −1  z −1

M − 2
× h [ 0] × h [1] × h [ 2] × h [3] × h × h [ M / 2]
 2 
y [ n]
+ + + +  +

Slika 9.3. Direktna realizacija simetričnog FIR sistema (M parno)


x [ n]

× h[M ] × h [ M − 1] × h [ M − 2] × × h [1] × h [ 0]
y [ n]
z −1 + z −1 + z −1 +  + z −1 +

Slika 9.4. Transponovana realizacija FIR sistema

Realizacija IIR sistema

Predstavimo IIR filtar u obliku:


M

∑b z k
−k
P1 ( z )
H ( z)
= = =
k =0
H1 ( z ) H 2 ( z ) (9.43)
N
1 + P2 ( z )
1 + ∑ ak z −k

k =1

M
1
Ako sa H1 ( z ) obeležimo H1 ( z ) = ∑ bk z − k , a sa H 2 ( z ) = N
, dobija se tzv.
k =0
1 + ∑ ak z −k

k =1

direktna reačizacija I koja je prikazana na slici 9.5. Potrebno je M + N + 1 množača, M + N


sabirača i M + N elemenata za kašnjenje.

x [ n] b0 y [ n]
× + +
z −1 z −1
b1 −a1
× + + ×

z −1 z −1
b2 −a2
× + + ×
z −1 z −1
b3 −a3
× + + ×

−aN −1

bM −1
× + + ×
z −1 bM −aN z −1
× ×

Slika 9.5. Direktna realizacija I IIR funkcije prenosa


1
Ako se funkcijama H1 ( z ) i H2 ( z ) zameni mesto, tj. H1 ( z ) = N
, a
1 + ∑ ak z −k

k =1

M
H 2 ( z ) = ∑ bk z − k , dobija se direktna realizacija II.
k =0

Lako se uočava da je moguće da se isti element za kašnjenje može iskoristiti i za H1 ( z ) i za

H 2 ( z ) . Zbog toga je za ovakvu formu potrebno M + N + 1 množača, M + N sabirača i

max ( M , N ) elemenata za kašnjenje, što predstavlja apsolutni minimum elemenata potrebnih za

ralizaciju opšte funkcije prenosa IIR tipa. Zbog toga se ova forma zove i direktna kanonička
realizacija koja je, za slučaj M = N , prikazana na slici 9.6.

x [ n] b0 y [ n]
+ × +

−a1 z −1 b1
+ × × +

−a2 z −1 b2
+ × × +

−a3 z −1 b3
+ × × +
−aN −1

bN −1

+ × × +
−aN z −1 bN
× ×

Slika 9.6. Direktna kanonička realizacija IIR funkcije prenosa za M=N

Za prethodne dve realizacije IIR sistema je takođe moguće napraviti transponovane forme
na isti način kao što je to urađeno u slučaju FIR filtara. Međutim, često se, zbog prevelike
osetljivosti na nepreciznost koeficijenata, kao posledica kodovanja konačnim brojem bita, za sve
sisteme čiji je red viši od 3, koriste kaskadne ili paralelne realizacije koje se dobijaju vezivanjem
ćelika drugog reda. Na taj način se pomenuta osetljivost na nepreciznost koeficijenata znatno
smanjuje.

You might also like