1 / 18

Digitale signaalverwerking en DSP processoren

Digitale signaalverwerking en DSP processoren. 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)

red
Download Presentation

Digitale signaalverwerking en DSP processoren

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digitale signaalverwerkingen DSP processoren

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

  3. 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 • uitvoeren van niet-lineaire en tijdsvariërende operaties: moeilijk • hoge kost voor het opslaan van analoge informatie

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

  5. digitaal signal digitaal signal digitaal signal digitaal signal digitaal signal digitaal signal analoog signal analoog signal analoog signal analoog signal sampling sampling DSP DSP DSP reconstructie reconstructie signalen (vervolg) • voorbeeld: digitaal opnemen van muziek en afspelen • voorbeeld: touch-tone telefoon geeft een sinusoidaal signaal (combinatie van rij en kolom van nummer), dat in de centrale omgezet wordt naar een getal • voorbeeld: tekst uit tekstverwerker omzetten in spraak

  6. 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 mogelijke detectie en correctie door error codes) • onbeperkte dynamische range door lange woordlengte • beperkte snelheid die echter continu verbetert • software biedt grote flexibiliteit voor veranderingen • niet-lineaire en tijdsvariërende operaties: eenvoudig • lage kost voor het opslaan van digitale informatie • digitale info kan geëncrypteerd en/of gecomprimeerd worden

  7. signalen (vervolg) • nadelen van digitale signaalverwerking • sampling geeft altijd (klein) verlies aan informatie • A/D en D/A convertoren kunnen duur zijn, hebben 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

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

  9. toepassingen • belangrijkste commerciele toepassingen • GSM !!!!! • modems • spraak in embedded toestellen • multimedia in embedded toestellen, o.a. spelletjes, CD spelers, DVD spelers, …

  10. belangrijke operaties • FIR filtering(finite impulse response) • rij h bevat N+1 coëfficiënten; rij x bevat N+1 laatste samples • op tijdstip n berekenen we y[n] en 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]

  11. FIR operatie versnellen • berekening vraagt veel tijd op normale hardware • versnellen door extra hardware • 2 geheugenplaatsen die tegelijk toegankelijk 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

  12. voorbeeld: Motorola DSP56301 movep y:input, y:(r4) clr a x:(r0)+,x0 y:(r4)+,y0 rep #N mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 macr x0,y0,a (r4)- movep a,y:output • 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

  13. voorbeeld: Motorola DSP56301 movep y:input, y:(r4) clr a x:(r0)+,x0 y:(r4)+,y0 rep #N mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 macr x0,y0,a (r4)- movep a,y:output • 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

  14. voorbeeld: Motorola DSP56301 movep y:input, y:(r4) clr a x:(r0)+,x0 y:(r4)+,y0 rep #N mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 macr x0,y0,a (r4)- movep a,y:output • 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

  15. Instructieset voor multimediaverwerking

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

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

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

More Related