Multiraten-Systeme
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
DSV 1, 2005/01, Rur, Multirate, 1
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)
Downsampling
n
x[n]
N
0 3 6 9m
y[m] = x[m·N]
0 1 2 3
fos fs = fos/N
Ts = N·Tos
DSV 1, 2005/01, Rur, Multirate, 2
Tos
x[n]
y[m]
DezimationDSV 1, 2005/01, Rur, Multirate, 3
Spektrum wird skaliert und quasi zusammengeschoben
Bandbegrenzung vor dem Downsampling !
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)/Noder FIR-Filter 30. Ordnung
Nx[n] y[m]digitales Antialiasing-Filter
Dezimator
a osnos
1X(f) X (f n f )
T
a osnos
1Y(f) X (f n f /N)
N T
Ts
fsSkalierung
ADC mit Oversampling
f
f
Tos·IV(f)I
Ts· IY(f)I
fos
fs=fos/N
fTos·IX(f)I
fos
digitales AA-Filter
DSV 1, 2005/01, Rur, Multirate, 4
Verschiebung Antialiasing-Filter vom Analogen ins Digitale
f
Nx[n]
y[m]Antialiasing-Filterxa(t)
TP ADC
einfach!
IXa(f)I
fos
v[n]
Downsampling
Dezimator-FIR-Filter
nur jeder N-te Filterausgangswert muss berechnet werden
Verschiebung Downsampler
N mal „schieben“, 1 mal Rechnen => N mal weniger MAC-Operationen pro Input-Sample!
x[n] Tos
+ y[n]
Tos Tos
b0 b1 b2 b3
DSV 1, 2005/01, Rur, Multirate, 5
N N N N
x[n] Tos
+ y[n]
Tos Tos
b0 b1 b2 b3
N
Upsampling
n
N
0 3 6 9m
x[m]
0 1 2 3
fs fos = N·fs
Ts Tos=Ts/N
sonst 0
mNnfür x[m]y[n]
Aufwärtstastungzwischen 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)
DSV 1, 2005/01, Rur, Multirate, 6
x[m]
y[n]
Interpolator
X(f))eX(zex[m]ex[m])eY(zY(f) ssosos Tfj2πTmfj2π-
m
TmNfj2π-
m
Tfj2π
Das Spektrum ändert sich nicht beim upsampling!
aber es entstehen N-1 images in der 1. Nyquistzone von Y(f)
=> digitales Anti-Image-Filter (Interpolationsfilter) erforderlich
DSV 1, 2005/01, Rur, Multirate, 7
f
f
Ts·IX(f)I
NTos·IY(f)I
fs
fos
imageimage
1. Nyquistzone
1. Nyquistzone
digitales Anti-Image-Filter(Verstärkung N)
digitales Antiimage-Filter Nx[n] y[n]
n n
xup[n] y[n]
InterpolatorDSV 1, 2005/01, Rur, Multirate, 8
Kaskadierung Upsampler und digitales Anti-Imaging-TP-Filter
Matlab-Signal-Processing-Toolbox: interp(x,N)
xup[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
n
h[n] (wenn N=5)
n
y[n]
Tos
Tos
x[1]
FIR-Interpolationsfilter
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
x[m] Ts
b0 b2
y[n]++
b1 b3
Direkt-struktur
DSV 1, 2005/01, Rur, Multirate, 9
x[m] Tos
+ y[n]
Tos Tos
b0 b1 b2 b3
Poly-phasen-struktur 2
2+
Tos
Verschachtelung(mit fos)
2
0 x[m] 0 x[m-1]x[m] 0 x[m-1] 0
b1·x[m] + b3·x[m-1]b0·x[m] + b2·x[m-1]
DAC mit OversamplingDSV 1, 2005/01, Rur, Multirate, 10
f
f
IXa(f)I
Ts· IX(f)I fs
fTos·IXupi(f)I
fos
digitales AI-Filter
Verschiebung Antiimaging-Filter vom Analogen ins Digitale
Nx[n] xa(t)Antiimaging-Filter TP DAC(ideal)
einfach!fos
xupi[n]
fos
analoges Post-Filter
fNTos·IXup(f)I
fs fos
xup[n]
Verstärkung N
Matlab-Beispiele
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 Hzgong=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
DSV 1, 2005/01, Rur, Multirate, 11
Rationale RatenverhältnisseDSV 1, 2005/01, Rur, Multirate, 12
N1
Antiimaging-TP-Filter N2
Antialiasing-TP-Filter
Ratenveränderung N1/N2 = fs2/fs1
Anti-Imaging und Anti-Aliasing-Filter zusammenfassbar
Eckfrequenz fDB = min{ 0.5·fos/N1, 0.5·fos/N2 }
x[n] y[n]
fDB = 0.5·fos/N1 fDB = 0.5·fos/N2
Abtastfrequenz fos
N1 TP-Filter N2x[n] y[n]
fs1 fs2
Sigma-Delta-WandlerDSV 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-ADCDSV 1, 2005/01, Rur, Multirate, 14
[2]
Rauschleistung = q2/12
(rms-Wert)
Q-Rauschleistungsdichte K mal kleiner
K-faches Oversampling
Blockdiagramm Sigma-Delta-ADCDSV 1, 2005/01, Rur, Multirate, 15
[2]
Wellenformen Sigma-Delta-ModulatorDSV 1, 2005/01, Rur, Multirate, 16
[2]
4/8 oder binär 100
6/8 oder binär 110
Frequenzanalyse Sigma-Delta-ModulatorDSV 1, 2005/01, Rur, Multirate, 17
[2]
Noise Shaping Sigma-Delta-ModulatorDSV 1, 2005/01, Rur, Multirate, 18
[2]
Sigma-Delta-ADC 2. OrdnungDSV 1, 2005/01, Rur, Multirate, 19
[2]
SNR-Performance Sigma-Delta-ADCDSV 1, 2005/01, Rur, Multirate, 20
Beispiel AD1871 24-Bit, 96 kSps Sigma-Delta-ADC
Second Order Multi-Bit Converter, 128-/64-faches Oversampling