sunnuntai 26. maaliskuuta 2017

Luento 27.3. Suodinsuunnittelu


Tänään tutustuttiin suodinsuunnitteluun ikkunamenetelmällä. Suunnittelukriteerit ovat kahtalaiset: suotimen taajuusvasteen määräämiseksi pitää tietää millainen vaihevaste halutaan ja millainen amplitudivaste halutaan.

Vaihevasteen osalta vaaditaan että kaikkien taajuuksien tulee viivästyä yhtä paljon. Tämä toteutuu jos vaihevaste on lineaarinen. Yksinkertaisimmissa tapauksissa vaihevasteen lauseke voi olla siis esimerkiksi muotoa -2w, joka taatusti on lineaarinen. Matlabissa tällainen kuvaaja saadaan esim. komennoilla:

>> [H,W] = freqz([1, 1, 1]);
>> plot(angle(H));
>> grid on

Freqz-funktiosta saa siis ulos taajuusvastefunktion arvoja vektorissa H. Vektorissa on lueteltu taajuusvasteen kompleksiset lukuarvon 512:ssa pisteessä taajuusakselilla. 

Vaihevasteen derivaatasta käyteään nimeä ryhmäviive, ja se ilmaisee suoraan eri taajuuksille tulevan viiveen näytteinä (miinusmerkkisenä). Lopuksi todettiin, että vaihevaste on aina lineaarinen, jos impulssivasteen termit ovat symmetrisesti keskipisteen suhteen.

Amplitudivasteen osalta tavoitteena on saada vaste päästökaistalla ykköseksi ja estokaistalla nollaksi. Käytännössä tämä ei ole mahdollista, vaan suotimelle täytyy antaa hieman toleranssia ja sallia tietty määrä värähtelyä molemmilla kaistoilla. Lisäksi kaistojen väliin täytyy sallia "don't care" -alue, jossa amplitudivaste saa olla mitä vain.

Prujussa ratkaistaan mikä impulssivaste toteuttaisi ideaalisen amplitudivasteen (arvot vain nollaa tai ykköstä). Osoittautuu että impulssivasteen muoto on tuttu sinc-funktio, mutta sen pituus on ääretön. Tämän vuoksi suotimesta ei saataisi ainuttakaan vastearvoa koskaan, vaan laskentaa tarvittaisiin äärettömän paljon.

Tästä ongelmasta päästään katkaisemalla impulssivaste, mutta tämä luonnollisesti vaikuttaa amplitudivasteeseen. Oikealla olevan kuvan mukaisen demottiin, että suoralla katkaisulla ei estokaistan värähtelyä saada millään alle n. 21 desibelin, ja päästökaistallakin suurin heitto on luokkaa 0.7 dB. Ratkaisu tähän on käyttää ikkunointia, eli kertoa katkaistu impulssivaste jollain ikkunafunktiolla. Näin voidaan päästä parempiin vaimennusominaisuuksiin.

Ideaalisen suotimen impulssivasteen pituus on ääretön, eikä sitä voi käytännössä toteuttaa. Näin ollen impulssivaste on katkaistava, mistä seuraa vääristymä amplitudivasteeseen. Matlab-testeillä havaittiin, että tätä ei voi kompensoida esim. kertoimia lisäämällä, vaan on käytettävä ikkunaa, joka pehmentää katkaisun vaikutusta. Ikkunoita on lueteltu esim. sivun 84 taulukossa, ja mitä paremmat vaimennusominaisuudet niillä on, sitä leveämpi siirtymakaistasta tulee. Onneksi tätä voidaan kuitenkin kompensoida kertoimia lisäämällä.

Ei kommentteja:

Lähetä kommentti