Sunteți pe pagina 1din 28

Tehnologii de prelucrare a informaţiei

Prof.dr.ing. Romulus Terebeş

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

1. Notiţe de curs, suport laborator – http://ares.utcluj.ro/tpi_2017.html


2. J. Proakis, D. Manolakis – Digital Signal Processing. Principles, Algorithms and
Applications, Prentice Hall, 1996.
3. Kuo Sen, M.- Gan Woon-Seng - Digital Signal Processors : architectures,
implementations, and applications, Prentice Hall, 2004.
4. Manuale de utilizare ADSP BF533 (limba engleza) – arhitectura, Visual DSP++,
compilator C/C++, setul de instructiuni, descrierea placii de dezvoltare EZ KIT Lite.
5.E Lupu, T. Miclea, R.Arsinte- Procesoare digitale de semnal. Generatia TMS
320C2X.Prezentare și aplicații.Ed. Promedia Plus, 2003
6. Al. Bovik – Image and Video processing Handbook, Academic Press, 2000.
7. V. Ingle, J. Proakis – Digital Signal Processing using Matlab, Brooks-Cole, 2000.

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).

 Informaţie: termen abstract ce defineşte o mărime ataşată unui


anumit proces fizic ce poate fi măsurată sau procesată.

 Semnal: manifestare fizică a informaţiei (nivele de tensiune sau


de curent, funcție luminanţă, fază, frecvenţă etc) pentru
transmitere sau redare într-un alt format.

 Procesarea informaţiei se bazează pe procesarea semnalelor –


analiza, interpretarea şi manipularea semnalelor în format
analogic sau digital.
TPI- curs 1
1.2 Clasificarea tehnologiilor de procesare a informaţiei
1.2.1 Introducere

Digital Signal Processing (Prelucrari numerice de


semnale) – set de tehnici de procesare a semnalelor
DSP

Digital Signal Processor (Procesoare digitale de


semnale) – echipamente hardware dedicate pentru
procesarea semnalelor

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)

CAN – convertor analog numeric; transformă un semnal analogic


într-o reprezentare numerică a acestuia
CNA - convertor numeric analogic ; transformă o secvenţă numerică
rezultată în urma unei procesări numerice de semnale într-un
semnal analogic
TPI- curs 1
 Analogic sau numeric?
- procesarea informaţiei în format numeric oferă o serie întreagă de
avantaje:
- flexibilitate: un sistem de prelucrare numerică a semnalelor
poate fi adaptat pentru implementarea mai multor tipuri de
aplicaţii. Modificările sunt în marea majoritate a cazurilor doar
de natură software.
- reproductibilitate: o aplicaţie în tehnologie DSP rulează identic
pe orice dispozitiv. De exemplu, un filtru FIR în tehnologie
DSP nu îşi modifică funcţia de transfer la transpunerea de pe un
procesor pe altul.
- fiabilitate: performanţele unui sistem DSP nu se degradează în
timp.
TPI- curs 1
- complexitate: un sistem DSP permite implementarea de
algoritmi complecşi de procesare pe un acelaşi chip, cu un
consum de putere relativ mic.
- principalele dezavantaje ale procesării în format numeric:
- viteza de procesare este limitată de frecvenţa de eşantionare şi
de echipamentele periferice conectate în circuit.
- algoritmii DSP operează pe un număr predefinit de biţi cu o
precizie şi o gamă dinamică limitată iar erori aritmetice pot apărea
ca urmare a procesării numerice.
- reprezentarea informaţiei analogice în format digital
presupune utilizarea unei operaţii de cuantizare ce este la rândul
său o sursă de erori (erori de cuantizare)

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

Magistrala de date A Exemplu:


Magistrala de adrese B arhitectură Harvard
Magistrala de date B modificată

Memorie date Memorie instructiuni si date

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
i0
M
y(n )   x (i )h ( n  i ) - convolutie numerică
i0

- unitatea centrală de procesare (CPU) include circuite


hardware de multiplicare şi acumulare (MAC –Multiply and
Accumulate) ce permit execuţia unei etape intermediare FIR
într-un singur ciclu de tact.

TPI- curs 1
Registru 1 Registru 2

CPU

- unitatea MAC execută


într-un singur ciclu multiplicarea
a două numere şi adunarea la
rezultatul intermediar anterior Acumulator MAC

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

Element configurabil (logic,


aritmetic, memorare)

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 …
… …
… …

Aplicaţie 1 Aplicaţie 2 Aplicaţie 1 Aplicaţie 2

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.

1.2.3 Tehnologii SoPC


- System on a Programable Chip
- permit dezvoltarea de aplicaţii folosind microprocesoare şi
hardware programabil realizat în tehnologie FPGA
- procesoarele pot fi “hard” – circuite integrate sau “soft” –
implementate în tehnologie FPGA pe aceeaşi arie logică
programabilă ce implementează circuitele hardware

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

Analogic FTJ CNA

Digital
H G

TPI- curs 1
A timp

D
4 7
0 3 5

E
-4 -5 -3

F 0 000 0 100 0 111 0 011 1 100 1 101 1 011 0 101

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

- eliminarea acestora presupune o filtrare trece jos efectuată înaintea


procesului de cuantizare şi utilizarea de frecvenţe de eşantionare şi
de rezoluţii spaţiale dimensionate corespunzător
TPI- curs 1
- operaţia de cuantizare presupune o discretizare în domeniul
amplitudinilor:
Variabilă
continuă
(
](

(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 ]

- numărul de biţi influentează performanţele sistemului numeric de


prelucrare şi are impact asupra echipamentelor hardware utilizate

TPI- curs 1

S-ar putea să vă placă și