• Keine Ergebnisse gefunden

1.1 Süsteemide omadused

N/A
N/A
Protected

Academic year: 2022

Aktie "1.1 Süsteemide omadused"

Copied!
75
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)
(2)

Digitaalne signaali- ja pilditöötlus

Harjutused Rain Ferenets

(3)
(4)

Sisukord

1 Signaalitöötlus 5

1.1 Süsteemide omadused . . . 5

1.2 Konvolutsioon . . . 7

1.3 Impulsskaja, hüppekaja . . . 12

1.4 Sageduskarakteristikud . . . 16

1.5 Diskreetne Fourier’ teisendus (DFT) . . . 17

1.5.1 Kiire Fourier’ teisendus (FFT) . . . 21

1.6 Filtrite disainimine . . . 25

1.6.1 Notch-filter . . . 25

1.6.2 FIR-filtrite disainimine akna meetodiga . . . 34

1.6.3 Optimaalse FIR-filtri disainimine . . . 37

1.6.4 IIR-filtrite disainimine . . . 39

2 Pilditöötlus 45 2.1 Histogrammi “venitamine” . . . 45

2.2 “Libiseva naabrusega” töötlemine . . . 48

2.3 Fikseeritud blokkide kaupa töötlemine . . . 54

2.4 Müra filtreerimine . . . 54

2.5 Fourier’ teisendus . . . 64

A Lisad 67 A.1 Kompleksarvud . . . 67

A.2 Osamurdudeks lahutamine . . . 69

A.3 z-teisenduse tabel . . . 72

A.4 Mõned olulisemad MATLAB-i käsud . . . 73

(5)
(6)

1 Signaalitöötlus

1.1 Süsteemide omadused

• Lineaarsus:olgux1jax2sisendid süsteemileT. SüsteemT on lineaar- ne siis, kui kehtivad aditiivsuse ja homogeensuse omadused, mis on kirjeldatud seosega

T{ax1[n] +b x2[n]}=aT{x1[n]}+b T{x2[n]} (1.1)

• Ajas invariantsus:süsteemT on ajas invariantne, kui sisendi ajas ni- hutamine põhjustab ka väljundi ajalise nihke:

x[n]−→T y[n]

x[n−τ]−→T y[n−τ]

(1.2)

Selline süsteem toimib olenemata sellest, kus teda ajaliselt rakendada.

• Kausaalsus:süsteemT on kausaalne, kui tema väljund kohaln0sõltub ainult sisenditest kohtadeln¶n0, s.t süsteem (väljund) ei saa sisendit ennetada.

• Stabiilsus:süsteem on stabiilne, kui iga tõkestatud sisendi puhul on ka väljund tõkestatud. Sisendx[n]on tõkestatud, kui eksisteerib fikseeri- tud positiivne lõplik arvBxnii, et

|x[n]|¶Bx<∞, kõikiden-de jaoks.

Stabiilsus nõuab, et iga tõkestatud sisendi jaoks eksisteerib fikseeritud positiivne lõplik väärtusBynii, et

|y[n]|¶By<∞, kõikiden-de jaoks.

Näide 1.1 On antud süsteem y[n] =T{x[n]}=nx[n]. Uurida selle süsteemi lineaarsust, ajas invariantsust ja kausaalsust.

Lahendus. Kuna on näha, et süsteemi väljundy[n] kohaln sõltub ainult sisendist kohaln, siis seega on kausaalsuse tingimus täidetud ja saab öelda, et süsteem on kausaalne.

(7)

Lineaarsuse uurimiseks tähistame eespool toodud lineaarsuse seose (1.1) vasa- ku poole näiteksV P-ga ja parema pooleP P-ga (selline tähistus ei ole otseselt vajalik, kuid lihtsustamise mõttes on seda kasulik teha). Seejärel paneme uuri- tava süsteemi sellesse süsteemi sisse ja teisendame:

V P=T{ax1[n] +b x2[n]}=n(ax1[n] +b x2[n]) =anx1[n] +b nx2[n]

P P=aT{x1[n]}+b T{x2[n]}=anx1[n] +b nx2[n]

KunaV P=P P, siis saame öelda, etsüsteem on lineaarne.

Ajas invariantsuse uurimiseks hilistame kõigepealt sisenditτvõrra ning vaa- tame, mis sellisel juhul väljundiks tuleb:

T{x[n−τ]}=nx[n−τ] (∗) Seejärel vaatame, milline onτvõrra hilistatud väljundy[n−τ]:

y[n−τ] = [nτ]x[nτ] (∗∗) Kuna(∗)6= (∗∗), siis saame öelda, et antudsüsteem ei ole ajas invariantne. ƒ Näide 1.2 On antud süsteem y[n] =T{x[n]}=ex[n]. Uurida selle süsteemi lineaarsust, ajas invariantsust ja kausaalsust.

Lahendus. Kuna süsteemi väljundy[n]kohaln sõltub ainult sisendist ko- haln, siis seega on kausaalsuse tingimus täidetud ja saab öelda, etsüsteem on kausaalne.

Lineaarsus:

V P=T{ax1[n] +b x2[n]}=e(a x1[n]+b x2[n])=ea x1[n]·eb x2[n]

P P=aT{x1[n]}+b T{x2[n]}=aex1[n]+b ex2[n]

On näha, etV P6=P P, seega saame öelda, et antudsüsteem ei ole lineaarne.

Ajas invariantsus:

T{x[n−τ]}=ex[n−τ] (∗)

y[n−τ] =ex[n−τ] (∗∗)

Kuna(∗) = (∗∗), siis järelikulton süsteem ajas invariantne. ƒ Näide 1.3 Uurida, kas süsteem y[n] =T{x[n]}=log(|x[n]|)on stabiilne.

(8)

Lahendus. Antud süsteem on ebastabiilne, kuna kõikidenväärtuste puhul, mille korralx[n] =0, ei ole süsteemi väljund tõkestatud, s.t et sellisel juhul

y[n] =log(|x[n]|) =−∞. ƒ

Näide 1.4 Uurida, kas süsteem y[n] =T{x[n]}= (x[n])2on stabiilne.

Lahendus. Eeldame, et süsteemi sisendx[n]on tõkestatud, s.t|x[n]|¶Bx, kõikiden-de jaoks. Sellisel juhul saame, et|y[n]|=|x[n]|2¶B2x. Seega saa- me validaBy=Bx2, mis tähendab, et ka väljund on tõkestatud. Järelikult on

süsteem(x[n])2stabiilne. ƒ

1.2 Konvolutsioon

Kahe signaali,x[n]jah[n]konvolutsioony[n]on defineeritud järgnevalt:

y[n] =x[n]∗h[n] = X k=−∞

x[k]h[n−k] (1.3)

OlguX(z)jaH(z)vastavalt x[n]-i jah[n]-i z-teisendused, siis saame kirja panna olulise seose konvolutsiooni jaz-teisenduse vahel:

x[n]∗h[n] ←→Z X(z)·H(z) (1.4) Seega,z-teisenduse järel muutub konvolutsioon korrutiseks.

Näide 1.5 On antud kaks signaali: x[n] = {1; 2; 2}, s.t x[0] = 1; x[1] = 2; x[2] =2ja h[n] ={2; 3; 4}, s.t h[0] =2; x[1] =3; x[2] =4. Leida nende signaalide konvolutsioon, kasutades z-teisendust.

Lahendus. Leiame kõigepealtx[n]-i jah[n]-iz-teisendused:

X(z) =1+2z−1+2z−2 H(z) =2+3z−1+4z−2

Konvolutsiooniz-teisenduseY(z)leidmiseks peameX(z)-i jaH(z)-i omava- hel läbi korrutama:

Y(z) =X(z)·H(z) = (1+2z−1+2z−2)(2+3z−1+4z−2)

=2+7z−1+14z−2+14z−3+8z−4

(9)

Konvolutsiooniy[n]saamiseks võtameY(z)-stz-pöördteisenduse:

y[0] =2; y[1] =7;y[2] =14; y[3] =14; y[4] =8,

mis teisiti kirjutatuna ony={2; 7; 14; 14; 8}. ƒ Näide 1.6 Leiame näites 1.5 toodud signaalide konvolutsiooni otse, kasutades selleks konvolutsioonisumma definitsiooni, s.t valemit (1.3).

Lahendus. Kuna antud juhul on mõlema signaali pikkus 3, siis konvolut- siooni pikkus on 3+3−1=5. Võttes veel arvesse, et kuin<0, siisx[n] =0 jah[n] =0, saame valemit (1.3) kasutades järgneva konvolutsioonisumma:

y[n] =x[n]∗h[n] = X4 k=0

x[k]h[n−k]

Antud konvolutsiooni arvutamisel saame mitmeid nulliseid liikmeid, mida üldiselt pole vaja välja kirjutada, kuid selguse mõttes teeme seda antud juhul siiski. Järgnevas konvolutsiooni arvutuses on mittenullised liikmed ridade kaupa alla joonitud:

y[0] =x[0]h[0] +x[1]h[−1] +x[2]h[−2] +x[3]h[−3] +x[4]h[−4] =2 y[1] =x[0]h[1] +x[1]h[0] +x[2]h[−1] +x[3]h[−2] +x[4]h[−3] =7 y[2] =x[0]h[2] +x[1]h[1] +x[2]h[0] +x[3]h[−1] +x[4]h[−2] =14 y[3] =x[0]h[3] +x[1]h[2] +x[2]h[1] +x[3]h[0] +x[4]h[−1] =14 y[4] =x[0]h[4] +x[1]h[3] +x[2]h[2] +x[3]h[1] +x[4]h[0] =8 Nagu näha, saame sama tulemuse, misz-teisendust kasutades. ƒ Näide 1.7 Kasutades graafilist lahendamist, leida joonisel 1.1 toodud signaalide x[n]ja h[n]konvolutsioon.

Lahendus. Antud ülesannet saab lahendada, kasutades otse konvolutsiooni- summa valemit (1.3). Selleks tuleb võtta ühe sisendix[n]-ik-s liige ja korru- tada temaga läbi teise sisendh[n], mis onkvõrra hilistatud (vt joonist 1.2).

(10)

x[n] h[n]

2 1

2

1

−1

0 1 2 0 1 2

Joonis 1.1— Signaalidx[n]jah[n]

x[0] x[0]h[n0]

x[1] x[1]h[n1]

x[2] x[2]h[n2]

2 2

1 1 −2

2 2 −1

−2 0

1

2

0 1 2 3 4

0 1 2 3 4

0 1 2 3 4

Joonis 1.2— Konvolutsiooni leidmine graafiliselt, kasutades otse konvolut- sioonisumma valemit 1.3

(11)

y[n] =x[n]h[n]

2 1

−1

−2

0 1 2 3 4

Joonis 1.3— Näites 1.7 toodud signaalidex[n]jah[n]konvolutsioon

Kirjutades konvolutsioonisummas olevad liikmedx[0]h[n−0],x[1]h[n−1]

jax[2]h[n−2]sellisel moel graafiliselt, on soovitatav paigutada nad hilistuse mõttes üksteise alla õigele kohale. See on vajalik selleks, et lõpliku konvolut- siooni saamiseks on tarvis kõik osajadad vastavate elementide kaupa kokku liita. Seega, näiteks konvolutsiooniy[n]kohal 0 leidmiseks liidame kokku kõikide osajadade liikmed kohal 0; tulemuseks saamey[0] =2 (antud juhul tegelikult liitmist ei olegi, kuna ainult esimese osajada vastav liige on nullist erinev).

Konvolutsioon on graafiliselt kujutatud joonisel 1.3. ƒ

Näide 1.8 Leida näites 1.7 toodud signaalide x[n]ja h[n]konvolutsioon graa- filiselt, kasutades selleks h[n]-i “peegeldamist”.

Lahendus. “Peegeldamine” tähendab siin seda, et leitakseh[n]-i peegelpilt 0 ajahetke suhtes, ehk teiste sõnadega, leitakse h[−n] (h[n] ja h[−n] on sümmeetrilised 0 ajahetke suhtes). Toimides sellisel moel, saab konvolutsioo- nisumma nüüd järgneva kuju:

y[n] =x[n]∗h[n] = X4 k=0

x[k]h[n−k] = X4 k=0

x[k]h[−(n+k)]

“Peegeldatud”h[n]on näidatud joonisel 1.4.

“Peegeldamise” mõte on selles, et nüüd saabh[−n]-ga “sõita” ülex[n]-i, kor- rutades ja seejärel summeerides kõik vastavad mittenullised liikmed kokku.

Joonisel 1.5 on kirjeldatud sellist toimingut samm sammuliselt. ƒ

(12)

h[n] h[−n]

1

−1 −1

1

0 1 2 −2 −1 0

Joonis 1.4—h[n]-i “peegeldamine”

y[0] = 2·1 = 2

−2 −1 0 1 2 3 4

y[1] = 2·0 + 1·1 = 1

−2 −1 0 1 2 3 4

y[2] = 2·(−1) + 1·0 + 2·1 = 0

−2 −1 0 1 2 3 4

y[3] = 1·(−1) + 2·0 =−1

−2 −1 0 1 2 3 4

y[4] = 2·(−1) =−2

−2 −1 0 1 2 3 4

Joonis 1.5— Konvolutsiooni leidmine “peegeldatud”h[n]-ga

(13)

1.3 Impulsskaja, hüppekaja

Näide 1.9 Kausaalne süsteem on esitatud diferentsvõrrandiga y[n] =ay[n− 1] +x[n]. Milline on selle süsteemi impulsskaja h[n]? Millise a väärtuse korral on süsteem stabiilne?

Lahendus. Süsteemi impulsskaja saame leida, kui anname tema sisendiks ühikimpulsi, s.tx[n] =δ[n]. Kuna süsteem on kausaalne, siis temah[n] = 0, kuin<0.h[n]-i leidmiseks hakkame nüüdn-le väärtusi andma, alustades 0-st:

h[0] =ah[−1] +δ[0] =a·0+1=1 h[1] =ah[0] +δ[1] =a·1+δ[1] =a h[2] =ah[1] +δ[2] =a·a+δ[2] =a2

...

h[n] =ah[n−1] =a2h[n−2] =· · ·=anh[0] =an

⇓ h[n] =anu[n], kusu[n]on ühikhüpe.

Lineaarne, ajas invariantne süsteem on stabiilne, kui tema impulsskajah[n]

on tõkestatud, s.t

X k=−∞

|h[k]|<

Seega, antud juhul saame stabiilsuse tingimuse järgneva:

X k=0

|a|k<

Tegemist on geomeetrilise reaga ja see koondub, kui|a|<1, mis ongi ühtlasi ka antud süsteemi stabiilsuse tingimuseks.

Seda ülesannet saab lahendada kaz-teisendust kasutades. Selleks võtame esi- algsest võrrandistz-teisenduse

y[n] =ay[n−1] +x[n] ←→Z Y(z) =az1Y(z) +X(z)

ja teisendame saadud tulemust nii, etY(z)-ga liikmed jäävad võrduse ühele poole jaX(z)-ga liikmed teisele poole. Sellisel moel saame lihtsalt avaldada süsteemi ülekandefunktsiooniH(z), mis on impulsskajaz-teisendus:

Y(z)−az−1Y(z) =X(z) ⇒ Y(z)(1−az−1) =X(z)

(14)

0 h[n]

n 0< a <1

0 h[n]

n

−1< a <0

0 h[n]

n a >1

0 h[n]

n a <−1

Joonis 1.6— Näites 1.9 saadud impulsskaja erinevate parameetriaväärtuste korral

Saadud tulemusest avaldameH(z)-i:

H(z) = Y(z)

X(z)= 1 1−az−1

Impulsskaja leidmiseks võtame ülekandefunktsioonist H(z) z-pöördteisen- duse:

H(z) = 1 1−az−1

←→Z anu[n] =h[n]

Selleks et süsteem oleks stabiilne, peavad tema ülekandefunktsiooni H(z) poolused asuma ühikringi sees.H(z)-i avaldisest on näha, et ülekandefunkt- siooni poolus asub kohasz=a. Seega, süsteem on stabiilne, kui|a|<1.

Joonisel 1.6 on esitatud süsteemi impulsskajad erinevateaväärtuste jaoks.ƒ Näide 1.10 Kausaalne süsteem on esitatud diferentsvõrrandiga y[n] =x[n] +

3

4y[n−1]−18y[n−2]. Milline on selle süsteemi impulsskaja h[n]ja hüppekaja g[n]?

Lahendus. Teisendame süsteemi nii, et sisendid x[n]oleks ühel pool võr- dust ja väljundidy[n]oleks teisel pool ning võtame sellestz-teisenduse:

y[n]−3

4y[n−1]+1

8y[n−2] =x[n] ←→Z Y(z)

1−3 4z−1+1

8z−2

=X(z) Nüüd saame avaldada süsteemi ülekandefunktsiooniH(z):

H(z) = Y(z)

X(z)= 1

1−34z−1+18z−2

(15)

Impulsskaja h[n]leidmiseks peame ülekandefunktsioonist võtma z-pöörd- teisenduse, kuid antud juhul tuleb eelnevalt H(z)-i avaldist lihtsustada ehk see lahutada osamurdudeks.1

Leiame kõigepealtH(z)-i poolused:

1−3 4z−1+1

8z−2=0 ⇒ z2−3 4z+1

8=0

z1,2=1 2

 3 4±

È9 16− 8

16

 ⇒ z1= 1

2 ja z2=1 4

Kasutades leitud pooluseid, kirjutame ülekandefunktsiooni ringi ja lahutame osamurdudeks:

H(z) = 1

(1−12z−1)(1−14z−1)= A

1−12z−1+ B 1−14z−1

A= 1

1−14z−1 z=12

= 1

1−12 =2

B= 1

1−12z−1 z=14

= 1

1−2=−1

Asendades kordajadAjaB ülekandefunktsiooni avaldisse ja võttes sellestz- pöördteisenduse, saame järgneva impulsskajah[n]:

H(z) = 2

1−12z−1− 1 1−14z−1

←→Z 2 1

2 n

u[n]− 1

4 n

u[n] =h[n]

Hüppekaja g[n] leidmiseks kasutame asjaolu, et g[n]-i z-teisenduse G(z) saame, kui korrutame H(z)-i avaldist ühikhüppe u[n]-i z-teisendusega, s.t 1/(1−z−1)-ga. Pärast korrutamist on tarvis võttaG(z)-stz-pöördteisendus, kuid sellele eelneb üldjuhul veel osamurdudeks lahutamine. Seega saame

G(z) = 1

(1−12z−1)(1−14z−1)(1−z−1)= A

1−12z−1+ B

1−14z−1+ C 1−z−1

1Osamurdudeks lahutamist on selgitatud lisas A.2.

(16)

0

0 h[n]

g[n]

n

n

Joonis 1.7— Näites 1.10 saadud impulsskajah[n]ja hüppekajag[n]

Leiame kordajadA,BjaC:

A= 1

(1−14z−1)(1−z−1) z=12

=−2

B= 1

(1−12z−1)(1−z−1) z=14

=1 3

C= 1

(1−12z−1)(1−12z−1) z=1

=8 3

Asendades leitud kordajadG(z)-i avaldisse ja võttesG(z)-stz-pöördteisendu- se, saame hüppekajag[n]-i:

G(z) = −2 1−12z−1+

1 3

1−14z−1+

8 3

1−z−1 Z l

g[n] =

−2· 1 2n+1

3· 1 4n+8

3

u[n]

Antud süsteemi impulsskaja h[n]ja hüppekaja g[n]on graafiliselt esitatud

joonisel 1.7. ƒ

(17)

1.4 Sageduskarakteristikud

Vaatame olukorda, kus süsteemi sisendiks onx[n] =ejωn, s.t komplekseks- ponent ringsagedusegaω. Sellisel juhul saame järgneva impulsskajagah[n]

vastava lineaarse ajas invariantse süsteemi väljundi:

y[n] = X k=−∞

h[k]ejω[n−k]=ejωn X k=−∞

h[k]e−jωk

| {z }

H(e)

=H(e)ejωn

SuurustH(e)nimetatakse süsteemi sageduskarakteristikuks:

H(e) =|H(e)| ·ejφ(ω),

kus|H(e)|on amplituudikarakteristik jaφ(ω)on faasikarakteristik. Sage- duskarakteristikus olevat suurustj nimetatakse imaginaarühikuks.2

Näide 1.11 Leida hilistussüsteemi y[n] =x[n−τ]sageduskarakteristik ning amplituudikarakteristik|H(e)|ja faasikarakteristikφ(ω).

Lahendus. Kõigepealt anname süsteemi sisendiksx[n] =ejωnning leiame sellele vastava väljundi:

y[n] =ejω[n−τ]=e−jωτ·ejωn Siit saame süsteemi sageduskarakteristiku:

H(e) =e−jωτ

Amplituudi- ja faasikarakteristiku leidmiseks eraldame sageduskarakteristi- kus reaal- ja imaginaarosa:

H(e) =e−jωτ=cos(ωτ)−jsin(ωτ)

|H(e)|=Æ

cos2(ωτ) +sin2(ωτ) =1 φ(ω) =arctan

‚

−sin(ωτ) cos(ωτ)

Œ

=−ωτ

Nagu näha, säilitab selline süsteem signaali amplituudi, faasi muutus on otse-

ses sõltuvuses hilistuseτsuurusest. ƒ

2Kompleksarve on selgitatud lisas A.1.

(18)

Näide 1.12 On antud süsteem y[n] =x[n] +y[n−1]− 12y[n−2]. Leida selle süsteemi amplituudikarakteristik|H(e)|ja faasikarakteristikφ(ω)ning esitada saadud tulemused graafiliselt.

Lahendus. Leiame kõigepealt süsteemi ülekandefunktsiooni, kasutades z- teisendust:

H(z) = 1 1−z−1+12z−2

Sageduskarakteristiku saamiseks tuleb ülekandefunktsiooniszasendada suu- rusegae:

H(e) =H(z) z=e

= 1

1−e+12e−j2ω =

= 1

1−cosω+jsinω+12cos 2ω−j12sin 2ω=

= 1

1−cosω+12cos 2ω+j(sinω12sin 2ω) LeiameH(e)-st amplituudikarakteristiku:

|H(e)|= 1

Æ(1−cosω+12cos 2ω)2+ (sinω−12sin 2ω)2 ja faasikarakteristiku:

φ(ω) =−arctan sinω12sin 2ω 1−cosω+12cos 2ω

!

|H(e)|jaφ(ω)on esitatud joonisel 1.8. ƒ

1.5 Diskreetne Fourier’ teisendus (DFT)

Olgu meil antud lõpliku pikkusegaN jadax[n]nii, etx[n] =0, kuinjääb vahemikust 0¶n¶N väljapoole. Sellisel jadal saame teostadaN-punktilise diskreetse Fourier’ teisenduse (DFT)X[k], mis on defineeritud järgnevalt:

X[k] =

N−1X

n=0

x[n]ej2πnk/N 0¶k¶N−1 (1.5)

(19)

|H(ejω)|,dBφ(ω),

ω

|H(ejω)|

0 1

5π 25π 35π 45π π

0 1 2 3

-80 -60 -40 -20 0 -10 0 10

Joonis 1.8— Näites 1.12 esitatud süsteemi amplituudi- ja faasikarakteristikud

Analoogselt on defineeritud ka diskreetne Fourier’ pöördteisendus:

x[n] = 1 N

N−1X

k=0

X[k]ej2πnk/N 0¶n¶N−1 (1.6)

Sageli kirjutatakse DFT-valem kujul X[k] =

N−1X

n=0

x[n]WNnk 0¶k¶N−1, (1.7) kus

WNnk=e−j2πnkN (twiddle factor)

Kui meil on näiteks 4-punktine signaal, millele leiame DFT, siis selle jaoks onW4nkesitatud graafiliselt joonisel 1.9.

Teiste sõnadega,W4nkkujutab endast ühikringil asuvat kompleksarvude hul- ka, antud juhul on neid 4. Tasub veel tähele panna, et need arvud on perioo- dilised (perioodigaN), antud juhul on perioodiks 4.

Näide 1.13 On antud jada x[n] ={0; 1; 0; 1; 0; 1; 0; 1}. Kasutades DFT defi- nitsiooni (1.5), leida selle jada 8-punktine DFT X[k], lisaks veel eraldi X[k]

amplituud, s.t|X[k]|, ja faas, s.tÞX[k].

(20)

W40=W44= 1

W41=−j W42=−1

W43=j

Re Im

Joonis 1.9 — 4-punktise DFT kordaja (twiddle factor) W4nk paiknemine komplekstasandil oleval ühikringil

Lahendus. Kõigepealt leiame x[n]-i diskreetse Fourier’ teisenduse X[k].

Kasutades valemit (1.5), kirjutame DFT summa lahti ja lihtsustame seda:

X[k] = X7 n=0

x[n]e−j2πkn/8=0e−j2πk0/8+1e−j2πk1/8+0e−j2πk2/8 +1e−j2πk3/8+0e−j2πk4/8+1e−j2πk5/8+0e−j2πk6/8+1e−j2πk7/8

=ej2πk1/8+ej2πk3/8+ej2πk5/8+ej2πk7/8=...

Edasiseks lihtsustamiseks võtame saadud tulemuseste−j2πk4/8sulgude ette ja grupeerime sulgudesse jäävaid liikmeid järgnevalt:

...=e−j2πk4/8”€

ej2πk1/8+e−j2πk1/8Š +€

ej2πk3/8+e−j2πk3/8Š—

=...

Sulgude ette võtmise idee seisneb selles, et nüüd saame sulgudes olevatele liikmetele rakendada lisas A.1 olevat valemit (A.4), täpsemalt selle koosinust puudutavat osa. Teiste sõnadega, selline sulgude ette võtmine võimaldab vaba- neda sulgudes olevatest imaginaarosadest. Võttes veel arvesse, etej2πk4/8= e−jπk= (−1)k, saame lõpuks järgneva tulemuse:

...= (−1)k

– 2 cos

‚πk 4

Π+2 cos

‚3πk 4

Ϊ

Andes nüüdk-le väärtusi 0-st 7-ni, saame arvutada järgnevadX[k]väärtused:

(21)

k=0 → X[0] = (−1)0(2 cos 0+2 cos 0) =1(2+2) =4 k=1 → X[1] = (−1)1

2 cosπ

4 +2 cos3π 4

=−1(p 2−p

2) =0 k=2 → X[2] = (−1)2

2 cosπ

2 +2 cos3π 2

=1(0−0) =0 k=3 → X[3] = (−1)3

2 cos3π

4 +2 cos9π 4

=−1(−p 2+p

2) =0 k=4 → X[4] = (−1)4(2 cosπ+2 cos 3π) =1(−2−2) =−4

k=5 → X[5] = (−1)5

2 cos5π

4 +2 cos15π 4

=−1(−p 2+p

2) =0 k=6 → X[6] = (−1)6

2 cos3π

2 +2 cos9π 2

=1(0+0) =0 k=7 → X[7] = (−1)7

2 cos7π

4 +2 cos21π 4

=−1(p 2−p

2) =0

Kirjutades saadud tulemuse kompaktsemalt, saame X[k] ={4; 0; 0; 0;−4; 0; 0; 0}

Kasutades lisas A.1 toodud seoseid ja võttes arvesse, et antud juhul onX[k]

reaalne, s.t tema imaginaarosa on null, saame

|X[k]|={4; 0; 0; 0; 4; 0; 0; 0} ÞX[k] ={0;×;×;×;π;×;×;×}

Märk×tähendab seda, et antud kohas onX[k]faas määramata. ƒ Näide 1.14 Olgu meil lihtne 2-punktine signaal, millele leiame DFT.

Lahendus. Kasutades valemit (1.7), saame X[k] =

X1 n=0

x[n]W2nk

=x[0]W20k+x[1]W21k k=0, 1

(22)

x[0]

x[1]

X[0]

X[1]

1

−1 1 1

Joonis 1.10— Näites 1.14 saadud 2-punktise DFT arvutamise n.n.butterfly flowgraph

Kuna

W20=e−j2π02 =1 ja W21=e−j2π12 =−1, siis saame järgneva DFT:

X[0] =x[0]·1+x[1]·1=x[0] +x[1]

X[1] =x[0]·1+x[1]·(−1) =x[0]−x[1]

Seega saame 2-punktist DFT-d kujutada joonisel 1.10 esitatud nn liblikana

(butterfly flowgraph). ƒ

1.5.1 Kiire Fourier’ teisendus (FFT)

FFT rakendamiseks peab sisendsignaalx[n]olema pikkusega 2m, kusmon positiivne täisarv. Järgnevalt rakendatakse tavalist DFT-valemit, kuid sisend- signaal x[n]jagatakse kaheks osaks — paarisarvuliste ja paarituarvuliste in- deksite järgi:

X[k] =

N−1X

n=0

x[n]WNnk

=

N/2−1

X

r=0

x[2r]WN2r k

| {z }

non paaris

+

N/2−1

X

r=0

x[2r+1]WN2r k+k

| {z }

non paaritu

=

N/2−1

X

r=0

x[2r]WN2r k+WNk

N/2−1

X

r=0

x[2r+1]WN2r k

(23)

x[0]

x[2]

x[4]

x[6]

x[1]

x[3]

x[5]

x[7]

4–punktineDFT4–punktineDFT

H[3]

H[2]

H[1]

H[0]

G[3]

G[2]

G[1]

G[0]

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

W80

W81

W82

W83

W84

W85

W86

W87

Joonis 1.11— 8-punktine DFT jagatuna kaheks 4-punktiseks DFT-ks

KunaWN2r k=e−j2π2r kN =ej2πr kN/2 =WN/2r k , siis saame

X[k] =

N/2−1

X

r=0

x[2r]WN/2r k +WNk

N/2−1

X

r=0

x[2r+1]WN/2r k =G[k] +WNkH[k] k=0, ...,N−1,

kusG[k]on pikkusegaN/2 DFT paarisarvulisten-de jaoks jaH[k]on pik- kusegaN/2 DFT paarituarvulisten-de jaoks.

Tuleb tähele panna, etX[k]arvutamiselk=0, ...,N−1, kuidG[k+N/2] = G[k]jaH[k+N/2] =H[k], kuna niiG[k]kui kaH[k]onN/2-punktised DFT-d. KuiN=8, siis saab seda kujutada joonisel 1.11 toodud diagrammina.

KordajateWN-de arvu saab veelgi vähendada, kuna

WNk+N/2=ej2π(k+N/2)N =e−j2πkN ·ej2πN/2N =e−j2πkN ·(−1) =−WNk

(24)

x[0]

x[4]

x[2]

x[6]

x[1]

x[5]

x[3]

x[7]

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

W80 X[7]

W80

W80

W80

−1

−1

−1

−1

W82

W80

W82

W80

−1

−1

−1

−1

W83

W82

W81

W80

−1

−1

−1

−1

Joonis 1.12— 8-punktine ajas detsimeeritud FFT-diagramm

NäiteksX[1]jaX[5]saab seega arvutada järgnevalt:

X[1] =G[1] +W81H[1]

X[5] =G[1]−W81H[1]

Kui joonisel 1.11 toodud diagrammis 4-punktine DFT asendada 2-punktiste- ga, mis omakorda asendatakse nnbutterfly flowgraph-ga (vt näide 1.14), siis saame nn ajas detsimeeritud FFT-algoritmi, mis on kujutatud joonisel 1.12.

Näide 1.15 Leiame näites 1.13 toodud signaali DFT, kasutades selleks ajas det- simeeritud FFT-algoritmi.

Lahendus. Leiame kõigepealt FFT-algoritmis esinevad kordajadW80...W83:

W80=1, W81= p2

2 (1−j); W82=−j; W83= p2

2 (−1−j) Edasi on mõttekas FFT-d arvutada etappide kaupa, s.t et leiame kõigepealt vahetulemuse pärast esimesi “liblikaid”, siis teisi “liblikaid” ja pärast kolman- daid “liblikaid” saame lõpptulemuse.

(25)

Esimeses veerus peab olema sisendsignaal, kusjuures tähelepanu tuleb pöö- rata ka elementide järjekorrale, vt joonisel 1.12 toodud ajas detsimeeritud FFT-diagrammi! Kogu toiming on etappide kaupa ära toodud järgnevas tabe- lis (miinus ühega korrutamist ei ole näidatud):

x[0] 0 0 0 4 X[0]

x[4] 0 ·1 0 0 0 X[1]

x[2] 0 0 ·1 0 0 X[2]

x[6] 0 ·1 0 ·(−j) 0 0 X[3]

x[1] 1 2 4 ·1 −4 X[4]

x[5] 1 ·1 0 0 ·p22(1−j) 0 X[5]

x[3] 1 2 ·1 0 ·(−j) 0 X[6]

x[7] 1 ·1 0 ·(−j) 0 ·p22(−1−j) 0 X[7]

Seega, kui oleme sisendsignaali õigesse järjekorda pannud (indeksitebit rever- sal järgi), siis on meil jada kujul{0 0 0 0 1 1 1 1}. Pärast esimest etappi on jadaks{0 0 0 0 2 0 2 0}, pärast teist etappi{0 0 0 0 4 0 0 0}ning pärast kol- mandat etappi saame tulemuseks{4 0 0 0 −4 0 0 0}, mis ongi sisendsignaali

DFT. ƒ

(26)

1.6 Filtrite disainimine

Filtrite disainimise all mõeldakse antud filtrile vastava diferentsvõrrandi kor- dajate leidmist.

1.6.1 Notch-filter

Olgu meil näiteks olukord, kus mingi olemasolev signaal sisaldab võrgupinge tekitatud 50 Hz või 60 Hz häiret. Eesmärgiks on disainida selline filter, mis antud häire kõrvaldaks või vähemalt vähendaks seda oluliselt.

Sellise häire kõrvaldamise üheks võimaluseks on lihtne 2 nulliganotch-filter.

Sellise filtri ülekandefunktsiooni saamiseks tulebz-tasandil panna kaks nulli (kaaskompleksed) ühikringil just täpselt häire kohale. Teiste sõnadega, tuleb leida häire sagedusele vastav nurk, teades, et poolele diskreetimissagedusele Fs/2 vastabz-tasandil nurkπ.

Näide 1.16 Olgu signaali diskreetimissagedus Fs = 720Hz ja häire sagedus FH = 60 Hz. Disainida kahe nulliga filter, mis seda häiret vähendab. Lisaks leida filtri impulsskaja ja tema sageduskarakteristikud ning esitada need graafi- liselt. Arvutada ka filtri rühmahilistus.

Lahendus. Leiame kõigepealt 60 Hz-le vastavaz-tasandi nurga, võttes arves- se, et 360 Hz-le vastab nurkπ:

60H z → π·60 360 =π

6

Järgnevalt kujutame nullid (

) vastavatel kohtadel ühikringil, vt joonis 1.13.

Edasi paneme kirja antud filtri ülekandefunktsiooni:

H(z) =€

1−ejπ/6·z1Š €

1−ejπ/6·z1Š

=1−€

ejπ/6+e−jπ/6Š

z−1+z−2

=1−2 cos(π/6)·z−1+z−2

=1−p

3·z1+z2

Kuna H(z) =Y(z)/X(z), siis saame ülekandefunktsioonist tuletada seose sisendi ja väljundi vahel:

Y(z) = (1−p

3·z−1+z−2)X(z)

(27)

Re Im

ejπ/6 −→ 60Hz

ejπ/6 e

360Hz

Joonis 1.13— Näites 1.16 toodud filtri nullide (

) paiknemine kompleksta- sandil

Võttes saadud tulemusestz-pöördteisenduse, saamegi filtrile vastava diferents- võrrandi:

y[n] =x[n]−p

3x[n−1] +x[n−2]

Andes süsteemi sisendisse ühikimpulsiδ[n], saame tema impulsskajah[n]-i:

h[n] =δ[n]−p

3δ[n−1] +δ[n−2]

Saame järgneva filtri sageduskarakteristikuH(e):

H(e) =1−p

3·e−jω+e−j2ω

=e−jω€

e+e−jω−p 3Š

=e−jω(2 cosω−p 3)

Saadud seosest saame leida amplituudikarakteristiku|H(e)|:

|H(e)|=|e−jω|

| {z }

=1

·|(2 cosω−p

3)|=|2 cosω−p 3|

Faasikarakteristikuφ(ω)leidmiseks teisendame sageduskarakteristiku sobi- vamale kujule:

H(e) =e−jω(2 cosω−p 3)

= (cosω−jsinω)(2 cosω−p 3)

=2 cos2ω−p

3 cosω−j2 sinωcosω+jp 3 sinω

=cosω(2 cosω−p

3)−jsinω(2 cosω−p 3)

(28)

|H(ejω)|,dBφ(ω),

f, Hz

|H(ejω)|

0 60 120 180 240 300 360

0 2 4

-50 0 50 100 150 -60 -40 -20 0 20

Joonis 1.14— Näites 1.16 toodudnotch-filtri amplituudi- ja faasikarakteristi- kud

SaadudH(e)kujust saame hõlpsalt avaldada faasikarakteristikuφ(ω):

φ(ω) =arctan

ImH(e) ReH(e)

=arctan

−sinω(2 cosω−p 3) cosω(2 cosω−p

3)

=

=arctan(−tanω) =−ω

Rühmahilistuseτg(ω)saame leida järgnevalt:

τg(ω) =−dφ(ω) dω =1

Nagu näha, on antud filtri jaoks rühmahilistus konstantne suurus (ei sõltu ω-st), mis tähendab, et filter hilistab kõiki sagedusi võrdselt.

Leitud|H(e)|(esitatuna nii lineaarses kui ka logaritmilises skaalas) jaφ(ω) on näidatud joonisel 1.14 (pane tähele, et joonisel on sagedusteljel näidatud filtri reaalsed sagedused, mitte ringsagedusω!). ƒ

Näide 1.17 Lahendame näites 1.16 toodud ülesande, käsitledes filtri nullkohti eraldi.

(29)

Lahendus. Alustame sellest, et meil on ülekandefunktsioon kujul H(z) =€

1−ejπ/6·z−1Š €

1−ejπ/6·z−1Š

Kasutades seda ülekandefunktsiooni kuju, kirjutame välja sageduskarakteris- tiku:

H(e) =€

1−ejπ/6·e−jωŠ €

1−e−jπ/6·e−jωŠ

1−ej(π/6−ω)Š €

1−ej(π/6+ω)Š

=...

Nüüd kasutame Euleri valemit (A.3) ja viime sulgudes olevad kompleksarvud trigonomeetrilisele kujule:

...=

•1−cosπ 6 −ω‹

−jsinπ

6 −ω‹˜

·

·•

1−cosπ 6 +ω‹

+jsinπ

6 +ω‹˜

=...

Lihtsustamise mõttes tähistame esimestes nurksulgudes oleva avaldiseL1-ga ja teistes olevaL2-ga. Seega saame lõpuks:

...=L1·L2

Amplituudi- ja faasikarakteristikud on nüüd avaldatavad järgmisel kujul:

|H(e)|=|L1| · |L2| ja φ(ω) =ÞL1+ÞL2, kusÞtähistab faasi.

Leides kummagi nulli jaoks eraldi amplituudi ja faasi, saame üldjuhul lihtsa- mad avaldised ja see lihtsustab arvutamist.

Leiame|L1|ja|L2|:

|L1|= ȁ

1−cosπ

6 −ω‹‹2

+sin2π 6 −ω‹

= r

2−2 cosπ 6 −ω‹

|L2|= ȁ

1−cosπ 6 +ω

‹‹2

+sin2π 6 +ω

‹

= r

2−2 cosπ 6 +ω

‹

ningÞL1jaÞL2:

ÞL1=−arctan



sin€π

6ωŠ 1−cos€π

6ωŠ



ÞL2=arctan



sin€π

6+ωŠ 1−cos€π

6 +ωŠ



(30)

Re Im

ejπ/6 −→ 60Hz

ejπ/6 e

360Hz

Joonis 1.15— Näites 1.18 toodud filtri nullide (

) ja pooluste (×) paiknemine komplekstasandil

Lõpuks saame välja kirjutada ka|H(e)|jaφ(ω):

|H(e)|= r

2−2 cosπ 6 −ω‹

· r

2−2 cosπ 6 +ω‹ φ(ω) =−arctan

 sin€π

6ωŠ 1−cos€π

6ωŠ

+arctan



sin€π

6+ωŠ 1−cos€π

6 +ωŠ



Andes nüüdω-le väärtusi 0-stπ-ni ning arvutades, saame samad tulemused,

mis on toodud näites 1.16 oleval joonisel. ƒ

Näide 1.18 Täiendada näites 1.16 toodud filtrit, lisades kaks poolust.

Lahendus. Lisades pooluseid, tuleb meeles pidada, et need peavad asuma ühikringi sees ja joonel, mis läheb z-tasandi nullkohast filtri nullini. Poolus peaks asuma ühikringile suhteliselt lähedal, sest siis saame filtrile teravama kuju. Samas peab arvestama, et kui poolus on ühikringile väga lähedal, siis võib süsteem ebastabiilseks muutuda.

Lisame kaks poolust (tähistatud punase ristiga), mis asuvad nullkohast 0,95 kaugusel (0, 95ejπ/6ja 0, 95e−jπ/6), vt joonist 1.15.

Antud filtri ülekandefunktsiooni lugeja on sama mis näites 1.16, kuna nullid on samad, küll aga muutub nimetaja:

H(z) =

€1−ejπ/6·z−1Š €

1−ejπ/6·z−1Š

€1−0, 95ejπ/6·z−1Š €

1−0, 95e−jπ/6·z−1Š

= 1−1, 7321z−1+z−2 1−1, 6454z−1+0, 9025z−2

(31)

0 h[n]

n

Joonis 1.16— Näites 1.18 toodud filtri impulsskajah[n]

Võttes saadud ülekandefunktsioonist z-pöördteisenduse, asendades ja paigu- tades liikmeid ringi, saame filtrile vastava diferentsvõrrandi:

y[n] =1, 6454y[n−1]−0, 9025y[n−2] +x[n]−1, 7321x[n−1] +x[n−2]

Antud filter on IIR (Infinite Impulse Response) tüüpi filter, s.t tema impulss- kaja on lõpmatult pikk. Impulsskaja algusosa on ära toodud joonisel 1.16.

Sageduskarakteristiku leidmisel on antud juhul sobivam kasutada näites 1.17 toodud lähenemist:

H(e) =

€1−ejπ/6·e−jωŠ €

1−e−jπ/6·e−jωŠ

€1−0, 95ejπ/6·e−jωŠ €

1−0, 95ejπ/6·eŠ

=

€1−ej(π/6−ω)Š €

1−ej(π/6+ω)Š

€1−0, 95ej(π/6−ω)Š €

1−0, 95e−j(π/6+ω)Š=...

Kasutades jällegi nii lugejas kui ka nimetajas Euleri valemit (A.3) ning tähis- tades nullid ja poolused vastavaltL1,L2,N1jaN2-ga, saame

...=

=L1

z }| {

[1−cos(π/6−ω)−jsin(π/6−ω)]

[1−0, 95 cos(π/6−ω)−j0, 95 sin(π/6−ω)]

| {z }

=N1

·

·

=L2

z }| {

[1−cos(π/6+ω) +jsin(π/6+ω)]

[1−0, 95 cos(π/6+ω) +j0, 95 sin(π/6+ω)]

| {z }

=N2

Amplituudikarakteristiku|H(e)|saame avaldada, kui

|H(e)|= |L1| · |L2|

|N1| · |N2|,

(32)

ja faasikarakteristikuφ(ω), kui

φ(ω) =ÞL1+ÞL2−ÞN1−ÞN2 Leiame vastavad suurused:

|L1|=Æ

2−2 cos(π/6−ω)

|L2|=Æ

2−2 cos(π/6+ω)

|N1|=Æ

1, 9025−1, 9 cos(π/6−ω)

|N2|=Æ

1, 9025−1, 9 cos(π/6+ω) ning

ÞL1=−arctan

‚ sin(π/6−ω) 1−cos(π/6−ω)

Œ

ÞL2=arctan

‚ sin(π/6+ω) 1−cos(π/6+ω)

Œ

ÞN1=−arctan

‚ 0, 95 sin(π/6−ω) 1−0, 95 cos(π/6−ω)

Œ

ÞN2=arctan

‚ 0, 95 sin(π/6+ω) 1−0, 95 cos(π/6+ω)

Œ

Kasutades saadud tulemusi, saame

|H(e)|=

s (2−2 cos(π/6−ω))(2−2 cos(π/6+ω)) (1, 9025−1, 9 cos(π/6−ω))(1, 9025−1, 9 cos(π/6+ω)) ja

φ(ω) =−arctan

‚ sin(π/6−ω) 1−cos(π/6−ω)

Œ

+arctan

‚ sin(π/6+ω) 1−cos(π/6+ω)

Π+

+arctan

‚ 0, 95 sin(π/6−ω) 1−0, 95 cos(π/6−ω)

Œ

−arctan

‚ 0, 95 sin(π/6+ω) 1−0, 95 cos(π/6+ω)

Œ

Vastavad amplituudi- ja faasikarakteristikud on esitatud graafiliselt joonisel 1.17. Kui võrrelda tulemust näites 1.16 olevaga, siis on näha, et amplituudi- karakteristiku kuju on oluliselt paremaks muutunud, s.t eemaldatakse peami- selt 60 Hz sagedust. Kuid faasikarakteristikult on ka näha, et faas pole enam lineaarne ja kõige rohkem on faas moonutatud just 60 Hz ümbruses. ƒ

(33)

|H(ejω)|,dBφ(ω),

f, Hz

|H(ejω)|

0 60 120 180 240 300 360

0 0.5 1

-100 0 100 -30 -20 -10 0

Joonis 1.17— Näites 1.18 toodud filtri amplituudi- ja faasikarakteristikud

Näide 1.19 Lahendada näites 1.18 toodud ülesanne, kasutadesMATLAB-i ning nihutades pooluseid nii, et nad oleks ühikringist (ühikringi seespool) kaugusel 0,01. Lisaks kujutada graafiliselt filtri rühmahilistus.

Lahendus. On kaks nullkohta:ejπ/6jae−jπ/6; ning kaks poolust: 0, 99ejπ/6 ja 0, 99ejπ/6. Leiame neile vastava filtri ülekandefunktsiooniH(z), kus nul- lidest moodustub lugejas olev polünoomlugja poolustest nimetajas olev po- lünoomnim:

>> lug = poly([exp(j*pi/6) exp(-j*pi/6)]) lug =

1.0000 -1.7321 1.0000

>> nim = poly([0.99*exp(j*pi/6) 0.99*exp(-j*pi/6)]) nim =

1.0000 -1.7147 0.9801

Seega vastab antud nullidele ja poolustele järgmine ülekandefunktsioon:

H(z) = 1−1, 7321z−1+z−2 1−1, 7147z−1+0, 9801z−2

VõttesH(z)-stz-pöördteisenduse, saame filtrile vastava diferentsvõrrandi:

y[n] =1, 7147y[n−1]−0, 9801y[n−2] +x[n]−1, 7321x[n−1] +x[n−2]

(34)

|H(ejω)|,dBφ(ω),

f, Hz

|H(ejω)|

0 60 120 180 240 300 360

0 0.5 1

-100 0 100 -20 -10 0

Joonis 1.18— Näites 1.19 toodud filtri amplituudi- ja faasikarakteristikud

τ(ω),diskreeti

f, Hz

0 60 120 180 240 300 360

0 50 100

Joonis 1.19— Näites 1.19 toodud filtri rühmahilistuskarakteristik

Uurime filtri sageduskarakteristikutH(e):

[H, f] = freqz(lug, nim);

AmplituudikarakteristikuH_ampja faasikarakteristikuH_pha saame järgne- valt:

>> H_amp = abs(H);

>> H_pha = angle(H);

Leiame rühmahilistusetau:

>> tau = grpdelay(lug,nim,1000);

Saadud karakteristikud on esitatud joonistel 1.18 ja 1.19 ƒ

(35)

1.6.2 FIR-filtrite disainimine akna meetodiga

Antud meetod seisneb lühidalt selles, et kõigepealt luuakse filtri soovitud sa- geduskarakteristik sagedusvallas, seejärel teisendatakse karakteristik Fourier’

pöördteisendust kasutades ajavalda, s.t saadakse impulsskaja. Seejärel tuleb impulsskaja lühendada ja nihutada (kausaalseks muutmine) ning enamasti ka aknafunktsiooniga korrutada.

Näide 1.20 Disainida FIR-madalpääsfilter, mille lõikesagedus onωc =π/10, järk 8 ning aknafunktsiooniks on nelinurkne aken. Lisaks täiendada filtrit nii, et sageduselω=0oleks filtri ülekanne 1.

Lahendus. Toodud tingimustele vastava ideaalse filtri amplituudikarakteris- tik on järgmine:

Hd(e) =

(1, |ωπ/10 0, mujal

Filtri impulsskajahd[n]saamiseks võtameHd(e)-st Fourier’ pöördteisen- duse:

hd[n] = 1 2π

Zπ

−π

Hd(e)ej nωdω= 1 2π

π/10Z

−π/10

ej nωdω=

= 1

2πj n·ej nω

π/10

−π/10

= 1

2πj n

€ej nπ/10−ej nπ/10Š

=...

Kasutades sulgudes oleva avaldise jaoks valemi (A.4) siinust käsitlevat osa, saame

...=sin(nπ/10) πn = 1

10·sin(nπ/10) nπ/10

Saadud filtri impulsskaja keskosa on esitatud joonisel 1.20; teoreetiliselt on antud impulsskaja lõpmatult pikk.

Filtriga on meil kaks probleemi:

1. filtri impulsskaja on lõpmatult pikk, s.tnon vahemikus−∞<n<∞ nullist erinev;

2. filter on mittekausaalne, s.t tema realiseerimiseks oleks vaja teada väär- tusi tulevikust (eelmisel joonisel nullist vasakule jäävad punktid).

(36)

n

-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30

Joonis 1.20— Näites 1.20 toodud tingimustele vastava ideaalse filtri impulss- kaja keskosa

Nendest probleemidest vabanemiseks korrutatakse impulsskaja läbi akna- funktsiooniga ja seejärel nihutatakse saadud tulemus paremale, s.t muude- takse filter kausaalseks.

Praegusel juhul kasutame nelinurkset akent, mis on defineeritud kui

w[n] =

(1, −4¶n¶4 0, mujal

Seega saame pärast aknafunktsiooniga korrutamist järgneva filtri impulsska- ja:

h[n] =hd[n]w[n] = (1

10·sin(nπ/10)nπ/10 , −4¶n¶4

0, mujal

Saadud filter on nüüd lõpliku pikkusega, kuid ikka veel mittekausaalne. Järg- neb veel nihutamine ehk kausaalseks muutmine:

h[n] = (1

10·sin((n−4)π/10)

(n−4)π/10 , 0¶n¶8

0, mujal

Andesn-le väärtuseid 0-st 8-ni ning arvutades, saame järgmise impulsskaja:

h[n] =0, 075δ[n] +0, 085δ[n−1] +0, 093δ[n−2] +0, 098δ[n−3]+

+0, 1δ[n−4] +0, 098δ[n−5] +0, 093δ[n−6]+

+0, 085δ[n−7] +0, 075δ[n−8]

Joonise 1.21 vasakpoolsel osal on näidatud aknafunktsiooniga korrutatud im- pulsskaja ja paremal pool on lisaks korrutamisele impulsskaja ka nihutatud, s.t filter on kausaalne.

(37)

n -15 -10 -5 n0 5 10 15

-15 -10 -5 0 5 10 15

-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12

Joonis 1.21— Näites 1.20 toodud filtri lõpliku pikkusega (vasakul) ning li- saks kausaalne (paremal) impulsskaja

Filtrile vastava diferentsvõrrandi saame otse impulsskajast:

y[n] =0, 075x[n] +0, 085x[n−1] +0, 093x[n−2] +0, 098x[n−3]+

+0, 1x[n−4] +0, 098x[n−5] +0, 093x[n−6]+

+0, 085x[n−7] +0, 075x[n−8]

Selleks et määrata kindlaks filtri ülekannet sageduselω = 0, peame kõige- pealt leidma ülekandefunktsiooni H(z). Leiame selle, võttes impulsskajast z-teisenduse:

H(z) =0, 0757+0, 0858z1+0, 0935z2+0, 0984z3+0, 1z4+ +0, 0984z−5+0, 0935z−6+0, 0858z−7+0, 0757z−8

Anname nüüd ülekandefunktsiooni sisendiks z = e, kui ω= 0, s.t z = ej·0=1:

H(1) =0, 0757+0, 0858+0, 0935+0, 0984+0, 1+0, 0984+0, 0935+

+0, 0858+0, 0757=0, 8069

Et filtri ülekanne ehk sageduskarakteristik sageduselω =0 oleks 1, peame filtri kordajaid korrutama tegurigaK:

K= 1

0, 8069=1, 2394

Filtri amplituudikarakteristik on esitatud joonisel 1.22. ƒ Näide 1.21 KasutadesMATLAB-i, disainida madalpääsfilter, mille lõikesage- dus on ω = π/10, aknafunktsiooniks on nelinurkne aken ning järguks on a) N=10 ja b) N = 100. Esitada saadud filtrite amplituudikarakteristikud graafiliselt.

(38)

|H(ejω)|,dB

ω

|H(ejω)|

0 1

5π 2

5π 3

5π 4

5π π

0 0.5 1

-80 -60 -40 -20 0

Joonis 1.22— Näites 1.20 toodud filtri amplituudikarakteristikud. Vastava ideaalse filtri sageduskarakteristik on tähistatud peene joonega

Lahendus. Kuna on antud filtri lõikesagedus, aknafunktsioon ning järk, siis saame kasutada MATLAB-i käskufir1.

Leiame kõigepealt filtri kordajad, s.t vektorib1, kui järguks on 10:

b1 = fir1(10, 1/10, window(@rectwin, 11));

Analoogselt leiame kordajad, kui filtri järk on 100:

b2 = fir1(100, 1/10, window(@rectwin, 101));

Saadud filtrite sageduskarakteristikute esitamiseks kasutame käskufreqz:

[H1, w] = freqz(b1, 1);

[H2, w] = freqz(b2, 1);

Nüüd leiame veel amplituudikarakteristikud:

amp1 = abs(H1);

amp2 = abs(H2);

Saadud amplituudikarakteristikud on esitatud joonisel 1.23. ƒ

1.6.3 Optimaalse FIR-filtri disainimine

Vaatame optimaalse FIR-filtri disainimist MATLAB-s, kasutades selleks Parks- McClellani meetodit. Selleks on MATLAB-is käsudfirpmjafirpmord, vane- mates MATLAB-i versioonides on nende nimetusedremezjaremezord.

(39)

|H(ejω)|,dB

ω

|H(ejω)| IdealN=10

N=100

0 1

5π 2

5π 3

5π 4

5π π

0 0.5 1

-80 -60 -40 -20 0

Joonis 1.23— Näites 1.21 toodud filtri amplituudikarakteristikud

Näide 1.22 Disainida optimaalne FIR-madalpääsfilter, mis rahuldaks järgmisi tingimusi:

Diskreetimissagedus: 1000 Hz Läbilaskeriba: 0 – 50 Hz

Tõkkeriba: 70 – 250 Hz

Läbilaskeriba kõikumine: 0.5 dB Tõkkeriba sumbuvus: 40 dB

Esitada graafiliselt filtri amplituudi- ja faasikarakteristikud.

Lahendus. Kuna nii läbilaskeriba kõikumine (ripple) kui ka tõkkeriba sum- buvus on antud dB-des, siis tuleb neid kõigepealt teisendada. Lisaks esitame need suurused ühe vektorina:

>> Rp = 0.5;

>> Rs = 40;

>> dev = [(10^(Rp/20)-1)/(10^(Rp/20)+1) 10^(-Rs/20)]

dev =

0.0288 0.0100

Samuti moodustame filtri lõikesagedustest vektori

>> f = [50 70];

Samuti moodustame vastavatest soovitud amplituudidest vektori:

>> a = [1 0];

(40)

|H(ejω)|,dBφ(ω),

f, Hz

|H(ejω)|

0 50 100 150 200 250 300 350 400 450 500

0 0.5 1

-1000 -500 -800 -60 -40 -20 0

Joonis 1.24— Näites 1.22 toodud filtri amplituudi- ja faasikarakteristikud

Nüüd kasutame filtri järgu saamiseks käskufirpmord:

>> [n,fo,ao,w] = firpmord(f, a, dev, 1000);

Antud juhul saame filtri järguksn=82.

Filtri kordajatebleidmiseks kasutame käskufirpm:

>> b = firpm(n, fo, ao, w);

Leiame nüüd filtri sageduskarakteristiku:

>> [H,f] = freqz(b, 1, 1000, 1000);

Filtri amplituudi- ja faasikarakteristikud on esitatud joonisel 1.24. ƒ

1.6.4 IIR-filtrite disainimine

Vaatleme järgnevaid IIR-filtreid: Butterworth, Tšebõšov I ja II (kasutatakse ka kirjapilti Chebyshev või Chebysheff) ning elliptiline. Filtrite disainimiseks kasutame MATLAB-i.

Näide 1.23 Disainida näites 1.22 toodud nõuetele vastavada) Butterworthi, b) Tšebõšovi I,c) Tšebõšovi II jad) elliptiline filter. Esitada filtrite amplituudi- ja faasikarakteristikud ning rühmahilistuse graafikud.

Referenzen

ÄHNLICHE DOKUMENTE

Laps saab 4 punkti ka juhul, kui ta osutab valedele piltidele, kuid toob pildi alusel sellele aastaajale omased tunnused välja ning selle põhjal võib järeldada, et antud pildil

Joonisel 6 on näha sarnaselt joonisele 2, et mida suurem on Pr 4 NCl kontsentratsioon mõõtmisseerias, seda negatiivsem on logP app väärtus madalatel

Eel- ja järeltesti keskmiste tulemuste statistiliselt oluline erinevus testgrupi õpilaste puhul kinnitas ka üldjoontes töös püstitatud teist hüpoteesi: läbiviidud STO

Mida suurem vahemik on pakutava toote/teenuse ning kliendi ootuste vahel, seda suurem on ka kliendi rahulolematus ning väheneb tõenäosus, et klient tarbiks sama toodet

Mida suurem on liikuva keha mass ja kiirus, seda rohkem võib keha põrkel purustada.. Mida kiiremini (lühema ajaga) põrge toimub, seda suurem on

Käesoleva uurimustöö eesmärgiks oli välja selgitada Tartumaa koolide klassiõpetajate teadmised autismispektri häire iseärasustest ning autistlike laste

Tasu edasilükkamise šansside suhe 3,862 tähendab, et kärsituma valiku teinud inimestel on umbes 3,9 korda suurem tõenäosus kuuluda kõrge mängusõltuvuse riskiga mängijate

Lasteaiakoha kogumaksumuse kohta on ka uuritud, kas see mõjutab kohaliku omavalitsuse või lapsevanemate tasu suurust ning leitud, et mida suurem on kogumaksumus, seda vähem peavad