Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

CODEC/DAC audio

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] CODEC/DAC audio

Messaggioda Foto UtenteTardoFreak » 2 ott 2012, 23:20

Un saluto a tutti i partecipanti,
Scrivo questa cosa per avere informazioni sui codec audio, in particolare sulla riproduzione audio mediante microcontrollori, nella speranza di avere informazioni da chi ha sviluppato questo tipo di applicazioni.
Per quanto mi riguarda ho implementato parecchie applicazioni per riprodurre musica mediante microcontrollore ma sempre utilizzando DAC tradizionali ed utilizzando filtri all' uscita per poi amplificare il segnale e tutto il resto.
Ho qui davanti a me una scheda che ho cablato e che monta un STM32F103 con la quale posso riprodurre i files audio memorizzati in un file system su flash seriale o scheda MMC indipendentemente dalla frequenza di campionamento.
Il problema è il filtro in uscita. Se la frequenza è fissa il problema non esiste, si realizza un filtro analogico e la storia finisce lì, se la frequenza è variabile allora bisogna trovare un' altra soluzione.
Foto UtenteIsidoroKZ ha saggiamente suggerito di realizzare un filtro a capacità commutata, e quindi sono andato alla ricerca di integrati per tale soluzione.
Cercando ho trovato dei DAC che hanno il filtro integrato. Sono DAC con interfaccia SPI dal cui clock prelevano il segnale che pilota il filtro in modo che questi sia adattato alla frequenza di campionamento. Chiaramente il segnale di clock della SPI deve essere un segnale continuo e, diciamo così, "ben fatto", altrimenti tutto l' ambaradan non funzionerebbe a dovere. Sono DAC che interpolano (o fanno diavolerie del genere) i dati in ingresso, dati che arrivano di continuo e in uscita ho il mio bel segnale ben ripulito solo da amplificare.
Io ho dimestichezza con gli STM32 ed ho visto, con gran dispiacere che, a differenza dell' USART, l' interfaccia SPI non ha un baud rate generator tale da generarmi la frequenza esatta per far funzionare questi DAC nel modo corretto. Ha semplicemente un prescaler con soli 8 fattori di divisione e quindi non si può adattare.
Adesso però sono curioso.
I DAC come questo, ad esempio, con quale micro vengono utilizzati?
Sono utilizzati con dei micro o dei circuiti custom/semicustom?
Esistono micro dedicati per la riproduzione audio?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[2] Re: CODEC/DAC audio

Messaggioda Foto Utenteguidonetto » 6 ott 2012, 19:41

Ciao, sono appasonato al elettronica e alla musica, conosci dei chip che hanno integrato le note musicali degli strumenti campionati, tipo i suoni degli strumenti di una tastiera?
Grazie
Avatar utente
Foto Utenteguidonetto
13 1 5
Frequentatore
Frequentatore
 
Messaggi: 124
Iscritto il: 8 mag 2011, 21:08

0
voti

[3] Re: CODEC/DAC audio

Messaggioda Foto UtenteTardoFreak » 6 ott 2012, 22:35

Quello che cerchi tu e le risposte che cerco io hanno, purtroppo, un solo denominatore comune: sono udibili. :-|
Tu cerchi un circuito per sintetizzare la musica, io cerco di capire come fare per utilizzare un tipo di periferiche per riprodurre la musica. :?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: CODEC/DAC audio

Messaggioda Foto UtenteGuidoB » 7 ott 2012, 15:28

TardoFreak ha scritto:Il problema è il filtro in uscita. Se la frequenza è fissa il problema non esiste, si realizza un filtro analogico e la storia finisce lì, se la frequenza è variabile allora bisogna trovare un' altra soluzione.

A me viene in mente di utilizzare un filtro analogico adatto alla tua massima frequenza di campionamento.
Se hai campioni a una frequenza più bassa, potresti interpolarli per ottenere una frequenza doppia-tripla-quadrupla ecc. a seconda del bisogno, in modo che la frequenza di campionamento risultante sia maggiore o uguale alla tua massima frequenza di campionamento "vera" (se viene più alta è anche meglio).
L'interpolazione potrebbe essere lineare, oppure se non dà buoni risultati potrebbe essere di questo tipo:

Cioè, fai passare due parabole rispettivamente per i campioni a, b, c e b, c, d.
Tra i campioni b e c puoi calcolare il valore dei campioni "interpolanti" come una media pesata (sulla distanza da b e c) delle due parabole. La funzione interpolante è la linea azzurra.
L'istinto mi dice (ma potrei sbagliare, bisogna fare i conti) che ti viene una combinazione lineare dei campioni a, b, c e d (niente elevamenti al quadrato).
A questo punto basta tabellare i coefficienti per una frequenza doppia, tripla ecc, e dovresti poter calcolare facilmente i campioni interpolanti (somme e moltiplicazioni per coefficienti fissi).

Se ti sembra che possa andare possiamo ragionarci sopra un po' di più.

O_/
Big fan of ƎlectroYou!       Ausili per disabili e anziani su ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Avatar utente
Foto UtenteGuidoB
17,8k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 2809
Iscritto il: 3 mar 2011, 16:48
Località: Madrid

0
voti

[5] Re: CODEC/DAC audio

Messaggioda Foto UtenteLelettrico » 7 ott 2012, 16:01

Servono maggiori dettagli, ad ogni modo mi viene alla mente LTC1569 un filtro LP del 10 ordine a fase lineare che puo' essere agevolmente programmato nella roll-off con il clock in ingresso, il rapporto fra la f di clock e f roll-off e' di 32 a 1.
Alternativamente, si puo' settare una opportuna R esterna e tener fisso il clock al valore piu opportuno.
Avatar utente
Foto UtenteLelettrico
2.458 1 4 6
Master
Master
 
Messaggi: 1108
Iscritto il: 13 set 2010, 12:24


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti