-
Technisches
Gebiet
-
Diese
Anmeldung bezieht sich generell auf Datenumsetzer wie beispielsweise
Encoder oder Decoder zur Umsetzung von Signalen von einer analogen
Form in eine digitale Form, oder umgekehrt von einer digitalen Form
in eine analoge Form, und insbesondere auf solche Umsetzer mit Verstärkungsskalierung.
-
Hintergrund
der Erfindung
-
Datenumsetzer
werden in vielen Anwendungen, wie beispielsweise Telefonschaltanlagen, Sprachband-Kommunikation,
Sprachcodiersystemen und Audio- und Video-Signalverarbeitungsanlagen,
benutzt. Datenumsetzer enthalten Verstärkungsskalierung eines eingegebenen
analogen Signals, um das Ausgaberauschen eines Analog-Digital-Umsetzers
zu reduzieren. In einem Datenumsetzer werden Signale von einer Form
in eine andere Form umgesetzt. Eine der Formen ist analoger Art und
die andere Form ist digitaler Art.
-
Ein
Datenumsetzer enthält
entweder einen Analog-Digital(A/D)-Umsetzer, einen Digital-Analog(D/A)-Umsetzer,
oder beides. Ein A/D-Umsetzer empfängt ein analoges Signal und
stellt an seinem Ausgang ein digitales Signal bereit, welches das
analoge Signal repräsentiert.
Eine Schaltung zum Zwecke der Analog-zu-Digital-Umsetzung ist in
US 5,187,481 offenbart,
in welcher sogenanntes Dithern (Bereitstellen eines Zittersignals)
in gemultiplexten Analog-Digital-Umsetzern
angewandt wird. Eine typische digitale Signalentsprechung ist eine
lineare Pulscodemodulation (Pulse Code Modulation; PCM). Ein D/A-Umsetzer empfängt ein
digitales Signal und stellt an seinem Ausgang ein analoges Signal
bereit. PCM-Encodierung in Datenumsetzern resultiert in ein Eins-zu-Eins-Abbild
von Amplituden eines analogen Signals in entsprechende PCM-Wortwerte.
Die analogen Schaltungen von Datenumsetzern haben einen vorbestimmten
Amplitudenbereich, in welchem sie linear arbeiten. Die vorbestimmte
obere und untere Begrenzung des Bereichs bilden die ana logen Niveaus,
welche jeweils den maximalen und den minimalen PCM-Codewerten für den Datenumsetzer
entsprechen.
-
Sigma-Delta-Datenumsetzer
wenden einen Zwischenschritt in dem Umsetzungsprozess an, bekannt
als Sigma-Delta-Modulation, welche einen codierten Datenstrom erzeugt
mit einer Pulscodedichte, die proportional ist zu der Amplitude
des analogen Eingangssignals. Ein Sigma-Delta-A/D-Umsetzer wandelt
zuerst eine analoge Eingabe in einen Pulscodedichtestrom, und konvertiert
sodann den Pulscodedichtestrom in ein entsprechendes PCM-Wort. Die
Pulscodedichte ist proportional zu einer vorbestimmten maximalen
und minimalen analogen Eingabe. So wie die Pulscodedichte sich einem
Wert von Eins nähert,
verschlechtert sich der Signalrauschabstand signifikant. Wenn dieser
Pulscodedichtestrom in PCM-Wörter
umgesetzt wird, werden die PCM-Wörter einen
signifikant verschlechterten Signalrauschabstand in dem Bereich
seiner Vollbereichsgrenze aufweisen.
-
In
gleicher Weise konvertiert erst ein Sigma-Delta-D/A-Umsetzer eine
Serie von PCM-Eingabewörtern
in einen Pulscodedichtedatenstrom, und konvertiert dann den Pulscodedichtestrom
in ein entsprechendes analoges Ausgangssignal. So wie die PCM-Eingabewörter sich
ihren maximalen Niveaus nähern,
nähert
sich die Pulscodedichte des Datenstroms dem Wert Eins, was in einen
stark verschlechterten Signalrauschabstand resultiert. Wenn diese Pulscodedichte
in ein analoges Ausgangssignal umgesetzt wird, wird das analoge
Ausgangssignal einen stark verschlechterten Signalrauschabstand
aufweisen, bevor es seine vorbestimmte Vollbereichsgrenze erreicht.
-
Für Signalgrößen aus
dem Vollbereich wird ein Sigma-Delta-Modulator, der als Umsetzer
angewandt wird, eine verzerrte Ausgabe generieren, was es notwendig
macht, eine Verstärkungsskalierung anzuwenden.
Verstärkungsskalierung
von digitalen Signalen bezieht eine Multiplikation mit ein, welche Kürzungsbits
oder Rundungsbits von niedrigerer Wertigkeit erzeugen kann. Ein
anderer Verzerrungsquell wird in das Signal eingeführt durch
die Kürzung oder
Rundung, um die Wortbreite zu reduzieren, und resultiert in harmonischer
Verzerrung des Eingangssignals in dem Energiespektrum.
-
Es
besteht ein Bedarf für
eine Methode, die mit einer Verstärkungsskalierung verwendbar
ist, welche die Verzerrung reduziert, die durch Kürzung oder
Rundung in der Verstärkungsskalierung
eingeführt
wird.
-
Zusammenfassung
der Erfindung
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine Vorrichtung, wie im
Anspruch 1 angegeben, bereitgestellt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren, wie
im Anspruch 18 angegeben, bereitgestellt.
-
Gemäß einem
veranschaulichendem Ausführungsbeispiel
der Erfindung wird ein Datenumsetzer offenbart, der einen Multiplizierer
für die
Multiplikation von digitalen Signalabtastwerten mit einem Verstärkungsfaktor
enthält,
um einen Multiplizierer für
die Multiplikation von digitalen Signalabtastwerten mit einem Verstärkungsfaktor
zu schaffen, um multiplizierte digitale Abtastwerte zu erzeugen.
Der Multiplizierer kann entweder überbrückt werden oder ein Zittersignal
kann in die Multiplikationsoperation eingeführt werden. Ein Multiplexer,
der auf einen Auswahleingang reagiert, stellt selektiv entweder
die digitalen Signalabtastwerte oder die multiplizierten Signalabtastwerte
als Ausgabe des Multiplexers bereit.
-
Kurze Beschreibung
der Zeichnung
-
Die
Erfindung wird im Wege eines Beispiels beschrieben werden, wobei
Bezug auf die Zeichnungen genommen wird. Hierbei zeigen:
-
1 ein
Blockschaltbild eines Datenumsetzers gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 eine
grafische Darstellung des Signalrauschabstandes als eine Funktion
des Signalniveaus;
-
3 eine
schematische Darstellung, welche die Erzeugung eines Zittersignals
und Rundung in einer Datenumsetzerverstärkung von größer als Eins
zeigt; und
-
4 eine
schematische Darstellung, welche die Erzeugung eines Zittersignals
und Rundung in einer Datenumsetzerverstärkung von kleiner als Eins
zeigt.
-
Detaillierte
Beschreibung
-
In 1 ist
ein veranschaulichender Datenumsetzer 10 gezeigt, der die
Erzeugung eines Zittersignals in der Verstärkung und eine Rundung enthält. Der
Datenumsetzer 10 ist derart gezeigt, dass er einen Analog-zu-Digital(A/D)-Umsetzungssignalpfad
enthält,
der einen Codierer 90 enthält, der ein Datenumsetzer vom
A/D-Typ ist. Der A/D-Umsetzungspfad enthält einen analogen Sigma-Delta-Modulator 716,
ein Dezimationsfilter 720, einen Tonnen-Verschiebungs-Selektor
(Barrel Shift Selector) 34 und eine Sättigungsschaltung 36.
Der Digital-zu-Analog(D/A)-Umsetzungssignalpfad enthält einen
Decoder 92, welcher ein Datenumsetzer vom D/A-Typ ist.
Der Digital-zu-Analog-Umsetzungspfad enthält ein Interpolationsfilter 78,
einen Tonnen-Verschiebungs-Selektor
(Barrel Shift Selector) 80, eine Sättigungsschaltung 82,
ein Interpolationsfilter 84, einen digitalen Sigma-Delta-Modulator 18 und
einen analogen Demodulator 22.
-
Der
Datenumsetzer 10 wird mit dem eingehenden Taktsignal CCK
getaktet, wie es durch einen programmierbaren Teilung-durch-CDIV-Taktteiler 14 geteilt
wird, um das überabtastende
Taktsignal CKOS zu erzeugen. Das überabtastende Taktsignal CKOS
wird als eine Eingabe an den analogen Sigma-Delta-Modulator 716,
den digitalen Sigma-Delta-Modulator 18, das Dezimationsfilter 720,
das Interpolationsfilter 84, und an den analogen Demodulator 22 bereitgestellt
und von diesen benutzt. In einer bevorzugten Ausführungsform
sind die Sigma-Delta-Modulatoren von zweiter Ordnung. Das überabtastende
Taktsignal CKOS ist weiterhin angeschlossen als Eingabe des programmierbaren Teilung-durch-M1-Zählers 24 und
programmierbaren Teilung-durch-L1-Zählers 74.
M1 ist der Dezimationsfaktor des Dezimationsfilters 720.
Der Ausgang des Teilung-durch-M1-Zählers 24 stellt an
das Dezimationsfilter 720 ein zweites Taktsignal bereit,
Dezimationstaktsignal CKM, das eine Frequenz aufweist, die gleich
ist zu der des überabtastenden
Taktsignals CKOS geteilt durch den Dezimationsfaktor M1. Der vorgeschaltete
Teil des Dezimationsfilters 720 arbeitet mit einer Rate
des Taktsignals CKOS. Der nachgeschaltete Teil arbeitet mit einer
niedrigeren, dezimierten Rate des Takts CKM. In einem veranschaulichenden
Ausführungsbeispiel
ist das Dezimationsfilter 720 ein Kammfilter dritter Ordnung.
-
Das
analoge Eingangssignal an den A/D-Umsetzungssignalpfad 90 stellt
eine Eingabe direkt an den Multiplexer 8 bereit. Das analoge
Eingangssignal, das mit einem programmierbaren Verstärkungsfaktor
G1 in dem Multiplizierer 12 multipliziert wird, wird als
die andere Eingabe an den Multiplexer 8 bereitgestellt.
Der Multiplexer 8 reagiert auf einen Auswahleingang 40,
um selektiv eines seiner analogen Eingangssignale als sein analoges
Ausgangssignal bereitzustellen.
-
Das
analoge Ausgangssignal, das durch den Multiplexer 8 bereitgestellt
wird, wird durch den analogen Sigma-Delta-Modulator 716 als
dessen Eingabe empfangen. Der analoge Sigma-Delta-Modulator, der
vom Zittergenerator (Dither Generator) 26 ein Zittersignal
empfangen kann, wandelt das skalierte analoge Eingangssignal in
einen 1-Bit-per-Abtastwert ersten digitalen Datenstrom. Wie es im
Stand der Technik bekannt ist, wird der 1-Bit-per-Abtastwert erste
digitale Datenstrom, der durch einen Sigma-Delta-Modulator erzeugt
wird, von einem Signal, repräsentiert
durch Nullen und Einsen (vorzeichenloses Datenformat), zu einem
2-Bit-per-Abtastwert-Signal, repräsentiert durch Minus-Einsen
und durch Plus-Einsen, umgesetzt, welche konsistent sind mit Komplementen
aus Zwei oder dem Vorzeichen-Größe-Format
(Sign-Magnitude Format). Eine derartige Signaldarstellung hat einen
Mittelpunkt repräsentiert durch
Null, kann die Form eines Zwei-Komplement-Worts einnehmen und hat
ein Vorzeichen zugehörig
zu jedem Wert. Der Ausgang des analogen Sigma-Delta-Modulators 716 stellt
eine Eingabe an den Multiplexer 28 bereit. Der Multiplexer 28 reagiert
auf den Benutzer-bestimmten Auswah leingang 30, um selektiv
eines seiner Eingangssignale an seinem Ausgang bereitzustellen.
Der Ausgang des Multiplexers 28 wird als Eingabe an das
Dezimationsfilter 720 bereitgestellt.
-
Das
Dezimationsfilter 720 filtert und dezimiert den 1-Bit-per-Abtastwert
ersten digitalen Datenstrom in einen 20-Bit-per-Abtastwert zweiten
digitalen Datenstrom mit der Frequenz des Takts CKM1. Der Filtervorgang
entfernt Energie außerhalb
des Bands. In der veranschaulichenden Ausführungsform ist das Dezimationsfilter 720 ein
Kammfilter dritter Ordnung.
-
Der
Barrel-Shift-Selektor 34 empfängt den zweiten digitalen Datenstrom
von dem Ausgang des Dezimationsfilters 720, bis zu 20 Bits
per Abtastwert, und erzeugt als eine Ausgabe einen dritten digitalen Datenstrom,
der 17 Bits per Abtastwert umfasst. Der Barrel-Shift-Selektor 34 ist
programmierbar und kann variabel eingestellt werden, um eines von
vier möglichen
Bitfeldern auszuwählen:
Bits 0–16,
1–17,
2–18 oder
3–19.
-
Die
17-Bit-per-Abtastwert dritte digitale Datenstromausgabe des Barrel-Shift-Selektors 34 versorgt
den Eingang der Sättigungsschaltung 36 über den
Multiplexer 38. Die Ausgabe des Barrel-Shift-Selektors 34 wird
direkt als eine Eingabe an den Multiplexer 38 bereitgestellt.
Die Ausgabe des Barrel-Shift-Selektors 34 wird
multipliziert mit dem Verstärkungsfaktor
1/G1 in dem Multiplizierer 42 und dient als andere Eingabe
an den Multiplexer 38. Ein Zittersignal des Generators 26 kann
der Verstärkungsskalierung
hinzugefügt
werden. Der Multiplexer 38 reagiert auf den Auswahleingang 40,
um selektiv eines seiner Eingangssignale an seinem Ausgang bereitzustellen.
-
Die
Multiplexer 8 und 38 reagieren beide auf den Auswahleingang 40 derart,
dass wenn das Eingangssignal an den Multiplexer 8 ausgewählt wird, welches
mit dem Verstärkungsfaktor
G1 multipliziert wird, das Eingangssignal an den Multiplexer 38 ausgewählt wird,
das mit dem Verstärkungsfaktor
1/G1 multipliziert wird. Eine Verstärkungsskalierung, die eine
Verstärkung
G1 und 1/G1 anwendet, resultiert in einer Pulscode-modulierten Ausgabe
des Multiplexers 38, die dem Vollbereich entspricht, und
einer 0 dB-Referenz, wenn das analoge Eingangssignal an den analogen
Sigma-Delta-Modulator 716 geringer ist als es dem Vollbereich
entspricht. Die Verstärkung G1
wird ausgewählt,
um eine Verstärkung
von 1 aufrechtzuerhalten. Auf diese Weise wird erreicht, dass die
absolute Verstärkung
des Analog-zu-Digital-Signalpfads (Eingang des Multiplexers 8 zum
Ausgang des Multiplexers 38) die gleiche ist, ob die Verstärkungsskalierung
angewendet wird oder nicht.
-
Die
Sättigungsschaltung 36 empfängt die 17-Bit-per-Abtastwert
vierte digitale Datenstromausgabe vom Multiplexer 38 und
reduziert jeden Datenabtastwert zu einem 16-Bit-Abtastwert. Die
Ausgabe der Sättigungsschaltung 36 ist
ein 16-Bit-per-Abtastwert fünfter
digitaler Datenstrom.
-
Die
16-Bit-per-Abtastwert fünfte
digitale Datenstromausgabe der Sättigungsschaltung 36 wird
in ein First-In-First-Out(FIFO)-Register 44 eingespeist. Das
Register 44 speichert einige solcher Abtastwerte von Daten.
Von dem FIFO-Register 44 werden die 16-Bit-Abtastwerte
zeitweilig an das Register 46 transferiert, bevor sie in
den Speicher mit wahlfreiem Zugriff (Random Access Memory; RAM) 48 geschrieben
werden. Das RAM 48 ist Teil des digitalen Signalprozessors
(DSP) 50. Ein digitaler Signalprozessor DSP ist ein Mikroprozessor
für einen
speziellen Zweck, entwickelt um effizient mathematische Operationen
an digitalen Echtzeitdaten durchzuführen. Die Abtastwerte werden über den
internen Datenbus 52 transferiert, gesteuert durch das
Tiefen-Flag (Depth Flag) 54 und das Unterbrechungs-Flag
(Interrupt Flag) 56.
-
Der
Digital-zu-Analog-Umsetzungssignalpfad wandelt digitale Daten von
dem RAM 48 des DSP 50 in eine analoge Form an
dem Ausgang des analogen Demodulators 22. Digitale Daten
des RAM 48 des DSP 50, die zur Wandlung in die
analoge Form vorgesehen sind, werden als ein 16-Bit-Abtastwert zeitweilig
in das Register 58 geschrieben. Jeder 16-Bit-Abtastwert
wird sodann an das FIFO 64 übertragen, gesteuert durch
das Tiefen-Flag (depth flag) 60, das Status-Flag 61 und
das Unterbrechungs-Flag 62. Die Ausgabe des FIFO 64 ist
ein 16-Bit-per-Abtastwert sechster digitaler Datenstrom. Der sechste digitale
Datenstrom wird in das Interpolationsfilter 78 über den
Multiplexer 68 eingegeben. Die sechste digitale Datenstromausgabe
des FIFO 64 wird direkt als eine der Eingaben an den Multiplexer 68 bereitgestellt.
Der sechste digitale Datenstrom wird multipliziert mit dem Inversen
der Verstärkung
G2 in dem Multiplizierer 72 und bildet die andere Eingabe
an den Multiplexer 68. Der Multiplexer 68 reagiert
auf einen Auswahleingang 70, um selektiv eines seiner Eingangssignale
als sein Ausgangssignal bereitzustellen. Die Ausgabe des Multiplexers 68 ist
ein siebter digitaler Datenstrom.
-
Der
siebte digitale Datenstrom wird als die Eingabe des Interpolationsfilters 78 bereitgestellt. Das
Interpolationsfilter 78 empfängt die Takte CKL1 und CKL2.
Der Takt CKL1 ist der Takt CKOS geteilt durch den Interpolationsfaktor
L1. Der Takt CLK2 ist der Takt CLK1 geteilt durch den Interpolationsfaktor L2.
Die Ausgabe des Interpolationsfilters 78 ist ein 27-Bit-per-Abtastwert
achter digitaler Datenstrom. Das Interpolationsfilter 78 ist
in einer veranschaulichenden Ausführungsform ein Kammfilter dritter
Ordnung, welches Energie außerhalb
des Bands entfernt und den achten digitalen Datenstrom mit einer
Frequenz erzeugt, welche die Überabtastungs-Frequenz geteilt
durch L1 ist. Der vorgeschaltete Teil des Interpolationsfilters 78 arbeitet
mit der niedrigeren Taktrate CLK2. Der nachgeschaltete Teil arbeitet
mit der höheren
Taktrate CLK1.
-
Der
achte digitale Datenstrom stellt die Eingabe an den Barrel-Shift-Selektor 80 bereit.
Der Barrel-Shift-Selektor 80 empfängt den 27-Bit-per-Abtastwert
achten digitalen Datenstrom von dem Ausgang des Interpolationsfilters 78 und
selektiert einen Bereich von 17 Bits per Abtastwert zur Bereitstellung
als seine Ausgabe in Form eines neunten digitalen Datenstroms. Der
Bereich des Barrel-Shift-Selektors
ist programmierbar. In der beispielhaften Ausführungsform gibt es elf mögliche 17-Bit-Bereiche.
In einer veranschaulichenden Ausführungsform wird der Bereich
des Barrel-Shift-Selektors 80 derart programmiert, um eines
der oberen sieben Bitfelder zu selektieren: 4–20; 5–21; 6–22; 7–23 bis 10–26.
-
Die
Sättigungsschaltung 82 empfängt die 17-Bit-per-Abtastwert
neunte digitale Datenstromausgabe vom Barrel-Shift-Selektor 80 und
reduziert jeden Abtastwert auf 16 Bits, um einen zehnten digitalen
Datenstrom im Wesentlichen auf die gleiche Weise bereitzustellen
wie die Sättigungsschaltung 36.
-
Das
Interpolationsfilter 84 empfängt den zehnten digitalen Datenstrom
und arbeitet mit der Überabtastungs-Taktrate
geteilt durch den programmierbaren Teilungsfaktor L1. Der vorgeschaltete
Teil des Interpolationsfilters 84 arbeitet mit der niedrigeren
Taktrate CKL1. Der nachgeschaltete Teil arbeitet mit der höheren Taktrate
CKOS. In einer veranschaulichenden Ausführungsform ist das Interpolationsfilter 84 ein
Kammfilter erster Ordnung, welches Energie außerhalb des Bands entfernt
und einen elften digitalen Datenstrom als eine Ausgabe erzeugt.
-
Die
elfte digitale Datenstromausgabe des Interpolationsfilters 84 ist
als Eingabe des digitalen Sigma-Delta-Modulators 18 mit
diesem verbunden. In einer veranschaulichenden Ausführungsform
ist der digitale Sigma-Delta-Modulator 18 von zweiter Ordnung.
Der Modulator 18 kann ein Zittersignal des Zittergenerators 26 empfangen
und konvertiert die 16-Bit-per-Abtastwert-Daten in einen 1-Bit-per-Abtastwert
zwölften
digitalen Datenstrom.
-
Die
Ausgabe des digitalen Sigma-Delta-Modulators 18 stellt
eine Eingabe an den Multiplexer 86 bereit. Der Multiplexer 86 reagiert
auf den Auswahleingang 88, um selektiv eines der Eingangssignale an
seinem Ausgang bereitzustellen. Die Ausgabe des Multiplexers ist
ein 1-Bit-per-Abtastwert dreizehnter digitaler Datenstrom.
-
Der
analoge Demodulator 22 ist ein 1-Bit-Sample-and-Hold-Umsetzer,
welcher den 1-Bit-per-Abtastwert dreizehnten digitalen Datenstrom,
empfangen vom Multiplexer 86, in ein schrittweise kontinuierliches
analoges Ausgangssignal konvertiert. Der analoge Demodulator 22 enthält ein oder
mehrere analoge Filter, wie im Stand der Technik bekannt, um das
analoge Ausgangssignal zu glätten.
Das analoge Ausgangssignal des analogen Demodulators 22 wird
direkt als eine der Eingaben an den Multiplexer 96 bereitgestellt
und wird mit der Verstärkung
G2 in dem Multiplizierer 94 multipliziert, um die andere
Eingabe an den Multiplexer 96 bereitzustellen. Die Verstärkung G2
kann in jeder bekannten Weise geschaffen werden. Der Multiplexer 96 reagiert
auf den Auswahleingang 70, um selektiv eines seiner Eingangssignale
als sein Ausgangs signal bereitzustellen. Die Ausgabe des Multiplexers 96 ist
ein analoges Signal. Die Multiplexer 68 und 96 reagieren beide
auf den Auswahleingang 70 in der Weise, dass, wenn die
Eingabe an den Multiplexer 68 ausgewählt wird, die mit Verstärkung 1/G2
multipliziert wird, die Eingabe an den Multiplexer 96 ausgewählt wird, die
mit der Verstärkung
G2 multipliziert wird. Die Verstärkung
G2 wird derart ausgewählt,
um eine Verstärkung
von 1 beizubehalten. Auf diese Weise ist die absolute Verstärkung des
Digital-zu-Analog-Signalpfads (von der Eingabe des Multiplexers 68 bis
zur Ausgabe des Multiplexers 96) die gleiche, unabhängig davon,
ob eine Verstärkungsskalierung
angewandt wird. Obgleich der Multiplizierer 94 und der Multiplexer 96 als
dem analogen Demodulator 22 nachgeschaltet gezeigt sind,
könnten
sie an dem Eingang oder innerhalb des analogen Demodulators eingebunden
werden.
-
Der
Pulscode-modulierte digitale Datenstrom an dem Ausgang des Dezimationsfilters 720 oder
Barrel-Shift-Selektors 34 hat eine Pulscodedichte, die
proportional ist zu der analogen Signaleingabe an dem analogen Sigma-Delta-Modulator 716.
Wenn das analoge Eingangssignal sich einer vorbestimmten positiven
Höhe nähert, nähert sich
die Pulscodedichte einem Strom von Einsen (für eine vorbestimmte negative
Höhe einem
Strom von Minus-Einsen). An einer vorbestimmten Pulscodedichte,
die geringer ist als ein Strom von Einsen, erreicht der Signalrauschabstand
(Signal-to-Noise-Ratio SNR) ein Maximum, welches sein Optimum ist.
Diese vorbestimmte Pulscodedichte weist ein entsprechendes analoges Eingangsniveau
an dem Eingang des analogen Sigma-Delta-Modulators 716 auf. Analoge
Eingangssignalgrößen größer als
das oben erwähnte
entsprechende analoge Eingangsniveau führen zur Erzeugung einer Größe der Pulscodedichte,
die sich weiterhin einem Strom von Einsen nähert während der Signalrauschabstand
SNR sich verschlechtert, wie in 2 gezeigt.
-
Der
Verlauf, wie in 2 gezeigt, wurde empirisch bestimmt.
Es ist der tatsächliche
Verlauf des Signalrauschabstandes grafisch dargestellt. Eine Linie
mit der durchschnittlichen Neigung des Verlaufs ist durch den niedrigeren
Signalniveaubereich gezeichnet und darüber hinaus verlängert, um
die vertikale Ach se zu schneiden. Auf diese Weise erhält man einen
idealen, linearen Signalrauschabstand als eine Funktion des Signalniveaus.
-
An
dem maximalen Signalrauschabstand ist die Neigung des Kurvenverlaufs
Null. Die Pulscodedichte, ausgedrückt als ein Anteil, an dem
maximalen Signalrauschabstand ist PPCD.
Es ist erstrebenswert, den Codierer 90 und Decodierer 92 mit
einer derartigen Verstärkungsskalierung
zu versehen, dass die Vollbereichs-PCM-Ausgabe an einem Punkt auf
dem SNR-Kurvenlauf auftrifft, an dem der Signalrauschabstand SNR
an seinem oder in der Nähe
seines Maximums ist. Wenn die Verstärkungsskalierung die Verstärkungen
1/G1 und 1/G2 anwendet, ist PPCD Pulscodemodulation
PCM aus dem Vollbereich. Dies ist in dem gestrichelten Kurvenverlauf
der 2 gezeigt, in welchem der maximale Punkt auf der SNR-Kurve
der PCM aus dem Vollbereich entspricht. Bei einem Sigma-Delta-Modulator
zweiter Ordnung tritt das Maximum auf, wenn PPCD eine
Größe von ungefähr acht
Zehntel aufweist, was ungefähr –2 dB entspricht.
Bei Sigma-Delta-Modulatoren höherer Ordnung
tritt das Maximum an einer niedrigeren Pulscodedichte auf, entsprechend
ungefähr –5 dB, abhängig von
der Charakteristik des Modulators. In dem Codierer 90 hat
der Verstärkungsfaktor
an dem maximalen SNR (bezeichnet 1/G1), verwendet in der Multiplikation
des Multiplizierers 42, eine Größe, die das Inverse von PPCD ist. Da in der veranschaulichenden Ausführungsform
PPCD ungefähr 0,8 ist, ist der Verstärkungsfaktor
1,25. Auf diese Weise multipliziert der Multiplizierer, wenn der
analoge Sigma-Delta-Modulator 716 einen digitalen Datenstrom
mit einer Pulscodedichte von 0,8 erzeugt, den digitalen Datenstrom
mit 1/G1, um die Pulscodedichte derart anzuheben, dass die normierte
Pulscodedichte des digitalen Datenstroms an dem Ausgang des Multiplizierers 42 das
größte Ausmaß hat, das
dieses PCM-Wort enthalten kann. Diese Verstärkungsskalierung nutzt den
vollen dynamischen Bereich aus, während ein Informationsverlust
infolge von Übersteuerung
verhindert wird. Die Verstärkung
1/G1 in dem Multiplizierer 42 entspricht der optimalen
Pulscodedichte an dem Ausgang des analogen Sigma-Delta-Modulators 716,
um den besten Signalrauschabstand zu erreichen. Obgleich Verstärkungen unterschiedlich
zu 1/G1 in dem Multiplizierer 42 funktionieren werden,
werden solche Verstärkungen
nicht optimal sein. Dieses Verhältnis
zwischen der Pulscodedichte und der Multiplikationsverstärkung wird unabhängig davon
angestrebt, ob die Verstärkung durch
ein Zittersignal beeinflusst ist oder gerundet wird. Die Sättigungsschaltung 36 verhindert
sogenannte arithmetische Wraparound-Effekte für Eingangsgrößen, die
größer sind
als der Wert, der das größte Ausmaß erzeugt,
welches das PCM-Wort enthalten kann, führt jedoch Begrenzungsverzerrung ein.
Obgleich die bevorzugte Ausführungsform
einen optimalen SNR offenbart, der auch der maximale SNR ist, kann
es für
manche Anwendungen erstrebenswert sein, als ein Optimum einen SNR
auszuwählen,
der nicht maximal ist, jedoch in der Nähe des Maximalen ist. Solch
ein optimaler SNR würde
typischerweise bei einer etwas höheren
Pulscodedichte auftreten, als der maximale SNR. Dies würde es erlauben,
einen SNR zu erhalten, der nur etwas geringer ist als das Maximum,
während
der dynamische Bereich erweitert wird.
-
Das
Dithern kann unabhängig
vom Runden angewandt werden. Sobald Dithern eingeführt wird, muss
eine Entscheidung getroffen werden, ob gerundet oder gekürzt wird.
Unabhängig
von dem Dithern sind die Verzerrungscharakteristiken als Folge des Kürzens generell
weniger erstrebenswert als diejenigen als Folge der Rundung. Ein
weiter Bereich von Verstärkungen
kann Dithern und Kürzung,
oder Dithern und Rundung nutzbar machen. Das Dithern, welches bekannt
ist im Stand der Technik, kann jede bekannte Wahrscheinlichkeits-Dichtefunktion
aufweisen, wie z.B. eine dreieckige oder rechteckige Wahrscheinlichkeits-Dichtefunktion, und
hat typischerweise ein Mittel von Null. Aus einer statistischen
Sichtweise ist ein Dithern, welches eine dreieckige Wahrscheinlichkeits-Dichtefunktion umfassend
zwei niedrigstwertige Bits aufweist, besser als ein Dithern, welches
eine rechteckige Wahrscheinlichkeits-Dichtefunktion umfassend ein
niedrigstwertiges Bit aufweist, weil das zweite Moment der Korrelation nahezu
Null ist. Ein Dithern gemäß einer
rechteckigen Wahrscheinlichkeits-Dichtefunktion
kann in vielen Applikationen mit akzeptablen Resultaten angewandt
werden. In der veranschaulichenden Ausführungsform kann das Dithern
aktiviert oder deaktiviert werden.
-
3 ist
eine schematische Darstellung einer Ausführungsform der Erfindung, die
Dithern und Rundung in einer Verstärkungsstufe von größer als Eins
implementiert. Betrachtet man den Multiplizierer 42, wo
es erwünscht
ist, ein 17- Bit-Wort
in ein 16-Bit-Wort zu dithern und zu runden. Betrachte als numerisches
Beispiel eine Verstärkung
1/G1, die 5/4 ist. Dithern und Rundung werden erreicht, indem die 17
Bits genommen werden, 2 Bits mit dem Dithern hinzu addiert werden,
dann die Übertragungsoperation
durchgeführt
wird, wenn gekürzt
wird, um eine Länge
von 16 Bits zu erhalten, was in ein 16-Bit-Wort resultiert, was
einem Dithern unterzogen und gerundet wurde.
-
Zwei
Dither-Bits D1 und D2 werden vom Zittergenerator 26 auf
dem Bus 100 empfangen. Typischerweise werden die Dither-Bits
D1 und D2 jeweils in Speichern (latches) 102 und 104 zwischengespeichert.
Die Dither-Bits sind pseudo-zufällig
und nehmen entweder den logischen Wert 1 oder den logischen Wert
0 ein. Die Dither-Bits können
mit einem p-n Sequenzgenerator generiert werden, ebenso bekannt
als ein Schieberegister-Sequenzgenerator, wie in „Shift
Register Sequences" von
S. W. Golomb gelehrt.
-
Unter
Berücksichtigung,
dass 5/4 äquivalent ist
zu 4/4 + 1/4 und dass die Multiplikation mit 4 äquivalent ist zu einer 2-Bit-Linksverschiebung,
kann eine Verstärkung
von 5/4 mit Dithern und Rundung eingerichtet werden, wie in 3 dargestellt.
Das 17-Bit-Wort wird als die B-Eingabe an eine Serie von Addierern
bereitgestellt. Die verschobene Version des 17-Bit-Worts wird als
die A-Eingabe an die Serie von Addierern bereitgestellt. Die 17
Bits, b0–b16,
eines vom Barrel-Shift-Selektor 34 empfangenen Worts werden
auf dem Bus 106 empfangen und als die Eingabe jeweils an
den B-Eingang der 1-Bit-Volladdierer 200 bis 216 bereitgestellt.
Das Bit b16 wird ebenfalls als die B-Eingabe an die 1-Bit-Volladdierer 217 und 218 als
eine Vorzeichenerweiterung bereitgestellt. Die Dither-Bits D1 und
D2 werden als die A-Eingabe an die Addierer 200 und 201 bereitgestellt.
Die A-Eingaben der Addierer 202 bis 218 sind die
Bits b0–b16,
so dass ihre Position wirksam um 2 Bits nach links verschoben ist.
Der Übertrag-Ausgang
eines jeden Addierers 200–217 ist gekoppelt
an den nächsten
höher-zähligen Addierer
und versorgt den Übertrag-Eingang desselben.
Der Übertrag-Ausgang
des Addierers 218 wird nicht berücksichtigt.
-
Die
summierte Ausgabe eines jeden Addierers 202 bis 218 versorgt
einen der Eingänge
an jedem der Addierer 302 bis 318. Der zweite
Eingang an jedem der Addierer 303–318 ist eine logische
0 als Folge der Kopplung an den Massebus 320. Die Addierer 302–318 sind
als Volladdierer gezeigt, jedoch würden Halbaddierer ausreichen.
Der Übertrag-Ausgang
eines jeden Addierers 302–317 ist gekoppelt
an den nächsten
höher-zähligen Addierer
und versorgt den Übertrag-Eingang
desselben. Der Übertrag-Ausgang
des Addierers 318 wird nicht berücksichtigt. Die zweite Eingabe
an den Addierer 302 ist die Summenausgabe des Addierers 201.
Diese Eingabe an den Addierer 302 von der Summenausgabe
des Addierers 201, wenn addiert zu der Summenausgabe des Addierers 202,
stellt die Rundung des niedrigstwertigen Bits bereit. In den Addierern 200–218 ist
der Binärpunkt
zwischen den zwei Addierern 201 und 202, deren
Summenausgaben zwei Eingaben an den Addierer 302 bereitstellen.
Daher ist der Binärpunkt links
von den Addierern, denen ein Zittersignal hinzugefügt wird.
Die Summenausgabe des Addierers 302 ist das niedrigstwertige
Bit des gerundeten Ergebnisses, mit dem Binärpunkt rechts von dem Summenausgang
des Addierers 302. Die anderen höherwertigen Bits werden durch Übertragung
der Übertrag-Ausgabe
des Addierers 302 durch die Addierer 303–318 hindurch
erzeugt. Die Summenausgabe des Addierers 200 wird nicht
berücksichtigt.
-
Die
Multiplexer 352 bis 368 empfangen jeweils zwei
Eingaben. Wie in 3 gezeigt, ist eine der Eingaben
vom Bus 106 und die andere Eingabe ist das entsprechende
Bit eines Worts, das mit 1/G1 multipliziert wurde, einem Dither-Verfahren unterzogen
wurde, und gerundet wurde. Jeder der Multiplexer 352 bis 368 empfängt die
zweite Eingabe von dem Summenausgang der jeweiligen Addierer 302–318.
Wie oben erwähnt,
kann die Verstärkung zusammen
mit dem Dithern und der Rundung eingeführt oder überbrückt werden, bestimmt durch
den Auswahleingang 40 des Multiplexers 38. Die
Multiplexer 352 bis 368 bilden zusammen den Multiplexer 38.
Jeder der Multiplexer 352 bis 368 reagiert auf
den Auswahleingang 40, um selektiv eines der Eingangssignale
an seinem Ausgang bereitzustellen. Die 17-Bit-Ausgabe, entweder
b'16–b'0 oder b16–b0, wird
dem Ausgang der Multiplexer 368–352 entnommen.
-
Das
Dithern und die Rundung in der Verstärkungsskalierung bietet die
Vorteile des Bleichens des Energiespektrums und der Auflösung von
Signalen unterhalb des niedrigstwertigen Bits. Während das obige Beispiel das
Dithern in Kombination mit der Rundung erwähnt, kann das Dithern unabhängig von der
Rundung angewandt werden. Sobald das Dithern eingeführt wird,
wird eine Wahl getroffen, ob das (die) niedrigstwertige(n) Bit(s)
gerundet oder gekürzt wird/werden.
Das Dithern in der Verstärkungsskalierung
reduziert das Ausmaß der
harmonischen Verzerrungskomponenten in dem Energiespektrum als Folge
von Kürzung
oder Rundung derart, dass es innerhalb des Rauschens ist, typischerweise
mehr als 100 dB unterhalb des Vollbereichs-Signalniveaus für 16-Bit-Wörter.
-
Die
Verstärkungsskalierung
ist ebenso enthalten in dem Digital-zu-Analog-Signalpfad 92. Eine Verstärkungsstufe,
die Dithern und Rundung einschließt, mit einer Verstärkung von
weniger als 1 ist in 4 dargestellt. Idealerweise
würde die
Verstärkung
1/G2 identisch sein zur Verstärkung
1/G1 in der veranschaulichenden Ausführungsform, da der Codierer
und Decodierer beide einen Sigma-Delta-Modulator zweiter Ordnung
enthalten. Die gezeigte Verstärkung
ist 3/4, die typisch ist für
die Größe der Verstärkung, die
im Multiplizierer 72 einbezogen ist. Es wurde eine Verstärkung von
3/4 verwendet aus Nutzungsgründen
hinsichtlich der Implementation, wobei auf etwas dynamischen Bereich
verzichtet wurde, etwa 0,56 dB. Dies führt dazu, dass der Decoder
bei einem SNR arbeitet, der etwas geringer ist als der maximale
Punkt. Der Multiplizierer 72 empfängt ein 16-Bit-Wort, dithert
und rundet das 16-Bit-Wort, wobei ein 16-Bit-Wort an seinem Ausgang
erzeugt wird. Zwei Dither-Bits D1 und D2 werden vom Zittergenerator 26 auf
dem Bus 100 empfangen und jeweils in den Speichern (Latches) 402 und 404 zwischengespeichert.
Wie oben erwähnt,
sind die Dither-Bits entweder eine logische 1 oder eine logische
Null und sind pseudozufällig.
-
Unter
Berücksichtigung,
dass 3/4 äquivalent ist
zu 4/4 minus 1/4 und dass die Multiplikation mit 4 äquivalent
ist zu einer 2-Bit-Linksverschiebung, kann eine Verstärkung von
3/4 mit Dithern und Rundung eingerichtet werden, wie in 4 gezeigt.
Eine verschobene Version des 16-Bit-Worts empfangen, von dem First-in-First-out-Register 64,
wird als die A-Eingabe an die Serie von Volladdierern bereitgestellt. Das
16-Bit-Wort empfangen vom First-in-First-out-Register 64 wird als die
B-Eingabe an die Serie von Volladdierern bereitgestellt. Die Dither-Bits
D1 und D2 werden als die A-Eingabe an die Addierer 500 und 501 bereitgestellt.
Die A-Eingaben der Addierer 502–517 sind Bits b0–b15, so
dass ihre Position wirksam um 2 Bits nach links verschoben ist.
Die 16 Bits, b0–b15,
eines vom First-in-First-out-Register 64 empfangenen Worts werden
auf dem Bus 406 empfangen und als jeweilige Eingabe an
den B-Eingang von 1-Bit-Vollsubtrahierern 500–515 bereitgestellt.
Das Bit b15 wird ebenso als die B-Eingabe an 1-Bit-Volladdierern 516 und 517 als
eine Vorzeichenerweiterung bereitgestellt. Die B-Eingabe an jeden
Addierer wird von der A-Eingabe subtrahiert. Der Übertrag-Ausgang
eines jeden Addierers 500–516 ist gekoppelt
an den nächsten
höher-zähligen Addierer
und liefert die Übertrag-Eingabe
an diesen. Die Übertrag-Ausgabe
vom Addierer 517 wird nicht berücksichtigt. Die Übertrag-Eingabe
an den Addierer 500 ist 0 infolge einer Verbindung mit
Masse.
-
Die
summierte Ausgabe eines jeden Addierers 502 bis 517 versorgt
einen der Eingänge
zu jedem der Addierer 602 bis 617. Die zweite
Eingabe an jeden der Addierer 603 bis 617 ist
eine logische 0 als Folge der Kopplung an den Massebus 620.
Die Addierer 602 bis 617 sind als Volladdierer
gezeigt, jedoch werden Halbaddierer ausreichen. Der Übertrag-Ausgang
eines jeden Addierers 602 bis 616 ist gekoppelt
an den nächsten
höher-zähligen Addierer und
liefert die Übertrag-Eingabe
an denselben. Die Übertrag-Ausgabe
des Addierers 617 wird nicht berücksichtigt. Die zweite Eingabe
an den Addierer 602 ist die summierte Ausgabe des Addierers 501.
Diese Eingabe an den Addierer 602 von der Summenausgabe
des Addierers 501 liefert eine Rundung des niedrigstwertigen
Bits, wenn sie zu der Summenausgabe des Addierers 502 addiert
wird. In den Addierern 500–517 ist der Binärpunkt zwischen
den zwei Addierern 501 und 502, deren Summenausgaben zwei
Eingaben an den Addierer 602 bereitstellen. Deshalb ist
der Binärpunkt
links von den Addierern, denen ein Dither-Signal hinzugefügt wird.
Die Summenausgabe des Addierers 602 ist das niedrigstwertige
Bit des gerundeten Ergebnisses, wobei der Binärpunkt rechts von dem Summenausgang
des Addierers 602 positioniert ist. Die anderen höher wertigen
Bits werden durch Übertragung
der Übertrag-Ausgabe
des Addierers 602 durch die Addierer 603–617 hindurch
erzeugt. Die Summenausgabe des Addierers 500 wird nicht
berücksichtigt.
-
Die
Multiplexer 652 bis 667 empfangen jeweils zwei
Eingaben. Wie in 4 gezeigt, ist eine der Eingaben
vom Bus 406 und die andere Eingabe ist das entsprechende
Bit eines Worts, das mit 1/G2 multipliziert, einem Dither-Verfahren
unterzogen, und gerundet wurde. Jeder der Multiplexer 652–667 empfängt die
zweite Eingabe von dem Summenausgang des jeweiligen Addierers 602–617.
Wie oben erwähnt,
kann die Verstärkung
mit dem Dithern und der Rundung eingesetzt oder überbrückt werden, bestimmt durch
den Auswahleingang 70 des Multiplexers 68. Die
Multiplexer 652–667 bilden
zusammen den Multiplexer 68. Jeder der Multiplexer 652–667 reagiert
auf den Auswahleingang 70, um selektiv eines der Eingangssignale
an seinem Ausgang bereitzustellen. Die 16-Bit-Ausgabe, entweder
b'15–b'0 oder b15–b0, wird
dem Ausgang der Multiplexer 667–652 entnommen.
-
2 ist
ebenso anwendbar auf den Digital-zu-Analog-Umsetzungssignalpfad,
da der digitale Sigma-Delta-Modulator 18 ebenso von zweiter
Ordnung ist. Die mit der Verstärkung
1/G2 eingeführte Dämpfung stellt
sicher, dass der Pulscode-modulierte digitale Datenstrom an dem
Ausgang des digitalen Sigma-Delta-Modulators 18 niemals
einen Datenstrom von Einsen erreicht. Die Verstärkung G2, obgleich nicht das
Optimum, macht sich die Teilung durch 4 zunutze, die eine 2-Bit-Verschiebung
ist. Die Pulscodedichte an dem Eingang des digitalen Sigma-Delta-Modulators 18 ist
begrenzt, um nicht G2 mit Multiplikation der Eingabe an den Multiplizierer 72 mit einer
Verstärkung
1/G2 zu überschreiten.
-
Obgleich
eine Form der Multiplikation oben beschrieben wurde, kann die Multiplikation
wirksam in vielen Arten und Weisen erzielt werden. Eine Multiplikation
kann wirksam in einer Software in einer Bit-Verschiebungsoperation
erzielt werden, wobei eine Verstärkung
in ein Filter einbezogen wird, oder in einem Hardware-Filter. Die
Verstärkung
und das Dithern kann innerhalb des DSP geleistet werden.
-
Die
Verstärkungsskalierung
wurde in den D/A-Pfad mit der niedrigsten Abtastrate eingeführt: Jedoch
ist die Erfindung nicht darauf limitiert. Eine Verstärkungsskalierung
könnte
an jedem Punkt entlang des D/A-Pfades vor dem digitalen Sigma-Delta-Modulator
eingeführt
werden. Ein Vorteil, wenn die Verstärkungsskalierung mit der höheren Datenrate unmittelbar
vor dem digitalen Sigma-Delta-Modulator 18 eingeführt wird,
ist, dass das Rauschen, das durch das Dithern hinzugefügt wird, über ein
breiteres Frequenzspektrum verteilt wird, so dass das Rauschen innerhalb
des Bands geringer ist. Jedoch verlangt die Implementierung einer
Verstärkungsskalierung
mit der höheren
Rate eine komplexere Verschaltung.
-
Der
analoge Sigma-Delta-Modulator 716, das Dezimationsfilter 720,
der digitale Sigma-Delta-Modulator 18, das Interpolationsfilter 78,
und das Interpolationsfilter 84 sind oder enthalten Filter.
Obgleich die Ordnung dieser Filter für die veranschaulichende Ausführungsform
angegeben wurde, ist die Erfindung nicht auf die angegebenen Ordnungen
beschränkt.
-
Obwohl
die Verstärkungen
G1 und 1/G1, ebenso wie die Verstärkungen G2 und 1/G2, derart veranschaulicht
wurden, dass sie eine Verstärkung von
1 in dem Analog-zu-Digital- und Digital-zu-Analog-Signalpfad jeweils
wiedergeben, ist eine Verstärkung
von 1 nicht notwendig. Vorzugsweise sollte die Verstärkung vor
dem Sigma-Delta-Modulator in einem Signalpfad geringer als 1 sein.
-
Die
Erfindung ist nicht auf die numerischen Werte limitiert, die verwendet
wurden, um die veranschaulichende Ausführungsform anzugeben. Die Ausgabe
mit einer bestimmten Bitbreite von verschiedenen Elementen, die
Ordnung der verschiedenen Filter, die Bereiche für die Interpolations- und Dezimationsfaktoren
und die Ausgabefelder und -bereiche für den Barrel-Shift-Selektor
und die Anzahl der Bits der Sättigung
und dergleichen sind exemplarisch in der veranschaulichten Ausführungsform.
-
Obgleich
die veranschaulichende Ausführungsform
der Erfindung nicht derart beschrieben wurde, dass sie sogenanntes
Pipelining oder Parallelisierung zur Reduktion von Latenzzeiten
enthält, würde ein
Fachmann die erweiterte rechentechnische Leistungsfähigkeit,
welche durch Gebrauch solcher Methoden verfügbar würde, erkennen.