30
Curs 01 PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL PROCESSORS

PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

Embed Size (px)

Citation preview

Page 1: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

Curs 01

PROCESOARE NUMERICE DESEMNAL

DIGITALSIGNALPROCESSORS

Page 2: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.1 Definire. Caracteristici

● Procesoarele numerice de semnal , numite în literatura de specialitate DSP - uri (DSP - Digital Signal Processors), sunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale.

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

Page 3: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.1 Definire. Caracteristici

● Pentru efectuarea unor prelucrări în timp real asupra datelor, procesoarele de semnal lucrează la frecven ţe mari şi dispun de un set complex de instrucţiuni, putând astfel executa zeci de milioane de operaţii în virgulă mobilă 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.

Page 4: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.2 Producători de DSP - uri

● Texas Instruments (57%)● Motorola (13%)● AT&T (13%)● NEC (8%)● Analog Devices (6%)● Alte firme (3%)

Page 5: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul
Page 6: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.2 Producători de DSP - uri

Texas Instruments (TI)

● Mai mult de 100 de tipuri de DSP-uri, utilizate în domenii diverse, cum ar fi: comunicaţii, calculatoare, produse de larg consum, conducerea proceselor industriale, instrumentaţie, aplicaţii militare, etc.

● Cea mai largă linie de procesoare DSP de uz general într-un singur cip

● Cea mai extinsă reţea de distribuitori si de utilizatori experimentaţi.

● Suport eficient şi complex creat şi oferit pentru fiecare procesor DSP, care cuprinde: sisteme de dezvoltare hardware şi software de înaltă calitate; asistenţă tehnică permanentă (telefonic, sau direct la utilizator); buletine de informaţii, ghiduri de utilizare, cărţi; mii de pagini de note de aplicaţii; şi un volum impresionant de cod sursă oferit gratuit.

● Produse şi servicii oferite în domeniul prelucrărilor numerice de semnal cu procesoare TI de către peste 200 de alte firme (third-party).

Page 7: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.2 Producători de DSP - uri

● Texas Instruments (TI)

● Familia de procesoare DSP se caracterizează şi printr-un grad ridicat în ceea ce priveşte paralelismul operaţiilor aritmetice şi al celor de transfer.

● Procesoarele dispun de magistrale multiple care permit calculul paralel , încât pot exista situaţii în care structurile de calcul realizează 11 operaţii în acelaşi timp.

Page 8: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.3 Aplicaţii ale DSP-urilor

● Tehnicile DSP tind să înlocuiască metodele clasice de procesare analogică a semnalelor în multe domenii.

● Procesarea numerică a semnalelor a devenit o tehnică standard în multe domenii, printre care: telecomunicaţiile, analiza şi prelucrarea semnalelor biomedicale, controlul numeric, procesarea vorbirii şi a semnalelor audio/video, instrumentaţia numerică, tehnicile radar, sonar, etc.

Page 9: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.3 Aplicaţii ale DSP-urilor

Recunoaştere voce- Voice mail- Recunoaştere vocală- Verificare amprentă vocală- Îmbunătăţirea vorbirii- Sinteză vocală- Text-to-speech

Grafică/Imagini- Transformări 3D/ Renderizare- Recunoaştere de forme- Transmisie / Compresie imagini- Recunoaşterea formelor- Îmbunătăţire imagini- Scanare cod de bare- Staţii de lucru grafice

Domeniul militar- Securitatea comunicaţiilor- Procesare semnale radar- Procesare sonar- Procesare imagini- Instrumente de navigaţie- Ghidare rachete- Modemuri în radio-frecvenţă

Page 10: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.3 Aplicaţii ale DSP-urilor

Locomoţie- Securitatea comunicaţiilor- Analiza vibraţiilor- Sisteme anti-coliziune- Control adaptiv al rulării- GPS- Comenzi vocale

Industrie- Robotică- Comandă numerică- Securitatea accesului- Monitorizare surse de putere- Inspecţie vizualăCAM

Domeniul medical- Proteze auditive- Monitorizare pacienţi- Echipamente cu ultrasunete- Echipamente de diagnostic- Proteze

etc...

Page 11: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

Telecomunicaţii- Suprimarea ecoului- Multiplexarea canalelor- Modemuri- Codare/Decodare - Criptare date- Comunicaţii în spectru larg- FAX- Telefonie celulară- Telefoane inteligente- Video conferinţe

Bunuri de larg consum- Detectoare de radar- Instrumente de putere- Audio/TV digitale- Sintetizatoare muzicale- Jucării inteligente

Prelucrare de semnale- Filtrare digitală- Convoluţie- Corelaţie- Transformări Hilbert- Transformări Fourier rapide- Filtrare adaptivă- Generare de semnale- Ferestre de timp

Page 12: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.4 Introducere în procesarea digitală a semnalelor

● Un semnal este definit ca o cantitate fizică dependentă de timp, de poziţie, presiune, etc. (de exemplu, tensiunea de ieşire furnizată de către un microfon este strâns legată de presiunea acustică a sunetului ca funcţie de timp).

● Î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 secvenţă 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.

Page 13: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.4 Introducere în procesarea digitală a semnalelor

● Sistemele de procesare numerică a semnalelor utilizează un DSP (o structură hardware digitală), precum şi două convertoare, unul analog-numeric (ADC-Analog-to-Digital Converter) şi unul numeric-analogic (DAC-Digital-to-Analog Converter).

● 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 conv. î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.

Page 14: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.4 Introducere în procesarea digitală a semnalelor

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

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

Page 15: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.4 Introducere în procesarea digitală a semnalelor

- 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ându său o sursă de erori (erori de cuantizare).

Page 16: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.5 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ă 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 17: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.5 Reprezentarea numerică a informaţiei

Page 18: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.5 Reprezentarea numerică a informaţiei

Page 19: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

1.6.1 Microprocesoare proiectate pentru procesarea secvenţială a semnalelor în format digital

Caracteristici principale

a) Arhitecturi orientate spre paralelism în executarea instrucţiunilor

Page 20: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

- 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

- 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

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

Page 21: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

Page 22: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

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

EX- execution (execuţia propriu zisă)

WB-write-back (actualizarea rezultatului)

Page 23: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

- 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

Page 24: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnale

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)

Page 25: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

1.6 Procesoare numerice de semnal de uz general

● Sistemele de tip DSP au înlocuit în mare parte sistemele de procesare analogică şi au permis extinderea considerabilă a ariei aplicaţiilor. Principalul avantaj al DSP-urilor este programabilitatea lor.

● Un sistem DSP permite utilizatorului să modifice task-urile prin scrierea unui nou cod în memoria sistemului. De asemenea, permite actualizarea parametrilor sistemului pe baza unor noi algoritmi pentru o mai bună adaptare la mediul în continuă schimbare.

● Sistemele DSP se bucură de performanţe deosebite întrucât atât memoria, cât şi procesorul, sunt practic independente de temperatură şi pot reacţiona corect în diferite medii externe pe întreaga durată de viaţă a produsului.

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

Page 26: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

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

Page 27: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

● Cercetările actuale în domeniul DSP-urilor s-au orientat tot mai mult spre soluţiile complete care să înglobeze algoritmi, software şi hardware într-un sistem unitar.

● Soft-ul este în fond un program care controlează un set de resurse de calcul hardware pentru a implementa un algoritm, în timp ce hard – ul constă din blocuri de calcul specifice.

● Dezvoltarea soft-ului poate fi fie independentă de procesor, fie specifică unui anumit dispozitiv.

● Deoarece dezvoltarea soft - ului a devenit o cheltuială mai însemnată decât dezvoltarea hard-ului în principalele sisteme DSP, proiectarea independentă de procesor are avantajul portabilităţii soft-ului obţinut pe diferite procesoare şi abilitatea de a migra uşor către noile procesoare, mai performante şi mai complexe, care vor apare în viitor .

Page 28: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

● Î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ă.

Page 29: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

● În aplicaţiile în care viteza de procesare şi nivelul resurselor de memorie reprezintă elemente cheie, soluţia este una de compromis care utilizează limbajul de asamblare pentru implementarea secţiunilor critice şi limbajul C pentru restul codului.

● Programarea combinată C - asamblare reprezintă un compromis bun între uşurinţa codificării şi eficienţa implementării.

● În mod constant, eficienţa compilatoarelor C se îmbunătăţeşte şi multe librării DSP scrise în limbaj de asamblare optimizat permit utilizatorului să dezvolte cu uşurinţă programe eficiente în cod combinat.

Page 30: PROCESOARE NUMERICE DE SEMNAL DIGITAL SIGNAL … filesunt sisteme de calcul programabile de tip "single - chip", destinate prelucrării complexe a semnalelor digitale. ... calculul

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