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