signalen
Short Description
Download signalen...
Description
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
View more...
Comments