Bachelor's Thesis

Microcontroller-based programmable digital audio signal generator

Final Thesis 16.53 MB Appendix 5.4 MB

Author of thesis: Vojtěch Šafařík

Acad. year: 2025/2026

Supervisor: prof. Ing. Tomáš Kratochvíl, Ph.D.

Reviewer: Ing. Jan Kufa, Ph.D.

Abstract:

This bachelor's thesis deals with design and construction of programmable digital audio signal generator from the field of audio electronics and its peripheral interface for controlling individual parameters.
The implementation uses a powerful Teensy 4.1 Development board with i.MX RT1062 microcontroller and a low-power stereo codec SGTL5000 manufactured by NXP. Individual parameters are controlled using rotary and sliding potentiometers, buttons, switches and a rotary encoder.
Individual chapters deal with theory relevant to the given topics and the subsequent explanation of its specific application. Control functions created for various parameters of sound synthesis are also briefly discussed.

Keywords:

Digital audio signal generator, digital oscillator, microcontroller, Development board Teensy 4.1, I2C, I2S, SPI, digital synthesizer, sound synthesis

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentuje výsledky a postupy řešení své závěrečné práce a pouští videoukázku funkčnosti zhotoveného zařízení. Následně odpovídá na dotazy vedoucího a oponenta práce a na dotazy členů zkušební komise.

Language of thesis

Czech

Faculty

Department

Study programme

Electronics and Communication Technologies (BPC-ECT)

Composition of Committee

prof. Ing. Tomáš Kratochvíl, Ph.D. (předseda)
doc. Ing. Martin Štumpf, Ph.D. (místopředseda)
Ing. Martin Pospíšil, Ph.D. (člen)
prof. Ing. Pavel Fiala, Ph.D. (člen)
Ing. Petr Papica (člen)

Úkolem studenta Vojtěcha Šafaříka bylo navrhnout mikrokontrolérem řízený programovatelný digitální oscilátor, který by zahrnoval vstupní rozhraní, řídicí mikrokontrolér s dostatečnými výpočetními a periferními schopnostmi pro generování a konfiguraci oscilátorového signálu a výstupní obvod s interním D/A převodníkem. Zadání bakalářské práce pak požadovalo realizaci funkčního prototypu, experimentální ověření činnosti, naměření technických parametrů a kompletní technickou dokumentaci realizace návrhu.

Mohu konstatovat, že předložená bakalářská práce obsahuje požadovaný návrh i realizaci. Koncepce digitálního oscilátoru je realizována mikrokontrolérem i.MX RT1062 od společnosti NXP. Digitální průběhy jsou vyjádřeny vyhledávacími tabulkami pro jednotlivé periody generovaného signálu. Integrovány jsou časové průběhy pily, obdélníkového, trojúhelníkového a sinusového signálu, a dále obecné nástroje a hlasu. Student realizoval navržený oscilátor jako samostatný syntezátor, pro který samostatně zpracoval návrh a realizaci desek plošných spojů, zdařilou realizaci ovládacího panelu a zajištění konektivity napájení i linkového a sluchátkového výstupu. Experimentální měření potvrdilo plnou funkčnost návrhu a realizovaný funkční prototyp byl předveden formou živé ukázky. Po formální i grafické stránce je bakalářská práce na výborné úrovni a její rozsah je nadstandardní.

Závěrem shrnuji, že zadání bakalářské práce bylo ve všech bodech splněno. Student pracoval samostatně, kdy na pravidelných konzultacích prezentoval postupně dosažené výsledky. Bakalářskou práci Vojtěcha Šafaříka doporučuji k obhajobě a navrhuji hodnocení A/97 bodů. Points proposed by supervisor: 97

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jan Kufa, Ph.D.

Bakalářská práce Vojtěcha Šafaříka se zabývá návrhem a realizací digitálního syntezátoru s polyfonní syntézou založeného na platformě Teensy 4.1 a audio kodeku SGTL5000. Student nejdříve zmiňuje teorii ohledně digitální syntézy zvuku, generování průběhů a potlačení aliasingu. Následně řeší samotnou softwarovou architekturu, implementaci filtrů, obálek a efektů v prostředí Teensy Audio GUI. Na konci své práce student prezentuje výsledky spektrálních měření a analýzu zatížení procesoru. V rámci příloh je doložena kompletní fotodokumentace funkčního prototypu a schémata zapojení.

Stěžejním úkolem studenta byla implementace algoritmů pro generování signálů a lineární interpolace mezi nimi pro plynulou spektrální modifikaci zvuku. Program nabízí možnosti polyfonní syntézy, řízení pomocí MIDI protokolu a hardwarového rozhraní v podobě klávesnice a otočných enkodérů. Program také slouží pro dynamickou filtraci zvuku s využitím pokročilých modelů filtrů. Autor se v práci věnuje potlačení aliasingu pomocí metody PolyBLEP, nicméně pro zjednodušení výpočtové náročnosti zvolil fixní antialiasingovou funkci počítanou pro pevný kmitočet.
K testování a ověření parametrů generátoru audio signálu bylo využito prostředí MATLAB a externí zvuková karta Focusrite Scarlett 2i2. V práci jsou uvedeny výsledky spektrální analýzy pro vybrané průběhy, kde student zkoumá celkové harmonické zkreslení (THD, THD+N) a odstup signálu od šumu (SNR). Výsledné grafické závislosti a FFT spektra jsou přehledně interpretovány.

Výsledky měření většinou odpovídají očekávaným hodnotám pro danou třídu hardwaru. U horších výsledků – například u naměřené hodnoty odstupu signálu od šumu SNR), která dosahuje přibližně 50 dB – se student pokouší o rozbor příčin tohoto jevu. Identifikuje jako hlavní zdroj problému napájecí rušení z USB sběrnice počítače a vlastnosti sluchátkového zesilovače kodeku. Zdrojové kódy a kompletní knihovny se nachází v přiložených souborech a na GIT repozitáři. Prototyp zařízení byl sestaven na reálné DPS, je uzavřen v mechanickém šasi a je plně funkční.

Textová část bakalářské práce je přehledná a logicky členěna, jednotlivé kapitoly na sebe navazují a jsou dostatečně vypracované. Práce je psána v systému LaTeX, což zajišťuje vysokou grafickou a typografickou úroveň. V práci je jenom pár drobných překlepů (např. záměna Hz a kHz u vzorkovací frekvence -- V kapitole 2.1.2 je uveden vzorkovací kmitočet jako 44 100 kHz). Určitou terminologickou nepřesnost lze spatřovat v označení filtru „Huovilainen New Moog“ jako FIR filtru, jelikož emulace Moog filtrů se zpětnou vazbou pracují standardně s nekonečnou impulzní odezvou (IIR). U svého tvrzení autor využívá referenci 7, odkaz má ale nefunkční URL adresu (po odstranění tečky na konci URL je již funkční).

Práci doporučuji k obhajobě a hodnotím stupněm A 96 bodů a přikládám dvě otázky: Topics for thesis defence:
  1. 1. V textu označujete digitální model filtru Moog za FIR filtr. Můžete vysvětlit, jak je v tomto modelu realizována zpětná vazba? Nejedná se ve skutečnosti o filtr typu IIR?
  2. 2. Jaká konkrétní hardwarová opatření (např. galvanické oddělení, filtrace napájecí větve) byste navrhl v příští revizi desky plošných spojů, abyste eliminoval popsané rušení z USB napájení?
Points proposed by reviewer: 96

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová