210 likes | 352 Views
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
E N D
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] y[m] = x[m·N] N x[n] y[m] Tos Ts = N·Tos n m 3 6 9 1 2 3 0 0
Dezimation DSV 1, 2005/01, Rur, Multirate, 3 Spektrum wird skaliert und quasi zusammengeschoben Bandbegrenzung vor dem Downsampling ! fs Skalierung 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 digitales Antialiasing-Filter y[m] x[n] N Dezimator
ADC mit Oversampling DSV 1, 2005/01, Rur, Multirate, 4 Verschiebung Antialiasing-Filter vom Analogen ins Digitale xa(t) x[n] v[n] TP Antialiasing-Filter ADC y[m] N einfach! fos IXa(f)I f digitales AA-Filter Tos·IX(f)I f fos Tos·IV(f)I f fos Downsampling Ts· IY(f)I 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 Tos b1 b0 b2 b3 + y[n] N Verschiebung Downsampler N mal „schieben“, 1 mal Rechnen => N mal weniger MAC-Operationen pro Input-Sample! x[n] Tos Tos Tos N N N N b1 b0 b2 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] N Ts x[m] y[n] Tos=Ts/N m n 1 2 3 0 3 6 9 0
Interpolator DSV 1, 2005/01, Rur, Multirate, 7 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 Ts·IX(f)I f fs 1. Nyquistzone NTos·IY(f)I digitales Anti-Image-Filter (Verstärkung N) image image f fos 1. Nyquistzone
Interpolator DSV 1, 2005/01, Rur, Multirate, 8 Kaskadierung Upsampler und digitales Anti-Imaging-TP-Filter Matlab-Signal-Processing-Toolbox: interp(x,N) xup[n] digitales Antiimage-Filter x[n] y[n] N xup[n] y[n] n n Tos 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) y[n] x[1] n n Tos
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] 0 x[m-1] x[m] 0 x[m-1] 0 x[m] Tos Tos Tos 2 b1 b0 b2 b3 Direkt- struktur b1·x[m] + b3·x[m-1] b0·x[m] + b2·x[m-1] + y[n] x[m] Ts Verschachtelung (mit fos) b2 b0 Poly- phasen- struktur b1 b3 + 2 + y[n] + Tos 2
DAC mit Oversampling DSV 1, 2005/01, Rur, Multirate, 10 Verschiebung Antiimaging-Filter vom Analogen ins Digitale xup[n] xupi[n] DAC (ideal) Antiimaging-Filter TP x[n] N xa(t) einfach! Verstärkung N fos Ts· IX(f)I f fs fos digitales AI-Filter NTos·IXup(f)I f fs fos analoges Post-Filter Tos·IXupi(f)I f fos IXa(f)I 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 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
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 fs2 Antiimaging- TP-Filter Antialiasing- TP-Filter y[n] x[n] N1 N2 fDB = 0.5·fos/N1 fDB = 0.5·fos/N2 Abtastfrequenz fos TP-Filter y[n] x[n] N1 N2
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