Wykorzystanie kodeków audio do łatwej optymalizacji parametrów dźwięku w systemach wbudowanych
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2021-02-17
Projektanci starają się uzyskać dźwięk o wysokiej jakości poprzez użycie kodeków audio w projektach systemów wbudowanych opartych na mikrokontrolerach. W tym celu muszą nauczyć się, jak dostroić kodek audio do konkretnego zastosowania. Bez tego uzyskane brzmienie może być płaskie lub słabej jakości, nawet w przypadku dobrego kodeka i głośnika. Problem polega na tym, że każdy głośnik ma własną odpowiedź częstotliwościową, dlatego kodek powinien być dostrojony do charakterystyki głośnika, przy czym nie należy zapominać o rodzaju odtwarzanego dźwięku i wymaganej odpowiedzi.
Rozwiązaniem umożliwiającym dostrojenie systemu odtwarzania dźwięku jest wykorzystanie własnych cyfrowych bloków filtrujących kodeka audio zamiast użycia filtrowania sprzętowego. Każdy kodek posiada taki blok, aby umożliwić deweloperom filtrowanie wyjścia za pomocą filtrów górnoprzepustowych, dolnoprzepustowych i pasmowo-przepustowych. Pozwala to na dokładne dostrojenie, a nawet regulację odpowiedzi głośnika zależnie od potrzeb.
W niniejszym artykule omówiono wewnętrzne cyfrowe bloki audio zawarte w kodekach, za przykład biorąc kodek firmy AKM Semiconductor. Podano również kilka wskazówek i porad w dostrajaniu kodeków, które pomogą deweloperom przyspieszyć pracę nad odtwarzaniem dźwięku, jednocześnie poprawiając jakość dźwięku systemu.
Zrozumienie odpowiedzi częstotliwościowej głośnika
W artykule „Jak wybrać i zastosować kodek audio oraz mikrokontroler do wbudowanych plików sygnałów akustycznych” omówiono podstawy doboru i dodawania kodeka do systemu. Następnym krokiem jest użycie tego kodeka w celu uzyskania najlepszego możliwego dźwięku wyjściowego.
To, jak dźwięk wychodzący z systemu będzie brzmiał zależy od kilku różnych czynników. Czynniki te to m.in.:
- Obudowa głośnika
- Sposób montażu głośnika
- Odtwarzane częstotliwości dźwięku
- Odpowiedź częstotliwościowa głośnika
Po dokładnym rozważeniu tych czynników, deweloper szybko zdaje sobie sprawę, że dostrajanie systemu audio ma sens dopiero na końcowym etapie produkcyjnym. System można oczywiście dostroić za pomocą płytki drukowanej (PCB) i głośnika poza obudową, ale nie należy oczekiwać, że te same parametry strojenia będą obowiązywać, gdy głośnik będzie zamontowany w obudowie.
Jeśli zespół mechaników odpowiednio zaprojektował obudowę i mocowanie systemu, główną cechą, której deweloper musi uważnie się przyjrzeć, jest odpowiedź częstotliwościowa głośnika. Każdy głośnik ma inną charakterystykę i krzywe odpowiedzi. Nawet głośniki o tym samym numerze katalogowym często mają niewielkie odchylenia w odpowiedzi częstotliwościowej, chociaż producent zwykle podaje typową krzywą odpowiedzi częstotliwościowej. Na przykład ilustracja 1 przedstawia krzywą odpowiedzi częstotliwościowej dla głośnika GC0401K o impedancji 8Ω i mocy 1W firmy CUI Devices. Głośnik GC0401K posiada znamionowy zakres częstotliwości od 390Hz do 20kHz.
Ilustracja 1: głośnik GC0401K o impedancji 8Ω i mocy 1W firmy CUI Devices posiada znamionowy zakres częstotliwości od 390Hz do 20kHz. (Źródło ilustracji: CUI Devices)
Znamionowy zakres pracy głośników zazwyczaj przypada dla obszaru krzywej odpowiedzi, w którym odpowiedź jest stosunkowo płaska. Dokładniejsze spojrzenie na ilustrację 1 pokazuje, że odpowiedź częstotliwościowa głośnika GC0401K zaczyna się wypłaszczać przy wartości ok. 350Hz i pozostaje stosunkowo płaska co najmniej do 9kHz. Wysokie częstotliwości charakteryzują się pewnym spadkiem, ale nadal są stabilne do 20kHz.
Inną odpowiedź częstotliwościową głośników można zobaczyć w głośniku GF0668 firmy CUI Devices (ilustracja 2). Ten głośnik jest nieco większy, a jego moc wyjściowa wynosi 3W. Znamionowa odpowiedź częstotliwościowa mieści się w zakresie od 240Hz do 20kHz. Ten głośnik może przenosić nieco niższe częstotliwości niż GC0401K, ale należy pamiętać, że w określonym zakresie krzywa jest stosunkowo płaska z pewnymi dołkami i szczytami na całej długości.
Ilustracja 2: odpowiedź częstotliwościowa głośnika GF0668 o impedancji 8Ω i mocy 3W firmy CUI Devices pokazuje, dlaczego jego zakres znamionowy wynosi od 240Hz do 30kHz. (Źródło ilustracji: CUI Devices)
Ostatnia odpowiedź głośnika, na którą warto zwrócić uwagę, to odpowiedź głośnika SP-2804Y firmy Soberton Inc. (ilustracja 3). SP-2804Y to głośnik o mocy 500mW i zakresie odpowiedzi częstotliwościowej od 600Hz do 8kHz. Z praw fizyki wynika, że im mniejszy głośnik, tym trudniej będzie mu reagować na niższe częstotliwości. Oznacza to, że jeśli deweloperzy nie odfiltrowują niższych częstotliwości i zamiast tego spróbują wysterować nimi głośnik, rezultatem może być nieco szorstko brzmiący dźwięk lub defekty tonów, które w przeciwnym razie brzmiałyby krystalicznie czysto.
Należy zauważyć, że występuje również znaczny spadek odpowiedzi częstotliwościowej w okolicach wartości 10kHz. Dlatego zakres znamionowy głośnika sięga tylko do częstotliwości 8kHz, mimo że prawdopodobnie mógłby być używany w niektórych zastosowaniach przy częstotliwościach do 20kHz.
Ilustracja 3: odpowiedź częstotliwościowa głośnika SP-2804Y o impedancji 8Ω i mocy 0,5W firmy Soberton Inc. pokazuje dlaczego jest on odpowiedni dla zakresu od 600Hz do 8kHz. Występuje tu spadek powyżej 10kHz, ale w niektórych zastosowaniach nadal można go używać przy częstotliwościach do 20kHz. (Źródło ilustracji: CUI Devices)
Patrząc na odpowiedzi częstotliwościowe poszczególnych głośników, jasne jest, że musi nastąpić pewnego rodzaju filtrowanie i dostrajanie, ponieważ istnieją częstotliwości, na których głośnik nie powinien być sterowany. Na przykład próba sterowania omawianych głośników tonem basowym o częstotliwości 4Hz może spowodować długotrwałe wibracje, na które nałożą się wyższe częstotliwości, powodując znaczne zniekształcenia dźwięku.
Budowa bloku cyfrowego filtra audio
Jedną z metod, która była używana w przeszłości do pozbywania się niechcianych częstotliwości, jest budowanie filtrów sprzętowych na dojściu do głośnika. Na przykład filtr górnoprzepustowy o częstotliwości 500Hz może zapobiec przedostawaniu się do głośnika częstotliwości poniżej 500Hz. Z drugiej strony można zastosować filtr dolnoprzepustowy, aby usunąć wszelkie tony dźwiękowe powyżej 15kHz. Osobiste doświadczenie pokazało, że czasami, przy odsłuchu głosu kobiety na małym głośniku, który jest skuteczny przy wyższych częstotliwościach, głośnik może wydawać wysokie brzęczenie. Staranny dobór częstotliwości może usunąć te zniekształcenia i pozwolić uzyskać czystszy dźwięk.
Chociaż zewnętrzne filtry sprzętowe mogą spełnić swoją rolę, zwiększają one koszty i zajmują dodatkowe miejsce. Z tych powodów bardziej praktyczne i wydajne jest strojenie dźwięku za pomocą bloku filtra cyfrowego wbudowanego w kodek audio.
Na przykładowym schemacie blokowym 24-bitowego kodeka audio AKM Semiconductor AK4637 zaznaczono blok filtra cyfrowego (ilustracja 4).
Ilustracja 4: AK4637 to wyposażony w monofoniczne wyjście głośnikowe kodek audio, który może odtwarzać i nagrywać dźwięk. Zawiera on również wewnętrzny blok audio, który można zastosować do filtrowania dźwięku na wejściach i wyjściach w celu poprawy jego wierności. (Źródło ilustracji: AKM Semiconductor)
Blok filtra cyfrowego w tym przypadku oferuje kilka różnych możliwości filtrowania, m.in.:
- Filtr górnoprzepustowy (HPF2)
- Filtr dolnoprzepustowy (LPF)
- Korektor czteropasmowy (4-Band EQ)
- Automatyczna kontrola poziomu (ALC)
- Korektor jednopasmowy (1 Band EQ)
Nie wszystkie te funkcje muszą być włączone. Deweloperzy mogą wybierać potrzebne im funkcje i włączać lub wyłączać blok lub kierować przez niego sygnał z mikrofonu bądź odtwarzany dźwięk. Prawdziwe pytanie w tym momencie brzmi, jak obliczyć i zaprogramować kodek audio?
Obliczanie i programowanie parametrów filtrów cyfrowych
W większości zastosowań dźwiękowych filtr górnoprzepustowy jest używany do usuwania niższych częstotliwości, a filtr dolnoprzepustowy jest do eliminowania częstotliwości wyższych. Do wygładzenia krzywej odpowiedzi częstotliwościowej lub do podkreślenia pewnych tonów można użyć korektora. Sposób wybierania tych ustawień wykracza poza zakres niniejszego artykułu. Zamiast tego przyjrzymy się, jak obliczyć i zaprogramować wartości skojarzone z tymi parametrami na przykładzie kodeka AK4637 firmy AKM.
Po pierwsze, zawsze dobrze jest przejrzeć arkusz danych. W tym przypadku na stronach 7 i 8 przedstawiono mapę najważniejszych rejestrów kodeka. Pierwsze spojrzenie może onieśmielać, biorąc pod uwagę, że część ma 63 rejestry. Jednak wiele z tych rejestrów steruje cyfrowym blokiem audio. Na przykład rejestry od 0x22 do 0x3F sterują korektorem. Rejestry od 0x19 do 0x1C sterują filtrem górnoprzepustowym, podczas gdy rejestry od 0x1D do 0x20 sterują filtrem dolnoprzepustowym.
Deweloperzy zwykle nie mogą ot tak określić częstotliwości wejściowej kodeka. Zamiast tego istnieje równanie filtra służące do obliczania jego współczynników, które są następnie programowane w rejestrach kodeka w celu utworzenia filtra o żądanej częstotliwości. Na przykład, aby użyć bloku filtra cyfrowego do utworzenia filtra górnoprzepustowego 600Hz, należy użyć równania 1:
Ilustracja 5: przedstawiono równania potrzebne do obliczenia współczynników filtra górnoprzepustowego dla bloku filtra cyfrowego AK4637. (Źródło ilustracji: AKM Semiconductor)
Deweloper identyfikuje żądaną częstotliwość odcięcia, fc, która w tym przypadku wynosi 600Hz. Częstotliwość próbkowania dźwięku, fs, wynosi zazwyczaj 48kHz, ale może się różnić w zależności od zastosowania. Wartości te są następnie podstawiane do równań w celu obliczenia współczynników A i B. Są one następnie zapisywane do rejestrów kodeka przez interfejs I2C podczas uruchamiania. Ten sam proces stosuje się w przypadku filtrów dolnoprzepustowych i innych funkcji bloków cyfrowych, chociaż funkcje przejścia są często różne, co wymaga użycia własnego zestawu równań (patrz arkusz danych).
Porady i wskazówki dotyczące dostrajania kodeka audio
Bloki filtrów cyfrowych zawarte w kodeku audio są często dość elastyczne i wydajne. Nawet niedrogi kodek audio zapewnia deweloperom narzędzia niezbędne do generowania dźwięku o wysokiej jakości. Jednak ostatecznie kodek audio to tylko jeden element układanki. Oto kilka porad i wskazówek, o których powinni pamiętać deweloperzy, aby odpowiednio dostroić kodek audio:
- Należy upewnić się, że głośnik jest zamontowany w obudowie odpowiedniej do zastosowania. Nieprawidłowo zaprojektowana obudowa głośnika może łatwo zrujnować doskonały system odtwarzania.
- Nie należy dostrajać bloków filtrów audio kodeka, do czasu pełnego montażu systemu w konfiguracji przeznaczonej do produkcji. W przeciwnym razie parametry strojenia mogą ulec zmianie.
- Zakres częstotliwości należy wybierać w oparciu o dźwięk, który będzie odtwarzany. Na przykład ustawienia częstotliwości dla muzyki granej na gitarze, fortepianie i osoby mówiącej będą różne.
- Należy użyć bloku balansu cyfrowego, aby skompensować pasmo charakterystyki częstotliwościowej głośnika. Niektóre częstotliwości będą naturalnie brzmiały głośniej i wyraźniej i mogą wymagać stłumienia, podczas gdy inne mogą wymagać wzmocnienia.
- Należy użyć tonów testowych, aby ocenić odpowiedź częstotliwościową systemu. Szeroką gamę tonów audio, które można wykorzystać do zrozumienia odpowiedzi częstotliwościowej systemu odtwarzania dźwięku i sposobu działania bloku filtra cyfrowego można znaleźć poprzez łatwe wyszukiwanie plików mp3 w Internecie.
- Ustawienia konfiguracji bloku filtrów należy przechowywać w pamięci flash lub EEPROM, aby można je było ustawić podczas produkcji w celu uwzględnienia różnic między systemami (o ile ma to znaczenie).
Deweloperzy postępujący zgodnie z podanymi poradami i wskazówkami zauważą, że oszczędzą sobie wielu zmartwień i czasu podczas prób dostrajania systemu odtwarzania dźwięku oraz będą mieć pewność, że trafi on na rynek z zamierzonymi właściwościami audio.
Podsumowanie
Dodanie kodeka audio do systemu wbudowanego nie gwarantuje, że będzie on brzmiał dobrze dla użytkownika końcowego. Każdy system odtwarzania dźwięku wymaga starannego dostrojenia. Aby uzyskać to dostrojenie, można użyć filtrów zewnętrznych, ale kodeki audio mają wbudowane funkcje filtrowania cyfrowego i równoważenia. Można ich używać do podawania do głośnika tylko tych częstotliwości, do których jest on najlepiej dostosowany. Dzięki dokładnej analizie i zastosowaniu ustawień filtrów deweloperzy mogą uzyskać czysty dźwięk, którego użytkownicy końcowi oczekują od swoich urządzeń.
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.



