The study involves the design and implementation of the entire audio chain starting from the acquisition, and then developing the algorithm for processing and reproducing the signal from scratch with the related parameter management. The code that manages the real-time DSP logic uses a Raspberry Pi platform, using C++ in addition to threading to manage the workflow faster. The setup used includes a sound card that converts the raw signal from analog to digital, the processed signal from digital to analog, and manages communication with the processor; the parameters can be changed in real time via DIP switches and potentiometers connected to the Raspberry's GPIO pins. The algorithm involves the acquisition, processing and playback of a 16-bit stereo audio signal. Its main function is to process the signal via a series of independent parametric high-pass, low-pass, and band-pass biquad filters, with automatic generation of the coefficients via the RBJ (Robert Bristow-Johnson) method. The problem that is solved is that of being able to insert digital crossovers, thus eliminating analog filters, which are known to be very bulky, expensive and subject to parameter variations over time.
Lo studio prevede la progettazione e l'implementazione dell'intera catena audio partendo dall'acquisizione, per poi sviluppare da zero l'algoritmo per l'elaborazione e la riproduzione del segnale con la relativa gestione dei parametri. Il codice che gestisce la logica del DSP real-time utilizza una piattaforma Raspberry Pi, utilizzando il C++ in aggiunta al threading per gestire più velocemente il flusso di lavoro. Il setup utilizzato prevede una scheda audio che converte da analogico a digitale il segnale raw, da digitale ad analogico il segnale processato, e gestisce la comunicazione con il processore; i parametri sono modificabili in tempo reale tramite DIP-Switch e potenziometri connessi ai pin di GPIO della Raspberry. L'algoritmo prevede l'acquisizione, l'elaborazione e la riproduzione di un segnale audio stereo 16-bit. La sua funzione principale è quella di processare il segnale tramite una serie di filtri biquad parametrici indipendenti passa alto, passa basso, e passa banda, con generazione automatica dei coefficienti tramite metodo RBJ (Robert Bristow-Johnson). Il problema che si va a risolvere è quello di poter inserire i crossover digitali eliminando così i filtri analogici, noti per essere molto ingombranti, costosi e soggetti a variazioni dei parametri nel tempo.
Implementazione di un DSP audio su piattaforma Raspberry Pi
GIANNESSI, FRANCESCO
2025/2026
Abstract
The study involves the design and implementation of the entire audio chain starting from the acquisition, and then developing the algorithm for processing and reproducing the signal from scratch with the related parameter management. The code that manages the real-time DSP logic uses a Raspberry Pi platform, using C++ in addition to threading to manage the workflow faster. The setup used includes a sound card that converts the raw signal from analog to digital, the processed signal from digital to analog, and manages communication with the processor; the parameters can be changed in real time via DIP switches and potentiometers connected to the Raspberry's GPIO pins. The algorithm involves the acquisition, processing and playback of a 16-bit stereo audio signal. Its main function is to process the signal via a series of independent parametric high-pass, low-pass, and band-pass biquad filters, with automatic generation of the coefficients via the RBJ (Robert Bristow-Johnson) method. The problem that is solved is that of being able to insert digital crossovers, thus eliminating analog filters, which are known to be very bulky, expensive and subject to parameter variations over time.| File | Dimensione | Formato | |
|---|---|---|---|
|
Tesi_Giannessi_Francesco.pdf
accesso aperto
Dimensione
17.15 MB
Formato
Adobe PDF
|
17.15 MB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.12075/29680