Cuprins
- 1. Introducere in Matlab 3
- 1.1 Interpretarea programelor Matlab 4
- 2. Obiective 4
- 3. Procesul de filtrare 7
- 3.1 Convoluție 7
- 3.2 Calcularea erorii 7
- 3.3 Adaptarea 7
- 3.4 Dimensiunea pasului de adaptare 8
- 4. Configurarea compilatorului C 8
- 5. Adăugarea blocului de funcții MATLAB 9
- 5.1 Conectarea intrărilor și ieșirilor blocului funcțional MATLAB 11
- 5.2 Verificarea erorilor modelului 12
- 5.3 Simularea algoritmului de streaming 13
- 5.4 Vizualizarea Codului MATLAB modificat 14
- 6. Concluziile filtrarii LMS 15
- 7. Modificarea modelului pentru a apela algoritmul actualizat 16
- 8. Generarea codului in limbaj C 17
- 9. Anexă 22
- 10. Bibliografie 23
Extras din proiect
1. Introducere in Matlab
În tehnica electronică actuală, în care o mare parte a semnalelor este transferată în domeniul numeric (digital), procedeele de prelucrare digitală a semnalelor au o deosebită importanță. Din această perspectivă la formarea specialiștilor din domeniul ingineriei electronice și a telecomunicațiilor, dar și a celor de la specializările din domeniul de calculatoare și tehnologia informației, planul de învățământ prevede discipline sau module de discipline, care au ca subiect prelucrarea digitală a semnalelor, care are abrevierea bine cunoscută DSP (Digital Signal Processing).
Limbajul matlab este un limbaj de nivel înalt ce permite efectuarea calculelor matematice fără a fi nevoie de implementarea algoritmilor de calcul într-un limbaj de nivel scazut. Limbajul matlab a fost creat de prof. Cleve B. Moler de la Universitatea din New Mexico pentru a permite un access ușor la bibliotecile de calcul matricial realizat în Fortran. Limbajul matlab permite realizarea calculelor matriciale printr-o formă simplă, apropiată de reprezentarea matematică, chiar și denumirea matlab provine din MATrix LABoratory .
Limbajul matlab este un limbaj interpretat, având nevoie de un interpretor pentru efectuarea propriu-zisă a calculelor. Cel mai răspândit interpretor este suita de programe MATLAB, oferit de firma MathWorks , o suită comercială, care pe lângă interpretor oferă și o sumedenie de biblioteci (numite toolbox-uri) pentru o gamă largă de domenii, printre care și procesarea semnalelor sau a imaginilor.
În afară de interpretor, MATLAB integrează și toate uneltele necesare pentru crearea și rularea programelor:
- o interfață grafică ușor de folosit
- un editor dedicat
- un spațiu de lucru care oferă toate informațiile necesare despre datele folosite și interfețe pentru afișarea rezultatelor și interacțiunea cu utilizatorul.
O alta variantă de interpretor matlab open-source este Octave oferit prin intermediul proiectului GNU . Acest program este mai limitat decât varianta comercială, mai ales la capitolul de toolbox-uri oferite, existând totuși o serie de toolbox-uri realizate sub licența GPL colecționate prin proiectul Octave-Forge. Nu există nici mediu integrat ca în cazul lui Matlab, având nevoie de programe auxiliare, cum ar fi un editor de texte de uz general pentru scrierea programelor sau gnuplot pentru afișarea rezultatelor.
1.1 Interpretarea programelor Matlab
MATLAB este un program ce dispune de o interfață grafică care integrează câteva ferestre, printre care o fereastră Command Window, care oferă o linie de comandă folosită pentru executarea scripturilor matlab. Octave pe de altă parte este un program în linie de comandă ce poate fi executat într-un terminal cu ajutorul comenzii octave, după care prompterul terminalului va fi înlocuit cu unul similar cu acela din MATLAB.
2. Obiective
Aceasta lucare este bazata pe documentatia oferita de Matlab pentru folosirea filtrului LMS in eliminarea zgomotului unei inregistrari audio si presupune doua etape:
- implementarea unui algoritm de filtrare/clasificare pentru semnale audio in mediul Matlab/Simulink
- conversia in limbaj C sau HDL pentru implementarea in FPGA folosind mediul VIVADO
- Verificarea functionalitatii circuitului si compararea rezultatelor obtinute.
- Utilizarea blocului funcțional MATLAB pentru a adăuga funcții MATLAB ® la modelele Simulink ® pentru modelare, simulare și desfășurare în procesoare încorporate.
- Folosirea coder.extrinsic pentru a apela codul MATLAB dintr-un bloc de funcții MATLAB .
Bibliografie
[1] Haykin, Simon. Adaptive Filter Theory. Upper Saddle River, NJ: Prentice-Hall, Inc., 1996.
[2] https://www.mathworks.com/help/simulink/ug/tutorial-integrating-matlab-code-with-a-simulink-model-for-filtering-an-audio-signal.html#bse_utd (accesat la data de 20.05.2020)
[3] http://www.mathworks.com (accesat la data de 20.05.2020)
[4] http://www.gnu.org/software/octave (accesat la data de 20.05.2020)
[5] http://octave.sourceforge.net (accesat la data de 20.05.2020)
Preview document
Conținut arhivă zip
- Filtrarea semnalul audio folosind codul MATLAB.docx