Documente Academic
Documente Profesional
Documente Cultură
Deşi se numesc procesoare, ele înglobează într-un singur circuit integrat principalele subsisteme
componente ale unui sistem de calcul (unitate centrală, subsistem de memorie, subsistem de intrare / ieşire,
etc.), realizând funcţii complexe de transfer şi de prelucrare a datelor.
Pentru efectuarea unor prelucrări în timp real asupra datelor,procesoarele de semnal lucrează la frecvenţe
mari şi dispun de unset complex de instrucţiuni, putând astfel executa zeci de milioane de operaţii în virgul n
virgulă mobilă pe secund pe secundă (MFLOPS - Million Floating-Point Operations per Second).
Totodată, structura internă paralelă permite efectuarea mai multor operaţii simultan, ceea ce creşte
considerabil puterea de calcul a DSP-ului.
1.2 Producători de DSP-uri
Acestia sunt producători de dsp-uri de pe piata mondială :
•Motorola (13%)
•AT&T (13%)
•NEC (8%)
• Mai mult de 100 de tipuri de DSP-uri, utilizate în domenii diverse, cum ar fi:
• Cea mai largă linie de procesoare DSP de uz general într-un singur cip
• Suport eficient şi complex creat şi oferit pentru fiecare procesor DSP, care cuprinde:
Se poate observa că domeniul procesării numerice a semnalelor este unul interdisciplinar, bazându-se pe noile
descoperiri din diverse alte domenii.
Aşa cum se poate vedea în figura, graniţele dintre domeniul DSP şi al altor discipline tehnice nu sunt bine
delimitate, existând multe puncte comune.
3. nu exista deviatie sau variatii ale performantelor cu temperatura sau timpul(fen. de imbatranire).
4. avantaje datorate tehnologiei semiconductoarelor avansate : dimensiuni mici, cost redus, putere consumata
redusa(5v,3v,1,2v), viteza f mare de prelucrare a datelor.
5. cresterea flexibilitatii – cea mai importanta functie a DSP. Sistemele pot fi programate si reprogramate
pentru a indeplini diferite functii fara modificari in structura hardware a sistemului.
6. performante superioare. DSP`urile pot fi utilizate pentru realizarea unor functii care nu sunt pasabile in
varianta analogica.
1. Viteza si cost. Proiectarea cu DSP poate fi costisitoare cand se cere o latime de banda cu frecventa
mare.Convertoarele AID si DIA sunt scumpe si nu au aplicatie larga cu DSP-urile.In mod curent numai CI
speciale pot fi utilizate in procesarea semnalelor de ordinul MHz dar acestea sunt foarte scumpe. Nici DSP-urile
nu sunt foarte rapide, de aceea prelucreaza semnale cu latime de banda de 100 MHz sunt procesate numai
prin metode analogice. O alternativa la CAD si CDA este CODEC.
2. timpul de proiectare
Pentru proiectarea unui sistem ci DSP-uri sunt necesare o serie de resuerse de aceea proiectarea este mare
consumatoare de timp si in unele cazuri chiar imposibila. Este cunoscuta si criza de ingineri pregatiti in acest
domeniu. Situatia se poate rezolva prin limbaje de nivel inalt ca dSpace ce ofera solutii integrate hardware si
software ce permit implementarea algoritmilor pornind de la sursa in c sau blocuri grafice din simulente
MATLAB.
In situatii de timp real considerentele exonomice impun ca in DSP algoritmii sa fie implementati utilizand un
numar limitat de biti. In aceste situatie daca exista un numar insuficient de biti cu care se lucreaza in
reprezentarea variabilelor poate reulta o degradare serioasa a variabilelor sistemului.
În aplicaţiile practice, multe dintre semnalele întâlnite sunt analogice, deci prezente la fiecare moment
de timp şi având amplitudini diferite.
Pentru a prelucra astfel de semnale continui în timp folosind DSP-uri, este necesar ca acestea să fie
eşantionate şi cuantizate pentru a produce o frecvenţă numerică.
Această secvenţă discretă în timp, cu o amplitudine de valoare tot discretă, reprezentată pe un număr
finit de biţi, poartă numele de semnal digital.
Sistemele de procesare numerică a semnalelor utilizează un DSP şi o structură hardware digitală, precum
şi două convertoare, unul analog-numeric (ADC - Analog-to-Digital Converter) şi unul numeri-analogic
(DAC - Digital-to-Analog Converter) pentru a înlocui dispozitivele analogice standard, precum:
amplificatoare, modulatoare şi filtre.
Semnalul analogic ce trebuie procesat este mai întâi eşantionat şi codificat într-un semnal digital în
formă binară prin blocul ADC. Procesorul DSP realizează operaţii matematice bazate pe un anumit
algoritm de prelucrare numerică a semnalelor, implementat în software.
Semnalul digital obţinut la ieşire poate fi convertit înapoi în formă analogică prin blocul DAC.
De asemenea, un procesor DSP poate prelucra şi semnale digitale primite la intrare de la alte structuri
numerice şi poate furniza în exterior comenzi digitale către alte sisteme. În unele aplicaţii, un sistem DSP
poate crea intern semnale digitale.
Mai mult, un acelaşi algoritm DSP poate fi transpus în diverse limbaje şi poate fi rulat pe diferite
arhitecturi hardware cu aceleaşi rezultate. Costul sistemelor DSP este în continuă scădere, în timp ce
performanţele continuă să crească de la o generaţie la alta. Puterea consumată de către un DSP a scăzut
spectaculos de la o generaţie la următoarea, astfel încât astăzi dispozitivele realizate se pretează foarte
bine a fi incluse în structuri portabile. În plus, unele operaţii de procesare a semnalelor nici nu pot fi
implementate pe baza tehnicilor analogice.
De obicei, sistemele DSP sunt incluse în sisteme mai largi cu rolul specializat de a realiza operaţii de
procesare numerică a semnalelor, permiţând astfel întregului sistem să execute task-uri mai generale. De
exemplu, un procesor DSP este utilizat în cadrul unui modem pentru controlul transmisiei de date, iar
întreg ansamblul constituie sistemul DSP al unui calculator.
Destul de des, acest tip de sistem DSP rulează doar o singură aplicaţie (specifică) şi nu poate fi
programat de către utilizator.
De fapt, utilizatorul nici nu are nevoie să ştie că un astfel de procesor (de exemplu, un procesor DSP
care este inclus în sistemul de control al hard-disk-ului pentru controlul motorului şi a poziţionării capului
de citire) este parte componentă a calculatorului.
În cadrul proiectării independente de procesor, limbajele de nivel înalt, precum C sau C++, sunt
preferate şi sunt disponibile pentru majoritatea procesoarelor DSP.
Programele scrise în C sunt mai uşor şi mai rapid de scris şi ele pot fi portate de la un procesor la altul
prin simpla recompilare a codului sursă, folosind un compilator C specific noului procesor. Această
portabilitate este foarte importantă, mai ales când algoritmul va fi implementat pe mai multe procesoare
diferite. Soft-ul dependent de procesor este realizat prin limbaje de asamblare care reflectă arhitectura
unui anumit procesor. Deşi codul de asamblare rulează mai rapid şi necesită mai puţină memorie, el este
mai greu de scris şi trebuie rescris pentru fiecare tip de procesor. Totuşi, limbajul C rămâne metoda
preferată de implementare, atât timp cât poate asigura o viteză de rulare suficient de bună pentru un
anumit procesor şi pentru o aplicaţie dată.
De exemplu, un algoritm poate fi implementat fie prin hard, fie prin soft, alegând astfel între viteză şi
flexibilitate. De asemenea, un algoritm poate fi modificat astfel încât să se adapteze mai bine la o
structură hard / soft existentă. Hard-ul poate fi conceput specific pentru un algoritm dat, sau se poate
urmări minimizarea costului pe durata dezvoltării şi utilizării.
Toate aceste variante trebuie avute în vedere în dezvoltarea unei anumite aplicaţii.
Proiectarea unui sistem DSP implică o cunoaştere bună a problemei şi a tuturor cerinţelor necesare.
De obicei se lucrează în echipă: inginer de hard, inginer de sistem, proiectant de soft şi specialist în
testarea structurii. Analiza şi proiectarea unui algoritm DSP eficient care să utilizeze resurse hard şi soft
optime este o muncă complexă, care se bazează cel puţin în faza de proiectare pe unelte soft
performante. Se poate utiliza de exemplu MATLAB şi SIMULINK, cu toolbox-urile aferente de la firma
MathWorks.
Astăzi, această familie conţine atât procesoare în virgulă fixă, cât şi învirgulă mobilă.
Procesoarele din aceeaşi generaţie ale familiei TMS320 au aceeaşi arhitectură de bază, dar posedă
configuraţii diferite ale memoriei pe cip şi a perifericelor.
Arhitectura TMS32010 şi setul de instrucţiuni a fost proiectat pentru a maximiza puterea de calcul şi
flexibilitatea printr-o tehnologie de integrare la o frecvenţă a ceasului de 5MHz, 1982.
Astăzi, unul dintre cele mai rapide procesoare al familiei, C64x, dispune de o viteză de execuţie de până
la 1GHz, ca urmare a îmbunătăţirilor tehnologice şi ale arhitecturii implementate şi a unor cicluri de ceas
mai rapide.
Îmbunătăţirile aduse arhitecturii pentru a o face independentă de viteza ceasului se bazează pe multiple
unităţi de calcul de tip înmulţire-adunare MAC - Multiply-Add Computation), pe o intensivă
implementare a operaţiilor paralele, pe o memorie mai mare şi mai rapidă cu magistrale interne multiple
şi pe introducerea unor instrucţiuni şi motoare hardware mai puternice şi mai bine adaptate
implementării unor algoritmi DSP de utilitate generală.
Cele două blocuri externe principale necesare sunt memoria (de program şi/sau de date) şi perifericele.
De obicei, procesoarele DSP dispun de o mică memrie cache on-chip, o memorie de program de tip
ROM, memorie RAM şi periferice. Perifericele precum convertoarele A/N şi N/A pot fi conectate fie la
magistrala de date, utilizând adrese dedicate (specifice), fie la interfaţa serială, dacă cipul dispune de
porturi seriale.
• programabilitatea procesorului, şi
Pentru unele aplicaţii, algoritmul este dat şi trebuie ales cel mai potrivit procesor care să-l realizeze.
Pentru altele, procesorul disponibil este cunoscut şi sarcina proiectării este de a dezvolta algoritmi
eficienţi care să satisfacă cerinţele aplicaţiei. Scopul este de a dezvolta un algoritm DSP astfel încât să se
utilizeze un minim de resurse ale procesorului, lăsând astfel neutilizate resurse pentru îmbunătăţiri şi
dezvoltări ulterioare.
http://cs.curs.pub.ro/wiki/pm/_detail/pm/prj2009/cc/vteodorescu/amp.jpg?id=pm%3Aprj2009%3Acc%3Adsp
-Chipul AtMega16
-Display-ul LCD si butoane – acestea sunt necesare pentru afisarea diferitelor informatii (de
exemplu efectele activate/dezactivate) precum si activarea/dezactivarea anumitor efecte.
-Reductor – folosit pentru reducerea puterii semnalului, astfel incat sa nu se provoace arderea
circuitelor din amplificator.
Convertorul digital-analogic este folosit pentru transformarea semnalului din semnal digital(pe biti) in
semnal analogic, ce va fi trimis mai departe reductorului de tensiune si/sau unei iesiri jack(pentru a
cupla sistemul la casti/boxe etc.).Rolul convertorului DAC este ilustrat in imaginea de mai jos.
http://cs.curs.pub.ro/wiki/pm/_detail/pm/prj2009/cc/vteodorescu/dac08_2.jpg?id=pm%3Aprj2009%3Acc%3Adsp
Pentru conexiunea cu ecranul LCD voi folosi urmatoarea schema, luata de pe internet:
link:pm:prj2009:cc:vteodorescu:schematic.jpg
http://cs.curs.pub.ro/wiki/pm/_detail/pm/prj2009/cc/vteodorescu/placuta.jpg?id=pm%3Aprj2009%3Acc%3Adsp
- o functie care transforma semnalele venite folosind serii fourier discrete, pentru a se lucra in
domeniul frecventa in loc de domeniul amplitudine
Din pacate, frecventa scazuta AtMega16 si in special frecventa ADC-ului incorporat nu permit alte
operatii in afara de setarea portului de iesire la valoarea corespunzatoare, iar marimea redusa a
memoriei SRAM(1KB) nu permite aplicarea transformarilor fourier asupra semnalului.
1.alegerea pieselor: am ales amplificatorul operational LM358, ieftin si performant, precum si un timer
LM555.
2 citirea semnalului: deoarece sinusoida are o parte negativa, ce nu poate fi citita de AtMega16, a fost
nevoie de inca 2 amplificatoare operationale: unul pentru adunarea a 3V la tensiunea primita, si celalat
la iesire, pentru scaderea a 3V din tensiunea primita, pentru a opera cu semnale negative, a fost nevoie
de crearea unui circuit inversor folosind un timer 555.
Schema acestuia :
http://www.reconnsworld.com/power/voltinvert.gif
4.6 Concluzii
In concluzie, crearea unui procesor de semnal pentru chitara/orga/orice instrument, chiar si pentru
iesirea calculatorului, este posibila folosind un chip AtMega 16, insa este mandatata de achizitionarea
unor piese mai performante pentru operatiile cu semnalul,un chip ce aplica transormari DFT
semnalului, permitand lucrul in domeniul frecventa(pe care opereaza majoritatea efectelor) in locul
domeniului amplitudine
In primul grafic avem semnalul curat (fara zgomot) ,dupa cum puteti vedea aplitudinea
semnalului este intre -0.5 si 0.5.Acesta este exact semnalul initial .
In cel de-al doilea grafic avem semnalul cu zgomot ,dupa cum puteti vedea
aplitudinea semnalului a crescut la 4v p-p.
Astfel cu ajutorul DSP-ului putem efectua reducerea nivelului de zgomot a unui semnal
audio.
In secventa de cod de mai sus folosim o intirziere pentru cele 2 fisiere audio, si cream
ecou de la dreapta la stinga apoi de la stinga la dreapta.
y_left = y(:,1);
y_right = y(:,2);
y_left_minus_y_right = y_left-y_right;
sound(y_left_minus_y_right,fs);
clear sound;
In secventa de cod de mai sus noi stregem o parte din sunet , de la stinga si de la
dreapta, deci putem observa o reducere a semnalului audio din ambele parti.
5.1 Referinte
Sursa de inspiratie pentru proiect:
http://people.ece.cornell.edu/land/courses/ece4760/
Alte linkuri :
https://www.ikalogic.com/
http://pns.ac.tuiasi.ro/Doc/curs/Prezentare
https://www.dharmanitech.com/2008/09/nokia-3310-lcd-interfacing-with-atmega8.html
-Schema folosita
http://www.cdamian.tuiasi.ro
Carti:
Circuitul de prelucrare:
LCD