progetto Power DAC
5 partecipanti
Pagina 1 di 3
Pagina 1 di 3 • 1, 2, 3
progetto Power DAC
ciao a tutti
un po' di tempo fa su non-mi-ricordo-quale-thread non-mi-ricordo-chi chiedeva se c'erano sul mercato soluzioni all-in-one DAC e ampli completamente in digitale.
Mi era venuta una idea particolare: far sì tramite software che il DAC esca in PWM invece che in onda sinusoidale, poi amplificare l'onda quadra così ottenuta e filtrarla per ottenere infine una onda sinusoidale amplificata solo più da ascoltare.
Per fare ciò ci vuole però sia hardware che software. Con un microcontrollore (o un FPGA) o direttamente da computer si potrebbe intervenire sul segnale digitale per far sì che corrisponda ad un segnale PWM (non dovrebbe essere troppo difficile) in uscita dal DAC
poi uno stadio amplifica e un'altro filtra. Quest'ultima parte si basa sul concetto di classe D
si potrebbe facilmente lavorare anche in bilanciato in una configurazione tipo questa
penso si potrebbero ottenere, con il DAC giusto (importante che abbia un alto slew rate), risultati inaspettati
Che ne pensate?
un po' di tempo fa su non-mi-ricordo-quale-thread non-mi-ricordo-chi chiedeva se c'erano sul mercato soluzioni all-in-one DAC e ampli completamente in digitale.
Mi era venuta una idea particolare: far sì tramite software che il DAC esca in PWM invece che in onda sinusoidale, poi amplificare l'onda quadra così ottenuta e filtrarla per ottenere infine una onda sinusoidale amplificata solo più da ascoltare.
Per fare ciò ci vuole però sia hardware che software. Con un microcontrollore (o un FPGA) o direttamente da computer si potrebbe intervenire sul segnale digitale per far sì che corrisponda ad un segnale PWM (non dovrebbe essere troppo difficile) in uscita dal DAC
poi uno stadio amplifica e un'altro filtra. Quest'ultima parte si basa sul concetto di classe D
si potrebbe facilmente lavorare anche in bilanciato in una configurazione tipo questa
penso si potrebbero ottenere, con il DAC giusto (importante che abbia un alto slew rate), risultati inaspettati
Che ne pensate?
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
che fai PAURA
classe-K has born!
l'unica domanda è : proprio tutto così semplice la classe D sulla carta?
cioè, scelgo la frequenza, (quindi ho il periodo max della fase) modulo pwm in modo "lineare", filtro, musica?
non c'è qualche altra gabola dietro?
complimenti per l'ardire compare
classe-K has born!
l'unica domanda è : proprio tutto così semplice la classe D sulla carta?
cioè, scelgo la frequenza, (quindi ho il periodo max della fase) modulo pwm in modo "lineare", filtro, musica?
non c'è qualche altra gabola dietro?
complimenti per l'ardire compare
madqwerty- Moderatore
- Data d'iscrizione : 11.12.08
Numero di messaggi : 6279
Località : Chivasso (TO)
Occupazione/Hobby : IT
Impianto : Powered by T-Forum :-)
Re: progetto Power DAC
ne avrei un'altra, ma prima aspetto eventuali tuoi cenni di PWM in ambito ClasseD
madqwerty- Moderatore
- Data d'iscrizione : 11.12.08
Numero di messaggi : 6279
Località : Chivasso (TO)
Occupazione/Hobby : IT
Impianto : Powered by T-Forum :-)
Re: progetto Power DAC
racconta, racconta
comunque la classe D è così semplice
http://en.wikipedia.org/wiki/Class_D_Amplifier
un segnale PWM viene amplificato e poi filtrato. In base alla frequenza del segnale triangolare utilizzato per creare il segnale PWM si hanno le diverse frequenze di switching.
altrimenti un'altra idea: non si usa neanche un DAC
cioè il microcontrollore fa uscire direttamente lui il segnale pwmmato, ma poiché sarà particolarmente ricco di jitter e di rumore di fase va riclocckato con un clock il più possibile pulito. Questa soluzione è persino più semplice di quella proposta sopra
comunque la classe D è così semplice
http://en.wikipedia.org/wiki/Class_D_Amplifier
un segnale PWM viene amplificato e poi filtrato. In base alla frequenza del segnale triangolare utilizzato per creare il segnale PWM si hanno le diverse frequenze di switching.
altrimenti un'altra idea: non si usa neanche un DAC
cioè il microcontrollore fa uscire direttamente lui il segnale pwmmato, ma poiché sarà particolarmente ricco di jitter e di rumore di fase va riclocckato con un clock il più possibile pulito. Questa soluzione è persino più semplice di quella proposta sopra
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
Col computer la vedo male, in quanto troppo lento e sopratutto instabile.
Con un DSP forse potrebbe andare.
Il software per modulare è una boiata.
Ma a pensarlo bene poterebbe anche essere difficile.
Pero c'è sempre il problema della retroazione che su questi amplificatori sembra essere fondamentale.
Fra i chip tutti digitali ho visto che ci sono TI; che guarda a caso produce anche degli ottimi DSP.
Con un DSP forse potrebbe andare.
Il software per modulare è una boiata.
Ma a pensarlo bene poterebbe anche essere difficile.
Pero c'è sempre il problema della retroazione che su questi amplificatori sembra essere fondamentale.
Fra i chip tutti digitali ho visto che ci sono TI; che guarda a caso produce anche degli ottimi DSP.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
quando scrivo non ho mai il cervello abbastanza in temperaturakingbowser ha scritto:racconta, racconta
comunque la classe D è così semplice
http://en.wikipedia.org/wiki/Class_D_Amplifier
ti riferivi da subito alla classe D, quindi semi-digitale (si parte dall'analogico)
io pensavo che facessi riferimento al full-digital,
e mi chiedevo che razza di frequenze di campionamento pauorose servirebbero..
2 conti ignoranti
supponiamo una modulante PWM di 100 kHz (clamorosamente bassa)
abbiamo quindi l'intervallo temporale minimo,
che sarà "tutto ON" in caso di segnale modulante al suo max,
"tutto OFF" in caso di segnale al suo minimo consentito..
il segnale modulante : in realtà è un numero digitale, quantizzato a 16 bit (mi tengo basso) quindi 64K combinazioni...
per non perdere "risoluzione" ognuno di questi diversi valori dovrà avere una sua rappresentazione precisa in PWM,
quindi quel T va suddiviso in 64K fettine, ogni livello digitale con il suo preciso DutyCicle..
ne risulta una frequenza di campionamento "interna" al singolo campione PWM di 100kHz * 64K = 6,4 GHz
e 100khz è il nulla (se non erro i classe T modulano a 600 e rotti KHz)
anche i 16 bit potrebbero diventare 24..
mi è caduta da qualche parte una tessera del puzzle
madqwerty- Moderatore
- Data d'iscrizione : 11.12.08
Numero di messaggi : 6279
Località : Chivasso (TO)
Occupazione/Hobby : IT
Impianto : Powered by T-Forum :-)
Re: progetto Power DAC
@baronerosso: il computer sarebbe per la soluzione con DAC: fa uscire direttamente lui un segnale digitale che corrisponda al segnale originale PWMmato.
quello che voglio fare io è evitare di fare:
segnale digitale -> segnale analogico + onda triangolare -> PWM -> amplificazione -> filtro
ma fare invece:
segnale digitale -> PWM -> amplificazione -> filtro
saltare quindi un passaggio di troppo.
Con delle buone porte AND/NAND di ultima generazione (es: http://www.onsemi.com/pub_link/Collateral/MC10EP05-D.PDF) si ottiene un reclock semplicissimo e di ottima qualità [(PWM sporco) AND (V+) = (PWM pulito)]
@madqwerty: con un segnale I2S ciò che si ottiene è direttamente il valore numerico di ogni "fettina", lo si confronta con una onda triangolare fittizia (basta già un ciclo "for" IMO) e si vede se l'output deve essere 0 o 1. Più semplice di così...
In altre parole: il ciclo for è come un'onda triangolare (ad alta frequenza - ormai ogni microcontrollore va almeno a qualche MHz). Si vede se il valore del segnale è maggiore o minore del valore del contatore del for e in base a quello si decide se sul pin X deve esserci uno 0 o un 1. Semplice algebra. Poi magari c'è un metodo anche più semplice e/o efficiente, ma devo pensarci su.
es in pascal (eh, sì, sono uno studente delle superiori XD)
for i:=0 to 65535 do //I2S a 16 bit
begin
if (valore_I2S >= i) then (pin1 = 1) else (pin1 = 0);
delay n_cicli;
*n_cicli è pari a frequenza di clock del microcontrollore diviso la frequenza di campionamento del segnale meno il numero di cicli che servono a fare la comparazione*
end;
e poi ripeterla al contrario per la parte discendente dell'onda triangolare fittizia
il bello di questo ragionamento è che non occorre una sovramodulazione: il microcontrollore sa di preciso quanto deve modulare
quello che voglio fare io è evitare di fare:
segnale digitale -> segnale analogico + onda triangolare -> PWM -> amplificazione -> filtro
ma fare invece:
segnale digitale -> PWM -> amplificazione -> filtro
saltare quindi un passaggio di troppo.
Con delle buone porte AND/NAND di ultima generazione (es: http://www.onsemi.com/pub_link/Collateral/MC10EP05-D.PDF) si ottiene un reclock semplicissimo e di ottima qualità [(PWM sporco) AND (V+) = (PWM pulito)]
@madqwerty: con un segnale I2S ciò che si ottiene è direttamente il valore numerico di ogni "fettina", lo si confronta con una onda triangolare fittizia (basta già un ciclo "for" IMO) e si vede se l'output deve essere 0 o 1. Più semplice di così...
In altre parole: il ciclo for è come un'onda triangolare (ad alta frequenza - ormai ogni microcontrollore va almeno a qualche MHz). Si vede se il valore del segnale è maggiore o minore del valore del contatore del for e in base a quello si decide se sul pin X deve esserci uno 0 o un 1. Semplice algebra. Poi magari c'è un metodo anche più semplice e/o efficiente, ma devo pensarci su.
es in pascal (eh, sì, sono uno studente delle superiori XD)
for i:=0 to 65535 do //I2S a 16 bit
begin
if (valore_I2S >= i) then (pin1 = 1) else (pin1 = 0);
delay n_cicli;
*n_cicli è pari a frequenza di clock del microcontrollore diviso la frequenza di campionamento del segnale meno il numero di cicli che servono a fare la comparazione*
end;
e poi ripeterla al contrario per la parte discendente dell'onda triangolare fittizia
il bello di questo ragionamento è che non occorre una sovramodulazione: il microcontrollore sa di preciso quanto deve modulare
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
kingbowser ha scritto:
segnale digitale -> PWM -> amplificazione -> filtro
saltare quindi un passaggio di troppo.
for i:=0 to 65535 do //I2S a 16 bit
begin
if (valore_I2S >= i) then (pin1 = 1) else (pin1 = 0);
delay n_cicli;
*n_cicli è pari a frequenza di clock del microcontrollore diviso la frequenza di campionamento del segnale meno il numero di cicli che servono a fare la comparazione*
end;
e poi ripeterla al contrario per la parte discendente dell'onda triangolare fittizia
il bello di questo ragionamento è che non occorre una sovramodulazione: il microcontrollore sa di preciso quanto deve modulare
L'avevo capita.
Ma il computer (PC) è troppo instabile come capacità di calcolo messa a disposizione per mantenere una modulazione continua e stabile.
Inoltre fa conto di dover lavorare a ca. 1MHz di modulazione quindi il tuo programmino diventa piuttosto lento e dispendioso.
Per calcolare il punto di intersezione basta una formuletta ....
Poi si possono fare tutti i sovracampionamenti possibili.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
ok, scartata l'ipotesi del PC si può vedere per il microcontrollore
oramai anche i PIC più scrausi arrivano ad almeno 5 MIPS, più che sufficienti a fare tale elaborazione
poi come dici tu è semplice fare un oversampling. Per esempio i chip tripath lavorano ad alta frequenza se non ricordo male
ciò che ha di innovativo questo concetto di ampli n classe D è che il PWM viene generato in via digitale e non in via analogica
diciamo che sarebbe un ampli un po' meno analogico della sola classe D
può funzionare?
PS: il feedback sarebbe sempre sotto forma di PWM, e non di segnale analogico come avviene con i classe D tradizionali.
una specie di retroazione DSP
oramai anche i PIC più scrausi arrivano ad almeno 5 MIPS, più che sufficienti a fare tale elaborazione
poi come dici tu è semplice fare un oversampling. Per esempio i chip tripath lavorano ad alta frequenza se non ricordo male
ciò che ha di innovativo questo concetto di ampli n classe D è che il PWM viene generato in via digitale e non in via analogica
diciamo che sarebbe un ampli un po' meno analogico della sola classe D
può funzionare?
PS: il feedback sarebbe sempre sotto forma di PWM, e non di segnale analogico come avviene con i classe D tradizionali.
una specie di retroazione DSP
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
kingbowser ha scritto:
può funzionare?
PS: il feedback sarebbe sempre sotto forma di PWM, e non di segnale analogico come avviene con i classe D tradizionali.
una specie di retroazione DSP
Certo che funziona visto che NAD, TI e cirruslogic lo hanno già fatto .
Per il sovra campionamento, disponendo di microprocessori molto preformati e stabili penso che si potrebbe addirittura arrivare a delle interpolazioni cubiche (che in teoria potrebbero mettere fuori gioco i sistemi a 32bit).
Il grosso problema è il feedback .... cosa moooolto complicata
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
la atmel vende ad un prezzo interessante (circa 8€) dei processori relativamente potenti come questo (32 bit, 24 bit di lunghezza parola, 96MHz a 3,3V)
http://it.mouser.com/ProductDetail/Atmel/ATSAM3U1EA-AU/?qs=sGAEpiMZZMvu0Nwh4cA1waShOIQQVah6%2fXgmwnVg%252b7w%3d
http://www.atmel.com/dyn/products/product_card.asp?part_id=4564
Quindi non credo ci siano problemi di potenza di calcolo
l'interpolazione cubica intenderesti usarla per interpolare altre "fettine" di dati? Mi pare una forzatura...
comunque sì, la retroazione rimane il problema più grande perché bisogna che il processore riesca a processare ciò che gli arriva in tempo per modificare ciò che sta partendo, quindi ci vuole velocità e inventiva
http://it.mouser.com/ProductDetail/Atmel/ATSAM3U1EA-AU/?qs=sGAEpiMZZMvu0Nwh4cA1waShOIQQVah6%2fXgmwnVg%252b7w%3d
http://www.atmel.com/dyn/products/product_card.asp?part_id=4564
Quindi non credo ci siano problemi di potenza di calcolo
l'interpolazione cubica intenderesti usarla per interpolare altre "fettine" di dati? Mi pare una forzatura...
comunque sì, la retroazione rimane il problema più grande perché bisogna che il processore riesca a processare ciò che gli arriva in tempo per modificare ciò che sta partendo, quindi ci vuole velocità e inventiva
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
E i DSP fatti da TI: praticamente dei supercomputer tascabili (ma bisogna sempre vedere quanto costano). Oppure usare una qualche GPU che adesso vanno di moda (ma troppo costosa di sicuro).
http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=dsp§ionId=2&tabId=1948&familyId=1401
Disponendo di potenza non vedo perché rinunciare alle funzioni più pazze ....
Comunque per il feedback per prima cosa ci vorrebbe un ADC molto efficiente, visto che alla fine il feedback deve essere preso dall'uscita analogica.
http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=dsp§ionId=2&tabId=1948&familyId=1401
Disponendo di potenza non vedo perché rinunciare alle funzioni più pazze ....
Comunque per il feedback per prima cosa ci vorrebbe un ADC molto efficiente, visto che alla fine il feedback deve essere preso dall'uscita analogica.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
con una ventina di euro ci si porta a casa un signor processore (però fixed point, ma se si fa un confronto con numeri interi come scritto sopra non penso ci siano problemi)
http://it.mouser.com/ProductDetail/Texas-Instruments/TMS320DM6433ZDU4/?qs=sGAEpiMZZMvi6wO7nhr1L3p%2fBHjvRP1O
potentissimo
una GPU non la vedo bene per questa applicazione
comunque il feedback non è così complicato: se si prende il segnale PWM amplificato prima dei mosfet di switching e lo si attenua fino a portarlo ad un livello TTL si otterrebbe un segnale molto simile ad uno digitale, formato di soli due stati, interpretabili dal DSP come 0 e 1
caz*o, 4752 MIPS a 32 bit! ci puoi fare un sacco di cose con tutta quella potenza!
http://it.mouser.com/ProductDetail/Texas-Instruments/TMS320DM6433ZDU4/?qs=sGAEpiMZZMvi6wO7nhr1L3p%2fBHjvRP1O
potentissimo
una GPU non la vedo bene per questa applicazione
comunque il feedback non è così complicato: se si prende il segnale PWM amplificato prima dei mosfet di switching e lo si attenua fino a portarlo ad un livello TTL si otterrebbe un segnale molto simile ad uno digitale, formato di soli due stati, interpretabili dal DSP come 0 e 1
caz*o, 4752 MIPS a 32 bit! ci puoi fare un sacco di cose con tutta quella potenza!
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
E prendere il feedback dopo i mosfet e prima del filtro LC.
Di fatto non si lavora sul segnale quasi definitivo e non si hanno i problemi di riconversione in digitale di un segale analogico.
Il grosso problema del feedback potrebbe essere il ritardo, anche di pochi uSec fra la fase di modulazione e l'uscita, cosa che potrebbe incastrare tutto il sistema e sopratutto deve essere regolata facendo delle misure pratiche.
Di fatto non si lavora sul segnale quasi definitivo e non si hanno i problemi di riconversione in digitale di un segale analogico.
Il grosso problema del feedback potrebbe essere il ritardo, anche di pochi uSec fra la fase di modulazione e l'uscita, cosa che potrebbe incastrare tutto il sistema e sopratutto deve essere regolata facendo delle misure pratiche.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
hai ragione, è meglio prendere il feedback subito prima del filtro
sicuramente, per lo stesso concetto di feedback ci sarà un ritardo. Bisogna minimizzarlo il più possibile, e se bisogna attenuare il segnale (così com'è sarebbe impossibile da reimmettere nel DSP) passa di sicuro del tempo. Comunque ci vorrebbe meno che passando per un ADC
il DSP è abbastanza veloce da contare poco a livello di ritardo temporale (pochi nanosecondi per processare il segnale e applicare il feedback a livello digitale)
o magari visto che è sempre un gioco di 0 e 1 si potrebbe provare ad attenuare con un altro mosfet, ma non so che risultati ci potrebbero essere.
o anche usare uno zener o un trasformatore ad impulsi. Comunque si proceda però rimane sempre almeno una resistenza sul percorso di retroazione che "ritarda" il segnale
bisognerebbe lavorare ad alte frequenze di switching per poter ridurre il ritardo causato dai mosfet (ordine del MHz), ma alte frequenze di switching significano anche filtri fisicamente più grossi
è un gioco di compromessi
comunque non mi sembra una cosa così impossibile, bisogna solo trovare la strada giusta
sicuramente, per lo stesso concetto di feedback ci sarà un ritardo. Bisogna minimizzarlo il più possibile, e se bisogna attenuare il segnale (così com'è sarebbe impossibile da reimmettere nel DSP) passa di sicuro del tempo. Comunque ci vorrebbe meno che passando per un ADC
il DSP è abbastanza veloce da contare poco a livello di ritardo temporale (pochi nanosecondi per processare il segnale e applicare il feedback a livello digitale)
o magari visto che è sempre un gioco di 0 e 1 si potrebbe provare ad attenuare con un altro mosfet, ma non so che risultati ci potrebbero essere.
o anche usare uno zener o un trasformatore ad impulsi. Comunque si proceda però rimane sempre almeno una resistenza sul percorso di retroazione che "ritarda" il segnale
bisognerebbe lavorare ad alte frequenze di switching per poter ridurre il ritardo causato dai mosfet (ordine del MHz), ma alte frequenze di switching significano anche filtri fisicamente più grossi
è un gioco di compromessi
comunque non mi sembra una cosa così impossibile, bisogna solo trovare la strada giusta
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
Allora, se il microcontrollore esce in TTL (0-5V), applicando un bias di 3,5V si otterrebbe un segnale PWM tra i 3,5 e gli 8,5V cioè il valore ottimale per smuovere i mosfet. Sapendo poi i tempi di salita e di caduta dei mosfet usati si può intervenire via software affinché i due non siano mai insieme in conduzione (cioè infilare un delay di Ton+Toff tra Q e notQ)
Si eviterebbe anche l'utilizzo di driver per mosfet alleggerendo lo schema, il BOM e il costo finale.
ora occorre scegliere il procio (quelli della TI non sono utilizzabili da un autocostruttore essendo tutti BGA), i mosfet, disegnare schema e pcb e scrivere il firmware
Si eviterebbe anche l'utilizzo di driver per mosfet alleggerendo lo schema, il BOM e il costo finale.
ora occorre scegliere il procio (quelli della TI non sono utilizzabili da un autocostruttore essendo tutti BGA), i mosfet, disegnare schema e pcb e scrivere il firmware
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
per avere molta velocità si potrebbero usare degli FPGA, costano poco e rendono tanto
es: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=122-1504-ND
poi ho trovato questo ottimo pdf per l'oversampling
http://www.student.oulu.fi/~oniemita/dsp/deip.pdf
appena riesco me lo leggo
es: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=122-1504-ND
poi ho trovato questo ottimo pdf per l'oversampling
http://www.student.oulu.fi/~oniemita/dsp/deip.pdf
appena riesco me lo leggo
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
pazzia?
pensavo, invece di usare un sistema di feedback, visto che si utilizza un microcontrollore, non si potrebbe fare qualcosa come misurare induttanza, resistenza e capacità del diffusore che verrà connesso all'ampli per poter fare una "correzione ambientale" digitale?
il feedback non serve solo a correggere il segnale in seguito all'aggiunta del carico all'ampli?
sarebbe più performante di un feedback, penso.
pazzia? sottovalutazione?
che ne pensate?
per quanto riguarda il software si può facilmente implementare, per quanto riguarda l'hardware si potrebbe mettere un pulsantino da azionare ogni qualvolta si cambia di diffusori all'impianto per adeguarne il segnale
si dovrebbe fare a meno dei test doppio cieco però
il feedback non serve solo a correggere il segnale in seguito all'aggiunta del carico all'ampli?
sarebbe più performante di un feedback, penso.
pazzia? sottovalutazione?
che ne pensate?
per quanto riguarda il software si può facilmente implementare, per quanto riguarda l'hardware si potrebbe mettere un pulsantino da azionare ogni qualvolta si cambia di diffusori all'impianto per adeguarne il segnale
si dovrebbe fare a meno dei test doppio cieco però
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
avoglia a parlare di feedback, io sono ancora fermo qui
oggi ho poca voglia, e quindi mi sono messo a disegnare
e continuano a non tornarmi i conti,
se ipotizzo una F di PWM di 100kHz (che credo essere bassissima, se ho ben capito)
una quantizzazione a 16 bit,
Tpwm = 1 / Fpwm = 1/100KHz = 0.01 ms
Tpwm / Ti = (2^16) -1 = 65535
Ti = 0.01ms / 65535 = 0.15 ns
Fi = circa 6,5 GHz
all'interno di ogni intervallo Ti dovrai eseguire un giro completo del tuo ciclo (porca troia ma ancora dal Pascal partono? ) e magari anche tenerti un poco largo per sicurezza... facciamo che per valutare quel ciclo servano almeno 10cicli macchina (non è tantissimo..)
il nostro processore dovrà avere una potenza di almeno 65 GIPS ?
65 GHz di frequenza di clock, nell'ipotesi in cui si smazzi una operazione a ciclo?
madqwerty ha scritto:
supponiamo una modulante PWM di 100 kHz (clamorosamente bassa)
abbiamo quindi l'intervallo temporale minimo,
che sarà "tutto ON" in caso di segnale modulante al suo max,
"tutto OFF" in caso di segnale al suo minimo consentito..
il segnale modulante : in realtà è un numero digitale, quantizzato a 16 bit (mi tengo basso) quindi 64K combinazioni...
per non perdere "risoluzione" ognuno di questi diversi valori dovrà avere una sua rappresentazione precisa in PWM,
quindi quel T va suddiviso in 64K fettine, ogni livello digitale con il suo preciso DutyCicle..
ne risulta una frequenza di campionamento "interna" al singolo campione PWM di 100kHz * 64K = 6,4 GHz
e 100khz è il nulla (se non erro i classe T modulano a 600 e rotti KHz)
anche i 16 bit potrebbero diventare 24..
mi è caduta da qualche parte una tessera del puzzle
kingbowser ha scritto:
es in pascal (eh, sì, sono uno studente delle superiori XD)
for i:=0 to 65535 do //I2S a 16 bit
begin
if (valore_I2S >= i) then (pin1 = 1) else (pin1 = 0);
delay n_cicli;
*n_cicli è pari a frequenza di clock del microcontrollore diviso la frequenza di campionamento del segnale meno il numero di cicli che servono a fare la comparazione*
end;
e poi ripeterla al contrario per la parte discendente dell'onda triangolare fittizia
il bello di questo ragionamento è che non occorre una sovramodulazione: il microcontrollore sa di preciso quanto deve modulare
oggi ho poca voglia, e quindi mi sono messo a disegnare
e continuano a non tornarmi i conti,
se ipotizzo una F di PWM di 100kHz (che credo essere bassissima, se ho ben capito)
una quantizzazione a 16 bit,
Tpwm = 1 / Fpwm = 1/100KHz = 0.01 ms
Tpwm / Ti = (2^16) -1 = 65535
Ti = 0.01ms / 65535 = 0.15 ns
Fi = circa 6,5 GHz
all'interno di ogni intervallo Ti dovrai eseguire un giro completo del tuo ciclo (porca troia ma ancora dal Pascal partono? ) e magari anche tenerti un poco largo per sicurezza... facciamo che per valutare quel ciclo servano almeno 10cicli macchina (non è tantissimo..)
il nostro processore dovrà avere una potenza di almeno 65 GIPS ?
65 GHz di frequenza di clock, nell'ipotesi in cui si smazzi una operazione a ciclo?
madqwerty- Moderatore
- Data d'iscrizione : 11.12.08
Numero di messaggi : 6279
Località : Chivasso (TO)
Occupazione/Hobby : IT
Impianto : Powered by T-Forum :-)
Re: progetto Power DAC
madqwerty ha scritto:avoglia a parlare di feedback, io sono ancora fermo quikingbowser ha scritto:
es in pascal (eh, sì, sono uno studente delle superiori XD)
for i:=0 to 65535 do //I2S a 16 bit
begin
if (valore_I2S >= i) then (pin1 = 1) else (pin1 = 0);
delay n_cicli;
*n_cicli è pari a frequenza di clock del microcontrollore diviso la frequenza di campionamento del segnale meno il numero di cicli che servono a fare la comparazione*
end;
e poi ripeterla al contrario per la parte discendente dell'onda triangolare fittizia
il bello di questo ragionamento è che non occorre una sovramodulazione: il microcontrollore sa di preciso quanto deve modulare
oggi ho poca voglia, e quindi mi sono messo a disegnare
e continuano a non tornarmi i conti,
se ipotizzo una F di PWM di 100kHz (che credo essere bassissima, se ho ben capito)
una quantizzazione a 16 bit,
Tpwm = 1 / Fpwm = 1/100KHz = 0.01 ms
Tpwm / Ti = (2^16) -1 = 65535
Ti = 0.01ms / 65535 = 0.15 ns
Fi = circa 6,5 GHz
all'interno di ogni intervallo Ti dovrai eseguire un giro completo del tuo ciclo (porca troia ma ancora dal Pascal partono? ) e magari anche tenerti un poco largo per sicurezza... facciamo che per valutare quel ciclo servano almeno 10cicli macchina (non è tantissimo..)
il nostro processore dovrà avere una potenza di almeno 65 GIPS ?
65 GHz di frequenza di clock, nell'ipotesi in cui si smazzi una operazione a ciclo?
Ma non esagerare.
Quel programmino lo si risolve con una formuletta ed è sufficiente un calcolo (completo) per ogni impulso PWM.
Inoltre non penso che serva una densità di 16² per avere un risultato sufficiente.
Di certo il problema della densità del ciclo di uscita è uno dei problemi da risolvere.
Il vero problema di tutta la faccenda è e resta la rete di feedback, che non penso propio la si possa prendere alla leggera come state facendo.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
ho passato la mattinata a scervellarmi sul feedback ma non ne vengo a capo se non con un ottimo ADC o truschini mica tanto semplici
Comunque come diceva barone rosso il tutto è riconducibile ad una formula, quindi non ci sono di questi problemi di campionamento.
Cioè si deriva con una qualche tecnica di signal reconstruction (http://en.wikipedia.org/wiki/Signal_reconstruction) la curva alla base del segnale di partenza, e la si interseca con una funzione di onda triangolare alla frequenza di campionamento voluta
i cicli di calcolo spesi sono raggruppabili in: derivazione del segnale di partenza e comparazione (matematica) con l'onda trangolare
Cosa fattibile anche da parte di DSP/microprocessori di livello medio-base.
per applicare invece il feedback velocemente si potrebbe usare un fpga penso
torno a rimuginare sul feedback (la storia di utilizzare il segnale PWM amplificato mi sembra sempre più lontana)
Comunque come diceva barone rosso il tutto è riconducibile ad una formula, quindi non ci sono di questi problemi di campionamento.
Cioè si deriva con una qualche tecnica di signal reconstruction (http://en.wikipedia.org/wiki/Signal_reconstruction) la curva alla base del segnale di partenza, e la si interseca con una funzione di onda triangolare alla frequenza di campionamento voluta
i cicli di calcolo spesi sono raggruppabili in: derivazione del segnale di partenza e comparazione (matematica) con l'onda trangolare
Cosa fattibile anche da parte di DSP/microprocessori di livello medio-base.
per applicare invece il feedback velocemente si potrebbe usare un fpga penso
torno a rimuginare sul feedback (la storia di utilizzare il segnale PWM amplificato mi sembra sempre più lontana)
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
kingbowser ha scritto:
ho passato la mattinata a scervellarmi sul feedback ma non ne vengo a capo se non con un ottimo ADC o truschini mica tanto semplici
Vedi:
http://users.ece.gatech.edu/~mleach/ece4435/f01/ClassD2.pdf
è chiaro che bisogna compare quello che esce con quello che entra.
Per quanto riguarda il modello non è cosi evidente.
Tieni anche in conto la possibilità di non usare un ADC e fare il tutto con un filtro digitale.
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
Non riesco a trovare un modo per avere un feedback di natura totalmente digitale, ogni soluzione mi fa venire in mente uno stadio di ADC.
Consigli?
L'ipotesi della misura del carico (del diffusore) per adattarsi a monte (in via digitale senza bisogno di feedback) è un po' campata per aria secondo voi?
Era una cosa del tipo "il processore sa come si comporterà l'altoparlante e il sistema di filtraggio e fa uscire un segnale PWM tale che si abbia meno problemi possibile"
Quest'ultima cosa si potrebbe fare anche con un ADC di basso livello (basta poco a misurare induttanza, resistenza e capacità), cosa impossibile per un feedback (solo che bisognerebbe anche prevedere non-linearità date da calore e ambiente...)
Consigli?
L'ipotesi della misura del carico (del diffusore) per adattarsi a monte (in via digitale senza bisogno di feedback) è un po' campata per aria secondo voi?
Era una cosa del tipo "il processore sa come si comporterà l'altoparlante e il sistema di filtraggio e fa uscire un segnale PWM tale che si abbia meno problemi possibile"
Quest'ultima cosa si potrebbe fare anche con un ADC di basso livello (basta poco a misurare induttanza, resistenza e capacità), cosa impossibile per un feedback (solo che bisognerebbe anche prevedere non-linearità date da calore e ambiente...)
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Re: progetto Power DAC
kingbowser ha scritto:Non riesco a trovare un modo per avere un feedback di natura totalmente digitale, ogni soluzione mi fa venire in mente uno stadio di ADC.
Consigli?
L'ipotesi della misura del carico (del diffusore) per adattarsi a monte (in via digitale senza bisogno di feedback) è un po' campata per aria secondo voi?
Era una cosa del tipo "il processore sa come si comporterà l'altoparlante e il sistema di filtraggio e fa uscire un segnale PWM tale che si abbia meno problemi possibile"
Quest'ultima cosa si potrebbe fare anche con un ADC di basso livello (basta poco a misurare induttanza, resistenza e capacità), cosa impossibile per un feedback (solo che bisognerebbe anche prevedere non-linearità date da calore e ambiente...)
La misura del carico mi sembra eccessiva per il momento, visto che prima si deve capire come fare il feedback normale.
Senza ACD devi semplicemente prendere il segnale modulato prima del filtro LC e con un filtro passa basso numerico ottieni un demodulatore PWM digitale (serve una convoluzione: ovvero una FFT una moltiplicazione fra vettori e una FFT inversa). Altrimenti tentare metodi più semplici come la media mobile.
Oppure confrontare il segnale PWM di potenza con quello calcolato ed introdurre un fattore di correzione.
Ma anche in questo caso servono due stadi di modulazione.
Anzi serve uno stadio di modulazione ed uno di correzione.
[È un gran casino .... ]
Barone Rosso- Moderatore
- Data d'iscrizione : 24.03.08
Numero di messaggi : 8036
Località :
Provincia : Altrove
Impianto : Z + X = Y
Re: progetto Power DAC
ma secondo me la misura del carico potrebbe dare buoni frutti, perché si eviterebbe di usare il feedback alla radice
fammi capire dunque:
1) il segnale amplificato viene attenuato per poter rientrare nel processore
2) all'interno del procio si esegue una FFT
3) si attenuano per via digitale le armoniche di ordine alto come si fa in via analogica con il filtro LC
4) in base al risultato ottenuto si modifica il segnale di partenza
(cioè si fa "finta" di aver preso il segnale filtrato dall'LC trasposto a digitale per la correzione)
giusto?
la media mobile non mi piace come idea
EDIT: aggiungo un'altra possibilità: prendere il segnale amplificato e filtrato, compararlo ad una onda triangolare di frequenza pari a quella fittizia usata nel processore (magari presa proprio da esso, i DAC oramai si trovano su tutti i DSP), ottenere un segnale PWM da rimandare indietro al processore da usare come feedback. Si perde il "tutto digitale" però
fammi capire dunque:
1) il segnale amplificato viene attenuato per poter rientrare nel processore
2) all'interno del procio si esegue una FFT
3) si attenuano per via digitale le armoniche di ordine alto come si fa in via analogica con il filtro LC
4) in base al risultato ottenuto si modifica il segnale di partenza
(cioè si fa "finta" di aver preso il segnale filtrato dall'LC trasposto a digitale per la correzione)
giusto?
la media mobile non mi piace come idea
EDIT: aggiungo un'altra possibilità: prendere il segnale amplificato e filtrato, compararlo ad una onda triangolare di frequenza pari a quella fittizia usata nel processore (magari presa proprio da esso, i DAC oramai si trovano su tutti i DSP), ottenere un segnale PWM da rimandare indietro al processore da usare come feedback. Si perde il "tutto digitale" però
kingbowser- Membro classe bronzo
- Data d'iscrizione : 14.04.09
Numero di messaggi : 1176
Località : Aosta
Impianto : iMac & PlayStation scph-1002, sure board TK2050, diffusori fulrange autocostruiti con TB W4 657B (da verniciare)
Pagina 1 di 3 • 1, 2, 3
Argomenti simili
» Mini TPA3123 Class D power amplifier board (DC10-25V power supply)
» problema power supply modulo ice power
» Progetto Diffusori da pavimento semplici (modifica progetto LE CONTRO ZU IN STILE ITALIANO)
» Power Genesis 3020 o Power Tascio 3020 (by Vincenzo)?
» Stamattina... Oggi pomeriggio... Stasera... Stanotte... (parte 12)
» problema power supply modulo ice power
» Progetto Diffusori da pavimento semplici (modifica progetto LE CONTRO ZU IN STILE ITALIANO)
» Power Genesis 3020 o Power Tascio 3020 (by Vincenzo)?
» Stamattina... Oggi pomeriggio... Stasera... Stanotte... (parte 12)
Pagina 1 di 3
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.
Oggi alle 1:03 Da Gabriele1
» Problema collegamento registratori OTARI
Ieri alle 22:38 Da valterneri
» AMPLIFICATORI INTEGRATI TECHNICS SUA-900 E YAMAHA AS701:
Ieri alle 20:05 Da arthur dent
» Regalo giradischi per mia moglie
Ieri alle 19:22 Da giucam61
» GIRADISCHI RETROLIFE FUNZIONA MA NON SI SENTE
Ieri alle 18:00 Da giucam61
» Impiantino da pezzi recuperati - Wharfdale Alientek Onkyo consigli
Ieri alle 16:55 Da Marco Ravich
» Consiglio acquisto prime cuffie Hi-End
Ieri alle 11:59 Da rinorho
» I bar in cui si ascolta la musica come si deve
Mer 20 Nov 2024 - 22:45 Da handros
» Diffusori amplificati piccoli
Mer 20 Nov 2024 - 22:42 Da handros
» Vorrei cambiare impianto, budget 3000 euro
Mer 20 Nov 2024 - 21:38 Da Fabietto68+
» Info su Dac+Amp portatile sotto i 200€ - Cuffie in possesso: Sennheiser MOMENTUM 4 Wireless
Mer 20 Nov 2024 - 19:08 Da giucam61
» TD 160 MOTORE
Mar 19 Nov 2024 - 19:12 Da morgana90
» Quale giradischi vintage?
Mar 19 Nov 2024 - 9:19 Da Quaiozi!
» Perché un DAC esterno non funziona con un uscita SACD da un Marantz
Mar 19 Nov 2024 - 8:53 Da Marco Ravich
» (RG) QED Reference Optical Quartz da 0.6m - 60€ +SS
Lun 18 Nov 2024 - 20:44 Da Darios8
» (RG) Audioquest Chicago RCA da 1m - 60€ +SS
Lun 18 Nov 2024 - 20:41 Da Darios8
» (RG) Audioquest King Cobra RCA da 0.5m - 80€ +SS
Lun 18 Nov 2024 - 20:39 Da Darios8
» (RG) Vendo NAD C 538 - 230€ +SS
Lun 18 Nov 2024 - 20:38 Da Darios8
» (RG) Vendo Teac UD-301 - 250€ + SS
Lun 18 Nov 2024 - 20:37 Da Darios8
» diffusori monitor audio platinum 100 3g
Lun 18 Nov 2024 - 15:22 Da fritznet
» RME Multiface 2 + scheda PCIe 380€
Lun 18 Nov 2024 - 14:43 Da fritznet
» The lamb lise down on broadway
Lun 18 Nov 2024 - 12:09 Da Quaiozi!
» problema autoradio fiat punto grande con sub della casa madre
Lun 18 Nov 2024 - 9:13 Da amineruu
» Pioneer N50A lettore di rete
Dom 17 Nov 2024 - 12:32 Da mauretto
» Biamplificazione con subwoofer mono
Dom 17 Nov 2024 - 9:40 Da Zio
» Consigli Yamaha m2 + pre amp c4
Sab 16 Nov 2024 - 18:43 Da arthur dent
» RME RPM vendesi
Sab 16 Nov 2024 - 16:55 Da fritznet
» thorens td 145 mkII help
Ven 15 Nov 2024 - 10:24 Da philball1959
» Che musica ascoltate in questo momento?
Gio 14 Nov 2024 - 15:41 Da ste-65
» Rotti puntali copricasse
Gio 14 Nov 2024 - 12:47 Da jenw84