Digitale Signal-Verarbeitung 1 Kapitel 7: Multiraten-Systeme Inhaltsverzeichnis 7.1. EINFÜHRUNG .............................................................................................................................................. 2 7.2. ABWÄRTS-TASTUNG (DOWNSAMPLING, DEZIMATION) ............................................................... 2 7.3. AUFWÄRTS-TASTUNG (UPSAMPLING, INTERPOLATION) ............................................................ 3 7.4. MULTIRATEN-SYSTEME .......................................................................................................................... 4 7.5. POLYPHASEN-SYSTEME .......................................................................................................................... 5 7.5.1 DEZIMATION MIT POLYPHASEN-FILTER ...................................................................................................... 5 7.5.2 INTERPOLATION MIT POLYPHASEN-FILTER ................................................................................................. 5 7.6. FILTERBÄNKE............................................................................................................................................. 6 7.7. NOISE-SHAPING UND OVERSAMPLING .............................................................................................. 7 7.7.1 PWM (PULSE WIDTH MODULATION = PULS-BREITEN-MODULATION) ........................................................ 7 7.7.2 SIGMA-DELTA-WANDLER .......................................................................................................................... 9 Literatur [1] A.V. Oppenheim, R.W. Schafer, J. R. Buck: „Zeitdiskrete Signalverarbeitung“, 2., überarbeitete Auflage, ISBN 3-8273-7077-9, Neuübersetzung der aktuellen US-Ausgabe, Pearson Studium, 2004. „4.6 Veränderung der Abtastrate durch eine zeitdiskrete Verarbeitung“ „4.7 Multiraten-Signalverarbeitung“ „4.9 Überabtastung und Rauschformung bei der A/D- und D/A-Wandlung“ [2] Walt Kester: „Analog-Digital Conversion“, 2004, Analog Devices, ISBN 0-916550-27-3 Gratis-Download: http://www.analog.com/library/analogDialogue/archives/39-06/data_conversion_handbook.html „3.3 Sigma-Delta Converters“ 75897473 / 13.05.16 Seite 1 / 9 Hhrt@ZSN@SoE@ZHAW 7.1. Einführung Gemäss Abtast-Theorem muss die Samplingfrequenz mindestens das Doppelte der höchsten Signalfrequenz betragen. Eine höhere Abtastfrequenz enthält keine zusätzliche Information, führt hingegen zu massiv höherem Rechenleistungsbedarf. Bei einem FIR-Tiefpassfilter beispielsweise muss der FIR-Algorithmus für jedes Sample aufgerufen werden (= proportional zu fs) und die Filterordnung nimmt proportional mit der Samplingfrequenz zu (weil die relative auf fs bezogene Grenzfrequenz näher bei 0 ist). Für ein FIR-Tiefpassfilter nimmt der Rechenaufwand also ungefähr quadratisch mit der Samplingfrequenz zu. Um den Rechenaufwand (= Hardware-Kosten) zu minimieren, hat man ein vitales Interesse, die Samplingfrequenz möglichst tief zu halten. Das kann dazu führen, dass in einem System die verschiedenen Komponenten mit jeweils unterschiedlichen Samplingfrequenzen arbeiten (= Multiraten-Systeme). Dazwischen werden deshalb Zwischenstufen benötigt, die den Takt anpassen, ohne das Signalspektrum im relevanten Frequenzbereich zu verändern. In diesem Text werden die Phänomene anhand von Beispielen plausibel erklärt. Für die mathematisch ausführliche Behandlung wird auf [1] verwiesen. Oversampling und noise shaping bei Analog-Digital-Wandlern werden in [2] detailliert erläutert. 7.2. Abwärts-Tastung (Downsampling, Dezimation) Antialiasing-Filter Verstärkung = 1 M Abtastraten-Kompressor jeden Mten Wert behalten Figur 7.1: Die Abwärts-Tastung (= Dezimation) besteht aus zwei Teilen: dem Antialiasing-Filter (Tiefpass) und dem Abtast-Ratenkompressor (behält 1 aus M Werten). Bei der Abwärts-Tastung wird einfach jeder M-te Wert weiterverwendet. Alle anderen Werte werden verworfen. Damit bei der nun tieferen Abtastfrequenz kein Aliasing entsteht, muss vor dem Kompressor ein Tiefpassfilter eingesetzt werden. Ein Zahlenbeispiel und die Auswirkungen auf das Signal-Spektrum: Abtasten mit 48kHz => Ts = 20.8s, d.h. 1 Sample alle 20.8s. Abtasten mit 8kHz => Ts = 125s, d.h. 1 Sample alle 125s. Abwärtstastung heisst die Samplingfrequenz von 48kHz auf 8kHz zu reduzieren, indem man nur jeden 6. Wert nimmt. Falls das Signal Frequenzkomponenten über 4kHz aufweist, führt das zu Aliasing. Das Signal muss daher vor der Abwärtstastung Tiefpass-gefiltert werden. 75897473 / 13.05.16 Seite 2 / 9 Hhrt@ZSN@SoE@ZHAW Signal-Spektrum mit fs = 48kHz 0 24 fs/2 48 fs kHz Signal-Spektrum mit fs = 8kHz 8 -4 0 4 8 -fs -fs/2 fs/2 fs kHz Figur 7.2: Abwärts-Tastung verschiebt die Spiegelspektren und führt zu zusätzlichem Aliasing, wenn das Signal für die tiefere Abtastfrequenz nicht genügend bandbegrenzt ist. 7.3. Aufwärts-Tastung (Upsampling, Interpolation) L Abtastraten-Expander L-1 Nullen einschieben Interpolations-Filter Verstärkung = L Figur 7.3: Die Aufwärts-Tastung (= Interpolation) besteht aus zwei Teilen: dem Abtastraten-Expander (schiebt L-1 Nullen ein) und dem Interpolations-Filter (= Tiefpass). Bei der Aufwärts-Tastung wird zwischen die vorhandenen Abtastwerte L-1 Nullen eingeschoben. Die entstehende Amplituden-Abschwächung kann durch L-fache Verstärkung kompensiert werden. Anstelle der eingeschobenen Nullen müssen die korrekten Zwischenwerte so berechnet werden, dass wieder originale Signalspektrum entsteht. Idealerweise wird das mit einem Tiefpass-Filter erledigt. Falls das ursprüngliche Signal eine kleine Bandbreite besitzt, kann das Interpolations-Filter durch lineare Interpolation (weniger rechenaufwändig) approximiert werden. Zur Veranschaulichung soll das originale Signalspektum vom vorhergehenden Kapitel wieder hergestellt werden: Abtasten mit 8kHz => Ts = 125s, d.h. 1 Sample alle 125s. Abtasten mit 48kHz => Ts = 20.8s, d.h. 1 Sample alle 20.8s. Es müssen 5 Werte zwischen den bekannten Samples eingeschoben und berechnet werden. Dazu werden in einem ersten Schritt Nullen eingeschoben. Die Signalenergie wird dadurch „verdünnt“, was durch eine entsprechende Verstärkung kompensiert wird. Anstelle der eingeschobenen Nullen müssen nun mit Hilfe des Interpolations-Filter (= Tiefpassfilter) die Zwischenzeitpunkte berechnet so werden, dass das Signalspektrum erhalten bleibt. 75897473 / 13.05.16 Seite 3 / 9 Hhrt@ZSN@SoE@ZHAW Signal-Spektrum mit fs = 8kHz 8 -4 0 4 8 -fs -fs/2 fs/2 fs kHz Signal-Spektrum mit fs = 48kHz und eingeschobenen Nullen 0 24 fs/2 48 fs kHz Signal-Spektrum mit fs = 48kHz und Interpolations-Filter 0 24 fs/2 48 fs kHz Figur 7.4: Das einschieben von Nullen bei der Aufwärts-Tastung „verdünnt“ die Signalleistung. Das Tiefpass-Filter (= Interpolationsfilter) entfernt die ursprünglichen Spiegelspektren. Die Verstärkung (Kompensation der „Verdünnung“) kann direkt im Interpolations-Filter erfolgen. 7.4. Multiraten-Systeme Lineare Filterung und Ab-/Aufwärts-Tastung lassen sich vertauschen. Es ist daher möglich das Filter aus Effizienzgründen mit kleineren Samplingraten zu betreiben. Dazu müssen die Filter-Koeffizienten entsprechend angepasst werden. Figur 7.5: Lineare Filterung und Ab-/Aufwärts-Tastung lassen sich vertauschen. 75897473 / 13.05.16 Seite 4 / 9 Hhrt@ZSN@SoE@ZHAW 7.5. Polyphasen-Systeme Unter Polyphasen-Systemen versteht man das Parallelschalten von N Filtern von denen jedes jeweils nur den N-ten Sample bekommt und verarbeitet. In Kombination mit Ab- oder Aufwärtstastung lässt sich so massiv Rechenzeit einsparen. Als repräsentative Beispiele werden die Dezimation und die Interpolation mit PolyphasenFiltern vorgestellt. 7.5.1 Dezimation mit Polyphasen-Filter Figur 7.6: Dezimation. Abbildung entnommen aus [1]. Das Anti-Aliasing-Tiefpass-Filter und die Abwärtstastung lassen sich vertauschen. Figur 7.7: Dezimation, realisiert mit Polyphasen-Filter. Abbildung entnommen aus [1]. Anstelle eines FIR-Filters mit N-Koeffizienten werden nun M Filter mit N/M Koeffizienten benötigt, die zudem nur jeden M-ten Wert verarbeiten müssen. 7.5.2 Interpolation mit Polyphasen-Filter Figur 7.8: Interpolation. Abbildung entnommen aus [1]. Die Aufwärtstastung und das Interpolations-Tiefpass-Filter lassen sich vertauschen 75897473 / 13.05.16 Seite 5 / 9 Hhrt@ZSN@SoE@ZHAW Figur 7.9: Interpolation, realisiert mit Polyphasen-Filter. Abbildung entnommen aus [1]. Anstelle eines FIR-Filters mit N-Koeffizienten werden nun L Filter mit N/L Koeffizienten benötigt, die zudem nur jeden L-ten Wert verarbeiten müssen. 7.6. Filterbänke Unser Gehör nimmt die Tonhöhen logarithmisch war. Eine Oktave entspricht dabei einer Verdoppelung der Frequenz. Ein häufig verwendeter Equalizer besteht aus mehreren über den Hörbereich verteilten Oktavbändern. Wenn man ein solches System mit einem Signal-Prozessor effizient aufbauen möchte, kann man in einem ersten Schritt das Signal in einen Hoch- und den komplementären TiefpassAnteil aufspalten. Die Tiefpass-Anteil wird wieder halbiert, usw. Dabei halbiert sich jeweils die Samplingfrequenz und auch die benötigte Filterordnung sinkt im gleichen Mass. Die Frequenzbänder werden einzeln verarbeitet und anschliessend schrittweise wieder zum Gesamtsignal vereint. Figur 7.10: Filterbänke mit sukzessiver Halbierung der Bandbreite.Abbildung entnommen aus http://www.informatik.uni-ulm.de/ni/Lehre/WS04/HSemSprache/ausarbeitungen/Munz.pdf Als Hoch- und Tiefpass-Filter für das Aufteilen der Bänder auf die Filterbänke werden oft Quadratur-Mirror-Filter (QMF-Filter) verwendet. Deren Impulsantworten sind komplementär, womit über alles ein gerader Frequenzgang gewährleistet ist. 75897473 / 13.05.16 Seite 6 / 9 Hhrt@ZSN@SoE@ZHAW Neben logarithmischen Filterbänken gibt es auch solche mit linearer Frequenzaufteilung. Das erreicht man, indem man auch die Hochpass-Signale sukzessive weiter halbiert. 7.7. Noise-Shaping und Oversampling 7.7.1 PWM (pulse width modulation = Puls-Breiten-Modulation) Stellen Sie sich vor: Sie sollten die Helligkeit einer Lampe nur mit einem Ein-/AusSchalter stufenlos regulieren. Um Flackern zu vermeinen müssten Sie dazu den Schalter sehr schnell schalten (Schaltfrequenz >> wahrnehmbarer Frequenzbereich). Die Helligkeit wäre proportional zu Einzeit/(Einzeit+Auszeit) = Einzeit/Periodendauer. Genau so arbeitet PWM (pulse width modulation = Pulsbreiten-Modulation), das bei jedem Mikro-Controller als simpler Digital-Analog-Wandler zur Verfügung steht. Vom PWM-Signal muss lediglich mit einem analogen Tiefpassfilter der Mittelwert gebildet werden. 60% 20% 80% Zeit PWMPeriode Figur 7.11: PWM-Signal mit verschiedenen Tast-Verhältnissen und den zugehörigen Mittelwerten Bei digitalen Systemen sind sowohl die Einzeit, als auch die Periodendauer quantisiert (mit einem ganzzahligen Vielfachen der Periodendauer der System-Taktfrequenz). Beispiele: PWM-Takt = 1MHz, PWM-Breite = 8bit => PWM-Auflösung = 256, PWM-Periode = 256s PWM-Breite = 16bit, PWM-Periode = 1/300kHz => PWM-Auflsöung = 65536, PWM-Takt = 20GHz PWM-Breite = 10bit, PWM-Periode = 1/300kHz => PWM-Auflsöung = 1024, PWM-Takt = 300MHz (für Motor-Regler) (für Audio-Endstufe) (kaum realisierbar) (für Audio-Endstufe) (gut realisierbar) Im ersten Beispiel ist die technische Realisierung problemlos (Motordrehzahl lässt sich auf 0.4% genau einstellen mit einer Geschwindigkeit von einigen 100Hz). Im zweiten Beispiel sind die Anforderungen an die Taktfrequenz unrealistisch hoch (resp. sehr teuer). Das dritte Beispiel ist einfach realisierbar, aber die Auflösung von 10bit ist für viele Audioanwendungen ungenügend. Abhilfe ist möglich mit „noise shaping“ (= Rauschformung). Nehmen wir an das richtige Ausgangssignal beträgt 0.8LSB. Normalerweise würde 0.8LSB auf 1LSB aufgerundet (Quantisierung heisst: es gibt nur ganze Bits). Statt jedes Mal aufzurunden, kann man viermal aufrunden und einmal abrunden, womit im Mittel 0.8LSB ausgegeben werden. Weil die Schaltfrequenz (im Beispiel 300kHz) viel höher ist, als die maximale Signalfrequenz (im Beispiel 20kHz), kann man mit diesem Verfahren eine feinere Auflösung erreichen, als das PWM-Signal (oder der DAWandler) selbst aufweist. 75897473 / 13.05.16 Seite 7 / 9 Hhrt@ZSN@SoE@ZHAW Der Rundungsfehler des quantisierten Werts wird aufintegriert und sobald der aufsummierte Rundungsfehler 1 LSB erreicht, wird das Ausgangssignal um 1 LSB korrigiert. Weshalb heisst dieses Verfahren „noise shaping“? Das Quantisieren entspricht einem Rauschsignal, das über den ganzen Frequenzbereich gleichmässig verteilt ist. Durch Überabtasten wird die Energie des Rauschens über einen grösseren Frequenzbereich verteilt. Obiges Audiosignal wird 7.5fach überabgetastet (fs/2 / Signalbandbreite). Daraus resultiert eine „Verdünnung“ der Rauschleistung um den Faktor 7.5, also der Rauschamplitude um den Faktor 7.5 2.7, was einem Gewinn von 1.5bit entspricht. Mit Hilfe der Rauschformung (= Integrator und Signalrückführung = Ausgleichen des Quantisierungsfehlers) wird die Leistung des Quantisierungsrauschens nicht reduziert, aber das Spektrum wird zu höheren Frequenzen (= grösstenteils ausserhalb des Signalspektrums) hin verschoben. Im Beispiel wird das Audiosignal durch die Rauschformung um 4bit besser aufgelöst. Das ergibt 14bit, wenn das analoge Tiefpassfilter am Ausgang sehr steil ist. Figur 7.12: Quantisierungsrauschen, Oversampling und Tiefpassfilterung, +Rauschformung am Beispiel eines AD-Wandlers. Abbildung entnommen aus [2]. Die Rauschformung kann verbessert werden, indem mehrere Integratoren hintereinander geschaltet werden. Die Anzahl Integratoren bezeichnet die Ordnung der Rauschformung. Im Beispiel würde mit Rauschformung 2.Ordnung ein Gewinn von 5bit resultieren. Bei 3. Ordnung 7bit. Mit einem realistischen analogen Tiefpassfilter am Ausgang kann somit die geforderte Ausflösung von 16bit erreicht werden. Weitere Erhöhung der Ordnung der Rauschformung resultiert in einem zusätzlichen Gewinn an Auflösung, jedoch ist bei der 3.Ordnung aus Stabilitätsgründen eine praktische obere Grenze erreicht. 75897473 / 13.05.16 Seite 8 / 9 Hhrt@ZSN@SoE@ZHAW 7.7.2 Sigma-Delta-Wandler In den Sigma-Delta-Wandlern wird das oben Dargelegte auf die Spitze getrieben, indem der eigentliche Wandler nur noch 1bit (Comparator = ADC resp. Digitaler Ausgang = DAC) verarbeitet. Die gewünschte Auflösung wird durch Überabtastung und Rauschformung (oversampling and noise shaping) erreicht. Beispiel: Der AD-Wandler AD1871 arbeitet intern mit 6.144MHz (= 128*48kHz = 128fache Überabtastung) und erreicht mit Rauschformung 2. Ordnung eine Auflösung von 16bit. Figur 7.13: Sigma-Delta-Wandler mit noise shaping 2. Ordnung. Abbildung entnommen aus [2]. Bei Sigma-Delta-DA-Wandlern gelten grundsätzlich dieselben Überlegungen. 75897473 / 13.05.16 Seite 9 / 9 Hhrt@ZSN@SoE@ZHAW