Používání zvukového kodeku ke snadnější optimalizaci zvukového výkonu ve vestavěných systémech
Contributed By DigiKey's North American Editors
2021-02-17
Mnoho konstruktérů zahrnuje do svých návrhů vestavěných systémů založených na mikrokontrolérech zvukové kodeky ve snaze přidat vysoce věrný zvuk. Přitom musí přijít na to, jak zvukový kodek pro svou aplikaci vyladit. Bez vyladění může aplikace znít ploše nebo nekvalitně, a to dokonce i s dobrým kodekem a reproduktorem. Problém je v tom, že každý reproduktor má svou vlastní kmitočtovou charakteristiku, takže kodek by měl být vyladěn podle charakteristik reproduktoru, přičemž je třeba mít na paměti druh zvuku, který bude přehráván, a požadovanou odezvu.
Řešením pro vyladění systému pro přehrávání zvuku není použití hardwarového filtrování, ale místo toho využití vlastních digitálních filtrovacích bloků zvukového kodeku. Každý kodek má tento blok, který umožňuje vývojářům filtrovat výstup pomocí horní propusti, dolní propusti a pásmové zádrži. To umožňuje pečlivě vyladit a podle potřeby dokonce upravit odezvu reproduktoru.
Tento článek pojednává o interních digitálních audioblocích, které jsou součástí kodeků, pomocí kodeku od společnosti AKM Semiconductor, který je uveden jako příklad. Rovněž probereme několik tipů a triků, jak vyladit kodek, který vývojářům pomůže urychlit vývoj přehrávání zvuku a zároveň zlepšit kvalitu zvuku systému.
Kmitočtové charakteristiky reproduktoru
V článku „Výběr a používání zvukového kodeku a mikrokontroléru pro vestavěné soubory zvukové zpětné vazby byly uvedeny základy o výběru a přidávání kodeku do systému. Dalším krokem je použití tohoto kodeku k získání co nejlepšího zvukového výstupu.
Existuje několik různých faktorů, které se podílejí na tom, jak bude zvuk vycházející ze systému znít. Mezi tyto faktory patří:
- Kryt reproduktoru
- Způsob montáže reproduktoru
- Přehrávané zvukové frekvence
- Kmitočtová charakteristika reproduktoru
Po pečlivém zvážení těchto faktorů si vývojář brzy uvědomí, že vyladění zvukového systému má smysl, pouze pokud je systém v konečném stavu výroby. Jistě, systém lze vyladit pomocí desky s tištěnými spoji (PC desky) a reproduktoru mimo kryt, ale neměli bychom očekávat, že budou platit stejné parametry ladění, jako když je reproduktor namontován a uvnitř krytu.
Pokud mechanický tým navrhl kryt a montáž systému správně, hlavní charakteristikou, kterou musí vývojář pozorně sledovat, je kmitočtová charakteristika reproduktoru. Každý reproduktor má jiné charakteristiky a křivky odezvy. I reproduktory se stejným objednacím číslem budou mít často mírné odchylky v kmitočtové charakteristice, ale výrobce obvykle poskytuje typickou křivku kmitočtové charakteristiky. Na obrázku 1 je například zobrazena křivka kmitočtové charakteristiky pro 1wattový reproduktor GC0401K, 8 Ω společnosti aCUI Devices. Reproduktor GC0401K je dimenzován pro frekvence mezi 390 Hz a 20 kHz.
Obrázek 1: 1wattový reproduktor GC0401K, 8 Ω od společnosti CUI Devices je dimenzován na frekvence mezi 390 Hz a 20 kHz. (Zdroj obrázku: společnost CUI Devices)
Reproduktory mají své jmenovité hodnoty obvykle v oblasti své křivky charakteristiky, kde je odezva relativně plochá. Bližší pohled na obrázek 1 ukazuje, že kmitočtová charakteristika reproduktoru GC0401K se začíná zplošťovat při přibližně 350 Hz a zůstává relativně plochá ještě alespoň kolem 9 kHz. Špičkové frekvence vykazují určitý pokles, ale stále stabilní jsou až do 20 kHz.
Odlišnou kmitočtovou charakteristiku reproduktoru lze vidět u reproduktoru GF0668 společnosti CUI Devices (obrázek 2). Tento reproduktor je o něco větší a má výstup 3 watty. Kmitočtová charakteristika se pohybuje mezi 240 Hz a 20 kHz. Tento reproduktor může zasahuje i do o něco nižších frekvencí než model GC0401K, ale znovu si povšimněte, že v rámci zadaného rozsahu je křivka relativně plochá s několika propady a vrcholy po celém rozsahu.
Obrázek 2: Kmitočtová charakteristika 3wattového reproduktoru GF0668, 8 Ω, společnosti CUI Devices ukazuje, proč má jmenovité hodnoty v rozsahu 240 Hz až 30 kHz. (Zdroj obrázku: společnosti CUI Devices)
Posledním reproduktorem, který stojí za to zmínit, je model SP-2804Y společnosti Soberton Inc. (obrázek 3). SP-2804Y je 500miliwattový reproduktor s kmitočtovou charakteristikou od 600 Hz po 8 kHz. Zákony fyziky zajišťují, že čím menší je reproduktor, tím těžší je odezva na nižší frekvence. To znamená, že pokud vývojáři neodfiltrují nižší frekvence a místo toho se pokusí řídit reproduktor na těchto frekvencích, výsledkem může být drsně znějící zvuk nebo vady tónů, které by jinak zněly křišťálově čistě.
Všimněte si, že kolem 10 kHz dochází také k výraznému poklesu kmitočtové charakteristiky. Proto má reproduktor jmenovité hodnoty pouze do 8 kHz, i když by pro některé aplikace mohl být pravděpodobně použit až do 20 kHz.
Obrázek 3: Kmitočtová charakteristika 0,5wattového reproduktoru SP-2804Y, 8 Ω společnosti Soberton Inc. ukazuje, že je vhodný pro frekvence od 600 Hz do 8 kHz. Po 10 kHz vykazuje reproduktor pokles, ale pro některé aplikace je přesto použitelný až do 20 kHz. (Zdroj obrázku: společnosti CUI Devices)
Při pohledu na kmitočtovou charakteristiku jednotlivých reproduktorů je jasné, že je třeba provést určitý druh filtrování a ladění, protože existují určité frekvence, na které by reproduktor neměl být řízen. Například pokus o nastavení basového tónu 4 Hz může na těchto reproduktorech způsobit dlouhotrvající vibrace, do nichž jsou vstřikovány vyšší frekvence, což má za následek velké zkreslení zvuku.
Bližší pohled na digitální audioblok filtru
Jednou z metod, která se v minulosti používala k odladění nežádoucích frekvencí, je vytvoření hardwarových filtrů vedoucích k reproduktoru. Například horní propust může při 500 Hz zabránit tomu, aby se frekvence pod 500 Hz vůbec dostaly do reproduktoru. Na druhém konci lze k odstranění jakýchkoli zvukových tónů nad 15 kHz použít dolní propust. Osobní zkušenost prokázala, že někdy, když je ženský hlas používán s malým reproduktorem, který je účinný při vyšších frekvencích, může mít výstup z reproduktoru pronikavé zabarvení. Pečlivý výběr frekvencí může tato zkreslení odstranit a vytvořit čistší zvuk.
Přestože tuto práci zvládnou externí hardwarové filtry, zvyšují také náklady a zabírají další místo. Z těchto důvodů je praktičtější a efektivnější vyladit zvuk pomocí bloku digitálního filtru zabudovaného do zvukového kodeku.
Například blokové schéma 24bitového zvukového kodeku AK4637 společnosti AKM Semiconductor má zvýrazněný blok digitálního filtru (obrázek 4).
Obrázek 4: AK4637 je zvukový kodek s výstupem pro mono reproduktor, který umožňuje přehrávání a nahrávání zvuku. Obsahuje také interní audioblok, který lze použít k filtrování příchozího a odchozího zvuku za účelem zlepšení věrnosti zvuku. (Zdroj obrázku: společnost AKM Semiconductor)
Blok digitálního filtru obsahuje v tomto případě několik různých možností filtrování, které zahrnují následující prvky:
- Horní propust (HPF2)
- Dolní propust (LPF)
- Čtyřpásmový ekvalizér (4pásmový EQ)
- Automatická regulace úrovní (ALC)
- Jednopásmový ekvalizér (1pásmový EQ)
Všechny tyto funkce nemusí být povoleny. Vývojáři si mohou vybrat, které funkce potřebují, a povolit nebo zakázat blokování nebo směrování mikrofonu či přehrávání zvuku přes ně. Důležitou otázkou v tomto okamžiku je, jak zvukový kodek vypočítat a naprogramovat.
Výpočet a naprogramování parametrů digitálního filtru
Ve většině zvukových aplikací se k odstranění nižších frekvencí používá horní propust a k vyloučení vyšších frekvencí se používá dolní propust. Ekvalizér lze použít k vyhlazení křivky kmitočtové charakteristiky nebo ke zdůraznění určitých tónů. Přesný výběr těchto nastavení je již nad rámec tohoto článku. Místo toho se podíváme na to, jak vypočítat a naprogramovat hodnoty spojené s těmito parametry a jako příklad použijeme kodek AKM AK4637.
Nejprve je vždy dobré se podívat do katalogového listu. Na stránkách 7 a 8 jsou v tomto případě uvedeny všechny důležité mapy registrů pro kodek. První pohled nás může zastrašit vzhledem k tomu, že tato část má 63 registrů. Mnoho z těchto registrů však řídí digitální audioblok. Například registry 0x22 až 0x3F řídí ekvalizér. Registry 0x19 až 0x1C ovládají horní propust, zatímco 0x1D až 0x20 řídí dolní propust.
Vývojářům obvykle nestačí jen určit frekvenci pro vstup do kodeku. Místo toho existuje filtrační rovnice, která se používá k výpočtu filtračních koeficientů, které se poté naprogramují do registrů kodeků, a vytvoří tak filtr na požadované frekvenci. Chcete-li například použít blok digitálního filtru k vytvoření horní propusti při 600 Hz, použijte rovnici 1:
Obrázek 5: Zobrazeny jsou rovnice potřebné k výpočtu koeficientů horní propusti pro blok digitálního filtru AK4637. (Zdroj obrázku: společnost AKM Semiconductor)
Vývojář by identifikoval požadovaný dělicí kmitočet fc, který je v tomto případě 600 Hz. Vzorkovací frekvence zvuku, fs, je obvykle 48 kHz, ale může se lišit podle aplikace. Tyto hodnoty by pak byly vloženy do rovnic k výpočtu koeficientů A a B. Tyto hodnoty jsou poté během spouštění zapsány do kodekových registrů přes I2C. Stejný postup by byl použit pro dolní propust a další funkce digitálních bloků, ačkoli přenosové funkce jsou často odlišné a vyžadují použití jejich vlastní sady rovnic (viz katalogový list).
Tipy a triky k vyladění zvukového kodeku
Bloky digitálních filtrů obsažené ve zvukovém kodeku jsou často poměrně flexibilní a výkonné. Dokonce i levný zvukový kodek poskytuje vývojářům nástroje nezbytné ke generování vysoce věrného zvuku. Na závěr je však zvukový kodek jen jednou z částí puzzle. K úspěšnému naladění zvukového kodeku existuje několik „tipů a triků“, které by vývojáři měli mít na paměti, například:
- Ujistěte se, že je reproduktor namontován v příslušném krytu pro danou aplikaci. Nesprávně navržený reproduktorový box může snadno zničit jinak dokonalý systém přehrávání.
- Nelaďte bloky audiofiltru kodeku, dokud není systém plně sestaven ve své konfiguraci produkčního záměru. Parametry ladění by se jinak mohly změnit.
- Vyberte frekvenční rozsah podle zvuku, který bude přehráván. Budou se například lišit nastavení frekvence pro hudbu z kytary, klavíru nebo mluvení nějaké osoby.
- Pomocí bloku digitálního vyvážení kompenzujte kmitočtovou charakteristiku reproduktoru. Některé frekvence budou přirozeně znít hlasitěji a zřetelněji a může být nutné je zeslabit, zatímco jiné bude třeba zesílit.
- K vyhodnocení kmitočtové charakteristiky systému použijte testovací tóny. Jednoduché vyhledávání na internetu poskytne soubory mp3 pro širokou škálu zvukových tónů, které lze použít k porozumění kmitočtové charakteristice systému pro přehrávání zvuku a tomu, jak digitální blok filtru funguje.
- Uložte nastavení konfigurace bloku filtru do paměti flash nebo EEPROM, aby bylo možné je během výroby nastavit tak, aby zohledňovaly odchylky mezi systémy (je-li to důležité).
Vývojáři, kteří postupují podle těchto „tipů a triků“, zjistí, že při pokusech o vyladění svého systému pro přehrávání zvuku ušetří spoustu času a starostí a zajistí, že se výrobek dostane na trh se zamýšlenými zvukovými vlastnostmi.
Závěr
Přidání zvukového kodeku do vestavěného systému nezaručuje, že bude koncovému uživateli znít dobře. Každý systém pro přehrávání zvuku musí být pečlivě vyladěn. K dosažení tohoto vyladění je možné použít externí filtry, ale zvukové kodeky přicházejí s integrovaným digitálním filtrováním a v něm integrovaným vyvážením. Jak je zobrazeno, lze je použít k dodávání pouze těch frekvencí reproduktoru, které jsou pro něj nejvhodnější. Díky pečlivé analýze a aplikaci nastavení filtrů mohou vývojáři vytvořit čistě znějící zvuk, který koncoví uživatelé od svých zařízení očekávají.
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.



