signalen

advertisement
Digitale signaalverwerking
en DSP processoren
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 1
signalen

analoge signalen
komen voor in continue tijd
 zijn een vorm van golf
 amplitude is meestal ook continu


voorbeelden
elektrische signalen (volt, stroom, elektrische en magnetische
velden)
 mechanische signalen (verplaatsingen, snelheden, krachten)
 akoestische signalen (trillingen, geluidsgolven)
 signalen uit natuurkunde (temperatuur, concentratie, druk)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 2
signalen (vervolg)

analoge signaalverwerking omvat
amplificatie, filtering, integratie, differentiatie, squaring, ...
 gebeurt door versterker, resistors, capaciteiten, inductors, enz


nadelen van analoge signaalverwerking
beperkte nauwkeurigheid: toleranties van componenten, biases, …
 beperkte herhaalbaarheid: variaties in omgeving, toleranties, …

gevoelig aan ruis
 beperkte dynamische range
 beperkte snelheid door fysische delays
 beperkte flexibiliteit voor veranderingen
 moeilijk om niet-lineaire en tijdsvariërende operaties uit te
voeren
 hoge kost voor het opslaan van analoge informatie

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 3
signalen (vervolg)

digitale signaalverwerking
signalen worden door getallen voorgesteld in een computer
 op deze signalen worden allerhande numerieke operaties
uitgevoerd


3 basisschema’s: zie volgende slide
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 4
signalen (vervolg)
analoog
signal

digitaal
signal
sampling
digitaal
signal
digitaal
signal
reconstructie
analoog
signal
DSP
digitaal
signal
voorbeeld: touch-tone telefoon geeft een sinusoidaal signaal
(combinatie van rij en kolom van nummer), dat in de centrale
omgezet wordt naar een getal
digitaal
signal

DSP
voorbeeld: digitaal opnemen van muziek en afspelen
analoog
signal

sampling
DSP
digitaal
signal
reconstructie
analoog
signal
voorbeeld: tekst uit tekstverwerker omzetten in spraak
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 5
signalen (vervolg)

voordelen van digitale signaalverwerking
hoge nauwkeurigheid is mogelijk door grotere woordlengte
 onbeperkte herhaalbaarheid
 ongevoelig (of toch bijna) aan ruis (bits kunnen vanzelf
wijzigen, maar error codes helpen dit te detecteren en
verbeteren)
 onbeperkte dynamische range door lange woordlengte
 beperkte snelheid die echter continu verbeterd
 software biedt grote flexibiliteit voor veranderingen
 eenvoudig om niet-lineaire en tijdsvariërende operaties uit te
voeren
 lage kost voor het opslaan van digitale informatie
 digitale info kan geëncrypteerd en/of gecomprimeerd worden

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 6
signalen (vervolg)

nadelen van digitale signaalverwerking
sampling geeft altijd een klein verlies aan informatie
 A/D en D/A convertoren kunnen duur zijn, en hebben last van
ruis
 software ontwikkeling is mooi maar kost ook
 snelheid is soms nog een limiterende factor


analoog versus digitale signaalverwerking
digitaal heeft het duidelijk gewonnen
 analoge signaalverwerking wordt beperkt door technologie
 digitale signaalverwerking wordt alleen beperkt door onze
verbeelding

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 7
signalen (vervolg)

toepassingsdomeinen van digitale signaalverwerking
medische toepassingen: patient monitoring, hartmetingen, enz.
 communicatie: encoderen en decoderen van communicatie
signalen, equalizing, filtering, …
 beeldverwerking: filtering, verbetering, compressie,
patroonherkenning
 instrumentatie
 multimedia: zenden v. geluid, beelden, digitale tv, video conf.
 muziek: opnemen, manipulatie zoals mixing, speciale effecten
 radar, sonar: filtering, doeldetectie, positie en snelheidsbepaling
 spraak: filtering, codering, compressie, herkenning,
synthetiseren
 telefoontoep.: transmissie in digitale vorm, modems, gsms

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 8
toepassingen

belangrijkste commerciele toepassingen
GSM !!!!!
 modems
 spraak in embedded toestellen
 multimedia in embedded toestellen, o.a. spelletjes, CD spelers,
DVD spelers, …

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 9
belangrijke operaties

FIR filtering
(finite impulse response)
N
y[n]   h[k ]x[n  k ]
k 0
rij h bevat N+1 coëfficiënten; rij x bevat N+1 laatste samples
 op tijdstip n doen we
 init resultaat y[n] op 0 en teller k op 0
 herhaling van
– laad h[k] (k-de locatie van h) in CPU
– laad x[n-k] (k-de locatie van x) in CPU
– vermenigvuldig
– laad y, tel het erbij, en berg weer weg; lus teller ophogen
 shift alle elementen van x naar rechts
 lees 1 nieuwe sample in x[n+1]

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 10
FIR operatie versnellen


berekening vraagt veel tijd op normale hardware
versnellen door extra hardware
2 geheugenplaatsen die tegelijk toegankelijke zijn (voor h en x)
 y bijhouden in accumulator
 accumulator met dubbele lengte, kan direct opgeteld worden
 combinatie vermenigvuldiger, accumulator, adder = MAC
 gebruik van hardware luscontrole
 gebruik van circulaire buffer voor x

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 11
voorbeeld: Motorola DSP56301
movep
clr
rep
mac
macr
movep





y:input, y:(r4)
a
#N
x0,y0,a
x0,y0,a
a,y:output
x:(r0)+,x0
y:(r4)+,y0
x:(r0)+,x0
y:(r4)+,y0
(r4)-
programma-tje in assembler voor FIR berekening
meerdere instructies op één lijn worden in parallel
uitgevoerd (VLIW)
orde van filter is constante N
X bevat de coëfficiënten h; Y bevat de samples x
r0 en r4 worden telkens modulo verhoogd
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 12
voorbeeld: Motorola DSP56301
movep
clr
rep
mac
macr
movep




y:input, y:(r4)
a
#N
x0,y0,a
x0,y0,a
a,y:output
x:(r0)+,x0
y:(r4)+,y0
x:(r0)+,x0
y:(r4)+,y0
(r4)-
lijn 1 leest één nieuwe sample in
lijn 2 cleart accumulator a; tegelijk worden registers x en
y geladen: r0 en r4 worden modulo verhoogt
lijn 3 zegt dat lijn 4 N maal uitgevoerd moet worden
lijn 4 berekent product h[k]x[n-k] en telt het op bij a;
volgende coëfficiënt en sample geladen in r0 en y0
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 13
voorbeeld: Motorola DSP56301
movep
clr
rep
mac
macr
movep


y:input, y:(r4)
a
#N
x0,y0,a
x0,y0,a
a,y:output
x:(r0)+,x0
y:(r4)+,y0
x:(r0)+,x0
y:(r4)+,y0
(r4)-
lijn 5 laatste vermenigvuldiging en optelling; r4 werd
één maal teveel opgehoogd en wordt weer verlaagd
lijn 6 schrijft y[n] uit op bv A/D convertor op uitgang
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 14
Instructieset voor
multimediaverwerking
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 15
algemeen toepasbare processoren

evolutie van GPP (general purpose processors)
steeds complexer datapad
 steeds grotere woordbreedte


meer en meer GPP toepassingen: signaalverwerking


deze toepassingen: performantie bottleneck
data voor media zoals geluid en beeld
smalle data types: bytes en halve woorden
 menselijke zintuigen niet gebaad bij hogere precisie


GPP zijn niet geschikt
onefficiënt gebruik van woordlengte bij mediaverwerking
 duurder en trager dan DSP’s (Digital Signal Processor)
of ASIC (Application Specific Integrated Circuit)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 16
multimedia-extensies

toevoegingen aan GPP op 2 manieren
parallelle verwerking op smallere datatypes
 klassieke instructies met gewijzigde semantiek


SIMD (Single Instruction Multiple Data)
data-elementen gegroepeerd in woord van standaard breedte
 sub-woorden van 8, 16 of 32-bits vaste-kommagetallen
(heet soms ingepakte woorden)
 controlegedeelte van de processor vraagt nauwelijks aanpassing


instructies
traditionele aritmetische en logische bewerkingen (zie verder)
 conversie tussen verschillende woordbreedtes
 ordenen van sub-woorden op verschillende manieren
 laden van sub-woorden

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 17
multimedia-extensies (vervolg)

belangrijkste SIMD-instructies: optelling en aftrekking
vraagt weinig aanpassing
 overdrachtsbit op de sub-woordgrenzen moet opgevangen
worden


gewijzigde semantiek
modulo-rekenen
 overloop negeren
 bv 0xFF + 0x02 = 0x101, te groot voor 1 byte, wordt 0x01
 verzadigingsrekenen (saturation)
 bij overloop grootsmogelijk resultaat
 bv 0xFF + 0x02 wordt 0xFF
 bv donkergrijs optellen bij een schaduw = pikzwart

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 18
Download