Pagina 1 din 1

Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Joi Oct 20, 2022 1:57 am
de Mircea
NB: Nu e postare publicitara, caci voi explica si cum cineva poate replica solutia MiniDSP si crea propriul sistem. Despre imbunatatiri... se pot cu duiumul, dar e si mult de studiat.

Daca exista interes, mai dezvolt subiectul. Spor la citit!

Acum mai bine de un an am achizitionat un MiniDSP 2x4. Ideea de baza era sa am un crossover activ si ceva corectie de semnal, in plus de a profita de un DAC de 24b. Si ADC-ul tot de 24b este.

Vreo 9 luni a stat in cutie, doar ce m-am jucat cu programul de configurare. Acel configurator e o simpla interfata grafica cat sa trimita in EEPROM bytes de configuratie ai DSP-ului.

Dupa cele 9 luni am purces la niscai teste cu DSP-ul, in configuratie 2 IN si 2+1 OUT, +1 fiind iesirea de subwoofer.

Cum arata interfata grafica, iaca niste exemple:
Imagine
Imagine
Imagine

Nu mare lucru, caci impun limitari ca sa cumperi alte solutii mai scumpe sau alte add-on-uri.
Alt add-on:
Imagine

Sunetul hardware-ului original este bun, nu pot si nici nu vreau sa calific ceva atat de subiectiv.

Dar, ceea ce m-a facut sa-mi construiesc propria-mi versiune? In primul rand cei 0,9Vrms max la iesire. Si 2, o zburdalnica de frecventa de 200 si ceva de kHz calare peste semnalul audio. Nu ca as fi auzit-o eu, dar am gasit inacceptabil sa nu aiba un filtru DAC de calitate. Am pus eu unul la iesire, dar nu vreau sa stau cu nspe montaje in serie.

Deci, am inceput sa studiez hardware-ul. Un ADC-DAC de 24b ADAU1701 este miezul problemei. Similar, ADAU1401 si 1702 se pot folosi fara jena, sunt identice in functionare (cu f mici diferente, fara impact in audio). Se poate intra si digital I2S sau TDM ca sa folosesti un convertor USB. N-am incercat, nu prevad in viitorul foarte apropiat, caci si acolo trebuie sa studiez, macar ma concentrez pe o singura solutie acum.

Am citit si rascitit de la ADI (https://www.analog.com/en/products/adau1701.html), dar am zis sa vad ce au facut si alti entuziasti.

Am ajuns aici: https://daumemo.com/how-to-program-an-a ... vices-dsp/
Unde zice ce-ti trebuie ca sa-l conectezi la PC, sa-l programezi.

Ideea de baza: scrii programelul (vezi mai jos), il transferi in EEPROM si pui DSP-ul in self-boot.

Si cateva operatii de baza: https://daumemo.com/controlling-dsp-vol ... th-an-mcu/

Si aici: https://github.com/MCUdude/SigmaDSP/tre ... r/examples.

De fapt, doar descarcand SigmaStudio: https://www.analog.com/en/design-center ... e-overview vezi ce poti sa faci cu DSP-ul.

Exista o pagina Wiki cu exemple si explicatii: https://wiki.analog.com/resources/tools ... igmastudio, care iti ofera multe exemple, insa tot iti mai ramane sa sapi tie.

Eu am populat deja un PCB cu care ma joc. Cum am optat pentru niste piese eBay, am platit pretul zgarcieniei. Am un EEPROM in care poti scrie indiferent daca WP (write-protect) este activ sau nu, bizar... cum sa fie bizar pentru piese de calitate indoielnica si surse necunoscute?!

Hai sa vedem ce stie sa faca SigmaStudio. Exemplele o sa fie limitate la cat sunt eu de avansat, adica nu foarte tare.
Totul este pe principiul Function Block. Pentru teste, am optat pentru iesiri inversate (180*) la subwoofer (DAC2 si DAC3). DAC0 si DAC1 sunt iesirile R si L.

Volumul (unul la intrare, altul la iesire - de test) este controlat cu cate un potentiometru pe 2 intrari analogice.

Niste mixere si splittere pe acolo ca sa creez semnalele audio.

Imagine

Egalizatorul (control de Q, si cate benzi vrei tu - cat sa-ti permita o liniarizare perfecta a raspunsului incintelor - nu ceea ce se vede mai jos, va trebui sa ma credeti pe cuvant - se vede mai sus ca poti implementa zeci de benzi).
Imagine

Un crossover cu 2 benzi. Pana la 48dB panta :).
Imagine

Functii:
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Despre PCB-ul meu: am urmat 99% EVM-ul, cu cei 1% fiind o sursa separata de 1,8V (nu cu tranzistorul extern ca-n foaia de catalog). Fiind si eu in evaluari, l-am facut pe un PCB cu pinhead-uri cat sa configurez si sa inteleg cum functioneaza.

Un DSP costa 21-22$ la Digikey. Plus 10$ programatorul de pe eBay.

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Joi Oct 20, 2022 2:15 am
de hpavictor
Am studiat și eu ADAU 1701 , la vremea lui .
Sigma Studio este softul cel mai folosit ( inclusiv OEM ) , algoritmii sunt tipici pentru toate DSP-urile de la AD .
Păcat ca nu se mai produce 1701 .
Am studiat inițial manualul unei incinte audio activă de la Yorkville , apoi un modul în clasa D de la PowerSoft .

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Joi Oct 20, 2022 3:44 am
de Mircea
Cum sa nu se mai fabrice?! Este in "Production" la ADI. Ca nu e ceva nou (aparut prin 2007), sunt de acord.

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Sâm Oct 22, 2022 9:49 pm
de carageae
Interesant, mi-ar fi util la ce lucrez eu acum asa ceva - egalizarea discreta a diverselor tipuri de casti - dar ma tem ca mi-as prinde urechile in asa ceva, nu ma pricep la programare...insa mi-ar placea un fel de "filtru" autonom configurabil software...
Stiu ca un equaliser parametric pe mai multe benzi ar fi solutia, dar mie mi-ar fi util ceva care sa poate fi "fine tuned" apoi sa ramana asa pt. un dispozitiv anume, in stilul amplificatoarelor de casti Kameleon, al carui autor tine pentru el secretul conceperii filtrelor.
Daca aveti asa preocupari in domeniul sunetului ne-ati putea indica un soft simplu si util pt. calculul filtrelor analogice audio?
Adica o interfata unde sa punem frecventa centrala a filtrului, latimea de banda (Q factor), gainul in dB si tipul de filtru (trece-sus, trece-jos sau trece-banda - sau peaking cum zic anglo-saxonii) si sa rezulte o schema sau un tabel cu valorile pieselor pt. a realiza analogic filtrul respectiv, ma refer la filtre exclusiv pasive, evident ca as pune dupa asa ceva un amplificator pentru compensarea pierderii de volum.
Software eu folosesc Math-Audio, ca plugin pt. foobar2000, isi face bine treaba, dar as vrea sa nu depind de pc pt. a avea o anumita curba de raspuns pt. niste casti de buna calitate....orice corector de ton uzual, chiar cu 3 sau 5 benzi nu e destul de "subtil" pentru a corecta abateri de mai putin de 2 dB...sau mici peak-uri sau dip-uri in redarea sunetului...
EDIT: Aici e o posibila ilustrare a domeniului meu de interes:
https://www.reddit.com/r/oratory1990/wi ... f_presets/
Ce a facut omul asta e extraordinar de interesant, a masurat si calculat curba de raspuns a diverselor casti - inca nu chiar toate - dar o buna parte din cele uzuale si chiar cateva din categoria la care putem doar sa visam, din cauza pretului, dar am observat in doua cazuri particulare ca ce a masurat el nu e chiar cea mai buna varianta, si asta din cauza variatiilor dintre un model sau altul, in functie de uzra pad-urilor sau pur si simplu diferente constructive intre modele identice produse in perioade diferite, ca sa nu mai zic de anumite variante declarate de producatori. Concret, in cele doua cazuri verificate de mine, cu castile mele suna intr-un fel, cu alte modele identice imprumutate de la amici erau diferente, asa ca un pic de studiu pe marginea acestor solutii se impune daca vrem sa avem cel mai bun sunet posibil de la o anumita pereche de casti.

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Dum Oct 23, 2022 7:29 am
de Mircea
Dle Caragea, pai nu va trebuie nici o cunostinta de programare, in sensul scrierii unui program anume. Va trebuie un programator (de pe eBay) si instalat un program si un driver. Apoi, respectat niste etape.

Cum explic mai sus, totul este cu blocuri de functii. Si trageti fire (logice) intre blocuri.

In exemplul egalizatorului parametric din poza asta:
Avem numai 10 benzi, cu un Q de 0.5. Fiind Q mic, influenta asupra benzilor adiacente este importanta, insa curba e foarte lina.

In exemplul cu 31 de benzi (din add-on-ul de la miniDSP) se vede ca filtrele au Q mai mare, probabil 3-4. D-aia si multitudinea de cocoase din curba de ansamblu, dar controlul e punctual.

Dupa ce am facut testele cu DSP-ul, nu m-as mai intoarce la filtre analogice. E mult mai comod asa si faci mai multe functii pe metru patrat.

Placa mea are 100x80mm. As putea oferi o placa sau chiar gerbere daca se doreste constructia. Suport tehnic dupa cat stiu, insa suficient cat sa implementam un egalizator.

Se poate chiar implementa un sistem care sa comute intre diverse tipuri de curba de egalizator cu butoane externe DSP-ului. Nu am facut teste, dar nu vad de ce nu ar merge. Deci, nu blochezi un DSP pentru o singura aplicatie. Samd.

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Lun Noi 14, 2022 3:07 am
de Mircea
Am mai sapat un pic, intrigat de un anume comentariu drept la tinta (sper ca stie de gluma respectivul ), asa ca se poate face mult mai bine cu un chip DSP dedicat doar procesarii si un codec care sa contina ADC/DAC.

Ca prima imbunatatire se poate castiga cel putin un ordin de marime in reducerea THD+N. Solutia 170x/1401 este limitata undeva pe la 83dB - limitare principala din cauza ADC - deci cam 0,007% si asta cu o implementare hardware de exceptie. Castigul adevarat apare in puterea de procesare. Un proiect de viitor fiind un FFT cu un ADC extern.

Intre timp am mai asamblat alta placuta, tot asa EEPROM-ul se programeaza indiferent de starea pinului WP (write-protect). Nu inteleg de ce (toate componentele sunt de la magazinele online reputate), dar trec mai departe.

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Lun Noi 28, 2022 4:57 am
de hpavictor
Mircea scrie: Lun Noi 14, 2022 3:07 am Am mai sapat un pic, intrigat de un anume comentariu drept la tinta (sper ca stie de gluma respectivul ), asa ca se poate face mult mai bine cu un chip DSP dedicat doar procesarii si un codec care sa contina ADC/DAC.

Ca prima imbunatatire se poate castiga cel putin un ordin de marime in reducerea THD+N. Solutia 170x/1401 este limitata undeva pe la 83dB - limitare principala din cauza ADC - deci cam 0,007% si asta cu o implementare hardware de exceptie. Castigul adevarat apare in puterea de procesare. Un proiect de viitor fiind un FFT cu un ADC extern.
Ar fi multe de discutat , schema de la Yorkville pare o aplicație foarte serioasă , dar este realizată cu niște constrângeri materiale de neacceptat .
Spre exemplu , pe intrarea audio nu are ce căuta acel inversor golănesc stil Tehnium sau filtrul minimalist trece jos de pe ieșirea audio , ci o variantă hi tech , folosind integrate dedicate având intrare sau ieșire balansată de la THAT ( perechea THAT1200 + THAT 1646 ) etc .
Minunea tehnică cu funcția de codec ADC - DAC se numește AK4620 ( nu este niciun secret ) și este unul dintre cele mai muzicale codec-uri .

Re: Despre DSP-uri si aplicatiile lor - ADAU1701/1702/1401

Scris: Vin Dec 16, 2022 10:00 am
de hpavictor
Deoarece ( datorita sau din cauza etc ) exista mai multe solutii tehnice ( disponibile la greu in mediul online ) privind solutia de procesare externa DAC / ADC pentru o configuratie specifica cu ADAU1701 in ceea ce priveste imperecherea externa DAC / ADC , ca urmare propun doar pentru avansatii DIY ( iubitori de calitate HiEnd ) varianta absolut superba UltraHiEnd ( UHE ) de tipul : ADC + DAC = PCM1804 + AK4396 , inca se produce si inca e disponibila .
Despre ce si cum puteti gasi online , ca urmare va urez succes !
Atentie , acest comentariu nu este destinat entuziastilor / incepatorilor ....