Added readme
This commit is contained in:
parent
93d2e84545
commit
1a936b3fa6
|
@ -0,0 +1,81 @@
|
||||||
|
Generator de Sunete
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Roman Adrian 321CDa
|
||||||
|
Raoul Sulimovici 321CDa
|
||||||
|
Popescu Lucian 321CDa
|
||||||
|
|
||||||
|
I. Scopul proiectului
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Aplicatia dezvoltata in LabView isi propune sa genereze diferite sunete
|
||||||
|
folosind hardware-ul intern al unui laptop. In plus aceste sunete pot fi
|
||||||
|
modulate astfel incat sa apara pe canalul stang sau drept al placii de sunet,
|
||||||
|
sa aiba o anumita frecventa sau o anumita amplitudine.
|
||||||
|
|
||||||
|
II. Structura proiectului
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Legenda: @ variabila
|
||||||
|
# VI
|
||||||
|
|
||||||
|
Ca orice proiect dezvoltat in LabView, generatorul de sunete contine un Front
|
||||||
|
Panel unde utilizatorul poate introduce diferite setari pentru sunetele
|
||||||
|
produse si un Block Diagram care contine implementarea efectiva a aplicatiei.
|
||||||
|
|
||||||
|
Front Panel
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Front Panelul contine un cluster Sound format folosit pentru initializarea
|
||||||
|
sunetului produs, un slider de volum si diferite Numeric Controls care
|
||||||
|
descriu:
|
||||||
|
- pe ce device sa fie reprodus sunetul (pentru utilizarea hardware-ului dintr-un
|
||||||
|
laptop se foloseste device-ul cu id-ul 0);
|
||||||
|
- numarul de samples folosit pentru generarea sunetului pentru amnadoua
|
||||||
|
canalele;
|
||||||
|
- numarul de samples folosit pentru generarea sunetului pentru un singur
|
||||||
|
canal.
|
||||||
|
In plus mai exista niste slidere de unde se poate seta amplitudinea si
|
||||||
|
frecventa pentru fiecare canal (stang sau drept).
|
||||||
|
|
||||||
|
Pentru oprirea aplicatiei se poate folosi butonul de Stop definit sub Numeric
|
||||||
|
Controls.
|
||||||
|
|
||||||
|
Block Diagram
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Aici se folosesc toate variabilele definite anterior in Front Panel.
|
||||||
|
|
||||||
|
Initial aplicatia face configurari asupra device-ului al carui id l-am
|
||||||
|
specificat in @Output Device ID pentru a putea genera sunete, folosind
|
||||||
|
#Sound Output Start. De notat ca se folosesc Continous Samples in intializara
|
||||||
|
device-ului pentru a putea folosi mai tarziu forme de unda sinusoidale.
|
||||||
|
|
||||||
|
Task id-ul generat de VI-ul anterior e pasat lui #Sound Output Start pentru
|
||||||
|
a incepe generearea efectiva de sunete.
|
||||||
|
|
||||||
|
In bucla while se seteaza volumul folosind #Sound Output Set Volume.
|
||||||
|
Alaturi de semnalele de unda generate de #NI_MABase.lvlib:Sine Waveform
|
||||||
|
(cele din partea de sus a buclei While) si de task id-ul generate de
|
||||||
|
#Sound Output Set Volume se transimte sunetul la device folosint #Sount Output
|
||||||
|
Write.
|
||||||
|
|
||||||
|
Bucla se opreste atunci cand apare o eroare sau butonul de Stop e apasat. Dupa
|
||||||
|
ce se termina bucla, se apeleaza #Sound Output Clear pentru a invalida task
|
||||||
|
id-urile folosite in bucala si pentru a inchide conexiunea cu device-ul.
|
||||||
|
|
||||||
|
Erorile sunt manage-uite de #Simple Error Handler si sunt pasate de la VI la
|
||||||
|
VI in interiorul buclei while.
|
||||||
|
|
||||||
|
III. Concluzii
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Aplicatia incorporeaza toate cunostintele obtinute pana acum la laboratoarele
|
||||||
|
de AD, reusind sa le incorporeze intr-o aplicatie practica. Cateva dintre
|
||||||
|
acestea ar fi:
|
||||||
|
- folosirea de Clusterelor si a functiilor care le manipuleaza (bundle,
|
||||||
|
unbundle by name);
|
||||||
|
- folosirea structurilor de date cum ar fi array-ul folosit pentru impreunarea
|
||||||
|
semnalelor produse de #NI_MABase.lvlib:Sine Waveform;
|
||||||
|
- folosirea structurilor repetitive (bucla while)
|
||||||
|
- etc.
|
Loading…
Reference in New Issue