-
Die
Erfindung betrifft eine Vorrichtung zum Umsetzen eines Signals aus
einer Form in eine andere.
-
Datenumsetzer
dienen in zahlreichen Anwendungen wie z.B. Telefon-Vermittlungsanlagen, Sprachband-Datenkommunikationen,
Sprachkodiersystemen und Audio- und Videosignal-Verarbeitungsanlagen.
Datenumsetzer wurden mit einer Verstärkungsskalierung für das ankommende
Analogsignal bestückt,
um das Ausgangs-Rauschen eines Analog-Digital-Umsetzers zu senken.
In einem Datenumsetzer werden Signale von einer Form in eine andere
Form umgesetzt. Eine der Formen ist analog, die andere Form ist
digital.
-
Ein
Datenumsetzer enthält
entweder einen Analog-Digital-(A/D-) Umsetzer, einen Digital-Analog-(D/A-)
Umsetzer oder beides. Ein A/D-Umsetzer empfäng ein Analogsignal und liefert
an seinem Ausgang ein digitales Signal, welches repräsentativ
für das
Analogsignal ist. Eine typische Digitalsignal-Darstellung ist die
lineare Pulscodemodulation (PCM). Ein D/A-Wandler empfängt ein
digitales Signal und liefert an seinem Ausgang ein Analogsignal.
Die PCM-Kodierung in Datenumsetzern führt zu einer Eins-zu-Eins-Abbildung
der Analogsignal-Amplituden in entsprechende PCM-Wortwerte. Die
Analogschaltkreise von Datenwandlern besitzen einen vorbestimmten
Amplitudenbereich, in welchem sie linear arbeiten. Die vorbstimmte
obere und untere Grenze dieses Bereichs legt die Analogpegel fest,
die den maximalen bzw. minimalen PCM-Codewerten für den Datenumsetzer
entsprechen.
-
Sigma-Delta-Datenumsetzer
verwenden einen Zwischenschritt bei dem Umwandlungsvorgang, bekannt
als Sigma-Delta-Modulation, die einen kodierten Datenstrom mit einer
Pulscodedichte erzeugt, die proportional ist zu der Amplitude des
analogen Eingangssignals. Ein Sigma-Delta-A/D-Umsetzer wandelt zuerst
einen analogen Eingangswert in einen Pulscodedichtestrom um, wandelt
dann den Pulscodedichtestrom in ein entsprechendes PCM-Wort um.
Die Pulscodedichte ist proportional zu einem vorbestimmten maximalen
oder minimalen analogen Eingangssignal. Nähert sich die Pulscodedichte
dem Wert Eins, so nimmt der Störabstand
signifikant ab. Wenn dieser Pulscodedichtestrom in PCM-Wörter umgewandelt
wird, haben die PCM-Wörter
einen signifikant verschlechterten Störabstand im Bereich der Skalenendwerte.
-
In ähnlicher
Weise wandelt ein Sigma-Delta-D/A-Umsetzer zunächst eine Folge von PCM-Eingangswörtern in
einen Pulscodedichte-Datenstrom um, wandelt dann den Pulscodedichtestrom
in ein entsprechendes analoges Ausgangssignal um. Wenn die PCM-Eingabewörter sich
ihren maximalen Pegeln nähern,
nähert
sich die Pulscodedichte des Datenstroms dem Wert Eins, was zu einem
stark verschlechterten Störabstand
führt.
Wenn diese Pulscodedichte in ein analoges Ausgangssignal umgewandelt
wird, ist das analoge Ausgangssignal mit einem schlechten Störabstand
behaftet, bevor es die vorgegebene Skalengrenze erreicht.
-
Bei
Signalbeträgen,
die dem vollen Skalenumfang entsprechen, erzeugt ein als Umsetzer
verwendeter Sigma-Delta-Modulator eine gestörte Ausgangsgröße, was
den Einsatz einer Verstärkungsskalierung
erforderlich macht. Die Verstärkungs-Skalierung
digitaler Signale beinhaltet die Multiplikation, die eine Tronkierung
oder Rundung von Bits geringerer Wertigkeit hervorrufen kann. Eine
weitere Quelle für
Verzerrungen wird durch das Tronkieren oder Runden zum Reduzieren
der Wortbreite eingeführt und
führt zu
einer harmonischen Verzerrung des Eingangssignals im Energiespektrum.
-
Es
besteht Bedarf an einer Methode, die sich für eine Verstärkungs-Skalierung
eignet, die die Einführung
von Verzerrung durch Tronkieren oder Runden beim Verstärkungs-Skalieren
verringert.
-
Der
Patent Abstracts of Japan Vol. 004, Nr. 048 (E-006) vom 12. April
1980 Fr JP-A-55
018 114 (Hitachi Ltd.) vom B. Februar 1980 offenbart einen Analog-Digital-Umsetzer mit einer
Verstärkungssteuerschaltung
am Eingang. Das umzuwandelnde Analogsignal wird sowohl einer Verstärkungsregelschaltung
als auch einer Schalterauswahlschaltung zugeführt. Die Verstärkungssteuerschaltung
besitzt eine fixe Anzahl diskreter Verstärkungen, von denen jede durch
die Schalter-Auswahlschaltung eingeschaltet oder ausgeschaltet werden
kann. Die Schalter-Auswahlschaltung liefert ein Ausgangssignal,
welches einen Schalter auswählt
und schließt,
um eine der diskreten Verstärkungen
zu aktivieren und dadurch das zu wandelnde Analogsignal zu skalieren.
Die Schalter-Auswahlschaltung gibt das gleiche Ausgangssignal außerdem an
eine Multiplizierschaltung, die das digitale Ausgangssignal von
dem Analog-Digital-Umsetzer empfängt
und ein digitales Ausgangssignal erzeugt, das repräsentativ
für das
Analogsignal ist, welches mit der gleichen Ausgangsgröße der Schalter-Auswahlschaltung
umgesetzt wurde, um das ausgegebene Analog-Digital-Signal zu korrigieren
und so die korrekte digitale Ausgangsgröße zu gewinnen.
-
Patent
Abstract of Japan, Vol. 014, Nr. 175 (E-0914) vom 6. April 1990
zeigt einen Analog-Digital-Umsetzer zum Umwandeln eines analogen
Eingangssignals in ein digitales Ausgangssignal. Eine Kombination
aus Analogverstärker-Verstärkungen vor
dem Analog-Digital-Umsetzer und Digital-Multiplizierer-Verstärkungen
nach dem Analog-Digital-Umsetzer erhält die Gesamtverstärkung von
vier von dem analogen Eingangssignal bis zu der am Ausgang erhaltenen
digitalen Darstellung des analogen Eingangssignals aufrecht.
-
Erfindungsgemäß wird eine
Vorrichtung gemäß Anspruch
1 geschaffen.
-
In
einer beispielhaften Ausführungsform
der Erfindung enthält
ein Datenumsetzer einen Multiplizierer zum Multiplizieren digitaler
Signalabtastungen mit einem Verstärkungsfaktor, um multiplizierte
digitale Abtastungen zu erzeugen. Der Multiplizierer läßt sich
entweder umgehen oder man kann ein Dithersignal in den Multiplikationsvorgang
einbeziehen. Ein auf ein Auswahleingangssignal ansprechender Multiplexer
liefert selektiv entweder digitale Signalabtastungen oder die multiplizierten
digitalen Signalabtastungen als Ausgangsgröße des Multiplexers.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung wird anhand eines Beispiels unter Bezugnahme auf die Zeichnungen
beschrieben. Es zeigen:
-
1 ein
Blockdiagramm eines Datenumsetzers als Ausführungsform der Erfindung;
-
2 eine
grafische Darstellung des Störabstands
als Funktion des Signalpegels;
-
3 ein
schematisches Diagramm, welches das Dithern und Runden bei einer
Datenumsetzer-Verstärkung
von mehr als Eins zeigt;
-
4 ist
ein schematisches Diagramm, welches das Dither und Runden bei einer
Datenwandler-Verstärkung
von weniger als Eins zeigt.
-
Detaillierte
Beschreibung
-
Ein
beispielhafter Datenumsetzer 10, der Verstärkungs-Dither
und -Rundung beinhaltet, ist in 1 dargestell.
Der Datenumsetzer 10 ist gemäß Darstellung ein Umsetzer
mit einem Analog-Digital-(A/D-)Umwandlungssignalpfad, der einen
Codierer 90 enthält,
der als A/D-Datenumsetzer ausgebildet ist. Der A/D-Umwandlungspfad
enthält
einen analogen Sigma-Delta-Modulator 716, ein Dezimierfilter 720,
einen Barrel-Schiebeselektor 34 und eine Sättigungsschaltung 36.
Der Digital-Analog-(D/A-) Umwandlungssignalpfad enthält einen
Decodierer 92, bei dem es sich um einen D/A-Datenumsetzer handelt.
Der Digital-Analog-Umwandlungspfad enthält ein Interpolationsfilter 78,
einen Barrel-Schiebeselektor 80, eine Sättigungsschaltung 82,
ein Interpolationsfilter 84, einen digitalen Sigma-Delta-Modulator 18 und
einen Analog-Demodulator 22.
-
Der
Datenumsetzer 10 wird von einem ankommenden Taktsignal
CCK getaktet, welches von einem programmierbaren Teilen-durch-CDIV-Taktteiler 14 dividiert
wird, um das Überabtastungs-Taktsignal
CKOS zu bilden. Das Überabtastungs-Taktsignal CKOS wird
als eine Eingangsgröße an den
analogen Sigma-Delta-Modulator 716, an den digitalen Sigma-Delta-Modulator 18,
das Dezimierfilter 720, das Interpolationsfilter 84 und
den Analog-Demodulator 22 gegeben und von diesen verwendet.
In einer bevorzugten Ausführungsform
sind die Sigma-Delta-Modulatoren
von zweiter Ordnung. Das Überabtastungs-Taktsignal
CKOS wird außerdem
als Eingangsgröße an den
programmierbaren Teilen-durch-M1-Zähler 24 und an den
programmierbaren Teilen-durch-L1-Zähler 74 gegeben. M1
ist der Dezimierfaktor für
das Dezimierfilter 720. Die Ausgangsgröße des Teilen-durch-M1-Zählers 24 geht
als zweites Taktsignal, d.h. Dezimier-Taktsignal CKM1, dessen Frequenz
gleich der des Überabtastungs-Taktsignals
CKOS, dividiert durch den Dezimierfaktor M1, an das Dezimierfilter 720.
Der stromaufwärtig
gelegene Teil des Dezimierfilters 720 arbeitet mit der
Rate des Takts CKOS. Der stromabwärtige Teil arbeitet bei der
geringeren dezimierten Rate des Takts, CKM1. In einer anschaulichen
Ausführungsform
ist das Dezimierfilter 720 ein Kammfilter dritter Ordnung.
-
Das
analoge Eingangssignal des A/D-Umwandlungssignalpfads 90 bildet
eine direkte Eingangsgröße für den Multiplexer 8.
Das mit einer programmierbaren Verstärkung G1 in einem Multiplizierer 1 multiplizierte
analoge Eingangssignal wird als die andere Eingangsgröße an den
Multiplexer 8 gegeben. Der Multiplexer 8 spricht
an auf eine Auswahleingabe 40, um eine der beiden analogen
Eingangsgrößen als
analoges Ausgangssignal selektiv auszugeben.
-
Das
von dem Multiplexer 8 gelieferte analoge Ausgangssignal
wird als Eingangsgröße von dem analogen
Sigma-Delta-Modulator 716 empfangen. Der analoge Sigma-Delta-Modulator,
der von dem Dither-Generator 28 Dither empfangen kann,
wandelt das skalierte analoge Eingangssignal um in einen 1 Bit pro
Abtastung enthaltenden ersten digitalen Datenstrom. Wie bekannt,
wird der von dem Sigma-Delta-Modulator erzeugte, 1 Bitt pro Abtastung
enthaltende erste digitale Datenstrom von einem durch Nullen und
Einsen (Datenformat ohne Vorzeichen) umgewandelt in ein Signal mit
zwei Bits pro Abtastung, dargestellt durch Minus-Einsen und Plus-Einsen, die konsistent
sind mit dem Zweierkomplement- oder Vorzeichen-Betrag-Format. Eine
derartige Darstellung besitzt einen durch Null repräsentierten
Mittelpunkt, kann die Form eines Zweierkomplement-Worts annehmen
und besitzt für
jedes Wort ein zugehöriges
Vorzeichen. Die Ausgangsgröße des analogen
Sigma-Delta-Modulators 716 bildet eine Eingangsgröße für den Multiplexer 28.
Der Multiplexer 28 spricht an auf eine durch den Benutzer
festgelegte Auswahleingabe 30, um an seinem Ausgang eines
seiner Eingangssignale selektiv abzugeben. Das Ausgangssignal des
Multiplexers 28 gelangt als Eingangsgröße an das Dezimierfilter 720.
-
Das
Dezimierfilter 720 filtert und dezimiert den ersten, ein
Bit pro Abtastung aufweisenden digitalen Datenstrom um in einen
zweiten, 20 Bits pro Abtastung enthaltenden digitalen Datenstrom
mit der Frequenz des Takts CKM1. Die Filterung beseitigt Bandenergie.
Im dargestellten Ausführungsbeispiel ist
das Dezimierfilter 720 ein Kammfilter dritter Ordnung.
-
Der
Barrel-Schiebeselektor 34 empfängt den zweiten digitalen Datenstrom
vom Ausgang des Dezimierfilters 720 mit bis zu 20 Bits
pro Abtastung und erzeugt als Ausgangsgröße einen dritten digitalen Datenstrom
mit 17 Bits pro Abtastung oder Probe. Der Barrel-Schiebeselektor 34 ist
programmierbar und kann variiert werden, um eines von vier möglichen
Bitfeldern auszuwählen:
Bits 0-16, 1-17, 2-18 oder
3-19.
-
Der
dritte, 17 Bits pro Abtastung enthaltende digitale Datenstrom am
Ausgang des Barrel-Schiebeselektors 34 bildet die Eingangsgröße für eine Sättigungsschaltung 36 über den
Multiplexer 38. Die Ausgangsgröße von dem Barrel-Schiebeselektor 34 wird
direkt als eine Eingangsgröße an den
Multiplexer 38 gegeben. Die Ausgangsgröße des Barrel-Schiebeselektors 34 wird
mit der Verstärkung 1/G1
in einem Multiplizierer 42 multipliziert als weitere Eingangsgröße für den Multiplexer 38.
Dither von dem Generator 26 kann zu der Verstärkungs-Skalierung addiert
werden. Der Multiplexer 38 spricht auf eine Auswahleingabe 40 an,
um selektiv eine seiner Eingangsgrößen an seinem Ausgang bereitzustellen.
-
Die
Multiplexer 8 und 38 sprechen beide auf die Auswahleingabe 40 in
der Weise an, daß,
wenn der Eingang des Multiplexers 8, der mit der Verstärkung G1
multipliziert wird, ausgewählt
wird, dann der Eingang des Multiplexers 38 ausgewählt wird,
welcher mit der Verstärkung
1/G1 multipliziert wird. Die Verstärkungs-Skalierung unter Verwendung der Verstärkung G1
und 1/G1 führt
zu einem pulscodemudulierten Ausgangssignal des Multiplexers 38,
das den vollen Skalenumfang mit Bezug von null dB hat, wenn das
analoge Eingangssignal des analogen Sigma-Delta-Modulators 716 weniger
als den vollen Skalenumfang ausfüllt.
Die Verstärkung
G1 wird so gewählt,
daß die
Verstärkung
von Eins beibehalten bleibt. Auf diese Weise ist die Absolutverstärkung des
Analog-Digital-Signalpfads (vom Eingang des Multiplexers 8 zum
Ausgang des Multiplexers 38) die gleiche ist, unabhängig davon,
ob die Verstärkungs-Skalierung
verwendet wird oder nicht.
-
Die
Sättigungsschaltung 36 nimmt
den vierten, 17 Bits pro Abtastung enthaltenden digitalen Datenstrom,
der vom Multiplexer 38 ausgegeben wird und reduziert jede
Datenabtastung auf eine 16-Bit-Abtastung. Die Ausgangsgröße der Sättigungsschaltung 36 ist
ein fünfter,
16 Bits pro Abtastung enthaltender digitaler Datenstrom.
-
Der
fünfte,
16 Bits pro Abtastung enthaltende digitale Datenstrom, der von der
Sättigungsschaltung 36 ausgegeben
wird, wird in ein erstes Erster-ein-Erster-aus(FIFO-) Register 44 geladen.
Das Register 44 speichert mehrere derartige Datenproben.
Aus dem FIFO 44 werden die 16-Bit-Abtastungen vorübergehend
in ein Register 46 übertragen, bevor
sie in einen Schreib-/Lese-Speicher (RAM) 48 eingeschrieben
werden. Der RAM 48 ist Teil eines digitalen Signalprozessors
(DSP) 50. Ein DSP ist ein Spezial-Microprozessor, entwickelt
zur effizienten Durchführung
mathematischer Operationen auf Echtzeit-Digitaldaten. Die Abtastungen
werden über
den internen Datenbus 52 gesteuert durch ein Tiefen-Flag 54 und
ein Unterbrechungs-Flag 56 transferiert.
-
Der
Digital-Analog-Umwandlungssignalpfad wandelt digitale Daten von
dem RAM 48 des DSP 50 um in digitale Form am Ausgang
des analogen Demodulators 22. Digitale Daten von dem RAM 48 des DSP 50 für die Umwandlung
in analoge Form werden vorübergehend
als 16 Bit-Abtastung in ein Register 58 eingeschrieben.
Jede 16-Bit-Probe wird anschließend
unter Steuerung durch ein Tiefen-Flag 60, ein Status-Flag 61 und
ein Unterbrechungs-Flag 62 in einen FIFO 64 übertragen.
Das Ausgangssignal des FIFO 64 ist ein sechster, 16 Bit
per Probe enthaltender digitaler Datenstrom. Dieser sechste digitale
Datenstrom wird über
einen Multiplexer 68 in ein Interpolationsfilter 78 eingegeben.
Der von dem FIFO 64 ausgegebene sechste digitale Datenstrom
wird direkt als eine der Eingangsgrößen auf den Multiplexer 68 gegeben.
Der sechste digitale Datenstrom wird mit dem inversen Wert der Verstärkung G2
im Muliplizierer 72 multipliziert und an den anderen Eingang
des Multiplexers 68 gegeben. Der Mulitplexer 68 spricht an
auf eine Auswahleingabe 70, um an seinem Ausgang eine der
Eingangsgrößen auszugeben.
Der Ausgang des Multiplexers 68 bildet einen siebten digitalen
Datenstrom.
-
Der
siebte digitale Datenstrom wird als Eingangsgröße auf das Interpolationsfilter 78 gegeben. Das
Interpolationsfilter 78 empfängt Taktsignale CLK1 und CLK2.
Der Takt CLK1 entspricht dem Takt CKOS, dividiert durch einen Interpolationsfaktor
L1. Der Takt CKL2 ist der CLK1, dividiert durch den Interpolationsfaktor
L2. Das Ausgangssignal des Interpolationsfilter 78 ist
ein achter, 27 Bit pro Abtastung enthaltender digitaler Datenstrom.
Das Interpolationsfilter 78 ist in einer beispielhaften
Ausführungsform
ein Kammfilter dritter Ordnung, welches Bandenergie beseitigt und
den digitalen achten Datenstrom mit einer Frequenz erzeugt, die
der Überabtastfrequenz
dividiert durch L1 entspricht. Der stromabwärtige Bereich des Interpolationsfilters 78 arbeitet
bei der geringeren Taktgeschwindigkeit CLK2. Der stromabwärtige Bereich
arbeitet mit der höheren
Taktgeschwindigkeit CLK1.
-
Der
achte digitale Datenstrom bildet die Eingangsgröße für den Barrel-Schiebeselektor 80.
Dieser empfängt
den achten, 27 Bits pro Abtastung enthaltenden digitalen Datenstrom
vom Ausgang des Interpolationsfilters 78 und wählt ein
Feld mit 17 Bits pro Abtastung aus, um an seinem Ausgang einen neunten
digitalen Datenstrom zu präsentieren.
Das Feld des Barrel-Schiebeselektors 80 ist programmierbar.
In der beispielhaften Ausführungsform
gibt es elf mögliche
Felder für
17-Bit-Felder. In einer beispielhaften Ausführungsform ist das Feld des
Barrel-Schiebeselektor 80 derart
programmiert, daß eines
von folgenden oberen 17-Bit-Feldern
ausgewählt wird:
4 – 20;
5 – 21;
6 – 22;
7 – 23
bis 10 – 26.
-
Die
Sättigungsschaltung 82 empfängt den neunten,
17 Bits pro Probe enthaltenden digitalen Datenstrom, der von dem
Barrel-Schiebeselektor 80 ausgegeben wird, und reduziert
jede Probe auf 16 Bits, um einen zehnten digitalen Datenstrom zu
bilden, im wesentlichen ähnlich
wie die Sättigungsschaltung 36.
-
Das
Interpolationsfilter 84 empfängt den zehnten digitalen Datenstrom
und arbeitet bei der Überabtastungs-Taktgeschwindigkeit,
dividiert durch die programmierbare Teilung um L2. Der stromaufwärtige Bereich
des Interpolationsfilters 84 arbeitet bei der niedrigeren
Taktgeschwindigkeit CLK1. Der stromabwärtige Be reich arbeitet bei
der höheren
Taktrate CKOS. Das Interpolationsfilter 84 ist im dargestellten
Ausführungsbeispiel
ein Kammfilter erster Ordnung, welches Bandenergie beseitigt und
als Ausgangssignal einen elften digitalen Datenstrom erzeugt.
-
Der
elfte digitale Datenstrom, der von dem Interpolationsfilter 84 ausgegeben
wird, wird als Eingangsgröße auf den
digitalen Sigma-Delta-Modulator 18 gegeben. Dieser digitale
Sigma-Delta-Modulator 18 ist im dargestellten Ausführungsbeispiel
von zweiter Ordnung. Der Modulator 18 kann von dem Dither-Generator 26 Dither
empfangen, und er wandelt die sechszehn Bits pro Abtastung enthaltenden Daten
um in einen zwölften,
pro Abtastung ein Bit enthaltenden digitalen Datenstrom.
-
Das
Ausgangssignal des digitalen Sigma-Delta-Modulators 18 bildet
eine Eingangsgröße für den Multiplexer 86,
der auf eine Auswahleingabe 88 anspricht, um selektiv eines
der Ausgangssignale an seinem Ausgang bereitzustellen. Der Multiplexerausgang
wird gebildet durch einen dreizehnten, 1 Bit pro Abtastung enthaltenden
digitalen Datenstrom.
-
Der
analoge Demodulator 22 ist ein 1-Bit-Abtast- und -Halte-Wandler,
der den dreizehnten, pro Probe 1 Bit enthaltenden digitalen Datenstrom
an den Multiplexer 86 schrittweise in ein kontinuierliches analoges
Ausgangssignal umsetzt. Der analoge Demodulator 22 enthält ein oder
mehrere Analogfilter in an sich bekannter Ausbildung zum Glätten des
analogen Ausgangssignals. Das analoge Ausgangssignal von dem analogen
Demodulator 22 wird direkt als eine der Eingangsgrößen auf
den Multiplexer 96 gegeben und in einem Multiplizierer 94 mit
der Verstärkung
G2 multipliziert, um die andere Eingangsgröße für den Multiplexer 96 zu
bilden. Die Verstärkung
G2 läßt sich
in jeder bekannten Weise bereitstellen. Der Multiplexer 96 spricht
auf eine Auswahleingabe 70 an, um an seinem Ausgang selektiv
eine Eingangsgröße bereitzustellen.
Das Ausgangssignal des Multiplexers 96 ist ein Analogsignal.
Die Multiplexer 68 und 96 sprechen beide auf eine
Auswahleingabe 70 in der Weise an, daß, wenn die mit der Verstärkung 1/G2
multiplizierte Eingangsgröße des Multiplexers 68 gewählt wird,
die Eingangsgröße des Multiplexers 96 ausgewählt wird,
welche mit der Verstärkung
G2 multipliziert ist. Die Verstärkung
G2 ist so gewählt, daß eine Verstärkung von Eins
aufrechterhalten wird. Auf diese Weise ist die Absolutverstärkung des
Digital-Analog-Signal-Pfads (vom Eingang des Multiplexers 68 zum
Ausgnag des Multiplexers 96) stets die gleiche, unabhängig davon,
ob Verstärkungs-Skalierung
verwendet wird oder nicht. Während
der Multiplizierer 94 und der Multiplexer 96 stromabwärts bezüglich des
analogen Demodulators 22 angeordnet sind, könnten sie
auch am Eingang oder innerhalb des analogen Demodulators selbst
eingebettet sein.
-
Der
pulscodemodulierte digitale Datenstrom am Ausgang des Dezimierfilters 720 oder
des Barrel-Schiebeselektors 34 besitzt eine Pulscodedichte, die
proportional ist zum Analogsignal, welches in den analogen Sigma-Delta-Modulator 716 eingegeben wird.
Nähert
sich das analoge Eingangssignal einem vorbestimmten positiven Betrag,
so nähert
sich die Pulscodedichte einem Zustand aus nur Einsen (für einen
vorbestimmten negativen Betrag lauter Minus-Einsen). Bei einer vorbestimmten
Pulscodedichte von weniger als ausschließlich Einsen erreicht der Störabstand
(SNR) ein Maximum, welches seinem Optimum entspricht. Diese vorbestimmte
Pulscodedichte weist einen entsprechenden analogen Eingangspegel
am Eingang des analogen Sigma-Delta-Modulators 716 auf.
Analoge Eingangsbeträge oberhalb
des oben erwähnten
analogen Eingangspegels rufen einen Pulscodedichte-Betrag hervor,
der sich fortgesetzt an den Zustand von ausschließlich Einsen
annähert,
während
sich der SNR-Wert gemäß 2 verschlechtert.
-
Die
in 2 gezeigte Kurve ist empirisch ermittelt. Dargestellt
ist die Kurve des aktuellen Störabstands.
Eine Linie mit der durchschnittlichen Steigung der Kurve ist durch
den unteren Signalpegelbereich gezogen und erstreckt sich so weit,
daß sie
die vertikale Achse schneidet. Dies stellt einen idealen, linearen
Störabstand
als Funktion des Signalpegel dar.
-
Beim
maximalen Störabstand
ist die Steigung der Kurve Null. Die als Bruchteil ausgedrückte Pulscodedichte
beim maximalen Störabstand
beträgt PPCD.
Erstrebenswert ist es, den Codieren 90 und den Decodierer 92 derart
in der Verstärkung
zu skalieren, daß der
den vollen Skalenumfang einnehmende PCM-Ausgangswert an einem Punkt
der SNR-Kurve auftritt, wo der Störabstand maximal oder nahezu
maximal ist. Bei einer Verstärkungs-Skalierung
mit Verstärkungen 1/G1
und 1/G2 entspricht PPCD dem PCM vollen Skalenumfangs. Dies ist durch
die gestrichelte Kurve in 2 dargestellt,
wo der Maximumpunkt auf der Störabstandskurve
der vollskaligen PCM entspricht. Für einen Sigma-Delta-Modulator
zweiter Ordnung tritt das Maximum dann auf, wenn PPCD einen Betrag
von etwa acht Zehnteln aufweist, was etwa minus zwei Dezibel entspricht.
Für Sigma-Delta-Modulatoren
höherer
Ordnung tritt das Maximum bei einer niedrigeren Pulscodedichte auf,
entsprechend etwa minus fünf
Dezibel, abhängig
von den Kennwerten des Modulators. In dem Codierer 90 besitzt
der Verstärkungsfaktor
bei maximalem SNR bei der Multiplikation des Multiplikators 42 einen
Betrag, der dem Inversen von PPCD entspricht. Da PPCD im dargestellten
Ausführungsbeispiel
etwa 0,8 beträgt,
beträgt
der Verstärkungsfaktor
1,25. Wenn daher der analoge Sigma-Delta-Modulator 716 einen
digitalen Datenstrom erzeugt, der eine Pulscodedichte von 0,8 besitzt,
so multipliziert der Multiplizierer den digitalen Datenstrom mit
1/G1, um die Pulscodedichte derart zu erhöhen, daß die normierte Pulscodedichte
des digitalen Datenstroms am Ausgang des Multiplizierers 42 den
größten Betrag
aufweist, den dieses PCM-Wort enthalten kann. Diese Verstärkungs-Skalierung macht
vorteilhaften Gebrauch von dem den gesamten Skalenumfang umfassenden
Dynamikbereich, während
gleichzeitig ein Verlust an Information durch Überbelastung verhindert wird.
Die Verstärkung
1/G1 im Multiplizierer 42 entspricht der optimalen Pulscodedichte
am Ausgang des analogen Sigma-Delta-Modulators 716 zur
Erzielung des besten Störabstands.
Während
Verstärkungen
mit anderen Werten als 1/G1 in dem Mulitplizierer 42 ebenfalls
möglich sind,
sind diese Verstärkungen
aber nicht optimal. Diese Relation zwischen der Pulscodedichte und
der Multiplizierverstärkung
wird angestrebt unabhängig davon,
ob die Verstärkung
gedithert oder gerundet ist oder nicht. Die Sättigungsschaltung 36 verhindert, daß bei größeren Eingangsbeträgen oberhalb
des Werts, den der größte Betrag
des PCM-Worts enthalten kann, arithmetische Umbruch-Effekte auftreten, allerdings
führt sie
eine Abschneideverzerrung ein. Während
die bevorzugte Ausführungsform
einen optimalen Störabstand
offenbart, der außerdem
der maximale Störabstand
ist, kann es in einigen Anwendungsfällen wünschenswert sein, als Optimum
einen Störabstand
auszuwählen,
der nicht dem Maximum, sondern einem dem Maximum nahekommenden Wert
entspricht. Ein derartiger optimaler Störabstand SNR würde typischerweise
bei einer etwas höheren Pulscodedichte
als der maximale Störabstand
liegen. Dies würde
es ermöglichen,
daß der
Störabstand
nur geringfügig unterhalb
des Maximum liegt, während der
dynamische Bereich erweitert wird.
-
Das
Dithern kann unabhängig
vom Runden eingesetzt werden. Ist erst einmal Dither eingegeben, so
muß eine
Entscheidung getroffen werden, ob zu runden oder zu tronkieren ist.
Unabhängig
von dem Dithern sind Verzerrungscharakteristika durch Tronkieren
im allgemeinen weniger erwünscht
als solche, die durch Runden entstehen. Ein umfangreicher Verstärkungsbereich
kann für
das Dithern und Tronkieren oder das Dithern und Runden genutzt werden. Das
im Stand der Technik bekannte Dithern kann irgendeine bekannte Wahrscheinlichkeits-Dichtefunktion
besitzen, so z.B. eine dreieckförmige
oder eine rechteckige Wahrschein-IichkeitsDichtefunktion
mit einem typischen Mittelwert von Null. Aus statistischer Perspektive
ist Dither mit einer dreieckigen Wahrscheinlichkeits-Dichtefunktion,
die die beiden niedrigstwertigen Bits überspannt, besser als Dither mit
einer rechteckigen Wahrscheinlichkeits-Dichtefunktion, die das eine
niedrigstwertige Bit überspannt,
da das zweite Moment der Korrelation nahezu Null ist. Die rechteckige
Wahrscheinlichkeits-Dichtefunktion für den Dither kann in zahlreichen
Anwendungen mit akzeptierbaren Ergebnissen eingesetzt werden. Beim
dargestellten Ausführungsbeispiel
kann der Dither freigegeben oder gesperrt werden.
-
3 ist
ein schematisches Diagramm einer Ausführungsform der Erfindung zum
Implementieren von Dither und Runden in eine Verstärkerstufe
größer als
Eins. Man betrachte den Multiplizierer 42, als sei es erwünscht, ein
17 Bits umfassendes Wort zu dithern und zu runden zu einem 16 Bit-Wort.
Als numerisches Beispiel sei angenommen, eine Verstärkung 1/G1
betrage 5/4. Dither und Runden werden durchgeführt, indem die 17 Bits hergenommen
werden, zwei Bits mit Dither addiert werden, dann durch den Übertragvorgang
eine Tronkierung auf eine Länge
von 16 Bits erfolgt, so daß als
Ergebnis ein 16-Bit-Wort verfügbar
ist, welches gedithert und gerundet ist.
-
Zwei
Dither-Bits D1 und D2 werden von dem Dithergenerator 26 über den
Bus 100 empfangen. Typischerweise werden die Dither-Bits
D1 und D2 in Zwischenspeichern 102 und 105 zwischengespeichert.
Die Dither-Bits sind pseudozufällig
und nehmen Werte von entweder logisch 1 oder logisch 0 an. Die Dither-Bits
können
von einem p-n-Sequenzgenerator erzeugt werden, auch bekannt als Schieberegister-Sequenzgenerator,
wie dies in Shift Register Sequences von S.W. Golomb gezeigt ist.
-
Das
Erkennen, daß 5/4 äquivalent
4/4 + 1/4 ist, und daß das
Multiplizieren mit vier einer um 2 Bit erfolgenden Verschiebung
nach links äquivalent
ist, läßt ein Dithern
und Runden gemäß 3 zu.
Das 16 Bits umfassende Wort wird als Eingangsgröße B auf eine Reihe von Addierern
gegeben. Eine verschobene Version des 17-Bit-Worts wird als A-Eingangsgröße auf die
Serie von Addierern gegeben. Die 17 Bits b0 – b16 eines von dem Barrel-Schiebeselektor 34 empfangenen
Worts werden auf einem Bus 106 empfangen und als Eingangsgröße auf den
B-Eingang der 1-Bit-Volladdierer 200 – 216 gegeben.
Das Bit b16 wird außerdem
als der B-Eingang auf 1-Bit-Volladdierer 217 und 218 als
Vorzeichenerweiterung gegeben. Die Dither-Bits D1 und D2 werden
als A-Eingang auf Addierer 200 und 201 gegeben.
Der A-Eingang der Addierer 202 – 218 sind die Bits
b0 bis b16, und demzufolge wird ihre Stellung wirksam um zwei Bits
nach links verschoben. Der Übertrag-Ausgang jedes
Addierers 200 – 217 wird
auf den Addierer mit der nächsthöheren Ordnungszahl
gegeben und von diesem verarbeitet. Der Übertragausgang des Addierers 218 bleibt
unbeachtet.
-
Der
Summierausgang jedes Addierers 202 bis 218 liefert
eines der Eingangssignale für
jeden von Addierern 302 – 318. Der zweite
Eingang jedes Addierers 303 – 318 ist aufgrund
der Kopplung an den Massebus 320 logisch Null. Die Addierer 302 – 318 sind
als Volladdierer dargestellt, hier würden allerdings auch Halbaddierer
reichen. Der Übertragausgang
jedes Addierers 302 – 317 ist
mit dem Übertrageingang
des nächsthöheren Addierers
gekoppelt. Der Übertragausgang
des Addierers 318 bleibt unberücksichtigt. Der zweite Eingang
des Addierers 302 ist der Summenausgang des Addierers 201.
Dieser Eingang des Addierers 302 von dem Summenausgang
des Addierers 201 bildet beim Addieren auf den Summenausgang
des Addierers 202 die Rundung des niedrigstwertigen Bits.
In den Addierern 200 – 218 befindet
sich der Binärpunkt
zwischen den zwei Addierern 201 und 202, deren
Summenausgänge
die beiden Eingangsgrößen für den Addierer 302 bilden. Damit
befindet sich der Binärpunkt
links von denjenigen Addierern, an denen Dither aufaddiert wird.
Der Summenausgang des Addierers 302 entspricht dem niedrigstwertigen
Bit des gerundeten Ergebnisses, wobei der Binärpunkt sich auf der rechten
Seite des Summenausgangs des Addierers 302 befindet. Die übrigen höherwertigen
Bits werden durch Weiterschalten des Übertragausgangs des Addierers 302 durch
die Addieren 303 – 318 erzeugt.
Der summenausgang des Addierers 200 bleibt unberücksichtigt.
-
Multiplexer 352 bis 368 empfangen
jeweils zwei Eingangsgrößen. Wie
aus 3 ersichtlich, kommt eine der Eingangsgrößen vom
Bus 106, die andere Eingangsgröße entspricht dem entsprechenden
Bit eines Worts, welches mit 1/G1 mulitpliziert, gedithert und gerundet
wurde. Jeder der Multiplexer 352 bis 368 empfängt die
zweite Eingangsgröße von dem
Summenausgang der Addierer 302 bis 318. Wie oben
erwähnt,
kann die Verstärkung
mit Dither und Runden eingeführt
oder umgangen werden, wie dies durch die Auswahleingabe 40 des
Multiplexers 38 festgelegt wird. Kollektiv umfassen die
Multiplexer 352 bis 368 den Multiplexer 38.
Jeder der Multiplexer 352 bis 368 spricht an auf
die Auswahleingabe 40, um an seinem Ausgang eines der Eingangssignale bereitzustellen.
Das 17 Bits umfassende Ausgangssignal, entweder b'16 – b'0 oder b16 – b0, wird
vom Ausgang der Multiplexer 368 – 352 abgenommen.
-
Dither
und Rundung bei der Verstärkungs-Skalierung
bietet Vorteile durch Weiß-Machen des Energiespektrums
und Auflösen
von Signalen unterhalb des niedrigstwertigen Bits. Während das obige
Beispiel das Dithering in Kombination mit dem Runden offenbart,
läßt sich
das Dithern auch unabhängig
vom Runden einsetzen. Nachdem Dither eingeführt ist, erfolgt eine Wahl
darüber,
ob das niedrigswertige Bit (die niedrigstwertigen Bits) gerundet
oder tronkiert wird. Dithern bei der Verstärkungs-Skalierung reduziert
den Betrag der harmonischen Verzerrungskomponenten im Energiespektrum,
da das Tronkieren oder Runden innerhalb des Rauschens liegt, typischerweise
um mehr als 100 dB unterhalb des dem vollen Skalenbereich entsprechenden
Signalpegels für
16-Bit-Wörter.
-
Die
Verstärkungs-Skalierung
wird in den Digital-Analog-Signalpfad 92 eingebracht. Eine
Verstärkungsstufe
für das
Einbringen von Dither und für das
Runden mit einer Verstärkung
von weniger als Eins ist in 4 gezeigt.
Im Idealfall wäre
die Verstärkung
1/G1 identisch zu der Verstärkung
1/G1 beim dargestellten Ausführungsbeispiel,
da der Codierer und der Decodierer beide einen Sigma-Delta-Modulator zweiter
Ordnung enthalten. Die dargestellte Verstärkung beträgt 3/4, was typisch ist für den Betrag
der in den Multiplizierer 72 eingeführten Ver stärkung. Aus Zweckmäßigkeitsgründen wurde
für die
Implementierung eine Verstärkung
von 3/4 gewählt,
wobei ein gewisser Dynamikbereich von etwa 0,56 dB geopfert wurde.
Dies führt
dazu, daß der
Decodierer bei einem Störabstand
arbeitet, der geringfügig
unterhalb dem Maximumpunkt liegt. Der Muliplizierer 72 empfängt ein
16-Bit-Wort, dithert und rundet das 16-Bit-Wort unter Erzeugung
eines 16-Bit-Worts an seinem Ausgang. Die beiden Dither-Bits D1
und D2 werden von dem Dither-Generator 26 über den Bus 100 empfangen
und in Zwischenspeichern 402 bzw. 404 zwischengespeichert.
Wie oben erwähnt, sind
die Dither-Bits entweder logisch 1 oder logisch 0 und pseudozufällig.
-
Wenn
man weiß,
daß 3/4 äquivalent
zu 4/4 minus 1/4 ist, und daß das
Multiplizieren mit vier äquivalent
ist zu einer um zwei Bits erfolgenden Verschiebung nach links, läßt sich
eine Verstärkung
von 3/4 mit Dither und Rundung so aufbauen, wie dies in 4 gezeigt
ist. Eine verschobene Version des 16-Bit-Worts, das von dem FIFO-Register 64 empfangen
wird, wird als der A-Eingang in die Reihe von Volladdierern gegeben.
Das von dem FIFO-Register 64 empfangene 16-Bit-Wort wird als B-Eingang
an die Reihe von Volladdierern gegeben. Die Dither-Bits D1 und D2
werden als A-Eingang an die Addierer 500 und 501 gegeben.
Die A-Eingänge der
Addierer 502 bis 517 sind die Bits b0 – b15, folglich
ist deren Position effektiv um zwei Bits verschoben. Die 16 Bits
b0 – b15
eines von dem ersten FIFO-Register 64 empfangenen Worts
werden über
den Bus 406 empfangen und als Eingangsgröße an den
B-Eingang von Einzelbit-Vollsubtrahierern 500 – 515 gegeben.
Das Bit b15 wird außerdem
als B-Eingangsgröße als Vorzeichenerweiterung
an Einzelbit-Volladdierer 516 und 517 gegeben.
Die B-Eingabe an jedem Addierer wird von der A-Eingabe subtrahiert.
Der Übertrag-Ausgang
jedes Addierers 500 – 516 wird
an den nächst
höher gelegenen
Addierer gegeben und bildet dort den Übertrag-Eingang. Der Übertrag-Ausgang von
dem Addierer 517 bleibt unbeachtet. Der Übertrag-Eingang
des Addierers 500 beträgt
Null, da er auf Masse gelegt ist.
-
Der
Summenausgang jedes Addierers 502 – 517 bildet jeweils
einen der Eingänge
für jeden
der Addierer 602 – 617.
Der zweite Eingang jedes Addierers 603 – 617 ist eine logische
Null, da der Eingang auf den Massebus 620 geschaltet ist.
Die Addierer 602 – 617 sind
als Volladdierer dargestellt, allerdings würden hier auch Halbaddierer
reichen. Der Übertrag-Ausgang
jedes Addierers 602 – 616 wird an
den Übertrag-Eingang
des nächst
höheren
Addierers gegeben. Der Übertrag-Ausgang des Addierers 617 bleibt
unbeachtet. Der zweite Eingang des Addierers 602 ist der
Summenausgang des Addierers 501. Dieser Eingang des Addierers 602 vom
Summenausgang des Addierers 501 ergibt, wenn er auf den
Summenausgang des Addierers 502 addiert wird, die Rundung
des niedrigstwertigen Bits. In den Addierers 500 – 517 liegt
der Binärpunkt
zwischen den beiden Addierers 501 und 502, deren
Summenausgänge
die beiden Eingänge
des Addierers 602 bilden. Damit befindet sich der Binärpunkt auf
der linken Seite derjenigen Addierer, wo Dither aufaddiert wird.
Der Summenausgang des Addierers 602 ist das niedrigstwertige
Bit des gerundeten Ergebnisses, wobei sich der Binärpunkt auf
der rechten Seite des Summenausgangs des Addierers 602 befindet.
Die übrigen
höherwertigen
Bits werden durch Durchschalten des Übertrag-Ausgangs des Addierers 602 durch
die Addierer 602 – 617 gebildet.
Der Summenausgang des Addierers 500 bleibt unbeachtet.
-
Die
Multiplexer 652 bis 667 empfangen jeweils zwei
Eingangssignale. Wie in 4 zu sehen ist, kommt das eine
Eingangssignal vom Bus 406, das andere Eingangssignal ist
das entsprechende Bit eines Worts, welches mit 1/G2 multipliziert,
gedithert und gerundet wurde. Jeder der Multiplexer 652 – 667 empfängt das
zweite Eingangssignal vom Summenausgang der Addierer 602 – 617.
Wie oben angegeben, kann man die Verstärkung mit Dither und Rundung
entweder einführen
oder umgehen, wie dies durch die Auswahleingabe 70 des
Multiplexers 68 festgelegt wird. Kollektiv enthalten die
Multiplexer 652 – 657 den
Multiplexer 68. Kollektiv bilden die Multiplexer 652 – 657 den
Multiplexer 68. Jeder der Multiplexer 652 – 667 spricht
an auf die Auswahleingabe 70, um selektiv an seinem Ausgang
eine der Eingangsgrößen bereitzustellen.
Das 16 Bit umfassende Ausgangssignal, also entweder b'15 – b'0 oder b15 – b0, wird
von dem Ausgang der Multiplexer 667 – 652 abgenommen.
-
2 gilt
auch für
den Digital-Analog-Umwandlungssignalweg, da der digitale Sigma-Delta-Modulator 18 ebenfalls
von zweiter Ordnung ist. Die durch die Verstärkung 1/G1 eingeführte Dämpfung stellt
sicher, daß der
pulscodemodulierte digitale Datenstrom am Ausgang des digitalen
Sigma-Delta-Modulators 18 niemals einen Zustand mit ausschließlich Einsen
annimmt. Die Verstärkung
G2 hat, wenngleich nicht optimal, den Vorteil, daß eine Division
durch vier durch eine Verschiebung um zwei Bit möglich ist. Die Pulscodedichte
am Eingang des digitalen Sigma-Delta-Modulators 18 ist
begrenzt, so daß sie
G2 nicht übersteigt,
indem die Eingangsgröße des Muliplizierers 72 mit
einer Verstärkung
1/G2 multipliziert wird.
-
Während oben
eine Form der Multiplikation beschrieben wurde, läßt sich
die Multiplikation in vielfältiger
Weise erreichen. Die Multiplikation kann effektiv durch Software
in Form einer Bitverschiebeoperation erreicht werden, durch Einführen einer
Verstärkung
in ein Filter oder durch ein Hardware-Filter. Die Verstärkung und
Dither können
innerhalb des DSP vorgenommen werden.
-
Die
Verstärkungs-Skalierung
wurde in den D/A-Pfad bei der niedrigsten Abtastrate eingeführt; allerdings
ist die Erfindung nicht darauf beschränkt. Die Verstärkungs-Skalierung
könnte
an jedem Punkt entlang dem D/A-Pfad vor dem digitalen Sigma-Delta-Modulator
eingeführt
werden. Ein Vorteil des Einführens
der Verstärkungs-Skalierung
bei einer höheren
Datenrate unmittelbar vor dem digitalen Sigma-Delta-Modulator 18 besteht
darin, daß das
durch den Dither hinzugekommene Rauschen über ein breiteres Frequenzspektrum
gespreizt wird und daher das bandinterne Rauschen geringer ist.
Um die Verstärkungs-Skalierung
bei der höheren
Rate zu implementieren, ist allerdings eine komplexere Schaltung
erforderlich.
-
Der
analoge Sigma-Delta-Modulator 716, das Dezimierfilter 720,
der digitale Sigma-Delta-Modulator 18, das Interpolationsfilter 78 und
das Interpolationsfilter 84 sind oder enthalten Filterschaltungen. Während die
Ordnung dieser Filter für
die beispielhafte Ausführungsform
angegeben wurde, ist die Erfindung nicht auf die angegebenen Ordnungen
beschränkt.
-
Wenngleich
Verstärkungen
G1 und 1/G1 sowie Verstärkungen
G2 und 1/G2 angegeben wurden, um eine Verstärkung von Eins in dem Analog-Digital- und
in dem Digital-Analogsignalpfad zu erreichen, ist eine Verstärkung Eins
nicht unbedingt notwendig. Vorzugsweise sollte die Verstärkung vor
dem Sigma-Delta-Modulator in einem Signalweg kleiner als Eins sein.
-
Die
Erfindung ist nicht beschränkt
auf die numerischen Werte, die zur Offenbarung der beispielhaften
Ausführungsform
verwendet wurden. Die Bandbreite des Ausgangs verschiedener Elemente, die
Ordnung der verschiedenen Filter, die Ränge für die Interpolations- und Dezimierfaktoren
und die Ausgangsfelder und -bereiche für den Barrel-Schiebeselektor
ebenso wie die Anzahl von Bits für
die Sättigung
und dgl. sind bei der dargestellten Ausführungsform beispielhaft.
-
Während eine
beispielhafte Ausführungsform
der Erfindung nicht in Verbindung mit einem Pipelinebetrieb oder
mit Parallelarbeit zur Reduzierung von Verwaltzeiten beschrieben
wurde, erkennt der Fachmann aber die gesteigerte Berechnungseffizienz,
die durch Einsatz derartiger Methoden verfügbar ist.