Sari la conținut
ELFORUM - Forumul electronistilor

Stie cineva un soft free de filtrare FTB la un fisier mp3 ?


mircang9

Postări Recomandate

Am gasit de ce nu ma lasa sa maresc esantioanele la 512. ADC foloseste doua buffere ping ponga cate 512 registri de 16 biti fiecare adica 1024 date. Dar spatiul de adresare este dublu. La dsPIC33FJ256GP506 spatiul de adrese pentru DMA este de la 0x4000 la 0x47FFa carui diferenta da 2048 adrese in decimal. Cei 2K DMA RAM in specificatii poate fi usor confundata cu 2K de date. De fapt cei 2K sunt de fapt 2K de adresesi nu de date. Daca DMA are 2K adrese, datele sunt ( 2K adrese / 2 ).Fiecare registru de 16 biti are doua adrese. De exemplu primul registru de 16 bitidin DMA ocupa doua adrese din cei 2K spatiu de adresare: 0x4000 pentru octetul LSBsi 0x4001 pentru octetul MSB. PWM foloseste tot doua buffere ping pong a cate512 registri de 16 biti fiecare. In total 2*512 ( pentru ADC ) + 2*512 ( pentru PWM )= 2048 registri a cate 16 biti care ocupa defapt 2048 * 2 = 4096 adrese ( 4K )ceea ce depasete cei 2K disponibili. In realitate DMA contine 1024 registri de 16 biti. In schema interna a dsPIC33FJ256GP506 magistrala de lucru intre DMA si periferice ( ADC, PWM ) este de 16 biti. :rade: Asa ca pentru a mari la 512 numarul de esantioane trebuie sa renunt la PWM.Voi folosi un convertor digital analog extern sau reteaua de rezistente R/2R.Nu stiu pana la ce frecventa maxima este functionala reteaua de rezistente de R/2R. Cu configuratia actuala de pe placa demo as putea doar marifrecventa de esantionare. Daca dublez frecventa de lucru a dsPIC se va dublasi frecventa de esantionare ? adica 8000 * 2 = 16 KHz ? :jytuiyu

Link spre comentariu
  • Răspunsuri 34
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • mircang9

    23

  • cirip

    10

  • hpavictor

    1

  • scormonel

    1

Top autori în acest subiect

Imagini postate

Exista o relatie de min-max intre numarul de esantioane si frecventa de esantionare ?Intreb asta pentru ca la N = 256 esantioane filtrarea la 12 KHz este mai buna decat la 16 KHz. Cu cat maresc frecventa de esantionare evident ca banda filtrata contine mai multa informatie exprimata prin marirea amplitudinii benzii filtrate cu 20 % dar filtrarea este mai proasta fata de 12 KHz. Cred ca odata cu cresterea frecventei de esantionare trebuie sa maresc si numarul de esantioane. Mi se pare firesc sa scada calitatea filtrarii daca N ramane la 256 dar frecventa de esantionare o maresc din ce in ce mai mult. Asta pentru ca filtrarea se aplica la o latime de informatie din ce in ce mai mica chiar daca informatia este mai in detaliuprin cresterea amplitudinii benzii filtrate. Asa ca se pare ca nu scapsa apelez la un convertor DAC extern sau rezistente R/2R pentru a mariperformantele filtrului. Si asta pana la maxim 512 esantioane pentru ca sunt limitat de marimea memoriei RAM DMA. :jytuiyu

Link spre comentariu

Am facut filtrare cu N = 256 esantioane. Frecventa de esantionare Fs = 32 KHz.Numar coeficienti M < N. Filtrarea scade ca si calitate odata cu cresterea frecventei de esantionare. Filtrarea cea mai buna in cazul de fata este pentru Fs aproximativ in intervalul 8KHz - 16 KHz. Am incercat sa filtrez si pentru canalele C7, C9, C11 cu fir1 din Matlab pentrufisierul sheruit L400, DAR spre surprinderea mea nici Matlabul nu filtreaza mai bine sau suficient de bine aceste canale. Am inlocuit fc in fisierul script dat de tine pentru canalele 7, 9, 11 si fisierelor wav filtrate si salvatele-am facut o analiza spectrala si de acolo reies acestea. Filtrarea in Matlabam facut-o cum ai facut-o tu exact la fel schimband doar frecventele centrale Fc pentru canale. Fs = 44,1 KHz si n_taps = 1000 le-am lasat la fel. Poate trebuie modificat parametrul delta = 0.1 la alta valoare, pentru o banda mai ingusta asa cum am incercat eu cu exemplelepostate cu "narrow1" sau "narrow5". Inca n-am incercatsa schimb valoarea lui delta sa vad ce se intampla.Cu parametrii dati de tine intr-adevar canalele 2, 4, 6 le filtreaza foarte bine,dar cum am mai spus canalele 7, 9, 11 nu le filtreaza bine Matlabu cu parametrii dati de tine, desi sinusoidele filtrate arata foarte curate,dar la analiza spectrala se vede adevarata calitate a filtrarii.M-am gandit sa apelez si la deplasarea empirica a coeficientilor calculati.Adica daca calculez coeficientii pentru, sa zicem, canalul 7 si din analiza spectrala a filtrarii reiese ca lasa sa treaca putin si din canalul 6 atuncirefac calculele pentru frecventa centrala Fc a canalului 7 deplasata spre dreapta cu, sa zicem, 30 Hz adica Fc(canal 7)+30.O sa continui maine cu calculele si eventual cu afisarea rezultatelor daca ies mai bune.In pozele atasate mai inainte, la canalul 7 filtrarea nu este buna daca se analizeaza mai bine, adica se vede si frecventa 1050 Hz ce apartine de canalul 6. La Fs = 12 KHz postez calitatea mai buna a filtrariifata de canalul vecin 6. N = 256. Fc +/- 10 Hz pentru Fpass1/Fpass2.Toate calculele si rezultatele sunt cu aplicarea ferestrei Harris Nutall cu 4 termeni.

post-23035-139829332339_thumb.jpg

Link spre comentariu

Rectificare la cele spuse mai sus: nu este nevoie sa renunt la PWM output compare mode + FTJ.Il am pe placa si ca atare il pot folosi. Acum sunt nevoit sa invat cum lucreaza PWM outputcompare. Nu mai merge cu mici modificari in program ci trebuie sa inteleg teoria PWM arhitecturadin dsPIC si cum programez. In mare PWM nu-l mai folosesc prin DMA ci prin RAM Y.Probabil va fi nevoie sa maresc frecventa CPU. Ne e nevoie deocamdata de rezistenteR/2R sau convertor DAC extern. DMA il folosesc integral doar pentru ADC si asa pot mari la maxim 512 esantioane. Si asa scap de lipituri, etc. E mult mai elegant asa. :rade: Exista dsPIC sau DSP de la Microchip cu DMA de 4K sau mai mult ?

Link spre comentariu
  • 6 luni mai târziu...

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări