c1

28
TPI- curs 1 Tehnologii de prelucrare a informaţiei Conf.dr.ing. Romulus Terebeş

description

e

Transcript of c1

Page 1: c1

TPI- curs 1

Tehnologii de prelucrare a informaţiei

Conf.dr.ing. Romulus Terebeş

Page 2: c1

TPI- curs 1

Obiectul cursului-noţiuni teoretice legate de procesarea informaţiei în format digital

(semnale, imagini)-noţiuni teoretice legate de arhitectura procesoarelor digitale de semnale- aspecte practice de implementare de algoritmi de procesare a informaţiei pe procesoare de semnale

Organizare-curs 2h, laborator 1h, proiect 1h

Examen-două probe de verificare a cunoştinţelor teoretice (E1 şi E2)-proiect P- nota =0.7(E1+E2)/2 *0.3P

Page 3: c1

TPI- curs 1

Bibliografie generală

1. J. Proakis, D. Manolakis – Digital Signal Processing. Principles, Algorithms and Applications,Prentice Hall, 1996.2. Kuo Sen, M.- Gan Woon-Seng - Digital Signal Processors : architectures, implementations, and applications, Prentice Hall, 2004.3. Manuale de utilizare ADSP BF533 (limba engleza) – arhitectura, Visual DSP++, compilator C/C++, setul de instructiuni, descrierea placii de dezvoltare EZ KIT Lite4. Al. Bovik – Image and Video processing Handbook, Academic Press, 2000.5.U. Meyer- Baese – Digital Signal Processing with Field Programmable Gate Arrays, Springer –Verlag, 20016. J. Bingham – The theory and practice of modem design, Wiley-Interscience,1988 .7. V. Ingle, J. Proakis – Digital Signal Processing using Matlab, Brooks-Cole, 2000.9.M. E. Freerking –Digital Signal Processing in Communication Systems, Kluwer-Academic, 1993.10. Notiţe de curs – http://ares.utcluj.ro/tpi.html

Page 4: c1

TPI- curs 1

1.1 IntroducereTehnologie: ş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, luminanţă, fază, frecvenţă etc) pentru transmitere sauredare in alt format.

Procesarea informaţiei se bazează pe procesarea semnalelor –analiza, interpretarea şi manipularea semnalelor în format analogic sau digital

Page 5: c1

TPI- curs 1

1.2.1 Tehnologii de procesare numerica a semnalelor

Digital Signal Processing (Prelucrari numerice de semnale) – set de tehnici de procesare a semnalelor

DSP

Digital Signal Processor (Procesoare digitale desemnale) – echipament hardware dedicat pentruprocesarea semnalelor

1.2 Clasificarea tehnologiilor de procesare a informaţiei

Page 6: c1

TPI- curs 1

Schema bloc simplificată a unui sistem procesare numerica a semnalelor

CAN CNADSP

Semnal analogic

Semnal analogic

Semnal

numeric

(iesire)

Semnal

numeric

(intrare)

CAN – convertor analog numeric; transformă un semnal analogic într-o reprezentare numerică

CNA - convertor numeric analogic ; transformă o secvenţă numericărezultată în urma unei procesări numerice de semnale într-un semnal analogic

Page 7: c1

TPI- curs 1

Analogic sau numeric?- procesarea informaţiei în format numeric oferă o serie întreagă deavantaje:

- flexibilitate: un sistem de prelucrare numerică a semnalelor poate fi adaptat pentru implementarea a 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

Page 8: c1

TPI- curs 1

- complexitate: un sistem DSP permite implementarea de algoritmi complecşi de procesare pe un acelaşi chip de micăputere

- principalele dezavantaje ale procesării în format numeric:

- viteza de procesare este limitată de frecvenţa de eşantionare şide 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ăreaca urmare a procesării numerice

- reprezentarea informaţiei analogice în format digital presupune utilizarea unei operaţii de cuantizare ce este la rândusău o sursă de erori (erori de cuantizare)

Page 9: c1

TPI- curs 1

Procesoare numerice de semnale-microprocesoare proiectate pentru procesarea secvenţială a semnalelor în format digitalCaracteristici principalea) Arhitecturi orientate spre paralelism în executarea instrucţiunilor

CPU

Memorie A Memorie B

Magistrala de date 2

Magistrala de adrese 1

Magistrala de adrese 2

Magistrala de date 1

Exemplu:

arhitectură Harvard

CPU – central processing unit

Page 10: c1

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

Memorie date Memorie instructiuni si date

Magistrala de date 2

Magistrala de adrese 1

Magistrala de adrese 2

Magistrala de date 1 Exemplu:

arhitectură Harvard modificată

Page 11: c1

TPI- curs 1

CPU

Memorie date Memorie instructiuni si date

Magistrala de date 2

Magistrala de adrese 1

Magistrala de adrese 2

Magistrala de date 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

∑−

=−=

1

0)()(

L

ii inxany

Exemplu: implementarea unui filtru FIR

)in(x −niinstructiua i +

Page 12: c1

TPI- curs 1

-suplimentar faţă de arhitectura modificată paralelismul este asigurat prin utilizarea unui număr mare de regiştri şi folosirea unor tehnici dedicatePipelining

- exploatează paralelismul la nivelul instrucţiunilor prinsuprapunerea 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 operandului)EX- execution (execuţia propriu zisă)WB-write-back (actualizarea rezultatului)

Page 13: c1

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 WBi1 i2

………………WBEXOFIDIFi3

WBEXOFIDIFi2

WBEXOFIDIFi1

87654321Instr.

- tehnica de pipeline permite executarea în paralel a operaţiilorde bază pentru instrucţiuni succesive

Page 14: c1

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 înacelaşi timp

•Suport VLIW- Very Long Instruction Word- exploatează paralelismul în procesarea instrucţiunilor- o instrucţiune VLIW – o instrucţiune ce include mai multeoperaţii ce se vor executa în paralel de către CPU (maxim 8pentru generaţiile curente de DSP-uri)

Page 15: c1

TPI- curs 1

b) Hardware optimizat pentru un anumit tip de aplicaţii- marea majoritate a aplicaţiilor ce rulează pe un DSP pot fiexprimate în termeni de sume de produse

∑−

=−=

1L

0ii )in(xa)n(y

∑=

−=M

0i)in(h)i(x)n(y

- filtru FIR

- convolutie numerică

- unitatea centrală de procesare (CPU) implementeazăhardware circuite de multiplicare şi acumulare (MAC –Multiply and Accumulate) ce permit execuţia unei etapeintermediare FIR folosind o singură intrucţiune

Page 16: c1

TPI- curs 1

Acumulator MAC

CPU

Registru 1 Registru 2

- unitatea MAC executăîntr-un singur ciclu multiplicareaa două numere şi adunarea la rezultatul intermediar anterior

Page 17: c1

TPI- curs 1

1.2.2 Tehnologii FPGA- echipamente hardware ce permit de asemenea implementarea dealgoritmi de procesare numerică a semnalelorFPGA – Field Programmable Gate Array – arie de elemente logiceindependente 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

Page 18: c1

TPI- curs 1

- spre deosebire de DSP-uri FPGA-urile reprezintă soluţii hardware reconfigurabile

Aplicaţie 1 Aplicaţie 2

CPU

Aplicaţie 1 Aplicaţie 2

Memorie program

Page 19: c1

TPI- curs 1

- avantajul principal al FPGA: viteză mai mare de procesare pentruo anumită aplicaţie

∑=

−=M

0ii )in(xa)n(y

Exemplu: implementarea unui filtru FIR în cele 2 technologii

ai

x(n-i)

DSP – execuţie secvenţială- rezultatul este obţinut după efectuarea buclei (M iteraţii)

a0 a1 …

x(i)

FPGA – M unităţi de procesare de tip MAC în paralel (M intervalede tact)

Page 20: c1

TPI- curs 1

- dezavantajul principal al FPGA: implementarea de algoritmicomplecşi presupune utilizarea de arii FPGA de capacitate mare şi,implicit, consumuri mari de putere în comparaţie cu implementareape 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

Page 21: c1

TPI- curs 1

1.3 Reprezentarea numerică a informaţiei

- pentru procesarea numerică a informaţiei semnalele analogicetrebuie î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ă 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

Page 22: c1

TPI- curs 1

FTJ Eşantionare(sample-and-hold) Cuantizare

A B D E

Analogic Codor

Ftact

C

Exemplu: PCM – Pulse Code Modulation

FTJ CNA

Decoder

Canal de transm

isiune

GH

Analogic

Digital

Digital

Page 23: c1

TPI- curs 1

A

B

C

D

E

F

G

H

04 7

3

-4 -5 -3

5

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

timp

Cuvânt de cod 0 101(1-bit de semn & 3-biti pt

amplitudine)

Page 24: c1

TPI- curs 1

- matematic operaţia de eşantionare presupune înlocuirea unei funcţiiprin eşantioanele sale- în cazul semnalelor unidimensionale:

nx)n(x)t(x =→ ∑∞

−∞=−=

ken )kTt(f)t(xx

- f – funcţie de eşantionare, Te – perioadă de eşantionare- procesul de eşantionare nu introduce erori dacă funcţia deeşantionare este o funcţie de tip Dirac

- în cazul imaginilor:

ijU)j,i(U)y,x(U =→ )yjy,xix(f)y,x(UU1N

0i

1M

0jij ∆−∆−= ∑ ∑

=

=

Page 25: c1

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ă

=

=δrest in 0

(0,0)y)(x, daca 1)y,x(

- eşantioanele rezulte poartă denumirea de pixeli

x

y

U(x,y)

Page 26: c1

TPI- curs 1

- nerespectarea teoremei eşantionării poate conduce la apariţia defenomene de aliere

- eliminarea acestora presupune o filtrare trece jos efectuată înainteaprocesului de cuantizare şi utilizarea de frecvenţe de eşantionare şide rezoluţii spaţiale dimensionate corespunzător

Page 27: c1

TPI- curs 1

- operaţia de cuantizare presupune o discretizare în domeniulamplitudinilor:

Variabilă continuă

(] k∆

(k+1)∆

xn->xqm=k∆

- operaţia de cuantizare introduce erori

qnnq xx −=ε

(]

Variabilă discretă - minimizarea erorilor de cuantizare se face de obicei

prin utilizarea unei cuantizări neuniforme

Page 28: c1

TPI- curs 1

- operaţia de codare presupune reprezentarea variabilei numericerezultate într-un cod binar

xqm=k∆

]b...bb[ n10

- numărul de biţi influentează performanţele sistemului numeric deprelucrare şi are impact asupra echipamentelor hardware utilizate