Transcript Slides 10
EE 2521: Digitale Signaalbewerking 10. Kwantisatie Week 1: Introductie, herhaling begrippen en eigenschappen (sampling, -transformatie, DTFT, convolutie) Week 2/3: Tijdsdiscrete filterstructuren (realisaties) Week 4: DFT, sampling en reconstructie Week 5: Digitaal filterontwerp Week 6: Multirate filters Week 7: Kwantisatie; oefensessie 1 slides 10 June 3, 2014 Introductie: Kwantisatie analoog-digitaal digitaal-analoog ✞✟✝ ✆ ✡ pulstrein ☎ D/A ✂ ✁ kwantisator ✠ ✠ ☎ ✄✂✁ sampler Digitaal Systeem ✡ ✞✟✝ ✆ A/D interpolator ☛ ✡ ☎ ✂ ✁ ✠ ✞ ✝ ✡ ☎ ✄✂✁ ✠ ✞ ✝ ✟ ✆ ✡ ✠ ☎ ✂ ✁ ✞✟✝ ✆ LPF Aan de ingang van het digitale systeem wordt het signaal gekwantiseerd: afrondfouten resulterend in kwantisatieruis. Alle interne bewerkingen gebeuren met een eindig aantal bits: risico op overflow. Ook alle filtercoefficienten zijn gekwantiseerd, hierdoor is het filter niet precies wat het moet zijn. De effecten hangen af van de filterstructuur. 2 slides 10 June 3, 2014 Binaire representaties Kwantisatieruis gesampled signaal verschil gekwantiseerd signaal met originele samples 1 0.8 0.1 0.6 0.4 0.05 0.2 0 0 −0.2 −0.4 −0.05 −0.6 −0.8 −1 −0.1 0 5 10 15 20 0 5 10 15 20 Fixed-point representaties Een reeel getal wordt gerepresenteerd door een binaire reeks ✆ ✕ ✂ ✂ ✆ ☛✂ ✂ ✖ ✎ ✓✔✒ ✑✏ ✡ ✎✍ ✌ ✟ ✟ ☞ ✟ ✞ ✟ ✟ ✟ ✞ ✠ ☎ ✝✆☎ ✂ ✂✄✁ ✆ ✂ ✂ is het tekenbit of soms het "most significant bit" (MSB), ✕ ✙ ✗ ✘ ✛ ✛ , dan is ✘ ✗ ✚ ✙ Stel bits zijn het integer deel, de laatste ✌ ☎ bit" (LSB). De eerste het "least significant het fractionele deel. het totaal aantal bits (inclusief teken). 3 slides 10 June 3, 2014 Binaire representaties Fixed-point representaties Twee signed fixed-point representaties worden veel gebruikt: ✞ ✌ ✏ ✆ ☎ ✆ ✟✏ ✆ ✆ ✌ ☎ ✌ ☎ ✂ ✠ ✠ ✠ ✠ ✂ ☛ ✛ ✎ . ☞ ✞ ✆ ☎ ✏ ☎ ✂ ✟ ✟ ✚ ✆ ✂ ✛ ☎ ✡ ✍ ✌✍ ✌ ✡✠✏ ✠ ✂ ✂ ✆ ☛✂ ✂ ☎ ✂ ✁ ✄ ✟☞✞ ✟ ✟ ✟ ✚ two’s complement: ✂ ✍ Twee representaties van ’0’; het bereik is symmetrisch: ✡✠✏ ✕ ✁ ✌ ✡ ✞ ✝ ☎✆✍ ✚ ✆ ✂ ✆ ☛✂ ✂ ☎ ✂ ✁ ✄ ✂✄✁ ✟ ✟ ✟☞✞ ✟ ✟ ✟ ✚ sign-and-magnitude: ✆ ✌ ✟✏ ✆ ✌ ✂ ✠ ✠ ✎ ✎ ✠ gerekend. Voorbeeld: ✆ ✆ ✌ ✞ ✚ ✚ ✚ ✞ ✞ ✛ ✓ ✁ ✎ ✍ ✌✍ ✁ ✍ ✓✔✒ ✑ ✠ ✕ ✠ ✕ ✕ ✏✕ ✕ ✏✕ ✓ ✁ ✂ ✂ ✂ ✂ ✚ ✚ ✚ ✚ ✞ ✔✓✒ ✕ ✛ ✁ ✍ ✌✍ ✓✒ ✑ ✕ ✕ ✏✕ ✕ ✓✔✒ ✑ ✁ ✍ ✓✒ ✑ ✕ ✕ ✏✕ ✕ ✁ ✆ ✌ ✠ De resolutie (stapgrootte tussen twee opeenvolgende getallen) is ✞ ✕ ✎ ✠ Er zijn . niveaus, uniform gespatieerd (een niveau minder voor SM) 4 . ☞ ✞ ☎ Deze representatie is handig bij optellingen: er wordt modulo ☎ ☎ ✠ ✂ ☛ Er is een representatie van ’0’; het bereik is asymmetrisch: slides 10 June 3, 2014 Binaire representaties Floating-point representaties Een reeel getal wordt nu gerepresenteerd door een mantissa en een exponent: ✞ ✕ ✁ ✁ ✓ ✏☎ ✄✂✠ ✚ , met ✝ ✆ . IEEE 754 floating point standaard: ✞ ✞ ✞ ✞ ✞ ✠ ✠ ☞ ☛ ✡ ✟ ✆ ✌ ✞ ✍ ✂ ✠ ✌ ✞ ✞ ✁ ✏✕ ✌✍ ✍ ✓ ✁ 23 bits ✕ 8 bits 1 bit ✂ ✁ ✄ M ✚ E S Groter dynamisch bereik dan fixed point ) ✎ Variabele resolutie (afhankelijk van Duurdere hardware dan fixed point ✚ ✏ 5 (E=256,M=0), ✓ (E=0,M=0), ✚ ✚ Extensies voor NaN (E=256, M != 0) slides 10 June 3, 2014 Kwantisatiefouten Basisoperaties in digitale filters zijn vermenigvuldiging en optelling, bijv. ✂ . ✚ ✕ ✂✁ ✛ ✁ ☞✍ ☛ ☞ ☛ ☞ ☛ ✂✁ ✏☎ ✓ ✂✁ Met eindige woordlengte en resolutie zullen fouten optreden. Die verschillen voor ✘ ✙ ✓ , ✚ ✚ ✗ vermenigvuldiging en optelling. [Vanaf nu nemen we aan dat ] Vermenigvuldiging ✛ ✟ ✟ ✟ ✚ ✚ ✆ ✆ ✂ ✕ ✡ ✂✡ ✕ ✁ ✍ ✎✍ ✂ ✁ ✄ ✆✄ ✆✄ ✄ ✄ ✚ ✞ ✕ ✙ ✠ ✕ ✙ ✂ ✄ bits nodig voor een volledige representatie; bijv. ☎ ✚ ✛ ✛ heeft ✟ ✂ bits: ✟ ✞ ✙ ✟ ✞ ✕ en , ieder fixed-point met ✂ ✄ Twee getallen ✚ ✚ ✚ ✕ ✆ ✏✓ ✕ ✝ ✓ ✕✓ ✓ ✓ ✏✓✓ ✕ ✏✓ ✓ ✞✓ ✕ ✓ ✏✕✓ ✞ ✡ ✕ ✛ ✂ ✂ ✚ ✍ ✁ ✚ ✚ ✚ ✠ ✏✕ ✕ ☎ ✓ ✓ ✏✓✓ ✟ ✞ ✡ ✍ ✁ slides 10 June 3, 2014 ✝ ✓ ✟ ✍ ✁ ✞ , de kwantisatiefout is 0.0469 6 ✕ ✆ ✏✓ ✠ ✓ ✓ ✓ ✏✓✓ ✟ , de kwantisatiefout is ✚ ✚ ✚ ✚ afronden: bits is op twee manieren te krijgen: ✞ afkappen: ✙ Een representatie op Kwantisatiefouten Afronden is moeilijker dan afkappen (alle te verwijderen bits moeten bekeken wor✂ ✚ ✟ ✆ ) ✕ ✚ ✠ ✂ ✠ ✓ ✝ ✆ : deze fout heeft niet gemiddelde nul (bias). ✂ ✠ ✝ ✠✒ ✆ : wel gemiddeld nul ✠✒ afronden: . ✍ ✁ Voor two’s complement geldt: (met afkappen: ✠ den). De kwantisatiefout is Bij signed magnitude is afkappen gelijk aan afronden richting nul. ✟ AFRONDEN ( ) 011 ✌ ✕ 010 ✂ 001 000 ✄ ✟ ✌ ✁ 111 ✁ ✌ 110 101 100 7 slides 10 June 3, 2014 Kwantisatiefouten Optelling ✟ ✟ ✟ ☛ ✆ ✆ ✆ ✠ ✙ ✂ ✄ ✛ ✛ ✌ ✞ ✞ ✕ ✡ bits nodig: ✚ ✚ heeft ✍ ✁ ✕ ✙ ✛ Als . bits gebruikt worden kan er overflow ontstaan. Dit moet ten allen tijde voorkomen worden. ✞ ☎ ✎ ✠ Het voordeel van two’s complement is dat modulo gerekend wordt, het is mogelijk een serie getallen op te tellen waarbij tussenresultaten eventueel overflow kunnen geven. Als het eindresultaat in de range valt, is het correct. Technieken om overflow te vermijden: Schaling van getallen, op diverse punten in het DSP systeem. De "komma" wordt verschoven, dit correspondeert met afronden. Tijdelijke "guard bits" links van de komma, zodat tussenresultaten correct zijn. 8 slides 10 June 3, 2014 Kwantisatiefouten Kwantisatie van filtercoefficienten Neem een IIR filter ✆ ✂ ✂ ✂ ✁ ✟ ✙ ✍ ✁ ✂ ✡ ✚ ✚ ✍ ✁ ✄ ✆ ✂ ✂ ✁ ✕ ✄ ✍ ✁ ✂ ✟ ✂ ✡ In een "directe vorm II" realisatie worden deze coefficienten gebruikt in de filterstructuur. De coefficienten moeten worden afgerond, ✞ ✆ ✂ ✂ ✂ ✁ ✟ ✞ ✂ ✡ ✚ ✚ ☎ ✛ ✍ ✁ ✍ ✁ ✍ ✁ ✞ ✄ ✆ ✂ ✂✕ ✄ ✂ ✟ ✞ ✂ ✚ ✚ ☎ ☎ ✛ ✛ ✂ ✂ ✂ ✂ ✂ ✂ ✆ ✆ ✆ , ✞ ✞ Hierdoor verschuiven de polen en nulpunten: . Kleine veranderingen in de coeffienten kunnen grote verschuivingen geven: ✆ ✄ ✄ ✞ ☎ ✄ ✆ ✞ ✂ ✂ ✝ ☎ ✂ ✆ ✂ ✆ ✂ ✆ ✞ ✟ ✂ ✞ ✟ ✟ ✞ ✞ ✍ ✁ ✠ Dit kan gemakkelijk gebeuren voor grote filterorde ook. ✂ ✆ groot en de fout ☎ ☎ Als twee polen dicht bij elkaar liggen, dan is (meestal clusters van polen). Oplossing: gebruik een cascade van lage orde secties (typisch 2e orde) 9 slides 10 June 3, 2014 Kwantisatiefouten Polen van een gekwantiseerd 2e orde filter ✕ ✌ ✂ ✚ ✚ ✄ ✄ ✄ ✎ ✌ ✞ ✆ polen ✆ ✆ ✍ ✁ ✞ ✌ ✞ ✠ ✂✕ ✄ ✄ ✛ ✌ ✞ ✕ bits. Hierdoor kunnen we niet alle mogelijke polen krijgen: ✛ ieder ✙ ✌ ✞ en ✄ ✄ met 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 Im(pk) a2 0.2 0 −0.2 0 −0.2 −0.4 −0.4 −0.6 −0.6 −0.8 −0.8 −1 −1 −1 −0.5 0 a1 1 ✌ ✂ −1 −0.5 0 Re(pk) 0.5 ✓ ✝ ✞ ✌ . De complexe polen hebben reeel deel 1 ✄ ✄ ✄ Polen zijn complex als 0.5 ✞ ✄ liggen op cirkels met straal ✌ . 10 slides 10 June 3, 2014 en Kwantisatieruis De afrondfout van signalen in vermenigvuldigers kan worden beschouwd als ruis. ☛ ☛ ✁ ✡ ✞✟✝ ✁ ✆ ✠ ✞ ✚ ✚ ✠ ✄ ✄ ✂✁ ✏ ✁ ✁ ✛ ✟ ✏ ✏ ☞ ☛ ☞ ☛ ✁ ☞✍ ☛ ☞ ☛ ✂✁ ✁✂ ✏ ✠ ☞ ☛ schillende ruisbronnen onafhankelijk zijn van elkaar en van het ingangssignaal (dit is een benadering; niet geldig voor grove kwantisatie: niet-lineair (limit cycle) gedrag). ✆ ✕ ✂ ✚ ✠ ✌ ✌ Eigenschappen: ✌ ✌✞ ✞ ✁ ✕ ✚ ✚ ✚ ✟ ✁ ✝ ✠ ✠ ✠ ✠ ✓ ✎ ✏ ☞✍ ☛ ✁ ☞✍ ☛ ✁ ✏ ✌ ✠✡ ✌ ✌ ✚ ✁ ✝ d ✠ ✕ ✆ ✁ ✌✞ ✞ 11 slides 10 June 3, 2014 en ✞ ✞ . We nemen aan dat de ruis uniform verdeeld is tussen Stel . ✠ ✞✟✝ ✠ ✞✟✝ ✠ ☎ ✞✟✝ ✁ ✡ ☎✄✁ ✂ ✠ ✞✟✝ is een equivalente ruisbron. In een systeem nemen we aan dat de ver- Kwantisatieruis Om het effect van deze ruisbron op het systeem te bepalen moeten we de overnemen van dit punt naar de uitgang ✗ dracht ✍ ✁ ✆ ☛ ✌ ✠✡ ✠ ✞✟✝ ✄ ☎ ✠ ✁✂✁ ✆ ✞✟✝ ✌ ✚ ✗ ☞ ✍ ✞ ✞ ✍ ☞ ✁ ✌ ☛ ✌ ☞✞ ✁ ✠ ✟ ✞ ✌ ✠✡ ✚ ✌ ✠☎ ✠ ✡ ✆ ☛ ✆ ✟✝ ✆ En dit voor alle ruisbronnen (een voor iedere vermenigvuldiger): ✠ ✞ ✝ ✟ ✄ ✠ ✠ ☎ ✠ ✠ ✞ ✝ ✟ ☎ ✄ ☎ ✁✂✁ ✎ ✠ ✁ ✁ ✂ ✠ ✞ ✝ ✟ ✁ ✁ ✂ ✠ ✞ ✝ ✟ ✞ ✝ ✟ ✆ ✟ ✞ ✝ ✁ ✄ ✠ ✁ ✆✁ ✎ ✟ ✞ ✝ ✄ ✠ ✆ ✎ ✌ ✠☎ ✟ ✟ ✟ ✌ ✠ ✚ ✛ ✛ ☎ ✌ ✠☎ ✏ ✑ Vanwege superpositie kunnen we stellen dat ✞ ✟ ✟ ✟ ✚ ✚ ✚ ✠ ✂✁ ✏ ✗ ✁ ✒ ✁ ✁ ✁ ✒ ✁ ✒ ✁ ✛ ✛ ✛ ✎ ✎ ✞ ✏ ✏ ✌ ✍ ✁ ✍ ✁ slides 10 ☞ ☛ ☞ ☛ ☞ ☛ ☞ ☛ ☞ ☛ ☞ ☛ ☞ ☛ ☞ ☛ ✂✁ 12 June 3, 2014 Kwantisatieruis Voorbeeld: 2e orde systeem, een cascade van twee eerste-orde secties: ✕ ✂ ✚ ✆ ✆ ✆ ✆ ✍ ✁ ✞ ✞ ✞ ✞ ✂ ✓✒ ✕ ✕ ✠✒ ✕ ✕ ✠✒ ✕ ✕ ✔✓✒ ✂✕ ✂ ✂ ✕ ✍ ✁ ✍ ✁ ☛ ✠ ✞✟✝ ✡ ✠ ✞✟✝ ✂ ✂ ✠ ✁ ✁ ✠ ✁ ✁ ☎ ✄ ✠ ✠ ✞✟✝ ✆✆ ✠ ✞✟✝ ✆ ✆ ✕ ✠ ✕ ✕ ✌ ✝ ✝ ✂ ✚ ✚ ✠ ✁ ✝ ✆ ✆ ☛ ✟ ✞ ✠ ✞ ✌ ☞✞ ✂ ✚ ✞ ✍ ✁ ✍ ✁ ✍ ✁ ✞ ✞ ✂ ✓ ✠ ✔✓✒ ✕ ✕ ✠✒ ✕ ✂✕ ✆ ✟✝ ✆ ✝ ✡ ✞ ✟ ✟ ✟ ✚ ✑ ✏✝ ✕ ✆ ✕ ✕ ✌ ✝ ✟ ✟ ✟ ✚ ✚ ✚ ✆ ✏✓ ✕ ✁ ✝ ✌ ✆ ☛ ✟ ✞ ✠ ✌ ✌ ☞✞ ✚ ✗ ✁ ✍ ✞ ✓ ✓✔✒ ✕ ✆ ✟✝ ✆ ✝ ✡ ✞ ✆ ✌ ✌ ✚ ✚ ✏✟✓ ✠ ✆ ✏✓ ✕ ✑ ✏✝ ✕ ✛ ☛ ✌ ☞✞ ✁ ✌ ✟ ✞ ✠ ✛ ✌ ☞✞ ☛ ✂✁ ✞ ✟ ✞ ✠ ✍ ✁ ✌ ✠✡ ✆ ✚ ✂✕ ✍ ✁ ✌ ✠ ☎ ✠ ✕ ✠ ✕ ✆ ✆ ✟✝ ✟✝ ✆ ✆ ✌ ✚ ✏✕ ✌ ✠ ✠ ✑ ☎ ✠ ✕ ✚ ✠✒ ✕ June 3, 2014 slides 10 13 ✕ ✠ ✚ ✗ geeft meer ruisversterking. met pool te zijn: de sectie Als de twee secties omgewisseld worden blijkt dit Kwantisatieruis Signaal-kwantisatieruisverhouding De signaal-ruisverhouding voor kwantisatieruis is gedefinieerd als ✄ [dB] ☎ ✚ ✁ ✕✓ ✂ SNR ✌✠ ☎ het gemiddelde vermogen is van het gewenste signaal. ✄ waar ☎ ✚ ✁ ✡✠ ✁ ✁ ✛ ✡ ✟ ☞ ☛ ☞ ☛ ✍ ☞ ✁ ✌ ✝✞✆ ✁ , dan is ✚ ✚ ☞ ☛ ✂✁ Stel het ingangssignaal is een sinus, ✁ ✡ ☞ ☛ ✍ ☞ ✁ ✌ , en ✌ ✁ ✌ ✚ ✄ ✡ ✞ ✍ ☞ ✁ ✌ ✞ ☎ ✠ ✡ ✞ ✞ ✌ ☞ ✁ ✛ ✍ ✆ en ✕ ✚ ✡ ✍ ☞ ✁ ✌ ✞ ✠✞ ✁ is , ✁ bits, en schaling zo dat het maximale signaallevel gelijk is aan ✕ ✙ Met ✌☞☛ ✌ ✡ ✞ ✍ ☞✌✁ ✞ ✕ ✟ ✚ ✚ ✚ ✆ ✏✆ ✙ ✠ ✝ ✠ ✛ ✂ ✍ ✍ ✍ ✠✁ ✏✓ ✁ ✕✓ ✛ ✂ ✠✁ ✁ ✙ ✂ ✂ ✠✁ ✠✓ ✁ ✕✓ ✁ ✕✓ ✌ ✠ ✌ ✚ SNR ☞ ✁ ✌ ✞ Ieder extra bit geeft een verbetering in de signaal-ruisverhouding van 6 dB 14 slides 10 June 3, 2014 dB