Documente Academic
Documente Profesional
Documente Cultură
TPI- curs 1
Obiective
-dezvoltarea de competenţe profesionale în domeniul prelucrării în
format numeric a informației folosind procesoare numerice de
semnale;
-asimilarea de cunoştinte teoretice privind reprezentarea în format
numeric a informației și a tehnicilor de prelucrare a acesteia pentru
filtrare, compresie, secretizare, transmitere la distanță și fuziune;
-dobândirea de abilități și deprinderi de realizare a unor sisteme de
prelucrare a informației pe procesoare numerice de semnal, folosind
programare structurată în C/limbaj de asamblare și plăci de dezvoltare
DSP.
Modalitate de evaluare
-două probe de verificare a cunoştinţelor (E)
-proiect (P), laborator (L)
-nota =0.6E+0.1L +0.3P
TPI- curs 1
Bibliografie
TPI- curs 1
1.1 Introducere
Tehnologie: ştiinţă a metodelor şi a mijloacelor de prelucrare a
datelor pentru obţinerea unui anumit produs (sursa: DEX).
TPI- curs 1
Schema bloc simplificată a unui sistem de procesare numerică
a semnalelor
Semnal Semnal
analogic analogic
CAN DSP CNA
Semnal Semnal
numeric numeric
(intrare) (ieșire)
TPI- curs 1
1.2.2 Procesoare numerice de semnale
- sunt microprocesoare proiectate pentru procesarea semnalelor în
format digital folosind operații de convoluție, multiplicare,
decimare, interpolare, însumare etc.
Caracteristici principale
a) Arhitecturi orientate spre paralelism în executarea instrucţiunilor
CPU
CPU – central processing
unit
Magistrala de adrese A
Exemplu:
Magistrala de date A
Magistrala de adrese B
arhitectură Harvard
Magistrala de date B Memorie A- date
Memorie A Memorie B
Memorie B – instrucțiuni
TPI- curs 1
-procesorul poate accesa simultan 2 memorii distincte
utilizând magistrale diferite; cele două memorii sunt utilizate
independent pentru date şi instrucţiuni;
-arhitectura permite executarea în paralel a operaţiilor de citire a
instrucţiunilor din memorie şi de citire/scriere a operanzilor/
rezultatului în memoria de date.
CPU
Magistrala de adrese A
TPI- curs 1
- arhitectura depinde de producător şi de tipul procesorului
DSP ( de uz general sau specializat) şi este concepută pentru a
optimiza un anumit tip de procesare.
Exemplu: implementarea unui filtru FIR
CPU
Magistrala de adrese A
L 1
Magistrala de date B y ( n) bi x(n i)
i 0
Magistrala de adrese A
Magistrala de date B
b i in stru c tiun i
x (n i)
Memorie date Memorie instructiuni si date
TPI- curs 1
-suplimentar faţă de arhitectura modificată, paralelismul este
asigurat prin utilizarea unui număr mare de regiştri şi folosirea unor
tehnici dedicate.
Pipelining
- exploatează paralelismul la nivelul instrucţiunilor prin
suprapunerea proceselor de execuţie a acestora
- execuţia unei instrucţiuni presupune următoarele etape
IF - instruction fetch (extragerea instrucţiunii)
ID - instruction decoding (decodificarea instrucţiunii)
OF- operand fetch (extragerea/citirea operanzilor)
EX- execution (execuţia propriu zisă)
WB-write-back (actualizarea rezultatului)
TPI- curs 1
- execuţia unei secvenţe de instrucţiuni presupune executarea
secvenţială a operaţiilor de bază
IF ID OF EX WB IF ID OF EX WB
i1 i2
- tehnica de pipeline permite executarea în paralel a operaţiilor
de bază pentru instrucţiuni succesive
1 2 3 4 5 6 7 8
Instr.
i1 IF ID OF EX WB
i2 IF ID OF EX WB
i3 IF ID OF EX WB
… … … … … …
TPI- curs 1
•Tehnici SIMD
- Single Instruction Multiple Data
- exploatează paralelismul în procesarea datelor;
- o instrucţiune poate opera asupra mai multor blocuri de date în
acelaşi timp.
•Suport VLIW
- Very Long Instruction Word
- exploatează paralelismul în procesarea instrucţiunilor;
- o instrucţiune VLIW – o instrucţiune ce include mai multe
operaţii ce se vor executa în paralel de către CPU (maxim 8
pentru generaţiile curente de DSP-uri) folosind mai multe
magistrale pipeline
TPI- curs 1
b) Hardware optimizat pentru un anumit tip de aplicaţii
- marea majoritate a aplicaţiilor ce rulează pe un DSP pot fi
exprimate în termeni de sume de produse
L 1
y (n) bi x ( n i ) - filtru FIR
i0
M
y(n ) x (i )h ( n i ) - convolutie numerică
i0
TPI- curs 1
Registru 1 Registru 2
CPU
TPI- curs 1
1.2.3Tehnologii FPGA
- echipamente hardware ce permit de asemenea implementarea de
algoritmi de procesare numerică a semnalelor
FPGA – Field Programmable Gate Array – arie de elemente logice
independente configurabile interconectate printr-o reţea de rutare
şi matrici de comutare configurabile
Reţea de
rutare
Matrice de
comutare
TPI- curs 1
- spre deosebire de DSP-uri FPGA-urile reprezintă soluţii hardware
reconfigurabile
Memorie
program
… …
… …
… …
… CPU …
… …
… …
TPI- curs 1
- avantajul principal al FPGA: viteză mai mare de procesare pentru
o anumită aplicaţie
Exemplu: implementarea unui filtru FIR în cele 2 technologii
M
y ( n) Ai x(n i)
i 0
x(i)
bi
b0 b1 …
x(n-i)
DSP – execuţie secvenţială
- rezultatul este obţinut după efectuarea buclei (M iteraţii)
FPGA – M unităţi de procesare de tip MAC în paralel (M intervale
de tact, M sumatoare și multiplicatoare)
TPI- curs 1
- dezavantajul principal al FPGA: implementarea de algoritmi
complecşi presupune utilizarea de arii FPGA de capacitate mare şi,
implicit, consumuri mari de putere în comparaţie cu implementarea
pe procesoare DSP.
TPI- curs 1
1.3 Reprezentarea numerică a informaţiei
- pentru procesarea numerică a informaţiei semnalele analogice
trebuie în prealabil eşantionate, cuantizate şi codate
- modul de stocare a reprezentării numerice a unui semnal este tipic
în cod binar (0 şi 1), într-un format specific (virgulă fixă, virgulă
mobilă, complement față de 1, cu bit de semn etc)
eşantionare – procesul de mapare a unei funcţii continue într-o
funcţie discretă
cuantizare – procesul de mapare a unei variabile continue într-o
variabilă discretă
codare – reprezentarea unei variabile discrete pe un anumit
număr de biţi
TPI- curs 1
Exemplu: PCM – Pulse Code Modulation/Modulația
impulsurilor în cod
Digital
Analogic Eşantionare
FTJ Cuantizare Codor
Canal de transmisiune
(sample-and-hold)
tact
A B D E F
C
Decoder
Digital
H G
TPI- curs 1
A timp
D
4 7
0 3 5
E
-4 -5 -3
G
Cuvânt de cod 0 101(1-
H bit de semn & 3-biti pt
amplitudine)
TPI- curs 1
- matematic operaţia de eşantionare presupune înlocuirea unei funcţii
prin eşantioanele sale
- în cazul semnalelor unidimensionale:
x (t) x (n ) x n xn x ( t ) f (t kT e )
k
- f – funcţie de eşantionare, Te – perioadă de eşantionare
- procesul de eşantionare nu introduce erori dacă funcţia de
eşantionare este o funcţie de tip Dirac
- în cazul imaginilor:
N 1M 1
U ( x , y ) U ( i , j) U i j U ij U ( x , y )f ( x i x , y j y )
i 0 j 0
TPI- curs 1
- x, y – rezoluţii de eşantionare pe orizontală şi pe verticală
- funcţia de eşantionare este aproximată printr-o funcţie delta
Kronecker bidimensională
1 daca (x, y) (0,0)
(x , y)
0 in res t U(x,y)
y
- eşantioanele rezulte poartă denumirea de pixeli
TPI- curs 1
- nerespectarea teoremei eşantionării poate conduce la apariţia de
fenomene de aliere
(k+1)
xn->xqm=k
k - operaţia de cuantizare introduce erori
]
Variabilă
q x n x qn
discretă
- minimizarea erorilor de cuantizare se face de obicei
prin utilizarea unei cuantizări neuniforme
TPI- curs 1
- operaţia de codare presupune reprezentarea variabilei numerice
rezultate într-un cod binar
xqm=k
[ b 0 b 1 ... b n ]
TPI- curs 1