Pulsdichtemodulation

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Die Pulsdichtemodulation (PDM) ist ein Verfahren, um einen digitalen, skalaren Wert (mehrere Bits „breit“) in einen seriellen 1-Bit-Datenstrom zu verwandeln. Dieser kann dann beispielsweise über einen einzelnen Port-Pin eines digitalen Bausteins wie einem PLD ausgegeben und mittels einer analogen Filterung eine analoge Wechselspannung erzeugt werden, die dem Analogwert entspricht. Für die Ausgabe eines sich kontinuierlich ändernden digitalen Wertes, wie z. B. bei Audiosignalen, ist eine entsprechend höhere Taktfrequenz für den 1-Bit-Datenstrom erforderlich.

Funktion

Sie beruht auf der Methode der sogenannten Delta-Sigma-Modulation, bei der das Verhalten des Ausgangs (meist ein idealer Integrator) vorausberechnet und permanent die Differenz zu dem steuernden Eingangssignal, der Sollgröße, gebildet wird. Ist der vorausberechnete Wert größer als der Eingang, wird das 1-Bit-Signal auf low geschaltet, im umgekehrten Fall auf high. Das so erzeugte 1-Bit-Signal ist der Eingang für diesen virtuellen Integrator.

Hierdurch entsteht eine Art Blindregelung, die das Tastverhältnis des Ausgangssignals so einstellt, dass der spätere gefilterte Wert dem Eingangssignal theoretisch exakt folgt. Im Idealfall (siehe erstes Bild) bewegt die Regelung den Istwert somit permanent um den Sollwert herum und zeichnet das eingeprägte Signal (hier ein Sinus) nach.


Version mit ungeregeltem idealen Integrator

Theoretisch ideales PDM-Signal

Praktisch gibt es aber einige Probleme: Infolge der Verluste der Schaltung und des teilweise nichtlinearen Verhaltens der Bauelemente (speziell des nachgeschalteten Filters) sowie des prinzipiellen „Verschluckens“ des DC-Anteils bei typischen Filtern driftet der reale Analogwert vom erzeugten virtuellen Wert mehr oder weniger weit weg. Zudem gibt es durch die Filterdämpfung nachfolgender RC-Glieder (grüne Kurve) wie auch bei aktiven Verstärkern (Rail-to-rail-Problem) eine Amplitudenverzerrung und eine Phasenverschiebung. Diese lassen sich schätzen und in die Steuerung der PDM mit einbeziehen, indem die Amplitude linear (bzw. wie bei der non-linear predistortion auch durchaus nichtlinear) vorkorrigiert wird. Ferner lassen sich die Ungenauigkeiten aktiv weg regeln, indem das erzeugte Signal gemessen und digital zurückgeführt wird, wobei es relevant ist, wo das Signal abgegriffen wird.


Version mit ungeregeltem nichtidealen Integrator

Verlustbehaftetes PDM-Signal

Im zweiten Bild wird deutlich, dass die Phasen, in welchen extreme Tastverhältniswerte vorliegen, eigentlich überproportional steigen müssten, um vor allem die zeitabhängigen Verluste auszugleichen, d. h. kurze An-Phasen wären noch kürzer, lange An-Phasen noch länger. Auch das prinzipiell stark nichtlineare Verhalten eines einfachen RC-Dämpfungsgliedes erfordert ein Aufziehen der Phasen. Dies kann man beim virtuellen Integrator modellieren und auf diese Weise mit in die interne Regelung einfließen lassen. Damit wird dann auch der BIAS passend korrigiert, sofern das Modell genau genug ist. Zusätzlich wird in diesem Beispiel im Vergleich zum vorherigen Bild auch die Dämpfung des nachgeschalteten Filters erhöht, wodurch sich die Kurve besser glättet und ein noch besserer Sinus entsteht, bei dem nur die Phase dem Ideal noch hinterher läuft.


Version mit geregeltem nichtidealen Integrator

Geregeltes PDM-Signal

Um die phasenverzögernde Filterwirkung zu kompensieren, muss das Signal hinter dem Filter abgegriffen und von dort in Form einer äußeren Regelung in die innere Regelung zurückgeführt werden. Tut man dies, folgt die Kurve (hier grün) viel genauer dem blau dargestellten Sollwert. Wenn man bei bestimmten Anwendungen einen exakten Gleichanteil bzw. eine präzise Phase ausgeben will, muss demnach so oder ähnlich kompensiert und geregelt werden. Dies hat dann aber leider den Nachteil von mehr niederfrequenten Regelanteilen im Signal mit dem Ergebnis des insgesamt größeren Rauschens in diesem Spektralbereich. Die Verbesserung des DC-Aspekts führt also zu einer verschlechterten AC-Qualität, was z. B. für Audio oft unbrauchbar ist.


Einsatzoptionen

Für Audio-Applikationen habe ich gefunden, dass es besser ist, das System im Wesentlichen zu steuern, also mehr oder weniger „stur“ die ideale PDM auszugeben und dabei die Verluste zu schätzen und in den Integrator miteinzuberechnen. Konkret muss dabei das nichtlineare Kondensatorladeverhalten im Delta-Sigma-Regler abgebildet werden. Den DC-Anteil kann man dann langsam und träge regeln, indem die angenommenen Verluste angepasst werden. Damit ist es möglich, auch mit einem sehr simplen Filter eine erstaunliche Audio-Qualität zu erhalten.

Einfache Anwendungen

Einfacher Sinus durch PDM

Für die Erzeugung eines einfachen Sinus konstanter Frequenz ohne aufwändige Rückkopplung oder Regelung bietet sich das Abspielen eines festen Musters aus einem internen Wertespeicher heraus an. Die Zahlenfolge im Beispiel ist voll symmetrisch und besteht aus 40 zyklisch auszugebenden 1-Bit-Werten. Am Ausgang reicht ein einfaches, analoges 2-stufiges Tiefpassfilter, um einen recht ansehnlichen Sinus zu generieren. In einem FPGA z. B. sind damit über einen einzelnen Ausgang 200 MHz / 40 = 5 MHz direkt zu erzielen.

Einfaches Dreieck durch PDM

Mit nur etwas mehr Aufwand lässt sich ein Dreieck variabler Frequenz erzeugen: Man nimmt zwei Zähler, die einen hohen Takt von z. B. 1 MHz auf 10 kHz und 11 kHz herunterteilen. Der Zählerüberlauf toggelt jeweils ein Bit, um ein 50:50-Verhältnis zu erzeugen. Beide so erzeugten toggelnden Bits werden über EXOR verknüpft und erzeugen ein Rechtecksignal, dessen Tastverhältnis sich kontinuierlich zwischen 0 und 1 bewegt. Damit entsteht im Mittel ein Wert, der ein Dreieckssignal zeichnet. Durch Variation der beiden Teiler lassen sich unterschiedliche Zielfrequenzen erzeugen. Liegen die Werte nahe beieinander, erhält man ein sehr langsam schwingendes Signal.

Professionelle Anwendungen

Da die Qualität des erzeugten Signals sowohl von der Phasenstabilität, als auch von der Güte der Modulation (= Genauigkeit der Rechnung) abhängt, arbeiten Modulatoren bei höheren Ansprüchen mit Rückkopplungen höherer Ordnungszahlen, die das sich bildende Signal besser abbilden und indirekt dafür sorgen, dass der Datenstrom dahingehend optimiert wird. Ferner arbeiten sie mit höheren Abtastraten. Bei der technischen Umsetzung ist darauf zu achten, dass Schaltungen mit hoher Phasenstabilität zum Einsatz kommen, also entsprechende Taktgeneratoren verwendet werden. Zudem kann das Ausgangssignal mit dem erzeugenden Takt gegatet werden, um etwaigen Jitter des digitalen Bausteins zu unterdrücken (besonders bei FPGAs von Vorteil).

Siehe auch

Weblinks