Miten äänikoodekkia käytetään sulautetuissa järjestelmissä äänentoiston helppoon optimointiin
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2021-02-17
Monet suunnittelijat lisäävät mikrokontrolleripohjaiseen sulautettuun järjestelmään äänikoodekin korkealaatuisen äänen tuottamiseksi. Silloin heidän täytyy selvittää, miten säätää äänikoodekki heidän sovelluksiinsa sopivaksi. Ilman säätöä toteutus voi kuulostaa alavireiseltä tai heikkolaatuiselta jopa hyvällä koodekilla ja kaiuttimella. Ongelmana on, että jokaisella kaiuttimella on oma taajuusvasteensa ja siten koodekki tulee säätää kaiuttimen ominaisuuksiin sopivaksi ja samalla täytyy pitää mielessä, minkä tyyppistä ääntä toistetaan ja millainen vaste tarvitaan.
Ratkaisu äänentoistojärjestelmän säätämiseen ei ole laitteistolla toteutetun suodatuksen käyttö, vaan äänikoodekin omien digitaalisten suodatinlohkojen hyödyntäminen. Jokaisessa koodekissa on tällainen lohko, ja sen avulla suunnittelija voi suodattaa lähdön ylipäästö-, alipäästö- ja kaistanpäästösuodattimien kautta. Tämä mahdollistaa kaiuttimen vasteen huolellisen säätämisen ja tarvittaessa jopa mukauttamisen.
Tässä artikkelissa käsitellään koodekkien sisältämiä sisäisiä digitaalisia äänilohkoja ja siinä käytetään esimerkkinä AKM Semiconductorin koodekkia . Siinä annetaan myös monia vinkkejä koodekin säätämiseen, joiden avulla suunnittelijat kehittävät äänentoiston nopeammin ja parantavat samalla järjestelmän äänenlaatua.
Kaiuttimien taajuusvasteen ymmärtäminen
Artikkelissa ”Äänikoodekin ja mikrokontrollerin valinta sulautetuille äänipalautetiedostoille” käsiteltiin perustietoja siitä miten valita koodekki ja miten se lisätään järjestelmään. Seuraavana vaiheena on käyttää kyseistä koodekkia parhaan mahdollisen äänen saamiseksi.
On monia eri tekijöitä, jotka vaikuttavat siihen, miltä järjestelmän tuottama ääni kuulostaa. Niihin kuuluvat:
- Kaiuttimen kotelo
- Miten kaiutin on asennettu
- Toistettavat äänitaajuudet
- Kaiuttimen taajuusvaste.
Kun suunnittelija on punninnut huolella näitä tekijöitä, hän ymmärtää, että audiojärjestelmän säätäminen on järkevää vasta viimeisessä tuotantovaiheessa. Järjestelmä voidaan tietenkin säätää piirilevyn ja kaiuttimen ollessa kotelon ulkopuolella, mutta ei pidä odottaa, että samat säätöparametrit pätisivät myös silloin, kun kaiutin on asennettuna koteloonsa.
Jos mekaniikkatiimi on suunnitellut järjestelmän kotelon ja asennuksen kunnollisesti, tärkein ominaisuus, johon suunnittelijan täytyy kiinnittää erityistä huomiota, on kaiuttimen taajuusvaste. Jokaisella kaiuttimella on erilaiset ominaisuudet ja vastekäyrät. Jopa kaiuttimet, joilla on sama osanumero, poikkeavat toisistaan hieman taajuusvasteessa, mutta valmistaja ilmoittaa normaalisti niiden tyypillisen taajuusvastekäyrän. Kuvassa 1 näkyy esimerkkinä taajuusvastekäyrä CUI Devices -yhtiön 8 ohmin (Ω), 1 watin GC0401K-kaiuttimelle. GC0401K on luokiteltu 390 hertsin (Hz) ja 20 kilohertsin (kHz) välisille taajuuksille.
Kuva 1: CUI Devices GC0401K, 8 Ω:n ja 1 W:n kaiutin on suunniteltu 390 Hz:n ja 20 kHz:n välisille taajuuksille. (Kuvan lähde: CUI Devices)
Kaiuttimet on luokiteltu tyypillisesti sille osalle vastekäyräaluetta, jolla vaste on suhteellisen tasainen. Kuvan 1 lähempi tarkastelu osoittaa, että GC0401K-kaiuttimen taajuusvaste alkaa tasoittua noin 350 Hz:ssä ja pysyy suhteellisen tasaisena vähintään 9 kHz:iin saakka. Korkeissa taajuuksissa tapahtuu hieman pudotusta, mutta vakaus säilyy 20 kHz:iin saakka.
Erilainen kaiuttimen taajuusvaste nähdään CUI Devices -yrityksen mallissa GF0668 (kuva 2). Tämä kaiutin on hieman suurempi ja sen teholuokitus on 3 W. Taajuusvasteväli on 240 Hz – 20 kHz. Tämä kaiutin pystyy hieman alhaisempiin taajuuksiin kuin C0401K, mutta on huomattava jälleen, että käyrä on mainitulla alueella suhteellisen tasainen ja se sisältää kauttaaltaan joitakin kuoppia ja huippuja.
Kuva 2: 8 Ω:n ja 3 W:n CUI Devices GF0668 -kaiuttimen taajuusvaste osoittaa, miksi se on luokiteltu alueelle 240 Hz – 30 kHz. (Kuvan lähde: CUI Devices)
Tarkastelun arvoinen on vielä yhden kaiuttimen vaste, Soberton Inc. SP-2804Y (kuva 3). SP-2804Y on 500 milliwatin (mW) kaiutin, jonka taajuusvastealue on 600 Hz – 8 kHz. Fysiikan lait takaavat, että mitä pienempi kaiutin on, sitä vaikeampi sen on reagoida alhaisempiin taajuuksiin. Tämä tarkoittaa, että jos suunnittelijat eivät suodata pois alhaisempia taajuuksia, vaan yrittävät ohjata kaiutinta kyseisillä taajuuksilla, tuloksena voi rahisevaa ääntä tai puutteita äänessä, joka muutoin voisi olla kristallinkirkas.
Huomaa myös, että taajuusvaste heikkenee huomattavasti noin 10 kHz:ssä. Tämän vuoksi kaiutin on luokiteltu vain 8 kHz:iin saakka, vaikka sitä voitaisiin todennäköisesti käyttää joissakin sovelluksissa 20 kHz:iin asti.
Kuva 3: Soberton Inc. -yrityksen 8 Ω:n ja 0,5 W:n SP-2804Y-kaiuttimen taajuusvaste osoittaa sen sopivan taajuusalueelle 600 Hz – 8 kHz. Käyrä laskee 10 kHz:n jälkeen, mutta kaiutinta voidaan silti käyttää joissakin sovelluksissa 20 kHz:iin saakka. (Kuvan lähde: CUI Devices)
Kunkin kaiuttimen taajuusvasteen tarkastelu osoittaa selvästi, että jonkin tyyppinen suodatus ja säätö on välttämätöntä, sillä kaiutinta ei tulisi käyttää kaikilla taajuuksilla. Esimerkiksi 4 Hz:n bassoäänen syöttäminen näihin kaiuttimiin voi aiheuttaa pitkäkestoista värähtelyä. Kun tähän syötetään korkeampia taajuuksia, äänen vääristymiä syntyy runsaasti.
Digitaalisen äänisuodatinlohkon analysointi
Yksi menetelmä, jota on aikaisemmin käytetty ei-toivottujen taajuuksien poishäivyttämiseen, on toteuttaa suodattimet laitteistolla ennen kaiuttimia. Esimerkiksi 500 Hz:n ylipäästösuodatin voi täysin estää alle 500 Hz:n taajuuksien pääsyn kaiuttimeen. Toisessa päässä yli 15 kHz:n äänien poistoon voidaan käyttää alipäästösuodatinta. Omakohtainen kokemus on osoittanut, että joskus toistettaessa naisen ääntä pienellä kaiuttimella, joka on tehokas korkeammilla taajuuksilla, kaiuttimen ääni voi kuulostaa nasaaliselta. Taajuuksien huolellisella valinnalla voidaan poistaa nämä vääristymät ja luoda ääni, joka kuulostaa puhtaammalta.
Siihen voidaan käyttää ulkoisia laitteistolla toteutettuja suodattimia, mutta ne nostavat kustannuksia ja vievät ylimääräistä tilaa. Näistä syistä on käytännöllisempää ja tehokkaampaa säätää ääntä äänikoodekkiin sisäänrakennetulla digitaalisella suodatinlohkolla.
Esimerkiksi AKM Semiconductorin 24-bittisen AK4637-äänikoodekin lohkokaaviossa on korostettuna digitaalinen suodatinlohko (kuva 4).
Kuva 4: AK4637-äänikoodekissa on monokaiutinlähtö, ja sillä voi sekä toistaa että tallentaa ääntä. Siinä on sisäinen äänilohko, jolla tulevaa ja lähtevää ääntä laatua voidaan parantaa suodattamalla. (Kuvan lähde: AKM Semiconductor)
Digitaalinen suodatinlohko sisältää tässä tapauksessa erilaisia suodatustoimintoja, muun muassa:
- Ylipäästösuodatin (HPF2)
- Alipäästösuodatin (LPF)
- Nelikaistainen taajuuskorjain (4-kaistainen EQ)
- Automaattinen tasonsäätö (ALC)
- Yksikaistainen taajuuskorjain (1-kaistainen EQ).
Kaikkia näitä toimintoja ei tarvitse ottaa käyttöön. Suunnittelijat voivat valita, mitä toimintoja he tarvitsevat, ja aktivoida tai deaktivoida lohkon tai ohjata mikrofonin tai äänentoiston niiden kautta. Varsinainen kysymys kuuluu tällöin, miten laskea ja ohjelmoida äänikoodekki?
Miten digitaalisen suodattimen parametrit lasketaan ja ohjelmoidaan?
Useimmissa äänisovelluksissa ylipäästösuodatinta käytetään alhaisempien taajuuksien poistoon ja alipäästösuodatinta korkeampien taajuuksien häivyttämiseen. Taajuusvastekäyrän tasoitukseen ja tiettyjen äänien korostamiseen voidaan käyttää taajuuskorjainta. Tässä artikkelissa ei käsitellä sitä, miten nämä asetukset tulee tarkalleen valita. Sen sijaan siinä tarkastellaan, miten näihin parametreihin liittyvät arvot lasketaan ja ohjelmoidaan käyttämällä esimerkkinä AKM AK4637 -piiriä.
Ensinnäkin teknisten taulukkojen tarkastelu kannattaa aina. Sen sivuilla 7 ja 8 on erittäin tärkeä koodekin rekisterikartta. Kartta voi näyttää ensiksi haastavalta, sillä piiri sisältää 63 rekisteriä. Monet näistä rekistereistä ohjaavat kuitenkin digitaalista äänilohkoa. Esimerkiksi rekisterit 0x22–0x3F ohjaavat taajuuskorjainta. Rekisterit 0x19–0x1C ohjaavat ylipäästösuodatinta, kun taas rekisterit 0x1D–0x20 ohjaavat alipäästösuodatinta.
Suunnittelijat eivät yleensä voi vain määritellä taajuutta, joka tulee syöttää koodekkiin. Jotta suodatin voidaan tuottaa halutulle taajuudelle, suodatinkertoimien laskentaan käytetään suodatinyhtälöä ja sen jälkeen kertoimet ohjelmoidaan koodekin rekistereihin. Digitaalisella suodatinlohkolla voidaan esimerkiksi luoda 600 Hz:n ylipäästösuodatin käyttämällä yhtälöä 1:
Kuva 5: Kuvassa näkyvät yhtälöt, jotka tarvitaan ylipäästösuodattimen kertoimien laskentaan digitaalista AK4637-suodatinlohkoa varten. (Kuvan lähde: AKM Semiconductor)
Suunnittelija identifioi halutun rajataajuuden fc, joka on tässä tapauksessa 600 Hz. Äänen näytteenottotaajuus fs on tyypillisesti 48 kHz, mutta voi vaihdella sovelluksesta riippuen. Nämä arvot sijoitetaan sen jälkeen yhtälöihin kertoimien A ja B laskentaa varten. Nämä kirjoitetaan käynnistyksen aikana koodekin rekistereihin I2C-väylän kautta. Samaa prosessia käytetään alipäästösuodattimille ja muille digitaalisille lohkotoiminnoille. Siirtotoiminnot poikkeavat kuitenkin usein toisistaan ja edellyttävät oman yhtälösarjansa käyttöä (katso tarvittavat tiedot teknisestä taulukosta).
Vinkkejä äänikoodekin säätöön
Äänikoodekkiin sisältyvät digitaaliset suodatinlohkot ovat usein melko joustavia ja tehokkaita. Jopa matalahintainen koodekki tarjoaa suunnittelijoille tarvittavat työkalut korkealaatuisen äänen tuottoon. Loppujen lopuksi äänikoodekki on kuitenkin vain yksi palapelin osa. Tässä on joitakin vinkkejä audiokoodekkien tehokkaaseen säätöön:
- Varmista, että kaiutin on asennettu käyttötarkoitusta varten sopivaan koteloon. Huonosti suunniteltu kaiutinkotelo voi helposti pilata muutoin täydellisen äänentoistojärjestelmän.
- Älä säädä koodekin äänisuodatinlohkoja ennen kuin järjestelmä on täysin koottu tuotantoon tarkoitetussa konfiguraatiossa. Säätöparametrit voivat muutoin muuttua.
- Valitse taajuusalue toistettavan äänen perusteella. Taajuusasetukset ovat esimerkiksi erilaisia kitara- tai pianomusiikille tai ihmispuheelle.
- Kompensoi kaiuttimen taajuusvaste digitaalisen taajuuskorjauslohkon avulla. Jotkin taajuudet kuulostavat luonnostaan kovemmilta ja kirkkaammilta ja saattavat vaatia vaimennusta, kun taas muita saatetaan joutua vahvistamaan.
- Käytä testiääniä järjestelmän taajuusvasteen arvioinnissa. Löydät helposti internet-haulla monentyyppisiä ääntä sisältäviä mp3-tiedostoja, joita voidaan käyttää äänentoistojärjestelmän taajuusvasteen ja digitaalisen suodatinlohkon toiminnan ymmärtämiseen.
- Tallenna suodatinlohkon konfigurointiasetukset flash- tai EEPROM-muistiin, jotta niitä voidaan sovittaa tuotannon aikana järjestelmien välisten erojen ottamiseksi huomioon (jos sitä tarvitaan).
Näitä vinkkejä noudattavat suunnittelijat tulevat huomaamaan, että heiltä säästyy paljon aikaa ja vaivaa kun he säätävät äänentoistojärjestelmää. Tämä myös varmistaa, että järjestelmä tuodaan markkinoille suunnitelluilla ääniominaisuuksilla.
Yhteenveto
Äänikoodekin lisääminen sulautettuun järjestelmään ei yksin takaa, että se tulisi kuulostamaan hyvältä loppukäyttäjän korvissa. Jokainen äänentoistojärjestelmä täytyy säätää huolellisesti. Tähän säätöön on mahdollista käyttää ulkoisia suodattimia, mutta äänikoodekit sisältävät valmiiksi digitaaliset suodatus- ja tasapainotustoiminnot. Kuten artikkelissa osoitetaan, näiden toimintojen avulla kaiuttimeen voidaan syöttää vain sellaisia taajuuksia, joille se soveltuu parhaiten. Analysoimalla ja käyttämällä suodatinasetuksia huolellisesti suunnittelijat voivat tuottaa puhtaalta kuulostavaa ääntä, jota loppukäyttäjät ovat tottuneet odottamaan laitteiltaan.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.



