Università degli Studi di Bologna
Elaborazione Elettronica
dei Segnali Digitali
Prof. Giorgio Baccarani
Esercitazione
Ing. Stefano Vitali
Tel: 051 2093772
[email protected]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
1
Il corso di Eleborazione Elettronica dei Segnali Digitali si propone di illustrare le
metodologie di trattamento dei segnali digitali nei moderni sistemi elettronici
operanti in tempo reale, con particolare riferimento ai sistemi di
telecomunicazioni, di automazione industriale e, più in generale, ai sistemi di
elaborazione digitale dell’informazione.
Le esercitazioni contenute in queste slides si propongono di integrare il corso con
esperienze pratiche di implementazione degli algoritmi di signal processing su
un DSP (Digital Signal Processor) di Texas Instruments a disposizione nel
laboratorio.
Le esercitazioni avranno una parte teorica in cui si apprenderanno le nozioni
sull’architettura e gli strumenti di creazione del software del DSP e una parte
pratica che prevede l’utilizzo del DSP per realizzare progetti di signal
processing riguardanti algoritmi applicati alle telecomunicazioni.
Sulla pagina web delle esercitazioni del corso (si accede dalla pagina personale
del prof. Baccarani) si possono trovare tutte le slides e il link ai manuali del
DSP.
1
Obiettivi
Utilizzare una scheda hardware ed alcuni tools software
per progettare ed eseguire programmi software per il
DSP TMS320C6711 di Texas Instruments
Gli strumenti a disposizione sono:
1. DSP Starter Kit (DSK)
2. Code Composer Studio (CCS)
3. Strumenti di laboratorio (generatore di funzioni, oscilloscopio)
4. MATLAB
Ci saranno esempi teorici numerati (es: ASM1, ASM2 per
l’assembler) ed esempi pratici chiamati LAB#
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
2
Lo starter kit è una scheda prodotta da Texas Instruments su cui è montato il DSP
e che interfaccia lo stesso DSP con diverse periferiche e memorie. La scheda
consente un rapido collegamento al PC per la programmazione del DSP.
Il software da caricare ed eseguire sul DSP viene prodotto utilizzando un
programma sempre di Texas Instruments chiamato Code Composer Studio.
Sulla scheda, il DSP è interfacciato ad un codec audio tramite le porte seriali del
processore ed il codec è interfacciato con il mondo esterno attraverso due jack
audio (uno di ingresso ed uno di uscita) presenti sulla scheda. Il codec sarà molto
utilizzato nel corso delle esercitazioni collegando ai jack un generatore di
funzioni ed un oscilloscopio.
Sarà utilizzato anche Matlab per produrre i coefficienti dei filtri digitali che si
implementeranno e per altri calcoli.
2
Indice prima parte
Architettura del DSP e struttura del DSK
Ambiente di sviluppo
Assembler
Strumenti Matlab
Esempio di FIR
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
3
Entro le prime quattro settimane si dovrà essere in grado di far eseguire al DSP
programmi completi in Linear Assembler.
Per far questo si comincerà con una panoramica sulla struttura interna del chip del
DSP e sull’architettura della scheda, poi si darà uno sguardo abbastanza
approfondito al software di sviluppo del codice per il DSP ed in seguito
all’assembler del DSP stesso; infine si vedranno alcuni strumenti in Matlab utili
per creare velocemente alcuni esempi di codice come i filtri FIR.
La prova intermedia consiste nell’implementazione di alcuni algoritmi su DSP di
non elevata difficoltà.
3
Indice seconda parte
Programmazione ed uso del codec
Modulazione/Demodulazione AM e FM
Generazione di sequenze binarie
Segnali PAM
Modulazione/Demodulazione QAM
Esempi di filtri con l’analizzatore di spettro
PROGETTO FINALE
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
4
La seconda parte delle esercitazioni consiste in tutta una serie di argomenti teorici
legati ad algoritmi per telecomunicazioni utili per lo svolgimento del progetto
finale.
4
Perché i DSP
INTRODUZIONE
L’elaborazione analogica si serve ad esempio di:
resistenze, induttanze e capacità
ma le tolleranze, la temperatura, le variazioni di tensione
e le vibrazioni meccaniche possono fortemente
influenzare le prestazioni effettive dei circuiti analogici.
L’elaborazione digitale fornisce prestazioni esattamente
predicibili ed è ormai così potente che a volte è molto
difficile, se non impossibile, per i circuiti analogici
raggiungere le stesse prestazioni.
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
5
La “predicibilità” si raggiunge non solo per il fatto che il DSP esegue un
algoritmo specifico e noto ma anche studiando gli errori numerici legati alla
rappresentazione binaria interna dei segnali.
5
I DSP: processori di segnale
x
ADC
Campionamento di
un segnale
analogico:
DSP
Y
DAC
Molti algoritmi per DSP si
basano sulla somma di prodotti:
A
N
Y =
Σ
i = 1
ai * xi
t
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
6
- I DSP si utilizzano quando occorre elaborare digitalmente i segnali sfruttando
un certo algoritmo.
Per fare questo occorre innanzitutto rappresentare il segnale in ingresso in forma
digitale attraverso un ADC e riconvertire il segnale elaborato dal DSP in forma
analogica attraverso un DAC.
- Poichè il segnale analogico in ingresso viene quantizzato e campionato,
l’intervallo di tempo tra due campioni successivi rappresenta il tempo massimo in
cui l’algoritmo deve essere eseguito dal DSP; altrimenti il segnale in uscita non è
corretto perchè alcuni campioni in uscita sono prelevati prima che il DSP abbia
terminato di calcolarli (mancato rispetto della condizione di elaborazione in realtime).
- La maggior parte degli algoritmi contiene un elemento fondamentale: la somma
di prodotti.
In queste esercitazioni vedremo come implementare algoritmi legati al mondo
delle telecomunicazioni attraverso il DSP di Texas Instruments scelto.
6
DSP e GPP
I DSP (Digital Signal Processors) sono CPU progettate
appositamente per svolgere calcoli (somme e prodotti).
I DSP si utilizzano quando è importante:
• Ridurre il costo
• Ridurre le dimensioni
• Ridurre il consumo di potenza
• Elaborare in real-time i segnali
I GPP (General-Purpose Processors) si utilizzano
quando occorrono:
• Quantità grandi di memoria
• Sistemi operativi complessi
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
7
I GPP soprattutto non sono progettati per eseguire algoritmi nel rispetto della
condizione di elaborazione in real-time.
7
Alcuni vantaggi e svantaggi dei DSP
I segnali in alta frequenza non possono essere elaborati in
digitale per due ragioni:
1. I convertitori A/D non possono campionare troppo
in fretta
2. L’applicazione può essere facilmente troppo
complessa per poter essere elaborata in real-time
Con i DSP diventa molto semplice cambiare, correggere
e aggiornare le applicazioni
I DSP inoltre consentono di ridurre la sensibilità al
rumore, il numero di chip, il tempo di sviluppo, il costo
e il consumo di potenza
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
8
Allo stato attuale, campionare ed elaborare segnali a frequenze troppo elevate
(molti Ms/s o addirittura Gs/s) comporta consumi di potenza spropositati.
Avere la possibilità di gestire direttamente in digitale segnali a frequenze molto
alte a costi accettabili implicherebbe un passo avanti fondamentale nelle
prestazioni e capacità dei sistemi di telecomunicazione.
8
Considerazioni a livello di sistema
Interfacciamento
Performance
Potenza
Dimensioni
Facilità d’uso
• Programmazione
• Interfacciamento
• Debugging
Costi
• Costo di dispositivo
• Costo di sistema
• Costo di sviluppo
• Time to market
Integrazione
• Memoria
• Periferiche
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
9
Il DSP e le sue periferiche costituiscono un sistema molto complesso che però deve funzionare
nell’ambito di stringenti specifiche in termini di tempo di elaborazione e trattamento dei segnali.
A livello di sistema dunque vi sono molti aspetti da considerare:
•Performance: l’elaborazione real-time dei segnali è la specifica più importante per questi sistemi
e deve essere sempre rispettata qualunque sia la complessità dell’algoritmo eseguito;
•Interfacciamento: in base al tipo di applicazione, il DSP deve poter scambiare segnali con una
varietà di oggetti esterni (computer, sensori/attuatori, codecs) e deve essere perciò
opportunamente provvisto di periferiche in grado di interfacciarsi con tutti questi oggetti;
•Dimensioni: il sistema finale, specialmente per le moderne applicazioni portatili, può imporre
limitazioni sulle dimensioni del sistema ed i DSP ben si prestano a soddisfare questa esigenza;
•Facilità d’uso: gli strumenti messi a disposizione per lo sviluppo di applicazioni basate su DSP
oggi sono sistemi integrati di editing/debugging che consentono un rapidissimo sviluppo e
collaudo del programma che implementa un certo algoritmo; questi strumenti poi portano con sé
pezzi di codice già pronti per svolgere tutte quelle attività legate alla programmazione
dell’hardware. Le periferiche del DSP sono facili da configurare (registri mappati in memoria) e
possiedono moltissime modalità di funzionamento per permettere di interfacciare al processore
qualsiasi tipo di sistema esterno;
•Costi: nella scelta del DSP più adatto alla propria applicazione, sicuramente il costo rappresenta
un parametro fondamentale. Vi sono diversi tipi di DSP in commercio appositamente progettati
per applicazioni diverse e perciò con più o meno dotazioni hardware che comportano maggiori o
minori costi di sviluppo e di sistema;
•Integrazione: anche l’integrazione di più o meno periferiche o l’architettura della memoria nello
stesso chip della CPU è fortemente legato all’applicazione specifica (o alla classe di applicazioni)
e vi sono numerose possibilità in commercio.
9
Attuali applicazioni dei DSP
Wireless / Cellular
Voice-band audio
„ RF codecs
„ Voltage regulation
„
Consumer Audio
„
Stereo A/D, D/A
„ PLL
„ Mixers
HDD
„
PRML read channel
„ MR pre-amp
„ Servo control
„ SCSI tranceivers
DSP:
Technology
Enabler
Multimedia
Stereo audio
„ Imaging
„ Graphics palette
„ Voltage regulation
„
Automotive
Digital radio A/D/A
„ Active suspension
„ Voltage regulation
„
DTAD
„
Speech synthesizer
„ Mixed-signal
processor
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
10
Dall’audio digitale alle applicazioni multimediali, alla sintesi vocale, alle
applicazioni nel campo automotive, ai controllori per hard disks, alle
telecomunicazioni wireless, i DSP hanno contribuito in maniera fondamentale
allo sviluppo di sistemi portatili piccoli ma potenti in grado di svolgere complesse
funzioni con un ridotto consumo di potenza.
10
La famiglia TMS320 di Texas Instruments
Nella famiglia di DSP TMS320 ci sono diverse classi di
processori che servono per differenti tipi di applicazioni
C2000
Basso costo
Sistemi di controllo
Š Controllo motori
Š Memorie di massa
Š Sistemi di controllo digitali
C5000
C6000
Efficienza
Migliore MIPS per
Watt / Dollar / Size
Š Telefoni wireless
Š Internet audio players
Š Telecamere digitali
Š Modems
Š Telefonia
Š VoIP
Performance e
facilità d’uso
Applicazioni multicanale
e multifunzione
Š Comm Infrastructure
Š Wireless Base-stations
Š DSL
Š Imaging
Š Multi-media Servers
Š Video
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
11
In base alle considerazioni svolte nelle due precedenti slides, riassumiamo qui le
soluzioni che Texas Instruments offre oggi per le applicazioni fin qui presentate.
In particolare la famiglia di DSP TMS320 raccoglie una grande varietà di DSP in
virgola fissa e in virgola mobile adatti per applicazioni molto diverse tra loro.
Il DSP che utilizzeremo appartiene alla classe C6000.
11
La classe C6000 della famiglia TMS320
Software Compatible
Performance
Floating
Floating Point
Point
Multi-core
Multi
Multi-core
™ DSP
C64x
DSP
C64x™
1.1
1.1 GHz
GHz
2nd Generation (Fixed Point)
™ DSP
C64x
C64x™
DSP
General
Purpose
1st Generation
C6414
C6414
ce
t
es m a n
h
g
H i rf o r
Pe
C6415
C6415
C6411
C6411
C6203
C6204
C6202
C62x™ C6713
C6205
C6201
C67x™
C6211
C6701
C6712
C6711
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
C6416
C6416
3G Wireless
Media
Gateway Infrastructure
FixedFixed-point
FloatingFloating-point
Time
12
Stabilita la famiglia e la classe di DSP (C6000) che sarà utilizzata in questa
esercitazione, in questa slide c’è un riassunto delle caratteristiche dei DSP di
questa classe.
Il grafico rappresenta i vari DSP della classe prodotti nel tempo la cui altezza è
proporzionale alle prestazioni di ciascun membro della classe.
Tutti i DSP prodotti consentono una compatibilità all’indietro con il codice delle
versioni precedenti.
12
Fixed-Point e Floating-Point
¾ È richiesto un processore floating-point quando serve:
• Elevata precisione
• Ampio range dinamico
• Elevato rapporto segnale/rumore
• facilità di utilizzo
¾ Le limitazioni nell’uso di DSP floating-point sono:
• Elevato consumo di potenza
• Minore velocità
• Costo e area maggiori
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
13
L’utilizzo della virgola mobile comporta vantaggi e svantaggi. Per realizzare filtri
digitali ad esempio non è di norma conveniente utilizzare calcoli in virgola
mobile perché i coefficienti possono efficacemente essere rappresentati con
numeri interi.
- La possibilità di rappresentare i numeri reali attraverso una mantissa ed un
esponente rende la precisione della rappresentazione molto elevata (pari al più
piccolo numero rappresentabile) e rende il range dinamico molto ampio (pari al
più grande numero rappresentabile).
- La precisione ed il range dinamico offrono poi un elevato rapporto
segnale/rumore.
I circuiti che occorrono per svolgere calcoli in virgola mobile sono molto più
complessi perché devono gestire operazioni come la normalizzazione
dell’esponente ed il calcolo separato della mantissa e dello stesso esponente;
questo comporta un maggiore consumo di potenza, un maggiore tempo di
elaborazione ed un maggiore consumo di area sul chip.
13
DSP general purpose e ASIC
I circuiti integrati per applicazioni specifiche (ASIC) sono
progettati per eseguire certe particolari funzioni al
massimo delle prestazioni possibili.
Vantaggi ASIC
•
•
•
•
•
•
Svantaggi ASIC
Elevato throughput
• Elevato costo di sviluppo
Area minima
• Minore flessibilità
Basso consumo di potenza
• Elevati tempi di progetto
Maggiore affidabilità
Riduzione del rumore di sistema
Costo produttivo minore
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
14
In questa slide, per completezza è riportato un confronto tra DSP e dispositivi
ASIC.
14
Le operazioni fondamentali: Somme di Prodotti
La somma di prodotti (SOP: Sum Of Products) è
l’elemento chiave in molti algoritmi per DSP
Algorithm
Equation
M
Finite Impulse Response Filter
y ( n) =
∑a
k
x(n − k )
k
x ( n − k )+
k =0
M
Infinite Impulse Response Filter
∑a
y ( n) =
N
k =0
∑b
k
y (n − k )
k =1
N
Convolution
y ( n) =
∑ x ( k ) h( n − k )
k =0
N −1
Discrete Fourier Transform
X (k ) =
∑ x(n) exp[− j(2π / N )nk ]
n=0
Discrete Cosine Transform
F (u ) =
N −1
 π

∑ c(u). f ( x). cos 2 N u(2 x + 1)
x =0
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
15
Come già anticipato, la somma di prodotti è tra le operazioni maggiormente
utilizzate dagli algoritmi. Nella slide ci sono alcuni esempi.
Tutti i DSP possiedono soluzioni hardware/firmware specifiche per svolgere il
nucleo fondamentale di questa operazione detto MAC (Multiply and ACcumulate)
che consiste in una moltiplicazione e la successiva accumulazione del risultato.
15
Esempio di prodotto
I DSP sono ottimizzati per fare somme e moltiplicazioni
Le somme e le moltiplicazioni sono di norma svolte in
hardware e in un solo ciclo
Hardware
1011
x 1110
10011010
Microcode
1011
x 1110
0000
1011.
1011..
1011...
10011010
Cycle
Cycle
Cycle
Cycle
Cycle
1
2
3
4
5
[Fonte: Texas Instruments]
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
16
Proprio perché la somma di prodotti è molto sfruttata nei calcoli eseguiti dal DSP,
le architetture delle CPU devono prevedere moltiplicatori realizzati in hardware
in maniera da ottimizzare le prestazioni del sistema. La slide mostra
schematicamente il confronto tra una moltiplicazione svolta in hardware ed una
svolta via software.
16
Il DSK
Il DSP Starter Kit è una scheda
che interfaccia il DSP con alcune
periferiche. Sulla scheda si trova:
• DSP a 150MHz
• Porta parallela per l’interfacciamento
con il PC
• Codec a 16 bit
• 16Mb di memoria SDRAM esterna e
128kb di memoria flash
• 3 Switch e 3 LED a disposizione
• Connettori di espansione della scheda
(memoria e periferiche)
• Generatore del clock, PLL e timers
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
[Fonte: Texas Instruments]
17
Il DSP ha integrate nel chip diverse periferiche come porte seriali, bus esterni,
DMA che vengono poi sfruttate a livello di scheda per interfacciarsi con altri
dispositivi esterni.
Il particolare starter kit a disposizione consente all’utente di interfacciarsi alla
scheda attraverso un connettore di espansione ed un codec audio.
17
Il software di controllo
CCS (Code Composer Studio) è l’ambiente software
integrato di Texas Instruments per il progetto e il
debugging delle applicazioni per il DSP.
Con questo potente pacchetto è possibile:
• Scrivere codice C e assembler attraverso il text editor
• Compilare, linkare e caricare il codice con l’aiuto di sofisticati
strumenti di ottimizzazione
• Programmare via codice l’hardware attraverso un esteso
insieme di librerie fornite da Texas Instruments
• Utilizzare un sistema operativo programmabile graficamente
per la gestione ad eventi dell’attività del DSP
• Seguire l’esecuzione del codice con il debugger real-time e
misurarne le prestazioni
Elaborazione Elettronica dei Segnali Digitali - Esercitazione
18
CCS è un pacchetto software molto sofisticato e per questo, nel seguito,
impareremo ad utilizzare solo alcune delle innumerevoli caratteristiche offerte.
18