-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der US-Anmeldung Nr. 12/874,654, eingereicht am 2. September 2010, die den Nutzen der (einer) vorlaufigen U.S.-Anmeldung Nr. 61/305,609, eingereicht am 18. Februar 2010, beansprucht, deren gesamter Inhalt durch Verweis vollständig hierin aufgenommen wird.
-
HINTERGRUND
-
Es ist bekannt, dass Analog-Digital-Wandler (ADCs) in der Praxis mit verschiedenen Fehlern behaftet sind, beispielsweise Offset-, Verstärkungs- und Linearitätsfehlern. Diese Fehler stammen aus verschiedenen Quellen, etwa aus nicht idealen Abständen von Transistorniveaus und Taktjitter, um nur einige zu nennen. Diese Fehler tragen wesentlich zur Verschlechterung der Breitbandleistungsfähigkeit des ADC bei. Auch bei überdurchschnittlicher Gestaltung der einzelnen analogen Komponenten des ADC kann möglicherweise nicht die gewünschte Leistungsfähigkeit erzielt werden. In solchen Fällen kann digitale Nachbearbeitung genutzt werden, um die zusätzliche Verbesserung bereitzustellen, die zum Erreichen der angestrebten Leistungsfähigkeit benötigt wird.
-
Gemäß einem im Stand der Technik verfolgten Ansatz wird der ADC in einem Kalibrierungsmodus mit einem an den Eingang angelegten Kalibrierungssignal, etwa einer Sinuswelle, betrieben. Eine Schätzung der Frequenz, ω ^ des Eingangs-Kalibrierungssignals wird als
bestimmt, wobei x(k) die Ausgangs-Abtastwerte aus dem ADC sind. Die Maximierung der obigen Gleichung kann iterativ unter Verwendung einer schnellen Fourier-Transformation (FFT) erfolgen.
-
Außerdem ist bekannt, wie eine lineare Prädiktion von sinusförmigen Signalen in allgemeinerem Sinne (nicht unbedingt im Zusammenhang mit der Kalibrierung von ADCs) durchzuführen ist, sofern eine Menge von aktuellen Signal-Abtastwerten und früheren Abtastwerten gegeben ist. Dazu gehört typischerweise die Errechnung von Koeffizienten, die sehr rechenintensiv sind. Diese sind durch
gegeben, wobei s'(k) die Schätzung des aktuellen Abtastwertes ist, x(k – 1) die früheren Ausgangs-Abtastwerte aus dem ADC sind und L die Länge des Filters ist. Die Koeffizienten c(l) des Prädiktionsfilters sind durch
gegeben, wobei
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In einer bevorzugten Ausführungsform kann ein Verfahren und/oder eine Vorrichtung zum Korrigieren von Nichtlinearitäten eines Analog-Digital-Wandlers (ADC) auf Basis einer Frequenzschätzungs- und Signalpradiktionstechnik verwendet werden. Das Verfahren erfordert einen oder mehrere der folgenden Schritte, wie unten erläutert.
-
Ein erster Fall liegt vor, wenn die Nichtlinearitäten statisch sind, d. h. wenn angenommen werden kann, dass die Eigenschaften der Nichtlinearitäten sich nicht mit der Frequenz verändern.
-
In diesem statischen Korrekturverfahren gilt:
- 1. Ein relativ niederfrequentes Signal aus einem Signalgenerator, das die meisten Niveaus des zu testenden ADCs aktiviert, wird in den ADC eingegeben,.
- 2. Unter Verwendung einer Nulldurchgangstechnik wird eine Grobschatzung der Frequenz des Signals gewonnen.
- 3. Als Nachstes wird eine Feinfrequenzschatzung unter Verwendung einer adaptiven Kerbfiltertechnik gewonnen.
- 4. Nachdem die Feinfrequenz geschätzt ist, wird unter Verwendung einer Sinuswellen-Prädiktionstechnik das Signal prädiziert.
- 5. Einträge einer Verweistabelle (Look-up Table, LUT) werden auf Basis eines Kriteriums des mittleren quadratischen Fehlers generiert, welches das Eingangssignal mit optimalen Quantisierungsniveaus versieht.
- 6. Sobald die LUT generiert ist, wird der Ausgang des ADC als Adresse an die LUT weitergegeben, und der entsprechende Ausgang aus der LUT ist der kompensierte Wert im Sinne des quadratischen Mittels.
-
Ein zweiter Fall liegt vor, wenn die Nichtlinearitäten dynamisch sind, d. h. wenn erwartet wird, dass die Eigenschaften der Nichtlinearitäten sich mit der Frequenz verändern. Eine dynamische Korrektur des ADC kann für diesen Fall unter Verwendung von zwei unterschiedlichen Verfahren erfolgen, die auf dem obigen statischen Verfahren aufbauen.
-
In einem ersten dynamischen Korrekturverfahren gilt:
- 1. Das nutzbare Frequenzspektrum des ADC kann in verschiedene Regionen aufgeteilt sein, wo die nichtlinearen Eigenschaften sich beträchtlich verändern. Für jede dieser Regionen kann beispielsweise eine zentrale Frequenz als die Kalibrierungsfrequenz gewählt sein. Solche Frequenzen können wahrend der Simulationsphase der Gestaltung gefunden werden.
- 2. Der Prozedur folgen, die oben für die statischen Eigenschaften umrissen wurde, und eine LUT für jede dieser Frequenzen gewinnen.
- 3. Durch Schätzen der dominanten Frequenz in dem Signal kann die geeignete LUT zur Korrektur verwendet werden.
-
In einem zweiten dynamischen Korrekturverfahren gilt:
Alternativ, wenn die nichtlinearen Eigenschaften nicht stark voneinander abweichen,
- 1. werden die LUT-Einträge für unterschiedliche Kalibrierungsfrequenzen wie in Schritt 1 und 2 des ersten dynamischen Korrekturverfahrens bestimmt.
- 2. werden Durchschnittswerte fur jeden Eintrag in den mehreren LUTs in einer einzigen LUT gespeichert.
- 3. wird die einzige LUT dann unabhangig von der Eingangssignalfrequenz zur Korrektur verwendet.
-
Die oben beschriebenen Verfahren können in Software, Firmware, Hardware oder jeder Kombination daraus umgesetzt sein. Beispielsweise sind die Verfahren in einer Ausführungsform in Software umgesetzt, als gespeichertes Programm, das Anweisungen enthalt, die von einem oder mehreren Digitalsignalprozessoren ausgeführt werden. Solche Prozessoren enthalten generell Speichervorrichtungen wie etwa Speicher zum Speichern von Daten und Programmen sowie Eingabe-/Ausgabevorrichtungen (I/O-Vorrichtungen) zum Empfangen von Eingangssignalen und Bereitstellen von Ausgangssignalen. Wie bekannt, funktionieren solche Prozessoren durch Abrufen eines gespeicherten Programms von einem computerlesbaren Speichermedium, Speichern des Programms in einer oder mehreren aktiven Speichervorrichtungen und anschließendes Ausführen der Anweisungen zur Bearbeitung von Eingangssignalen oder Daten und Erzeugung von Ausgangssignalen oder Daten. Die Verfahren können auch von Computern mit allgemeinerer Zweckbestimmung ausgeführt werden.
-
Es wurde zwar angegeben, dass die oben kurz beschriebenen Korrekturtechniken als Verfahren umgesetzt sind, jedoch versteht sich auch, dass eine Hardware-Vorrichtung die Erfindung ebenfalls umsetzen kann, wobei jede der folgenden Technologien oder eine Kombination daraus verwendbar ist: diskrete Logikschaltung(en), die Logikgatter und/oder Transistorschaltungen zum Umsetzen von Logikfunktionen bei eingegebenen digitalen Signalen umfassen, eine anwendungsspezifische integrierte Schaltung (ASIC) mit geeigneten kombinatorischen Logikgattern, programmierbare Gatteranordnung(en) (PGA), feldprogrammierbare Gatteranordnungen (FPGA) usw.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Das Vorangehende wird aus der folgenden näheren Beschreibung von Ausführungsbeispielen der Erfindung deutlich, wie sie in den beigefügten Zeichnungen illustriert sind, wobei gleiche Bezugszeichen in den unterschiedlichen Ansichten durchgängig dieselben Teile bezeichnen. Die Zeichnungen sind nicht unbedingt maßstabsgetreu; vielmehr liegt das Augenmerk auf einer Illustration von Ausführungsformen der Erfindung.
-
1 illustriert ein Modell des Kalibrierungsschemas.
-
2 ist ein Ablaufdiagramm von Schritten, die zur Grobfrequenzschätzung ausgefuhrt werden.
-
3 zeigt das Allpassfilter zweiter Ordnung A(z).
-
4 illustriert die Kerbfilterantwort für verschiedene Werte von K1.
-
5 ist ein Ablaufdiagramm eines Feinfrequenzschätzungsverfahrens.
-
6 ist ein Ablaufdiagramm eines LUT-Aktualisierungsprozesses.
-
7 ist ein Spektrum des Signals vor der Nichtlinearitätskorrektur.
-
8 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur.
-
9 ist ein Spektrum des Signals vor der Nichtlinearitätskorrektur.
-
10 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur.
-
11 ist ein Spektrum des Signals vor der Nichtlinearitätskorrektur.
-
12 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur.
-
13 ist ein Spektrum des Signals vor der Nichtlinearitätskorrektur.
-
14 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur.
-
15 ist ein Ablaufdiagramm eines ersten dynamischen Kalibrierungsverfahrens.
-
16 ist ein Ablaufdiagramm dessen, wie in einem dynamischen Modus eine LUT ausgewählt wird.
-
17 ist ein Spektrum des Signals vor der Nichtlinearitätskorrektur.
-
18 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur.
-
19 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur unter Verwendung der falschen LUT.
-
20 ist ein Ablaufdiagramm eines alternativen dynamischen Verfahrens.
-
21 ist ein Spektrum des Signals nach der Nichtlinearitätskorrektur unter Verwendung einer einzigen LUT.
-
DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFUHRUNGSFORMEN
-
Es folgt eine Beschreibung von Ausführungsbeispielen der Erfindung.
-
Ein Modell auf hoher Ebene einer bevorzugten Ausführungsform des Kalibrierungsschemas 100 ist in 1 gezeigt. Das Verfahren besteht darin, zuerst ein Testsignal s(t) an eine Abtast- und Halteschaltung (S/H) 102 anzulegen, um ein zeitdiskretes abgetastetes Signal s(k) zu erzeugen, das dann den zu kalibrierenden Analog-Digital-Wandler (ADC) 104 speist.
-
Ein Frequenzschätzungsblock 106 schätzt zuerst die Frequenz des Testsignals s(t) unter Verwendung eines zweiteiligen, d. h. eine Grobschätzung 107 und eine Feinschätzung 108 enthaltenden Prozesses.
-
Die Grobschätzung 107 wird durch Verwendung einer Nulldurchgangs-Zähltechnik 150 gefunden, für die ein Zähler, ein Addierer und ein Dividierer verwendet werden können. Lineare Interpolation 152 über ein gemessenes Zeitintervall wird dazu verwendet, die Instanzen des Nulldurchgangs und somit die Frequenz zu bestimmen. Außerdem werden nur die Instanzen errechnet, bei denen das Signal von einem negativen Wert zu einem positiven Wert übergeht (oder umgekehrt). Daher ist auch eine Pipeline-Verarbeitung der Operationen möglich.
-
Die Feinfrequenzschätzung 108 wird unter Verwendung eines Kerbfilters 158 durchgefuhrt, wobei die Kerbfrequenz innerhalb einer kleinen Region von Frequenzen in der Nähe der Grobschätzungsfrequenz gesucht wird 156. Zu diesem Zweck kann jedes geeignete Liniensuchverfahren verwendet werden. Das Kerbfilter kann zwei Multiplizierer, zwei Verzögerungselemente und sieben Addierer umfassen. Von den Multiplizierern ist einer als Schiebe-und-Addiere-Operation repräsentiert.
-
Ein lineares Prädiktionsfilter 110 bestimmt dann die Koeffizienten einer Sinuswelle aus der Feinschätzung. Das Prädiktionsfilter kann auf einfache Weise umgesetzt sein, etwa nur durch Verwendung von Schiebe-und-Addiere-Operationen. Das lineare Prädiktionsfilter 110 kann auf Basis eines Prädizierens einer Sinuswelle aus früheren Abtastwerten gewonnen sein. Dies verleiht der Prädiktion des gegenwärtigen Abtastwertes eine durchschnittsbildende Wirkung.
-
Die prädizierte Sinuswelle s'(k) wird dann von einem LUT-Generierungsprozess 112 dazu verwendet, die Einträge einer Verweistabelle (LUT) 120 zu bestimmen.
-
Im Betrieb wird der Ausgang des ADC 104 dann zur Korrektur in die LUT 120 gespeist (in 1 durch die gestrichelten Verbindungen angezeigt).
-
Es folgt nun eine detailliertere Erläuterung fur jedes dieser Elemente.
-
KORREKTUR VON STATISCHEN NICHTLINEARITATEN
-
Es darf angenommen werden, dass der Offsetfehler in dem ADC
104 unter Verwendung des Mittelwertes des Ausgangs des ADC
104 korrigiert werden kann. Folglich sei angenommen, dass s(k) ein Signal der Form
ist, wobei s(k) die abgetastete Version des zeitkontinuierlichen Eingangssignals s(t) ist, A die Amplitude des Eingangssignals ist, k die Abtastungsinstanz ist, F
in und F
s die Eingangs- und Abtastungsfrequenzen sind und φ jede arbiträre Phase ist. Ein N-Bit-ADC
104 nimmt das abgetastete Signal s(k) und erzeugt einen quantisierten Wert, d. h. x(k) = Q[s(k)], wobei Q die Quantisierung bezeichnet. Aus anderer Sicht wird das Signal s(k) auf Basis der nichtlinearen Eigenschaften des ADC auf einen anderen Wert x(k) abgebildet. Da es N Bits in dem ADC gibt, hat x(k) M Werte, wobei M = 2
N. Aufgrund der endlichen Wortlänge und Nichtlinearität des ADC unterscheidet sich der Wert von s(k) von x(k). Es wird jedoch angenommen, dass, wenn x(k) ∊ {x
0, x
1, ...,x
M-1}, dann x
0 < x
1 < x
2 < ... < x
M-1.
-
In dem Kalibrierungsschema 100 wird der Wert von s(k) auf Basis der früheren Werte des Ausgangs des ADC 104 prädiziert, d. h. x(n – k). Anders ausgedrückt, es wird s'(k), eine Schätzung von s(k), gewonnen, und die Einträge der LUT 120 sind von solcher Art, dass der mittlere quadratische Fehler zwischen s(k) und s'(k) minimiert wird.
-
FREQUENZSCHATZUNG
-
Es wird angenommen, dass ein Signalgenerator eine Sinuswelle mit einem Spektralgehalt bereitstellt, der besser (d. h. weniger verrauscht oder reiner) als der zu testende ADC ist. Ein Signal s(t) der in Gleichung 4 gezeigten Form wird durch die Abtast- und -Halteschaltung 102 in den ADC 104 eingegeben. Um dieses Signal zu prädizieren, muss die Frequenz Fin geschätzt werden. Der Frequenzschätzungsblock 106 ist in zwei Teile eingeteilt, nämlich eine Grobschätzung 107 und eine Feinschätzung 108.
-
Zur Grobschätzung der Frequenz des Eingangssignals besteht ein erster Schritt in einer Errechnung des zeitlichen Ablaufs der Nulldurchgangs-Instanzen. Dies kann durch Erfassen der Nulldurchgänge und Zählen dessen erfolgen, wie viele Nulldurchgänge in einem bestimmten Zeitintervall auftreten. Nach Nz Nulldurchgängen können wir dann die Grobschätzung der Frequenz aus der Zeitdifferenz zwischen dem ersten und letzten Nulldurchgang gewinnen.
-
Dieser Prozess wird detailliert in
2 gezeigt. Beispielsweise seien mit k
F und k
F + 1 die Abtastungsinstanzen bezeichnet, während derer erfasst wird (Schritt
201), dass das Signal null von einem negativen Wert zu einem positiven Wert durchquert, und x(k
F) bzw. x(k
F + 1) seien die zwei entsprechenden Werte zu diesen Zeitinstanzen. Diese speichern (Schritt
202). Anschließend
bestimmen (Schritt
203).
-
Ebenso seien nach einer Zählung (Schritt
204) von N
Z Zyklen mit k
L und k
L + 1 die Abtastungsinstanzen bezeichnet, während derer das Signal null von einem negativen Wert zu einem positiven Wert durchquert. Wenn x(k
L) bzw. x(k
L + 1) die zwei entsprechenden, zu diesen Zeitinstanzen gespeicherten (Schritt
206) Werte sind, dann
bestimmen (Schritt
209).
-
Somit ist eine Grobschätzung der Eingangsfrequenz
F c / in durch
gegeben (Schritt
208).
-
Eine andere Möglichkeit zum Gewinnen einer etwas besseren Schätzung ist folgende.
seien N
z + 1 Zeitinstanzen fur Nulldurchgänge (anstelle von nur zweien). Diese Zeitinstanzen können wie in Gleichung (5) oder (6) gezeigt gewonnen werden.
-
Die Grobfrequenzschätzung kann dann als
gewonnen werden.
-
Die Feinfrequenzschätzung
108 basiert auf einer adaptiven Kerbfiltertechnik. Bevor die Feinfrequenzschätzung in Angriff genommen wird, ein Blick auf den Kerbfiltermechanismus. Ein digitales Kerbfilter kann als
G(z) = 1 / 2(1 + A(z)) (9) realisiert sein, wobei A(z) ein Allpassfilter ist. Die Eigenschaften von G(z) sind so, dass
wobei ω
0 die Winkel-Kerbfrequenz ist. Eine Ubertragungsfunktion zweiter Ordnung zum Erzeugen des Allpassfilters ist durch
gegeben, wobei k
1 und k
2 Multiplizierer sind, welche die Sperrparameter definieren. Es lässt sich zeigen, dass diese Wahl eines Allpassfilters die unabhängige Abstimmung von ω
0 und der 3-dB-Bandbreite entsprechend
k1 = –cos(ω0)
k2 = 1 – tan(Ω/2) / 1 + tan(Ω/2) (12)&(13) ermöglicht, wobei Ω die 3-dB-Bandbreite ist. Wie aus Gleichung (13) ersichtlich, ist die Bandbreite von dem Wert von k
2 abhängig. Somit kann durch geeignete Wahl des Wertes von k
2 als Zahl mit kanonischer Vorzeichenziffer (Canonic Signed Digit, CSD) die Notwendigkeit einer Multiplikation umgangen werden. Beispielsweise werde durch Wahl von k
2 = 1 – 2
–3 = 0,875 eine Bandbreite von Ω = 0,01 π gewonnen.
-
Ein Allpassfilter zweiter Ordnung A(z), das unter Verwendung einer Einzelmultiplizierer-Gitter-Zweierpaar-Kaskade realisiert ist, wird in 3 gezeigt.
-
Auf dem Weg zur Schätzung der Feinfrequenz des Eingangssignals betrachten wir nun die Antwort des Kerbfilters für verschiedene Werte von k1, fur ein Beispiel, bei dem diese Abtastrate 50 MHz beträgt. Dies ist in 4 gezeigt. Darin ist ein Ton bei etwa 19,3 MHz gezeigt. Somit können wir den Eingangston aussperren, indem der Wert von k1 um die Grobschätzung der Frequenz variiert wird. Dies wird theoretisch durch eine Leistung von null oder ein Signal mit Nullamplitude aus dem Ausgang des Kerbfilters angezeigt.
-
Es gibt viele Liniensuchverfahren zum Gewinnen des optimalen Wertes von k1. Zu Darlegungszwecken werde das Goldener-Schnitt-Suchverfahren verwendet, bei dem eine Sequenz von Intervallen generiert wird, d. h. {I1, I2, ...}. Die Regel, nach der die Längen aufeinanderfolgender Intervalle generiert werden, besteht darin, dass das Verhältnis von zwei beliebigen benachbarten Intervallen konstant ist, d. h.
-
-
Als Wert von K wird 1,618034 ermittelt. Der (in 5 gezeigte) Algorithmus beginnt mit der Wahl zweier Punkte auf beiden Seiten der Grobfrequenz. In unserem Ansatz haben wir diese beiden Frequenzen als F c / in(1 ± 0.05) gewählt. Die entsprechenden Werte von k1, nämlich kL,1 und kU,1, welche die unteren und oberen Anfangswerte von k1 bezeichnen, werden berechnet (Punkt 501). Nun beschreiben wir den Goldener-Schnitt-Algorithmus zum Finden des optimalen Wertes von k1.
-
Schritt 1. I1 = kU,1 – kL,1 zuweisen, und berechnen (Punkt 502): I2 = I1/K ka,1 = kU,1 – I2 kb,1 = kL,1 + I2
-
Pa,1, die Leistung des Signals an dem Ausgang des Kerbfilters, für k1 = ka,1 errechnen (Punkt 503). Ebenso Pb,1, die Leistung des Signals an dem Ausgang des Kerbfilters, für k1 = kb,1 errechnen. r = 1 setzen.
-
Schritt 2. Berechnen (Punkt 504): Ir+2 = Ir+1/K
-
Wenn Pa,r > Pb,r, dann kL,r+1 = ka,r kU,r+1 = kU,r ka,r+1 = kb,r kb,r+1 = kL,r+1 + Ir+2 Pa,r+1 = Pb,r
-
Pb,r+1 wird mit k1 = kb,r+1 evaluiert.
-
Wenn dagegen Pa,r < Pb,r, dann = kL,r+1 = kL,r kU,r+1 = kb,r ka,r+1 = kU,r+1 – Ir+2 kb,r+1 = ka,r Pb,r+1 = Pa,r
-
Pa,r+1 wird mit k1 = ka,r+1 evaluiert.
-
Schritt 3. (Punkt 505) Wenn ka,r+1 > kb,r+1, dann
Wenn Pa,r+1 > Pb,r+1, dann berechnen: k1* = 0,5(kb,r+1 + kU,r+1) Wenn Pa,r+1 = Pb,r+1, dann berechnen: k1* = 0,5(ka,r+1 + kb,r+1) Wenn Pa,r+1 < Pb,r+1, dann berechnen: k1* = 0,5(kL,r+1 + ka,r+1) und anhalten. An diesem Punkt ist k1* der optimale Wert von k1.
-
Die Feinfrequenz wird nun als
geschätzt.
-
Schritt 4. r = r + 1 setzen und nach Bedarf (Punkt 506) ab Schritt 2 wiederholen.
-
PRADIKTION EINES SINUSFORMIGEN SIGNALS
-
Zur Signalprädiktion gehört die Prädiktion des gegenwärtigen Abtastwertes auf Basis der fruheren Eingangs- und Ausgangs-Abtastwerte. Hier beschränken wir unsere Aufmerksamkeit auf die Prädiktion unter Verwendung von früheren Eingangs-Abtastwerten, da zu ihr ein Filtern mit endlicher Impulsantwort gehört. Eine einfache Möglichkeit zum Prädizieren eines sinusförmigen Signals ist die Verwendung einer Menge von N Abtastwerten und Gewinnung der Amplitude, Frequenz, Phase und des Offsets unter Verwendung eines Algorithmus der Kleinste-Quadrate-Anpassung mit 4 Parametern, wie er in der IEEE-Norm 1057 vorliegt. Sobald die Parameter gewonnen sind, können weitere Abtastwerte des Signals prädiziert werden. Dieses Verfahren ist zwar attraktiv, aber sehr rechenaufwendig, da es Operationen mit großen Matrizen erfordert.
-
Anstelle einer Durchführung der Kleinste-Quadrate-Anpassung kann die Prädiktion von s'(k) aus den Abtastwerten des Ausgangs des ADC durch lineares Filtern (siehe
110 aus
1) als
erfolgen, wobei L die Länge des Filters ist. Die Koeffizienten c(l) sind durch
gegeben, wobei
und ω auf das 2π-fache der Feinfrequenzschätzung,
F f / in , gesetzt ist. Das obige Verfahren der Generierung von Koeffizienten unter Verwendung von Gleichung (17) ist sehr umständlich. Eine einfachere Technik zur Pradiktion von sinusförmigen Signalen findet sich unten.
-
Es ist bekannt, dass sin((n + 1)x) + sin((n – 1)x) = 2cos(x)sin(nx) (18).
-
Durch Umstellen und Verändern des Zeitindex in Gleichung (18) erhalten wir sin(nx) = 2cos(x)sin((n – 1)x) – sin((n – 2)x) (19).
-
Die obige Gleichung können wir als rekursive Gleichung in sin(nx) als y(n) = 2cos(x)y(n – 1) – y(n – 2) (20) schreiben.
-
Wir haben nun ein Prädiktionsfilter mit nur zwei Koeffizienten erstellt, nämlich 2cos(x) und –1, um den gegenwärtigen Wert y(n) aus y(n – 1) und y(n – 2) zu prädizieren. Interessanterweise kann Gleichung (20) dazu erweitert werden, den gegenwärtigen Wert aus weiter zurückliegenden früheren Werten zu prädizieren, nämlich y(n) = 2cos(Lx)y(n – L) – y(n – 2L) (21).
-
Somit können wir durch die Wahl eines geeigneten Wertes für L folgendermaßen das Prädiktionsfilter 110 erstellen.
-
-
Tabelle 1 zeigt die Koeffizienten des Filters 110, gekennzeichnet durch Gleichung (22) mit L = 8. Es ist zu sehen, dass manche Koeffizienten null sind. In diesem Fall können, da L = 2μ, manche Koeffizienten durch einfache Verschiebe-und-Addiere-Operationen repräsentiert sein. Die Komplexität der Koeffizienten erfordert daher die Errechnung von cos(kx).
-
Es ist zu erwähnen, dass transzendente Funktionen wie sin(x) und cos(x) sehr effizient generiert werden können, z. B. durch einfache Addiere-und-Verschiebe-Operationen von Binärzahlen unter Verwendung von CORDIC.
-
Außerdem versteht sich, dass Prädiktionsfilter anderen Typs verwendet werden können.
l | c(l) |
1 | 0,178984 |
2 | –0,118717 |
3 | –0,169988 |
4 | –0,374684 |
5 | –0,187528 |
6 | –0,143832 |
7 | 0,160563 |
8 | 0,123738 |
9 | 0,000000 |
10 | –0,125000 |
11 | 0,000000 |
12 | –0,125000 |
13 | 0,000000 |
14 | –0,125000 |
15 | 0,000000 |
16 | –0,125000 |
Tabelle 1 Koeffizienten des Prädiktionsfilters für L = 8
-
GENERIERUNG VON VERWEISTABELLEN-EINTRAGEN
-
Ziel des Aufbaus einer LUT
120 durch LUT-Generierung
112 ist es, eine Menge von durch {s
0, s
1, ..., s
M-1} gegebenen Niveaus in der Weise zu erzeugen, dass die Einträge im Sinne des quadratischen Mittels bezüglich des unquantisierten Eingangssignals optimal sind. Die Prozessschritte sind in
6 illustriert. Ohne Verlust der Generalität sei angenommen, dass die Spitze-zu-Spitze-Werte eines idealen ADC ±1 sind. Anders ausgedrückt, die idealen Quantisierungswerte wären gleichmäßig zwischen [–1,1 – 2
–N+1] verteilt. Weisen wir (Punkt
601) Anfangswerte der LUT als
zu, wobei i = 0, 1, ..., 2
N – 1. A
i(k) sei die Anzahl der Fälle, in denen ein bestimmtes Niveau x(k) = x
i. Unter der Annahme, dass A
i(k) = 0 für k < 2L, kann die LUT-Aktualisierung (Punkt
602) geschrieben werden als
für k ≥ 2L. Es sei daran erinnert, dass y(k) der prädizierte Wert bei Instanz k ist. Nachdem eine ausreichend große Anzahl Daten verarbeitet wurde (Punkt
603), ist die LUT
120 zur Verwendung mit dem ADC bereit. (In einer vorliegenden Ausführungsform werden 2
16 Abtastwerte verarbeitet). Die Daten aus dem ADC
104 sind nun eine Adresse an die LUT
120, und der Ausgang aus der LUT ist das korrigierte Signal.
-
SIMULATIONEN FUR STATISCHE NICHTLINEARITATEN
-
Es wurde eine Simulation durchgeführt, bei der eine Signalquelle von –120 dBc angenommen wurde. Heutige kommerzielle Signalgeneratoren stellen eine spektrale Reinheit von ungefähr –160 dBc bereit. Wir stellen unterschiedliche nichtlineare Bedingungen in der Simulation dar, indem das Eingangssignal unterschiedlichen nichtlinearen Übertragungsfunktionen unterzogen wird. Die Frequenz des Eingangssignals ist so gewählt, dass Fin = A / BFs (25), wobei Fin die Eingangsfrequenz ist, B die Gesamtzahl der Abtastwerte ist und A die Anzahl vollständiger Zyklen des Eingangssignals ist und Fs die Abtastfrequenz ist. Es ist zu erwähnen, dass A und B zueinander prim sind. Die gewählte Frequenz ist von der Art, dass jedes Quantisierungsniveau ausreichend oft beschritten wird. Das Eingangssignal aus dem Signalgenerator wird zuerst durch eine nichtlineare Funktion geführt, was dann durch einen N-Bit-ADC geführt wird, der einen quantisierten Ausgang erzeugt. Der unvollkommene ADC kann als eine Kombination aus einer nichtlinearen Funktion und einem idealen Quantisierer betrachtet werden. Unsere Simulationen werden mit N = 14 durchgeführt.
-
In dem ersten Experiment wird ein Kalibrierungssignal bei 13,695419 MHz in den ADC eingegeben. Eine LUT wird entsprechend dem oben dargestellten Verfahren generiert. Nun wird ein Testsignal bei 15,064299 MHz in den ADC eingegeben. 7 zeigt das Spektrum des Signals mit Oberschwingungen aufgrund von Nichtlinearitäten. Aus der Figur ist zu sehen, dass der SFDR 66,4 dBc beträgt, wahrend das SINAD 61,54 dB berrägt. Der Ausgang des ADC wird durch die LUT gefuhrt, die das korrigierte Signal bereitstellt. Das Spektrum des korrigierten Signals ist in 8 gezeigt. Wie aus dieser Figur zu sehen, liegt der SFDR bei etwa 82,43 dBc, eine Verbesserung von etwa 20 dB. Das SINAD ist auf 76,6 dB verbessert. Infolge der Verbesserung des SINAD hat sich die ENOB signifikant erhöht.
-
Im zweiten Experiment entwickeln wir ein nichtlineares Modell in der Weise, dass der SFDR des unkorrigierten Signals aus dem ADC besser ist als in dem vorherigen Experiment. Wieder wird ein Kalibrierungssignal der Frequenz 13,898194 MHz in den ADC eingegeben, und eine LUT wird generiert. Ein Testsignal bei 15,287936 MHz wird in den ADC eingegeben. Wie aus 9 zu sehen, beträgt der SFDR des unkorrigierten Signals 72,38 dBc, während das SINAD 67,9 dB beträgt. Der Ausgang aus dem ADC wird nun durch die LUT geführt, deren Ausgang das korrigierte Signal ist. Der SFDR des Signals aus dem Ausgang der LUT ist auf 85,82 dBc verbessert, wahrend das SINAD auf ca. 80 dB erhöht ist. Dies ist in 10 gezeigt. Es ist zu bemerken, dass das SNR etwas verschlechtert ist. Dies bedeutet, dass wahrend des Versehens der Signale mit optimalen Quantisierungsniveaus einige nichtharmonische Signale generiert werden, was zum SNR beiträgt. Ein praktischeres Maß der Leistungsfähigkeit des ADC ist jedoch das SINAD, das sowohl das Rauschen als auch die Oberschwingungen enthält. Die ENOB hat sich in diesem Fall ungefähr um 2 Bit verbessert.
-
Im nächsten Experiment simulieren wir einen noch besseren ADC mit einem SFDR von ca. 87,95 dBc und einem SINAD von 82,7 dB. Die ENOB beträgt 13,45 Bit. Die LUT wird mit einem Kalibrierungssignal der Frequenz 10,008633 MHz generiert, und der ADC wird bei 11,009157 MHz getestet. 11 zeigt das Spektrum vor der Korrektur, während 12 das Spektrum des korrigierten Signals zeigt. Es ist zu beobachten, dass das SFDR sich um 7 dB verbessert hat, während das SINAD und die ENOB eine geringfügige Verbesserung zeigten.
-
Bei allen obigen Experimenten lagen das Kalibrierungssignal und das Testsignal nahe beieinander. Im nächsten Experiment trainieren wir die LUT bei 18,295825 MHz, während das Testen bei 64,99998 MHz erfolgt. 13 zeigt das Spektrum vor der Kalibrierung, während 14 das Spektrum nach der Kalibrierung zeigt. Die Verbesserung sowohl des SFDR als auch des SINAD sind aus dieser Figur ersichtlich.
-
DYNAMISCHE KALIBRIERUNG VON ADCs
-
In diesem Abschnitt werden zwei Verfahren zur Durchführung von dynamischer Kalibrierung der nichtlinearen Wirkungen von ADCs bereitgestellt. In beiden Verfahren werden mehrere Kalibrierungsfrequenzen eingesetzt, um die Breitbandleistungsfähigkeit des Wandlers zu verbessern.
-
VERFAHREN 1
-
In diesem Verfahren (in 15A gezeigt) wird das nutzbare Frequenzspektrum des ADC in verschiedene Regionen aufgeteilt (Schritt 1501), wo die nichtlinearen Eigenschaften sich beträchtlich verändern. Für jede dieser Regionen wird beispielsweise eine zentrale Frequenz als die Kalibrierungsfrequenz gewählt (Schritt 1502). Der ADC wird bei jeder dieser Frequenzen trainiert (Schritt 1504), so dass eine entsprechende Anzahl LUTs erstellt wird.
-
Nach der Bestimmung des Inhalts der LUTs und während der ADC in einen Betriebsmodus (z. B. einen nicht kalibrierenden Modus) versetzt ist, wird der Prozess aus 16 verwendet. Hier wird durch Verwendung einer FFT kurzer Länge eine dominante Frequenz des Eingangssignals bestimmt (Schritt 1601). In dieser Simulation wird zum Gewinnen der dominanten Frequenz eine 16-Punkt-FFT verwendet. Die der dominanten Frequenz entsprechende Frequenzlinie wird dazu verwendet, die geeignete LUT auszuwählen (Schritt 1602). Es ist anzumerken, dass eine 16-Punkt-FFT 8 Frequenzlinien bereitstellt, was für alle praktischen Zwecke eine ausreichende Anzahl Frequenzregionen sein dürfte. Da das Eingangssignal real ist, kann eine 16-Punkt-FFT mit einer komplexen 8-Punkt-FFT berechnet werden.
-
In einem weiteren Experiment wird die Frequenzregion zwischen 0 und Fs/2 in 5 Regionen eingeteilt. Fünf unterschiedliche Kalibrierungsfrequenzen zwischen 12,5 MHz und 62,5 MHz werden mit gleichmäßigem Abstand gewählt. Für jede der Kalibrierungsfrequenzen wird unter Verwendung des oben genannten Verfahrens eine LUT generiert. Somit werden insgesamt 5 LUTs generiert. Ein Testsignal von 47,604263 MHz wird gewahlt und durch den ADC geführt. Das Spektrum des unkorrigierten Signals ist in 17 gezeigt. Der SFDR dieses Signals beträgt 60,1 dBc, während das SINAD 59,41 dB beträgt. Es werden drei Mengen von 16-Punkt-FFT gemittelt und die Frequenzlinie identifiziert, die der dominanten Frequenz entspricht. Die entsprechende LUT wird zur Korrektur des ADC gewählt. Das Spektrum des korrigierten Signals ist in 18 gezeigt. Wie aus der Figur ersichtlich, hat sich der SFDR auf 86,84 dBc und das SINAD auf 79,69 dB verbessert. Die ENOB hat sich um ca. 3 Bits verbessert.
-
Um zu demonstrieren, dass es wichtig ist, die richtige LUT auf Basis der dominanten Frequenz zu wahlen, wiederholen wir das obige Experiment und wählen dabei die falsche LUT. Das Spektrum des sogenannten ”korrigierten” Ausgangs aus der LUT ist in 19 gezeigt. Wie aus der Figur ersichtlich, erfolgt keine Verbesserung der Leistungsfähigkeit.
-
VERFAHREN 2
-
Wenn die nichtlinearen Eigenschaften nicht stark voneinander abweichen, kann eine einzelne LUT verwendet werden, die alle LUT-Eintrage für unterschiedliche Frequenzen erfasst. Das Verfahren bringt die folgenden Schritte mit sich, wie in 20 dargestellt.
-
Schritt 1. Kalibrierungsfrequenzen f1, f2, ..., fr wählen, k = 1 setzen und si unter Verwendung von Gleichung (23) initialisieren (Punkt 2001).
-
Schritt 2. si wie in Gleichung (24) gezeigt unter Verwendung des si aus fk-1 generieren (Punkt 2002). Wenn k = r, anhalten (Punkte 2003, 2004).
-
Schritt 3. k = k + 1 setzen (Punkt 2005) und zu Schritt 2 gehen.
-
Es sei darauf hingewiesen, dass für jede der Kalibrierungsfrequenzen dieselbe LUT aktualisiert wird. 21 zeigt das Spektrum des korrigierten Signals für dasselbe Eingangssignal, das früher verwendet wurde, nämlich 47,604263 MHz. Obwohl der SFDR und das SINAD sich um 4 dB bzw. 4,5 dB verbessert haben, ist zu erwähnen, dass die Nichtlinearitäten in den verschiedenen Frequenzregionen sich beträchtlich voneinander unterschieden. Folglich wäre Verfahren 2 typischerweise Verfahren 1 unterlegen.
-
SCHLUSSFOLGERUNGEN
-
Dieses Dokument hat ein Verfahren zum Kalibrieren der Nichtlinearitäten von ADCs gezeigt. Wir zeigen zunächst, wie das Verfahren auf den Fall angewandt wird, in dem die Nichtlinearitäten statisch sind, d. h. die Eigenschaften der Nichtlinearitäten sich nicht mit der Frequenz verändern. In diesem Verfahren wird ein Kalibrierungssignal aus einem Signalgenerator in den ADC eingegeben. Unter Verwendung einer Zwei-Schritt-Technik wird die Frequenz des Signals geschätzt, wobei die Frequenz zuerst grob geschatzt wird und dann unter Verwendung dieser Grobschätzung eine Feinschatzung durchgefuhrt wird. Nachdem die Frequenz geschätzt ist, wird unter Verwendung eines linearen Prädiktors das sinusformige Signal prädiziert. Durch Prädizieren des sinusformigen Signals und des Ist-Signals wird auf Basis von optimalen Quantisierungsniveaus eine LUT generiert, welche die Differenz zwischen dem Ist-Wert und dem prädizierten Wert im Sinne des quadratischen Mittels minimiert. Sobald die LUT generiert ist, wird der Ausgang des ADC als Adresse zu der LUT behandelt, deren Ausgang das kalibrierte Signal ist.
-
Diese Technik wird auf den dynamischen Fall erweitert, bei dem die Eigenschaften der Nichtlinearitäten sich mit der Frequenz verändern. In diesem Fall wird das nutzbare Frequenzspektrum von Interesse in mehrere Regionen eingeteilt. In jeder dieser Regionen wird eine Frequenz identifiziert und als Kalibrierungssignal verwendet, um die entsprechende LUT zu generieren. Während des regulären Betriebs des ADC wird die der dominanten Frequenz des Signals entsprechende Frequenzlinie unter Verwendung einer FFT kurzer Länge identifiziert. Diese Frequenzlinie wird dazu verwendet, die geeignete LUT zum Bearbeiten des Ausgangs des ADC auszuwählen, um den kalibrierten Ausgang bereitzustellen.
-
Weichen die nichtlinearen Eigenschaften nicht stark voneinander ab, so kann eine einzelne LUT verwendet werden, die den Durchschnitt aller LUT-Einträge für unterschiedliche Frequenzen erfasst.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-