I f os

Werbung
Multiraten-Systeme
DSV 1, 2005/01, Rur, Multirate, 1
Referenzen
[1] Oppenheim et. al., „Zeitdiskrete Signalverarbeitung“, Pearson, 2004.
[2] Kester, Editor, „Analog-Digital Conversion“, Analog Devices, 2004.
Taktratenänderungen sind in der DSV
manchmal unumgänglich (z.B. wegen verschiedener Normen)
Audio-CD fs = 44.1 kHz, Audio-Studiotechnik fs = 48 kHz
manchmal gewollt (z.B. bei der AD-DA-Umsetzung)
dem Umweg DAC-ADC vorzuziehen
einfacher, weniger Quantisierungsrauschen
Downsampling
DSV 1, 2005/01, Rur, Multirate, 2
Abwärtstastung
nur jeder N-te Sample von x[n] wird in y[m] kopiert
N-fache Ratenreduktion von fos auf fs
einfachste Form der (verlustbehafteten) Datenreduktion
Matlab-Signal-Processing-Toolbox: downsample(x,N)
fos
fs = fos/N
x[n]
x[n]
0
N
y[m]
Tos
3
6
y[m] = x[m·N]
9
n
0
Ts = N·Tos
1
2
3
m
Dezimation
DSV 1, 2005/01, Rur, Multirate, 3
Spektrum wird skaliert und quasi zusammengeschoben
Bandbegrenzung vor dem Downsampling !

1
Y(f) 
  Xa (f  n  f os /N)
N  Tos n 
1 
X(f) 
  Xa (f  n  f os )
Tos n 
Skalierung
fs
Ts
Dezimation
Kaskadierung digitales Antialiasing-TP-Filter und Downsampler
Matlab-Signal-Processing-Toolbox: decimate(x,N)
default Chebyshev-1-TP 8. Ordnung mit fDB=0.8*(fos/2)/N
oder FIR-Filter 30. Ordnung
x[n]
digitales Antialiasing-Filter
Dezimator
N
y[m]
ADC mit Oversampling
DSV 1, 2005/01, Rur, Multirate, 4
Verschiebung Antialiasing-Filter vom Analogen ins Digitale
xa(t)
TP
x[n]
ADC
v[n]
Antialiasing-Filter
N
y[m]
einfach!
fos
IXa(f)I
f
digitales AA-Filter
Tos·IX(f)I
fos
Tos·IV(f)I
f
f
Downsampling
Ts· IY(f)I
fos
f
fs=fos/N
Dezimator-FIR-Filter
DSV 1, 2005/01, Rur, Multirate, 5
nur jeder N-te Filterausgangswert muss berechnet werden
x[n]
Tos
Tos
b1
b0
Tos
b2
b3
+
N
y[n]
Verschiebung Downsampler
N mal „schieben“, 1 mal Rechnen
=> N mal weniger MAC-Operationen pro Input-Sample!
x[n]
Tos
Tos
N
b0
N
b1
Tos
N
b2
+
N
b3
y[n]
Upsampling
DSV 1, 2005/01, Rur, Multirate, 6
Aufwärtstastung
zwischen je zwei x-Samples werden N-1 Nullen eingefügt
N-fache Ratenerhöhung von fs auf fos
die fehlenden Abtastwerte werden interpoliert
Matlab-Signal-Processing-Toolbox: upsample(x,N)
fs
fos = N·fs
x[m]
Ts
x[m]
0
N
1
x[m] für n  mN
y[n]  
sonst
0
y[n]
2
3
m
0
Tos=Ts/N
3
6
9
n
Interpolator
DSV 1, 2005/01, Rur, Multirate, 7
Das Spektrum ändert sich nicht beim upsampling!
Y(f)  Y(z  e
j2π f Tos
)

 x[m]  e
m  
- j2π f mNTos


 x[m]  e
- j2π f m Ts
 X(z  e j2π f Ts )  X(f)
m  
aber es entstehen N-1 images in der 1. Nyquistzone von Y(f)
=> digitales Anti-Image-Filter (Interpolationsfilter) erforderlich
Ts·IX(f)I
1. Nyquistzone
NTos·IY(f)I
fs
digitales Anti-Image-Filter
(Verstärkung N)
image
1. Nyquistzone
f
image
fos
f
Interpolator
DSV 1, 2005/01, Rur, Multirate, 8
Kaskadierung Upsampler und digitales Anti-Imaging-TP-Filter
Matlab-Signal-Processing-Toolbox: interp(x,N)
x[n]
xup[n]
N
y[n]
digitales Antiimage-Filter
xup[n]
y[n]
n
Tos
n
Lineare Interpolation
einfacher als Filterung mit gutem Anti-Imaging-TP-Filter (vgl. ZOH!)
Interpolationsfilter H(f) = [sin(NπfTs)/sin(πfTs)]2/N
gute Approximation, wenn Bandbreite X(f) << fs/2
h[n] (wenn N=5)
Tos
n
y[n]
x[1]
n
FIR-Interpolationsfilter
DSV 1, 2005/01, Rur, Multirate, 9
nur jeder N-te Filtereingangswert xup[n] ist von Null verschieden !
N Subfilter mit je N mal weniger Taps => N mal weniger MACs !
Beispiel: FIR-Interpolator mit 4 Taps und N=2
0
x[m]
x[m]
Tos
2
0
x[m-1]
Tos
b1
b0
Direktstruktur
x[m]
0
x[m-1]
0
Tos
b2
b3
b1·x[m] + b3·x[m-1]
b0·x[m] + b2·x[m-1]
y[n]
+
x[m]
Polyphasenstruktur
Ts
b0
b1
b2
+
+
b3
Verschachtelung
(mit fos)
2
2
Tos
+
y[n]
DAC mit Oversampling
DSV 1, 2005/01, Rur, Multirate, 10
Verschiebung Antiimaging-Filter vom Analogen ins Digitale
x[n]
xup[n]
N
xupi[n]
Antiimaging-Filter
Verstärkung N
DAC
(ideal)
xa(t)
TP
einfach!
fos
Ts· IX(f)I
f
fs
fos
digitales AI-Filter
NTos·IXup(f)I
fs
analoges Post-Filter
fos
Tos·IXupi(f)I
fos
IXa(f)I
f
f
f
Matlab-Beispiele
DSV 1, 2005/01, Rur, Multirate, 11
Dezimation Audiosignal von 48 kHz auf 8 kHz
[x,fs,bits] = wavread('musical');
sound(x,48000); pause
y=decimate(x,6); % fDB=3200 Hz
sound(y,8000);
Interpolation Audiosignal mit N=5
% Original mit fs=8192 Hz
gong=load('gong'); x=gong.y; sound(x,8192);
y=upsample(x,5); sound(y,5*8192); % Images hörbar!
[y,b]=interp(x,5); sound(y,5*8192);
% images nicht mehr hörbar
% b enthält FIR-Interpolationsfilter
Rationale Ratenverhältnisse
DSV 1, 2005/01, Rur, Multirate, 12
Ratenveränderung N1/N2 = fs2/fs1
Anti-Imaging und Anti-Aliasing-Filter zusammenfassbar
Eckfrequenz fDB = min{ 0.5·fos/N1, 0.5·fos/N2 }
fs1
x[n]
fs2
N1
AntiimagingTP-Filter
AntialiasingTP-Filter
fDB = 0.5·fos/N1
fDB = 0.5·fos/N2
N2
Abtastfrequenz fos
x[n]
N1
TP-Filter
N2
y[n]
y[n]
Sigma-Delta-Wandler
DSV 1, 2005/01, Rur, Multirate, 13
Vorteile und Nachteile
low-cost, hohe Auflösung (bis 24 Bit), low power
limitierte Bandbreite (z.B. Audio bis 96 kSps)
Einfache Basiselemente (komplexe Mathematik)
Oversampling wegen Process Gain beim SNR
Zusatznutzen: einfache analoge Anti-Aliasing-/Anti-Imaging-Filter
Shaping des Quantisierungsrauschens im Spektrum
Dezimation bzw. digitale Filterung und Downsampling
DAC: Interpolation bzw. Upsampling und digitale Filterung
Quantisierung (zur Erinnerung)
sin-Vollaussteuerung N-Bit ADC: SNRsin [dB] = 6·N + 1.76
Effective Number Of Bits:
ENOB = (SNReffektiv [dB] -1.76) / 6
SNReffektiv > SNRsin bzw. ENOB grösser (höhere Auflösung),
wenn Quantisierungsrauschleistung verkleinert werden kann !
Funktionsprinzip Sigma-Delta-ADC
DSV 1, 2005/01, Rur, Multirate, 14
Rauschleistung = q2/12
(rms-Wert)
Q-Rauschleistungsdichte K mal kleiner
K-faches Oversampling
[2]
Blockdiagramm Sigma-Delta-ADC
DSV 1, 2005/01, Rur, Multirate, 15
[2]
Wellenformen Sigma-Delta-Modulator
DSV 1, 2005/01, Rur, Multirate, 16
4/8 oder binär 100
6/8 oder binär 110
[2]
Frequenzanalyse Sigma-Delta-Modulator
DSV 1, 2005/01, Rur, Multirate, 17
[2]
Noise Shaping Sigma-Delta-Modulator
DSV 1, 2005/01, Rur, Multirate, 18
[2]
Sigma-Delta-ADC 2. Ordnung
DSV 1, 2005/01, Rur, Multirate, 19
[2]
SNR-Performance Sigma-Delta-ADC
DSV 1, 2005/01, Rur, Multirate, 20
Beispiel AD1871 24-Bit, 96 kSps Sigma-Delta-ADC
Second Order Multi-Bit Converter, 128-/64-faches Oversampling
Herunterladen