26.10.2014 Views

Harjoitus 3

Harjoitus 3

Harjoitus 3

SHOW MORE
SHOW LESS

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

1.<br />

Kausaali suodatin käyttää laskennassaan vain nykyisiä ja aiempina ajanhetkinä<br />

(= pienemmillä indeksiarvoilla) mitattuja tai laskettuja signaaliarvoja, jotka<br />

suodatin lukee muistista. Kausaalisuus on välttämätöntä reaaliaikajärjestelmille.<br />

Matemaattisesti kausaalisuusehto voidaan ilmaista muodossa h ( n) = 0 , n < 0 (eli<br />

suodatin on kausaali, jos sen impulssivaste saa nollasta poikkeavia arvoja vain,<br />

kun indeksi on nolla tai positiivinen).<br />

Määritä seuraavien suodattimien impulssivasteet ja tutki, ovatko ne kausaaleja:<br />

a)<br />

a) y(n) = x(n) + 0.5x(n-1)<br />

b) y(n) = x(n) + 0.5x(n+1)<br />

Sij. x ( n) = δ ( n) ⇒ y( n) = h( n)<br />

h<br />

⎧1,<br />

n = 0<br />

⎨<br />

⎩0.5,<br />

n = 1<br />

( n) = δ ( n) + 0 .5⋅δ<br />

( n −1) = = { 1, 0.5} ⇒ h( n) = 0, n = 0<br />

Suodatin on siis kausaali. Huomaa, että lähtö y(n) riippuu vain nykyisestä [x(n)] ja<br />

tätä edeltävästä [x(n-1)] tulosignaalin arvosta.<br />

b)<br />

Sij. x ( n) = δ ( n) ⇒ y( n) = h( n)<br />

h<br />

⎧0.5,<br />

n = −1<br />

⎨<br />

⎩1,<br />

n = 1<br />

( n) = δ ( n) + 0.5<br />

⋅δ<br />

( n + 1) =<br />

⇒ h( n) ≠ 0, n = −1<br />

Suodatin ei siis ole kausaali. Huomaa, että lähtö y(n) riippuu nykyisestä [x(n)] ja<br />

seuraavaksi tulevasta [x(n+1)] tulosignaalin arvosta. Reaaliaikajärjestelmässä ei ole<br />

aikaa odotella seuraavaksi tulevia arvoja.<br />

©Jyrki Laitinen 1


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

2.<br />

Stabiili suodatin tuottaa äärellisestä herätteestä äärellisen vasteen.<br />

Matemaattisesti stabiilisuusehto voidaan ilmaista muodossa<br />

∑ ∞<br />

−∞ k =<br />

h ( k)<br />

< ∞ (eli<br />

suodatin on stabiili, jos sen impulssivasteen arvojen itseisarvojen summa on<br />

äärellinen).<br />

Määritä seuraavien suodattimien impulssivasteet ja tutki ovatko ne stabiileja:<br />

a)<br />

a) y(n) = x(n) + 1.5y(n-1)<br />

b) y(n) = x(n) - 0.5y(n-1)<br />

Sij. x ( n) = δ ( n) ⇒ y( n) = h( n)<br />

h<br />

n<br />

n<br />

n<br />

n<br />

n<br />

M<br />

( n) = δ ( n) + 1.5⋅<br />

h( n −1)<br />

= 0 : h( 0) = δ ( 0)<br />

+ 1.5⋅<br />

= 1: h( 1) = δ ( 1)<br />

+ 1.5 ⋅ h<br />

= 2 : h( 2) = δ ( 2)<br />

+ 1.5 ⋅<br />

= 3 : h( 3) = δ ( 3)<br />

+ 1.5 ⋅<br />

= 4 : h( 4) = δ ( 4)<br />

+ 1.5 ⋅<br />

n = n :<br />

h<br />

h(<br />

−1)<br />

= 1+<br />

1.5 ⋅ 0 = 1<br />

(0) = 0 + 1.5 ⋅1<br />

= 1.5<br />

h(1)<br />

= 0 + 1.5 ⋅1.5<br />

= 1.5<br />

h(2)<br />

= 0 + 1.5 ⋅1.5<br />

h(3)<br />

= 0 + 1.5 ⋅1.5<br />

( = 2.25)<br />

3<br />

= 1.5 ( = 3.375)<br />

4<br />

= 1.5 ( = 5.0625)<br />

n−1<br />

n<br />

( n) = δ ( n) + 1.5 ⋅ h(<br />

n −1)<br />

= 0 + 1.5 ⋅1.5<br />

= 1.5<br />

2<br />

3<br />

2<br />

∑ ∞<br />

k = −∞<br />

b)<br />

2 3 4<br />

h ( k)<br />

= 1+<br />

1.5 + 1.5 + 1.5 + 1.5 + L → ∞ ⇒ Suodatin ei ole stabiili.<br />

Sij. x ( n) = δ ( n) ⇒ y( n) = h( n)<br />

h<br />

n<br />

n<br />

n<br />

n<br />

n<br />

( n) = δ ( n) + 0.5⋅<br />

h( n −1)<br />

= 0 : h( 0) = δ ( 0)<br />

+ 0.5⋅<br />

= 1: h( 1) = δ ( 1)<br />

+ 0.5 ⋅ h<br />

= 2 : h( 2) = δ ( 2)<br />

+ 0.5 ⋅<br />

= 3 : h( 3) = δ ( 3)<br />

+ 0.5 ⋅<br />

= 4 : h( 4) = δ ( 4)<br />

+ 0.5 ⋅<br />

M<br />

n = n :<br />

∑ ∞<br />

k = −∞<br />

h<br />

h(<br />

−1)<br />

= 1+<br />

0.5 ⋅ 0 = 1<br />

(0) = 0 + 0.5 ⋅1<br />

= 0.5<br />

h(1)<br />

= 0 + 0.5 ⋅ 0.5 = 0.5<br />

h(2)<br />

= 0 + 0.5 ⋅ 0.5<br />

h(3)<br />

= 0 + 0.5 ⋅ 0.5<br />

( = 0.25)<br />

3<br />

= 0.5 ( = 0.125)<br />

4<br />

= 0.5 ( = 0.0625)<br />

n−1<br />

n<br />

( n) = δ ( n) + 0.5 ⋅ h(<br />

n −1)<br />

= 0 + 0.5 ⋅ 0.5 = 0.5<br />

2<br />

3<br />

2 3 4 1<br />

h ( k)<br />

= 1+<br />

0.5 + 0.5 + 0.5 + 0.5 + L = = 2 < ∞ ⇒ Suodatin on stabiili.<br />

1−<br />

0.5<br />

2<br />

©Jyrki Laitinen 2


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

Edellä oli kyseessä geometrinen sarja, jonka ensimmäinen termi a = 1 ja peräkkäisten<br />

termien välinen suhde q = 0.5. Jos |q|


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

3.<br />

Lineaarisen aikainvariantin (LTI) suodattimen impulssivaste on h(n) = {-0.01,<br />

0.02, -0.10, 0.40, -0.10, 0.02, -0.01}.<br />

a) Esitä suodattimen differenssiyhtälö.<br />

b) Suunnittele suodattimelle toteutus, joka minimoi kertolaskujen määrän.<br />

c) Esitä suunnittelemasi toteutus lohkokaaviona.<br />

d) Määritä sekunnissa tarvittavien lasku- ja muistioperaatioiden määrä, jos<br />

suodatettavan signaalin näytetaajuus f s = 44100 Hz.<br />

Koska impulssivaste on äärellisen pituinen (N = 7) on kyseessä FIR-suodatin.<br />

Impulssivasteen h(n) arvot ovat FIR-suodattimen tapauksessa suoraan<br />

suodinkertoimien a k arvoja. Tämän perusteella voidaan nyt helposti kirjoittaa<br />

differenssiyhtälö, jota muokkaamalla kertolaskujen määrä minimoituu.<br />

y<br />

( n) = a x( n) + a x( n − ) + a x( n − 2) + a x( n − 3) + a x( n − 4) + a x( n − 5) + a x( n − 6)<br />

0<br />

= −0.01⋅<br />

x<br />

= −0.01⋅<br />

1<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

( n) + 0.02 ⋅ x( n −1) − 0.10 ⋅ x( n − 2) + 0.40 ⋅ x( n − 3) − 0.10 ⋅ x( n − 4) + 0.02 ⋅ x( n − 5) − 0.01⋅<br />

x( n − 6)<br />

{ x( n) + x( n − 6)<br />

} + 0.02 ⋅{ x( n −1) + x( n − 5)<br />

} − 0.10 ⋅{ x( n − 2) + x( n − 4)<br />

} + 0.40 ⋅ x( n − 4)<br />

x[n] z -1 z -1 z -1<br />

z -1 z -1 z -1<br />

-0.01<br />

0.02 -0.10<br />

0.40<br />

y[n]<br />

©Jyrki Laitinen 4


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

4.<br />

Tarkastellaan oheista IIR-suodatinta.<br />

x(n)<br />

0.3<br />

y(n)<br />

z -1<br />

0.6<br />

0.1<br />

z -1<br />

z -1<br />

0.3<br />

0.1<br />

z -1<br />

a) Määritä suodattimen differenssiyhtälö.<br />

b) Määritä suodinkertoimet.<br />

c) Määritä laskentakapasiteetti- ja muistivaatimus.<br />

a)<br />

y ( n)<br />

= 0.3⋅<br />

x(<br />

n)<br />

+ 0.6 ⋅ x(<br />

n −1)<br />

+ 0.3⋅<br />

x(<br />

n − 2)<br />

+ 0.1⋅<br />

y(<br />

n −1)<br />

+ 0.1⋅<br />

y(<br />

n − 2)<br />

b)<br />

y ( n ) = a0<br />

⋅ x ( n ) + a1<br />

⋅ x ( n −1<br />

) + a2<br />

⋅ x ( n − 2 ) − b1<br />

⋅ y ( n −1<br />

) − b2<br />

⋅ y ( n − 2 )<br />

= 0.3⋅<br />

x( n) + 0.6 ⋅ x( n −1) + 0.3⋅<br />

x( n − 2) + 0.1⋅<br />

y( n −1) + 0.1⋅<br />

y( n − 2)<br />

⇒<br />

a<br />

0<br />

2<br />

= 0.3<br />

a1<br />

= 0.6<br />

a = 0.3<br />

b = −0.1<br />

b<br />

1<br />

2<br />

= −0.1<br />

c)<br />

Yhteenlaskuja 4 kpl<br />

Kertolaskuja 5 kpl<br />

Muistihakuja 4 kpl<br />

©Jyrki Laitinen 5


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

5.<br />

Huomataan, että tehtävän 4 suodatin koostuu kahdesta peräkkäisestä<br />

suodattimesta. Tällaista esitystä kutsutaan suora muoto I:ksi.<br />

x(n)<br />

0.3<br />

y(n)<br />

z -1<br />

0.6<br />

0.1<br />

z -1<br />

z -1<br />

0.3<br />

0.1<br />

z -1<br />

Suodatin 1 Suodatin 2<br />

Koska suodattimet ovat lineaarisia ja aikainvariantteja (LTI), niiden järjestystä<br />

voidaan vaihtaa, jolloin rakenne muuttuu seuraavaksi<br />

x(n)<br />

0.1<br />

0.1<br />

0.3<br />

w(n)<br />

z -1 z -1<br />

z -1 z -1<br />

0.6<br />

0.3<br />

y(n)<br />

Suodatin 2<br />

Suodatin 1<br />

Tämä rakenne esitetään useimmiten lyhyemmin alla esitetyssä muodossa, jota<br />

kutsutaan suora muoto II:ksi.<br />

x(n)<br />

0.1<br />

0.1<br />

0.3<br />

z -1<br />

0.6<br />

z -1<br />

0.3<br />

y(n)<br />

a) Määritä suodatin 2:sen lähtö w(n).<br />

b) Määritä suodatin 1:sen lähtö y(n), kun tulosignaalina on w(n).<br />

c) Mitä etua tällä suodatusjärjestyksellä saavutetaan?<br />

a)<br />

w ( n)<br />

= x(<br />

n)<br />

+ 0.1⋅<br />

w( n −1)<br />

+ 0.1⋅<br />

w(<br />

n − 2)<br />

b)<br />

y ( n)<br />

= 0.3⋅<br />

w( n)<br />

+ 0.6 ⋅ w( n −1)<br />

+ 0.3⋅<br />

w(<br />

n − 2)<br />

©Jyrki Laitinen 6


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

c)<br />

Kuten a) ja b)-kohdan kaavoista huomataan luetaan kummassakin suodattimessa<br />

muistista arvot w(n-1) ja w(n-2). Nämä voidaan säilyttää neljän muistipaikan<br />

(viiveen) asemesta kahdessa muistipaikassa, jolloin muistinkäyttö tehostuu.<br />

Suora muoto II vaatii nyt<br />

Yhteenlaskuja 4 kpl<br />

Kertolaskuja 5 kpl<br />

Muistihakuja 2 kpl<br />

Seuraavassa kuvassa on esitetty tehtävän 4 ja 5 suodattimen amplitudispektri (ylempi)<br />

ja vaihespektri (alempi).<br />

Taajuusasteikko on välillä 0 .. π, joka vastaa taajuuksia 0 .. f s /2. Jos suodatettavan<br />

signaalin näytetaajuus on esimerkiksi 44100 Hz, on kuvassa esitetty taajuusväli 0 ..<br />

22050 Hz.<br />

Amplitudiarvot on esitetty desibeliyksiköissä [dB]. 0 dB vastaa vahvistusarvoa 1, -20<br />

dB vahvistusarvoa 0.1, -40 dB vahvistusarvoa 0.01, jne.<br />

0<br />

Magnitude (dB)<br />

-20<br />

-40<br />

-60<br />

-80<br />

-100<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Normalized Frequency (×π rad/sample)<br />

0<br />

Phase (degrees)<br />

-50<br />

-100<br />

-150<br />

-200<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Normalized Frequency (×π rad/sample)<br />

©Jyrki Laitinen 7


TL5361, Näytejonosysteemit (K2007)<br />

<strong>Harjoitus</strong> 3<br />

6. (Kotitehtävä)<br />

Erään reaaliaikasovelluksissa käytettävän DSP-piirin yhden käskyn suoritusaika<br />

on 11 ns (nanosekuntia). Piirin käskykannassa on käsky MACD, joka hakee<br />

yhden tulosignaalin näytearvon ja yhden suodinkerroinarvon muistista,<br />

suorittaa yhden suodinkertoimen ja näytearvon kertolaskun ja siirtää yhden<br />

näytearvon muistiin seuraavalle muistipaikalle 11 ns aikana.<br />

Suodatettaessa signaalia Q:n asteen FIR-suotimella tarvitaan yksi käsky<br />

näytearvon x(n) lukemiseen, Q+1 MACD-käskyä konvoluutiosumman<br />

laskemiseen ja yksi käsky suodatetun arvon y(n) tulostamiseen. Lisäksi tarvitaan<br />

kahdeksan muuta käskyä mm. muistin initialisointiin.<br />

Olkoon Q = 154. Kuinka monta näytepistettä voidaan edellä kuvatulla piirillä<br />

enintään suodattaa sekunnissa?<br />

Esitä tulos ja perustelu erillisellä paperilla, jonka palautat nimelläsi ja<br />

ryhmätunnuksellasi varustettuna laskuharjoituksen yhteydessä opettajalle.<br />

Yhden lähtöarvon laskemiseen tarvitaan<br />

· 1 käsky uuden näytearvon x(n) lukemiseen<br />

· Q + 1 käskyä konvoluutiosumman laskemiseen<br />

· 1 käsky uuden näytearvon y(n) tulostamiseen<br />

· 8 muistin initialisointi yms. käskyä<br />

⇒ yhteensä tarvitaan Q + 11 käskyä/lähtöarvo<br />

⇒ yhden näytearvon käsittelyyn kuluva aika on (Q+11)·11 ns<br />

Nyt Q = 154 ⇒ yhden näytearvon käsittelyyn kuluu (154+11)·11 ns = 1815 ns<br />

Sekunnissa voidaan siis suodattaa enintään 1/(1815·10 -9 ) = 550964 näytepistettä.<br />

©Jyrki Laitinen 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!