DIY Electronic projects
Class D Amplifier - High Quality Power Audio Amplifier - Printable Version

+- DIY Electronic projects (https://forum.yu3ma.net)
+-- Forum: Hifi audio (https://forum.yu3ma.net/forum-3.html)
+--- Forum: Pojačivači snage - Power amps (https://forum.yu3ma.net/forum-16.html)
+--- Thread: Class D Amplifier - High Quality Power Audio Amplifier (/thread-2651.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46


RE: Class D Amplifier - High Quality Power Audio Amplifier - yugaja - 08-04-2022

Pa sigurno ne moze u okviru sampla prosto sistemi u prirodi su kauzalni što će reći nema vidovitosti I odziva pre pobude. 🙄 Osim ako ne želiš da napravimo model zvučnika i filtera i svega, da kasnimo signal i radimo procesiranje na osnovu simulacije..


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Napravio sam simulaciju ali ne znam dali sam dobro odradio most. Dodao sam deo iz dsd fajla i konvertovao taj deo u pdm i dodao u piecewise linear input, ako neko ima vremena da modifikuje bio bi zahvalan da ne gubim vreme na ucenju kako most treba da izgleda, bolje da to vreme potrosim na dodavanju pcm1802 kao i pisanju programa za rpi4. Znaci na ulazu bi trebalo da bude 4 gpio porta, 2 HI i dva LO, gpio napon je 3.3V. Treba mi pomoc da neko dopravi ovu tinaTi simulaciju tako da na izlazu za zvucnik imam 1W ako nije problem. Nemam ni ideju koji tranzistori su prikladni za ovo, Miki je predlozio neke UHF koji su ekstra brzi


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Modifikovao sam VG1 i VG2 tako da je sada 3.3V na ulazu umesto 1V, ta dva inputa oponsaju ono sto bi gpio portovi sa rpi4 uradili


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Yugaja ali gledaj jedan sample na dsd64 iznosi 354.308390ns, ja mislim da bi mi u okviru tog vremena na mcu ili na nekom cpu mogli da ocitamo bit sa ulaza, smestimo ga u bufer, smestimo bufer ucitamo bufer u uint32_t, konvertujemo ga u 24 bit, u drugi uint32_t smestimo bit od ADC-a, kalkulisemo, posaljemo gpio instrukciju, neki dobar mcu bi to sve mogao da odradi u vremenu 354.308390ns, neka bude 100ns, dali bi to moglo sve za 100ns da se odradi? Ako je to sve moguce za 100ns, neka bude i 300ns mi smo opet u okviru jednog sampla da imamo mogucnost da modifikujemo bitove u buferu dok se jos uvek bit na izlazu iz bufera nije nasao na gpio. Imali bi dva treada, jedan tread bi radio bufer i gpio dok bi drugi tread radio sve ostalo


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Ne moze ovo da se proba preko rpi4 softverski, treba nam klok i mcu da bi se sinhronizovano moglo probati. Moze jedino bez fb, ni tako tajming nebi mogao da se podesi na 354.308390ns


RE: Class D Amplifier - High Quality Power Audio Amplifier - yugaja - 08-04-2022

Iskreno ja mislim da nije problem u brzini mcua nikad ni bio. Ali isto tako mislim da ne možemo porediti ulazni signal i trenutku t0 sa izlaznim signalom u istom trenutku, jer nameravamo da kontrolišemo sistem kome treba neko vreme da izbaci signal do, zvučnika.
Sistem (box sa h bridgeom i lp filter i zvucnik) ima svoju funkciju prenosa, ima freq karakteristiku i faznu. Ima group delay..Ne znam koje si predmete slušao na faksu ali ovo je klasičan problem automatskog upravljanja sistema i uvođenje negativne reakcije. I kao da nije dovoljno komplikovano samo po sebi, još je sistem diskretan i + radimo sa formatom brojeva u kome ne znamo matematiku. Mislim da ćemo morati deo po deo sa rešavamo.. Prvo nek zasvira bez NFB


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

(07-01-2022, 01:11 AM)Dragan100 Wrote: ......što su i pokazali merenjima sa Evaluation bordom/ima različitim LMG34xxR0x0

PDM iz DSPja dovedemo do:
Forward
Komplementarnog razdvajanja 74LVC1G99 koji ima propagacijski delay od 4...5nsec (sa 5V napajanja)
ISO78xx kasni odprilike 11..12nsec
LMG3411R050 kasne po DS za manje od 20nsec 
------------------------------------------------------------
TOT forward do SW tačke HalfBridga negdje odokativno ranga do <50nsec

Back
LC filtar unosi nam "kašnjenje" u obliku faznog pomeranja, pa treba i njega uključiti kao kašnjenje kad se radi PostFilter NFB, ali ako se ide filtracijom nešto više rezne freq,
onda neka bude "kašnjenje"-fazni pomak od ranga ispod 1usec
onda je tu VCA/VGA/PGA sa limitom svojeg BW i SR, pa treba i njega uključiti iako sa SR 20V/usec i radom na nekih do 2Vpp, nam je to ranga 100nsec "kašnjenja"
ADC NFBja svojim kašnjenjem, tu treba vidjeti kojeg odabrati, ali tu je kašnjenje takodjer u rangu ispod 100nsec, čak podosta manje ako se ide na više freq i poslije down konvertingom

TOT od izlaza DSPja pa Back do ulaza NFBja u DSP ranga <1usec  = latenca jednog loopa 

STEREO trebao bi več razdvajati sam DSP, LeftPDM_out i RightPDM_out
-----------------------------------------------------------

Zar audio ne držimo u "digitalnom" zapisu sve do GaN FullBridga?

U pravu si yugaja, nema sanse da se odradi post filter fb a da budemo u tom istom samplu. Stvarno nemam ideju kako bi se ovo moglo uraditi. Ne mogu da nadjem post u kom je Dragan okacio onaj dokumenat sa D klasom pojacala sa pdm modulacijom i post filter fidbekom, trebalo bi to dobro procitati. Uopste mi sad nije jasno, ako LC filter unosi kasnjenje od 1us, kako mi to da znamo koji sampl sa ADC i sampl sa ulaza uporedjujemo ako je vremenska razlika skoro 1us, kako mi da znamo vremenski kada ce sampl sa ulaza da izadje na izlaz da bi uopste mogli da ih uporedimo?


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

I jos jedna stvar. PCM1804 bi trebalo sinhronizovati sa ulaznom frekvencijom, kako je to uopste moguce ako je pcm1804 na post filteru


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

ja cu najverovatnije da pravim dsd ulaz za polumost https://forum.yu3ma.net/thread-2651-post-122105.html#pid122105 i bez FB pa neka ima i 10% thd, okacim shemu kad nacrtam. Moram samo videti dali onaj iso moze da radi na 3.3V na strani gde je digitalija. Da, moram i brzi flipflop da nadjem.

Uspeo sam da dobijem zvuk iz simulacije, cujem samo deo trake od nekih 410ms, mogu da razaznam onaj deo kada izgovaram "dsd" ali samo deo toga "ds" Smile . Dvadeset minuta je trebalo da odradi simulaciju u trajanju 410ms


RE: Class D Amplifier - High Quality Power Audio Amplifier - Dragan100 - 08-04-2022

(08-04-2022, 02:09 PM)yugaja Wrote: Iskreno ja mislim da nije problem u brzini mcua nikad ni bio. Ali isto tako mislim da ne možemo porediti ulazni signal i trenutku t0 sa izlaznim signalom u istom trenutku, jer nameravamo da kontrolišemo sistem kome treba neko vreme da izbaci signal do, zvučnika.
Sistem (box sa h bridgeom i lp filter i zvucnik) ima svoju funkciju prenosa, ima freq karakteristiku i faznu. Ima group delay..Ne znam koje si predmete slušao na faksu ali ovo je klasičan problem automatskog upravljanja sistema i uvođenje negativne reakcije. I kao da nije dovoljno komplikovano samo po sebi, još je sistem diskretan i + radimo sa formatom brojeva u kome ne znamo matematiku. Mislim da ćemo morati deo po deo sa rešavamo.. Prvo nek zasvira bez NFB

Tako je!

Imamo DSD64 32Bit TTL compatible izlaz, 1Bit sample širine 354nsec
Naravno, imamo i differencialni izlaz , tako da možemo "ganjati" neki miniaturni FullBridge!
Ako nema differ.izlaza, onda ubacimo neki brzi INVerter (može INVerter, NOR, NAND, vidi shemu) i dodajemo nešto DeadTima, ranga do 10nsec

[Image: attachment.php?aid=38073]

Predložio sam ultra-brze kapije kao naše drivere u FullBridgu (nekoliko postova unazad), i nisam se šalio! :-)

Brze su, lako rade na nekoliko desetina MHz pod opterečenjem, imaju po 50mApeak izlaza, jeftine su, ....
QUAD kapije serije SN74AS/LVCxxxx, njih 3x u jedan HalfBridge = 12kapijax50mApeak = 0,5Apeak++
Mogu AND, OR, NAND, NOR, Buffer, INVerter,  šta se lakše dobiva...


Do 1W na 8R0 (ili kvalitetne slušalice 16R0/32R0) mogli bismo sa tih 5VDC napajanja da odradimo! 
Barem da se proba taj koncept "TRUE DIGITAL DSD64 FullBridge"

Sa tim brzim kapijama čak bi se moglo probati i brže DSD formate 


.tsc   PDM FullBridge SN74ASxxx.TSC (Size: 219,47 KB / Downloads: 1)


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Nadje tekst, ali nista ne kontam Smile




PS: dodajem i .pdf, da bude sve na okupu!
Dragan


.rar   Self-Tuned Class-D Audio Amplifier With Post-Filter Digital Feedback Implemented on Digital Signal Controller.part1.rar (Size: 2 MB / Downloads: 1)

.rar   Self-Tuned Class-D Audio Amplifier With Post-Filter Digital Feedback Implemented on Digital Signal Controller.part1.rar (Size: 2 MB / Downloads: 1)


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-04-2022

Ovaj je iz 2009 godine isto odradjen poost filter digitalni fb


RE: Class D Amplifier - High Quality Power Audio Amplifier - Dragan100 - 08-05-2022

Mouton i Putzeys razvili su taj global digital FB sa tabelom/shemom memorizovanom (LC+LOAD)s, 
pošalju pulz i odrade PID parametre po nekoj toj "najviše sličnoj" memorizovano shemi.
I zadobivaju extremno dobre rezultate.

Sobaszcek ide korak dalje, šalje impulz na izlaz i čita odziv tog modula (LC+LOAD)s, što je zapravo poslije SW tačke HB sve skupa potrošač sa svojstvima Bode grafa, amplitudno i fazno zavisan.
Ide i MultiFazno = kao da se ide sa višom freq rada Dclasse, što je tada bilo adekvatno, sada bržim GaN modulima može i jednofazno ili malim brojem faza!!!

Tu je sva ta matematika NFBja koja raspolaže sa popravcima "REALNOG" opterečenja + LC izlaznog filtra.
opisuje je vrlo čitko i mnogo dobro matem. analizarujuče!

"Degradacija njegovog rada" rezultata je zapravo limitacija upotrebljenog ADC konvertera(12BIT ADC u FB), zato i prezentiran visok THD, 
što detaljno obnjašnjava u radu.
ADCjem višeg ranga 24...32BIT, zadobivalo bi se fantastične performanse, za svako priključeno opterečenje,
jer se redi PID interpolacija NFBja, prije svakog puštanja u rad Dclass AMPa.
Tu se dobija i SOA lokus protekcije I/V , znači Vout_max vc Iout_max na upotrebljene komponente i hladnjake,

znači odčitamo Bode graf LC+Load i vršimo popravljenim PID parametrima digitalno drivovanje Dclass izlaza. 
(na kraju možemo i PWM konverziju iz DSD/PDM ili čak PCM interno da radimo)
THD mora da bude izuzetno nizak, ali je NFB matematika i procesiranje izuzetno kompleksno!!!


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-05-2022

Vidim da su oni na ulazu imali ispod megahertz pa su morali da upsampluju na frekvenciju adc-a. nama u prilog ide to sto nam je i ulaz i adc u dsd64 formatu i na istoj frekvenciji, i ne moramo nista da up/ov/samplujemo. Ali ne razumem kako da sinhronizujemo adc sa ulaznim klokom? Nemoguce ga je sinhronizovati jer imamo ta kasnjenja, dok dodje i prodje kroz LC i dodje do ADC tu je vec debelo zakasnio. Ako bi to i bilo nekako moguce, koliko bi bitova moglo uopste da se uporedi, verujem da bi od ta 24bit imali bar 10 bitova koji bi bili slicni ako ne i isti i koje bi mogli da iskoristimo za kalkulaciju, dok bi ostalih 14 bitova verovatno bili daleko razliciti od izvornih bitova zbog uticaja filtera i zvucnika? Znaci prvi problem je kako sinhronizovati dac sa ulaznom frekvencijom? Po nekoj logici stvari ako bi sinhronizovali adc sa ulaznim klokom logicno je da signal jos uvek nije izasao iz filtera i da bi ocitali nesto a to nesto nebi bilo ni blizu izvora. To je prvi problem. Drugi problem. Ovde bi mogli da sacuvamo nekoliko ulaznih samplova pa dok signal malo okasni mi imamo tih nekoliko samplova sacuvanih i probamo da vidimo koji je sampl slican izlaznom samplu. Kako matematicki da znamo koliko je kasnjenje? Kako da kompenzujemo to kasnjenje da bi uopste bili u mogucnosti da poredimo ulaz i izlaz? Kako da sinhronizujemo ulazni klok sa klokom koji ide na adc? Ne znam stvarno nemam ideju. Mozda niki pot na SCKI od adc-a da mozemo da fino podesimo synhronizaciju da bi u narednih nekoliko samplova mogli da dobijemo rezulat prvog sampla za koji znamo da treba da zakasni?

Mislim da bi do ISO trebalo napraviti, sve posle iso izostaviti, ostaviti pinove LOIN, HIIN, nErr. Mozda can ne raditi napajanja nego ostaviti pinove i za to. Ostaviti pin i na SW tacki i pre i posle filtera. Da nam to bude minimalna plocica. Videti kasnije sta treba pa napraviti dodatne plocice po potrebi.


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-05-2022

Dali postoji neki mehanizam recimo neki definisan signal koji prolazi kroz isti taj LC i koji bi ustvari aktivirao HIGH na klok ulazu od ADC?? Kasnjenje metar! Tako bi mozda bilo moguce da izmerimo broj samplova sa ulaza i vreme kada je sampl na adc-u, recimo znamo da je bilo 5 samplova u medjuvremenu tako da znamo koji sampl da poredimo sa sampla adc-a


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-05-2022

Probao sam nesto na rpi4 i zgrozavam se koliko je spor, jel moguce da mu treba 1180ns da izracuna nanos() - ticks ?

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <time.h>

uint64_t nanos(void)
{
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    //clock_gettime(CLOCK_REALTIME, &ts);
    uint64_t ns = (uint64_t)ts.tv_nsec;
    return ns;
}

int main(void)
{
    uint64_t ticks = nanos();
    uint64_t rr = nanos() - ticks;
    printf("%lld\n", rr);

    return 0;
}

Code:
root@rpi4:~# gcc -Wall -O3 dsd.c -o dsd
root@rpi4:~# ./dsd
1741
root@rpi4:~# ./dsd
1592
root@rpi4:~# ./dsd
1760

Ja imam jedan problem sa napajanjem i rpi4 mi je trenutno u ovom rezimu (52.1'C 1500 / 800 MHz 0.8700V - Throttling has occurred, Under-voltage has occurred) ali i pored undervoltaga radi na 800MHz, sta nije u redu, zasto mu treba da ovu prostu funkciju izvrsi za tako ogromno vreme? Mislio sam da napisem programcic za ovaj nas test da mozemo da pustimo dsd64 i konvertujemo u pdm na 2 gpio porta, ali izgleda to je nemoguce


RE: Class D Amplifier - High Quality Power Audio Amplifier - danibosn - 08-06-2022

znaju ti rpi za-vat s naponom. ako imas regulirano napajanje digni napon od 5.5 - 6.0 V. Bar ovi moji tako rade (rpi 3B+)


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-06-2022

Nije problem izgleda napajanje. Prikljucio sam originalno napajanje da probam, nema vise undervotaga, rezultat je isti

Code:
root@rpi4:~# ./power_suply_check.sh
42.3'C 1500 / 1500 MHz 0.8700V -
49.1'C 1500 / 1500 MHz 0.8700V -
51.6'C 1500 / 1500 MHz 0.8700V -
^C
root@rpi4:~# ./dsd
-bash: ./dsd: No such file or directory
root@rpi4:~# ls
m.c  power_suply_check.sh  RasPi-4B  raspidmx  r.c  r.h  saviola  test  test.c  userland
root@rpi4:~# vi dsd.c
root@rpi4:~# gcc -Wall -O3 dsd.c -o dsd
root@rpi4:~# ./dsd
1685
root@rpi4:~# ./dsd
2037
root@rpi4:~# ./dsd
1630
root@rpi4:~# ./dsd
1741
root@rpi4:~# ./dsd
1629
root@rpi4:~# ./dsd
2037
root@rpi4:~# ./dsd
1630
root@rpi4:~# ./dsd
2333
root@rpi4:~# ./dsd
2222
root@rpi4:~# ./dsd
1815
root@rpi4:~#

Nesto tu nije kako treba, dali mozda treba nesto da se deaktivira, neki trotling na procesoru? Ali nije trotled, vidi se gore u logu! Nemoguce da je ovako spor rpi4 ako je deklarisan na 1500MHz, ovakkav program bi trebao da se procesuira u desetak nano sekundi, a prakticno prelazi i preko 2000ns. Jel ti problem da probas na tvom rpi ovaj gore program?


RE: Class D Amplifier - High Quality Power Audio Amplifier - savan - 08-06-2022

Izgleda da je kernel problem. Dobio sam neki malo bolji rezultat ali i dalje daleko ispod ocekivanog

Code:
root@rpi4:~# echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
root@rpi4:~# ./dsd
685
root@rpi4:~# ./dsd
685
root@rpi4:~# ./dsd
852
root@rpi4:~# ./dsd
667
root@rpi4:~# ./dsd
871

Code:
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
1500000
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
1500000
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq
600000
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_driver
cpufreq-dt
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed
<unsupported>
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/affected_cpus
0 1 2 3
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_transition_latency
4294967295
root@rpi4:~# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq
600000
root@rpi4:~#



RE: Class D Amplifier - High Quality Power Audio Amplifier - gorankg - 08-06-2022

Kod mene na Raspberry Pi 3 Model B Rev 1.2:

pi@raspberrypi:~/Documents $ gcc -Wall -O3 dsd.c -o dsd
pi@raspberrypi:~/Documents $ ./dsd
625
pi@raspberrypi:~/Documents $ ./dsd
521
pi@raspberrypi:~/Documents $ ./dsd
833
pi@raspberrypi:~/Documents $ ./dsd
521
pi@raspberrypi:~/Documents $ ./dsd
885
pi@raspberrypi:~/Documents $ ./dsd
677
pi@raspberrypi:~/Documents $