-
Gebiet
-
Die vorliegende Offenbarung betrifft digitale Vorverzerrung und Nachverzerrung in nichtlinearen Systemen und insbesondere Vorverzerrung und Nachverzerrung basierend auf segmentweiser und stückweiser Polynomnäherung.
-
Hintergrund
-
Nichtlinearität ist den meisten sich wissenschaftlichen Unterfangen gegenübersehenden Systemen zu eigen und stellt für eine weite Gruppe wissenschaftlicher Gebiete besondere Herausforderungen dar. Das Verhalten eines nichtlinearen Systems wird oft durch ein nichtlineares System von Gleichungen beschrieben. Ein nichtlineares System von Gleichungen ist eine Menge gleichzeitiger Gleichungen, in denen die Unbekannten (oder die unbekannten Funktionen im Fall von Differentialgleichungen) als Variablen eines Polynoms höheren Grades als 1 erscheinen. Anders gesagt, kann (können) in einem nichtlinearen System von Gleichungen die zu lösende(n) Gleichung(en) nicht als lineare Kombination der unbekannten Variablen oder Funktionen geschrieben werden, die darin erscheinen. Da nichtlineare Gleichungen schwierig zu lösen sind, werden nichtlineare Systeme gewöhnlich durch lineare Gleichungen angenähert (Linearisierung).
-
Ein nichtlineares System von Gleichungen oder Nichtlinearität gilt für nichtlineare digitale Vor- und Nachverzerrungsschemen nichtlinearer Komponenten oder nichtlinearer Systeme mit Gedächtnis wie beispielsweise Leistungsverstärker für drahtlose, drahtgebundene oder Lichtfaserkommunikation. Durch Systemkomponenten mit dynamischer Nichtlinearität (d. h. nichtlineares Verhalten mit Gedächtnis) verursachte hauptsächliche Probleme sind Außerbandemissionen und Inbandverzerrung, die zu Auslegungsproblemen wie beispielsweise geringem Energiewirkungsgrad und abgewerteter Leistung führen. Nichtlineare Vor- oder Nachverzerrungsschemen oder Kombinationen derselben versuchen die sich aus Außerbandemissionen und Inbandverzerrung ergebenden unerwünschten Effekte zu mildern, indem sie versuchen, (vor- und nachverzerrende) Eingangs- oder Ausgangssignale nichtlinearer Systeme zu ändern.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Blockschaltbild, das ein nichtlineares System zum Nutzen von nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellt.
-
2A–2C sind Blockschaltbilder, die nichtlineare Systeme zum Nutzen nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellen.
-
3 ist ein weiterer Block, der ein nichtlineares System zum Nutzen nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellt.
-
4 ist ein Graph, der Annäherungsfehler stückweiser Polynomnäherung und Polynomnäherung nach verschiedenen beschriebenen Aspekten darstellt.
-
5 ist ein Blockschaltbild, das einen Verzerrungskern eines nichtlinearen Systems nach verschiedenen beschriebenen Aspekten darstellt.
-
6 ist ein Blockschaltbild, das eine Gedächtnisscheibe nach verschiedenen beschriebenen Aspekten darstellt.
-
7 ist ein Blockschaltbild, das einen weiteren Verzerrungskern eines nichtlinearen Systems nach verschiedenen beschriebenen Aspekten darstellt.
-
8 ist ein Blockschaltbild, das eine weitere Gedächtnisscheibe nach verschiedenen beschriebenen Aspekten darstellt.
-
9 ist ein Diagramm, das Graphen eines Verfahrens zum Mildern nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellt.
-
10 ist ein weiteres Flussdiagramm, das ein Verfahren zum Mildern nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellt.
-
11 ist ein weiteres Flussdiagramm, das ein Verfahren zum Mildern nichtlinearer Verzerrung nach verschiedenen beschriebenen Aspekten darstellt.
-
Ausführliche Beschreibung
-
Die vorliegende Offenbarung wird nunmehr unter Bezugnahme auf die beiliegenden Zeichnungsfiguren beschrieben, worin gleiche Bezugsziffern insgesamt zur Bezugnahme auf gleiche Elemente benutzt werden und wobei die dargestellten Strukturen und Vorrichtungen nicht unbedingt maßstabsgerecht gezeichnet sind. So wie sie hier benutzt werden, sollen die Begriffe „Komponentef”, „System”, „Schnittstelle” und dergleichen auf eine computerbezogene Instanz, Hardware, Software (z. B. in ihrer Ausführung) und/oder Firmware bezogen sein. Zum Beispiel kann eine Komponente ein Prozessor, ein auf einem Prozessor ablaufendes Verfahren, eine Steuerung, ein Gegenstand, ein ausführbares, ein Programm, ein Speichergerät und/oder ein Computer mit einem Verarbeitungsgerät sein. Zur Erläuterung können eine auf einem Server ablaufende Anwendung und der Server ebenfalls eine Komponente sein. Eine oder mehrere Komponenten können in einem Verfahren residieren und eine Komponente kann auf einem Computer lokalisiert und/oder zwischen zwei oder mehr Computern verteilt sein. Es kann hier ein Satz Elemente oder ein Satz anderer Komponenten beschrieben sein, wobei der Begriff „Satz” als „ein oder mehrere” ausgelegt werden kann.
-
Weiterhin können diese Komponenten aus verschiedenen computerlesbaren Speichermedien mit darauf gespeicherten verschiedenen Datenstrukturen wie beispielsweise mit einem Modul ausgeführt werden. Die Komponenten können über lokale und/oder entfernte Verfahren wie beispielsweise entsprechend einem Signal mit einem oder mehreren Datenpaketen kommunizieren (wobei z. B. Daten von einer Komponente mit einer anderen Komponente in einem lokalen System, verteilten System und/oder über ein Netz wie beispielsweise das Internet, ein Ortsnetz, ein Weitbereichsnetz oder ähnliches Netz mit anderen Systemen über das Signal zusammenwirken).
-
Als weiteres Beispiel kann eine Komponente ein Gerät mit bestimmter Funktionalität, bereitgestellt durch mittels elektrischen oder elektronischen Schaltungen betriebene mechanische Teile, sein, wobei die elektrische oder elektronische Schaltung durch eine Softwareanwendung oder eine durch einen oder mehrere Prozessoren ausgeführte Firmwareanwendung betrieben werden kann. Der eine oder die mehreren Prozessoren können sich innerhalb oder außerhalb des Geräts befinden und können wenigstens ein Teil der Software- oder Firmware-Anwendung ausführen. Als weiteres Beispiel kann eine Komponente ein Gerät sein, das bestimmte Funktionalität durch elektronische Komponenten ohne mechanische Teile bereitstellt; die elektronischen Komponenten können einen oder mehrere Prozessoren darin zum Ausführen von Software und/oder Firmware umfassen, die wenigstens teilweise die Funktionalität der elektronischen Komponenten übermitteln.
-
Durch Verwendung des Wortes beispielhaft sollen Konzepte konkret dargestellt werden. So wie er in der vorliegenden Anmeldung benutzt wird, soll der Begriff „oder” ein inklusives „oder” statt eines exklusiven „oder” bedeuten. Das heißt sofern es nicht anders angegeben ist oder aus dem Zusammenhang deutlich ist, soll „X verwendet A oder B” eine beliebige der natürlichen inklusiven Permutationen bedeuten. Das heißt, wenn X A verwendet; X B verwendet; oder X sowohl A als auch B verwendet, dann wird „X verwendet A oder B” in jedem der vorangehenden Fälle erfüllt. Zusätzlich sollten die Artikel „ein” und „eine”, so wie sie in der vorliegenden Anmeldung und den beiliegenden Ansprüchen benutzt werden, im Allgemeinen als „ein oder mehrere” ausgelegt werden, sofern nicht anders angegeben oder aus dem Zusammenhang deutlich ist, dass sie auf eine Singularform gerichtet sind. Weiterhin sollen dahingehend, dass die Begriffe „einschließlich”, „umfasst”, „aufweisend”, „hat”, „mit” oder Varianten derselben entweder in der ausführlichen Beschreibung und den Ansprüchen benutzt werden, solche Begriffe auf ähnliche Weise wie der Begriff „umfassend” inklusive sein.
-
In Anbetracht der oben beschriebenen Mängel nichtlinearer Systeme sind verschiedene Aspekte zum Mildern der Nichtlinearität verschiedener nichtlinearer Komponenten (z. B. Leistungsverstärker, digitale oder analoge Sende- oder Empfangskettenkomponenten, hybride digitale und analoge Komponenten, Vielfacheingangs-Vielfachausgangs(MIMO – Multi-Input-Multi-Output)-Komponenten oder sonstige nichtlineare Geräte) offenbart. Nichtlineare Vorverzerrungs- oder Nachverzerrungskomponenten, Schemen oder Kombinationen derselben, die hier offenbart sind, können zum Mildern unerwünschter, aus nichtlinearem Verhalten mit Gedächtnis entstehender Auswirkungen wie beispielsweise aus Außerbandemissionen oder Inbandverzerrungen wirken. Die offenbarten nichtlinearen Verzerrungsschemen können Eingangs- oder Ausgangssignale nichtlinearer Systeme durch Modellieren eines nichtlinearen Verhaltens von Systemkomponenten mit segmentweisen stückweisen Polynomnäherungsoperationen abändern.
-
Zum Beispiel kann eine nichtlineare Komponente wie beispielsweise ein Leistungsverstärker oder sonstige Kommunikationskomponente, die Nichtlinearität erzeugt, zum Verringern dieser unerwünschten nichtlinearen Auswirkungen als Ergebnis von Operationen eines Verzerrers oder einer Verzerrungskomponente abgeändert werden. Die Verzerrungskomponente kann zum Erzeugen stückweiser Polynomnäherungen mit adaptiven oder dynamischen Prozessen an Segmenten einer nichtlinearen Funktion eingerichtet sein, die durch die nichtlineare(n) Komponente(n) des Systems erzeugt wird, die dynamischer Beschaffenheit sein kann (mit Gedächtnis („memory”) oder Gedächtnis-Effekten („memory effect”)). Verschiedene Segmente der nichtlinearen Funktion, die verschiedenen Gedächtnisscheiben (Engl.: „memory slice”) entsprechen, können basierend auf verschiedenen Kriterien für Parameter der Nichtlinearitätsfunktion ausgewählt werden. Segmentierung oder das Verfahren des Auswählens der Segmente kann sich nach verschiedenen Kriterien verändern wie beispielsweise einem Annäherungsfehler, einer Polynomordnung der ausgewählten Segmente und einer Anzahl von Segmenten.
-
Koeffizienten einer oder mehrerer, sich aus dem nichtlinearen Verhalten der Komponenten ergebenden Gedächtnisscheiben können zum Erzeugen der segmentweisen und stückweisen Annäherungen oder einer Inversen dieser Annäherungen benutzt werden. Zusätzliche Aspekte und Einzelheiten der Offenbarung sind unten weiter unter Bezugnahme auf Figuren beschrieben.
-
1 zeigt ein Übersichtsbeispiel zur Offenbarung eines nichtlinearen Systems, das Nichtlinearität erzeugt und die Nichtlinearität nach verschiedenen Aspekten mildert. Das System 100 umfasst eine nichtlineare Komponente 102, die Nichtlinearitätseigenschaften im Betrieb oder in der Ausgabe erzeugt. Das System 100 umfasst weiterhin eine Verzerrungskomponente 104, die zum Erzeugen eines Ausgangssignals zum Verbessern der Ausgabe der nichtlinearen Komponente 102 mit wünschenswerteren Eigenschaften durch Verringern oder Beseitigen von Nichtlinearität wirkt.
-
Die nichtlineare Komponente 102 kann beispielsweise einen Verstärker wie beispielsweise einen Leistungsverstärker zur drahtlosen, drahtgebundenen oder faseroptischen Kommunikation umfassen. In anderen Beispielen kann die nichtlineare Komponente 102 eine Analog- oder Digital-Komponente eines Kommunikations-Sender/Empfängers umfassen, oder eine Hybridschaltungskomponente, die Sende- und Empfangssignale trennt. Insbesondere kann die nichtlineare Komponente 102 jede Vorrichtung oder Vorrichtungskomponente umfassen, die mit einer Ausgabe mit Nichtlinearitäts- oder Verzerrungskomponenten wirkt oder diese erzeugt.
-
Die nichtlineare Komponente 102 kann ein System, eine Systemvorrichtung, eine Vorrichtungskomponente wie beispielsweise einen Leistungsverstärker, einen Analog-Digitalwandler, einen Digital-Analogwandler, eine Komponente einer Empfängerverarbeitungskette, eine Sender/Empfänger-Verarbeitungskette oder jede sonstige Komponente oder Kombination von Komponente(n) für eine oder mehrere verschiedene Aufgaben umfassen. Das nichtlineare System 100 oder die nichtlineare Komponente 102 kann verschiedene Abwertungselemente wie beispielsweise Nichtlinearitätsverzerrung, lineare Verzerrung und einen Gedächtniseffekt aufweisen oder erzeugen, wobei die Nichtlinearitätsverzerrung und der Gedächtniseffekt hier als Nichtlinearität oder dynamische Nichtlinearität bezeichnet werden können und das Verhalten davon entsprechend einer oder mehreren Nichtlinearitätsfunktionen beschrieben werden kann. Insbesondere bezieht sich die nichtlineare Verzerrung auf eine durch nichtlineare Eigenschaften eines Systems, einer Geräteschaltung oder Komponente hinsichtlich einer Eingabe oder Eingangsamplitude wie beispielsweise AM (Amplitudenmodulation) AM und AM-PM(Phasenmodulations-) Eigenschaften verursachte Wellenformverzerrung. Lineare Verzerrung kann sich auf die durch lineare Frequenzeigenschaften der Schaltung verursachte Wellenformverzerrung beziehen (in einer Signalkomponente erscheinende Frequenzeigenschaften), und der Gedächtniseffekt bezieht sich auf die durch ein gegenseitiges Verhältnis zwischen den nichtlinearen Eigenschaften der nichtlinearen Komponente 102 und verschiedenen Frequenzeigenschaften des Systems 100 verursachte Wellenformverzerrung (in einer Verzerrungskomponente erscheinende Frequenzeigenschaften). In einem einfachen Verstärkermodell, das beispielsweise nur die nichtlineare Verzerrung (AM-AM- und AM-PM-Eigenschaften) nutzt, kann eine Ausgabe des Verstärkers oder der nichtlinearen Komponente 102 einmalig durch den aktuellen Eingang 110 bestimmt werden. Wenn jedoch die lineare Verzerrung oder der Gedächtniseffekt hinsichtlich eines Zeitbereichs vorhanden ist, kann sich die Ausgabe des Verstärkers nicht nur auf die aktuelle Eingabe sondern auch auf eine vorhergehende Eingabe, einen vorhergehenden Zustand und/oder eine vorhergehende Ausgabe des Verstärkers beziehen.
-
Das System 100 umfasst eine Verzerrungskomponente 104, einen Prozessor 106 und einen Datenspeicher 108. Die Verzerrungskomponente 104 kann zum Verringern der durch die nichtlineare Komponente oder Vorrichtung 102 aufgewiesenen Nichtlinearität durch Modulieren oder Erzeugen eines Modells der Nichtlinearität der nichtlinearen Komponente wirken, in dem das Modell basierend auf einer segmentweisen stückweisen Polynomnäherung erzeugt wird, oder anders gesagt einer stückweisen Polynomnäherung für einzelne Segmente einer nichtlinearen Funktion an einer oder mehreren Gedächtnisscheiben (Gedächtniseffekten zu verschiedenen Iterationen oder Zeitschritten vor oder gleichzeitig mit den Annäherungsoperationen). Die Verzerrungskomponente 104 wirkt weiterhin zum Bereitstellen einer Modellausgabe, die die durch die nichtlineare Komponente 102 in einer Systemausgabe 112 aufgewiesene Nichtlinearität verringert. Zum Beispiel kann in einem Aspekt die durch die Verzerrungskomponente 104 erzeugte Modellausgabe als eine nachinverse Komponente oder als eine Nachinverse der Nichtlinearität zum Mildern, Löschen oder Verringern der Nichtlinearität wirken.
-
Bezug nehmend auf 2a–2c sind Beispiele nichtlinearer Systeme dargestellt, die stückweise Polynomnäherung zum Mildern von Nichtlinearität gemäß verschiedenen offenbarten Aspekten benutzen können. Die offenbarten nichtlinearen Verzerrungen, entweder vor-, nach- oder sonstiger modellnachbildender Funktion können digitaler oder analoger Beschaffenheit sein, wie bei einer digitalen Vor- oder Nachverzerrung, und keine bestimmte Verzerrungsart oder Kombination derselben wird durch die Operationen und Komponenten der vorliegenden Offenbarung eingegrenzt.
-
2a zeigt beispielsweise ein nichtlineares System 200 mit einer Vorverzerrungsarchitektur, die eine Vorverzerrung für die nichtlineare Komponente 102 bereitstellt, um die aufgewiesene Nichtlinearität zu verringern. Das nichtlineare System 200 umfasst ähnliche Komponenten wie oben bei dem System 100 besprochen und umfasst weiterhin einen Koeffizientenschätzer oder eine Koeffizientenkomponente 202, die Betrieb der Verzerrungskomponente 104 erleichtert, um eine Modellausgabe y(n) bereitzustellen. Die Modellausgabe y(n) kann eine Vorinverse der Nichtlinearität umfassen, um die Nichtlinearitätsverhaltensweisen der nichtlinearen Komponente 102, besonders Außerbandemissionen oder Inbandverzerrungen zu mildern, verringern oder zu löschen, die zu einem niedrigen Energiewirkungsgrad und verschlechterter Leistung führen.
-
Die Verzerrungskomponente 104 wirkt als Vorverzerrer für die nichtlineare Systemkomponente 102, die zum Modulieren oder Vorhersagen der Nichtlinearität der nichtlinearen Komponente 102 und Verzerren der Nichtlinearität wie durch Verringern, Mildern oder Löschen von nichtlinearen Effekten fungiert. Zum Beispiel wird die als Vorverzerrervorrichtung wirkende Verzerrungskomponente 104 mit dem Eingangssignal x(n) in das nichtlineare System 200 gespeist und ergibt die abgeänderte Ausgabe y(n). Die Modellausgabe y(n) wird weiterhin in die nichtlineare Komponente 102 des nichtlinearen Systems 200 gespeist. Ein Ziel der Verzerrungskomponente 104 als Vorverzerrervorrichtung besteht darin, das Eingangssignal x(n) so abzuändern, dass das Systemausgangssignal der nichtlinearen Systemkomponente 102 (z. B. eines Leistungsverstärkers) wünschenswertere Eigenschaften aufweist (z. B. niedrige Außerbandemissionen, niedrige Inbandverzerrung oder sonstige derartige Eigenschaften). Die Verzerrungskomponente 104 als Vorverzerrer wirkt zum Nachbilden der Vorinversen der nichtlinearen Systemkomponente 102 beispielsweise zum umgekehrten Einwirken auf die Nichtlinearität über das Eingangssignal in die nichtlineare Komponente 102.
-
Die Koeffizientenkomponente 202 ist eingerichtet zum Verarbeiten von System-Eingangs- und -Ausgangssignalen und Bereitstellen von Koeffizienten zum Modellieren von Nichtlinearitätsverhaltensweisen über segmentweise stückweise Polynomnäherungen für die Verzerrungskomponente 104. Die Koeffizientenkomponente 202 ist weiterhin eingerichtet zum Empfangen der Eingabe x(n) und der Ausgabe (Systemausgabe) und Schätzen einer Menge von Koeffizienten. Die Schätzung kann auf dem Eingangssignal basieren und der Ausgabe und der durch die Verzerrungskomponente 104 erzeugten Modellausgabe y(n) zum Mildern der Nichtlinearität aus der Verarbeitungsoperation. Zum Beispiel wirkt die Koeffizientenkomponente 202 zum Schätzen des Satzes von Koeffizienten, der der Nichtlinearität der nichtlinearen Komponente für eine oder mehrere Gedächtnisscheiben entspricht. Eine Gedächtnisscheibe kann beispielsweise auf eine Scheibe oder einen Teil des Gedächtnisses bezogen sein, der übrig ist oder aus einer vorhergehenden Eingabe in das nichtlineare System in Erinnerung behalten wurde und auch das gegenwärtige nichtlineare Verhalten der nichtlinearen Komponente 102 des nichtlinearen Systems 200 beeinflussen kann.
-
Die Koeffizientenkomponente 202 kann weiterhin zum Empfangen und Verarbeiten der Eingabe x(n) und eines Annäherungsfehlers des nichtlinearen Systems 200 nach einer Anzahl von durch eine Segmentierung einer nichtlinearen Funktion der durch die nichtlineare Komponente ausgegebenen Nichtlinearität ausgewählten Segmente wirken. Segmente können sich auf Teile beziehen, die durch eine Segmentierung der Nichtlinearität wie ausgedrückt durch eine durch die nichtlineare Komponente 102 aufgewiesene oder ausgedrückte Nichtlinearitätsfunktion ausgewählt sind. Jedes Segment kann Segmentparameter oder Grenzen aufweisen, die das Segment definieren, wie beispielsweise Disjunktionen, Diskontinuitäten, lineare Teile, quadratische oder sonstige Polynomordnungsteile des Segments wie auch in einem Koordinatensystem ausgedrückte Grenzen wie kartesisch, polar, kugelförmig oder dergleichen. Die Koeffizientenkomponente 202 kann zum Erzeugen oder Schätzen von Koeffizienten bezüglich der Segmente nach hier offenbarten und weiter unten ausgeführten Aspekten wirken.
-
Die Koeffizientenkomponente 202 kann weiterhin zum Bestimmen einer Segmentierung der Segmente wirken. Segmentierung kann sich darauf beziehen, wie Segmente von Nichtlinearität entsprechend einer bestimmten Gedächtnisscheibe zur Auswertung für die stückweisen Polynomnäherungen der einzelnen Segmente ausgewählt oder segmentiert werden. Beispielsweise können Segmente der Nichtlinearität basierend auf diskontinuierlichen Punkten oder Bereichen von Nichtlinearität basierend auf einer Ordnung P von Komplexität hinsichtlich des Segments ausgewählt werden. Zum Beispiel könnte ein Segment erster Ordnung oder lineares Segment ausgewählt werden; ein quadratisches Segment zweiter Ordnung könnte ausgewählt werden und so weiter zur Auswertung oder für Segmentkennzeichnungsverfahren, was weiterhin in 9 unten ausgeführt dargestellt ist. Zusätzlich kann eine Anzahl von Segmenten ausgewählt werden (z. B. über eine Segmentierungskomponente 310, ebenfalls unten aufgeführt), um für Koeffizientenerzeugung basierend auf einem oder mehreren Kriterien wie beispielsweise einer Anzahl von Diskontinuierlichkeiten oder nichtlinearen Teilen mit einem oder mehreren Funktionsparametern zur Segmentierung, Graden von Nichtgleichförmigkeit, die Segmentierungen definierende Grenzen oder sonstige mathematische Parameter bezüglich nichtlinearer Funktionen dynamisch ausgedrückt über die nichtlineare Systemkomponente 102 und durch Gedächtniseffekte in Gedächtnisscheiben beeinflusst.
-
Die Verzerrungskomponente 104 ist damit zum Erzeugen eines oder mehrerer Modelle der Nichtlinearität als Funktion einer stückweisen Polynomnäherung der nichtlinearen Funktion eingerichtet, die der Nichtlinearität der nichtlinearen Komponente in Echtzeit über eine Anzahl von N Segmenten entspricht, wobei N eine ganze Zahl größer als 1 umfasst und die N Segmente eine Ordnung P von Komplexität umfassen können. Die Ordnung P von Komplexität kann eine Ganze Zahl umfassen, die größer gleich 1 ist, wie beispielsweise 2.
-
2b zeigt eine weitere bedeutsame Anwendung mit Nachverzerrung in einem nichtlinearen System 210. Die Verzerrungskomponente 104 wirkt beispielsweise als ein Nachverzerrer im nichtlinearen System 210, da sie mit der Ausgabe der nichtlinearen Systemkomponente 102 (z. B. als Empfängerkette) als die Eingabe x(n) gespeist wird und ein abgeändertes Ausgangssignal oder modellierte Ausgabe y(n) als die Systemausgabe ergibt. Auch kann die nichtlineare Komponente 102 des nichtlinearen Systems 210 eine Eingabe als die Systemeingabe in diesem Fall bereitstellen. Ein Ziel der Verzerrungskomponente 104 des nichtlinearen Systems 210 als Nachverzerrer besteht darin, ein Ausgangssignal y(n) als die Systemausgabe mit wünschenswerteren Eigenschaften zu ergeben (typischerweise einer Verringerung der nichtlinearen Verzerrung oder einer geringen nichtlinearen Verzerrung). Das System 210 wirkt damit zum Beispiel zum Verringern der durch die nichtlineare Komponente 102 aufgewiesenen nichtlinearen Verzerrung um mehr als die durch andere Formen von Verzerrung gezeigte Verringerung wie beispielsweise die Polynomnäherungsverfahren allein.
-
Die Verzerrungskomponente 104 als Nachverzerrer ist eingerichtet zum Nachbilden der Nachinversen der Nichtlinearität der nichtlinearen Systemkomponente 102.
-
Die Koeffizientenkomponente 202 wie oben besprochen kann Koeffizienten nach verschiedenen Kriterien bereitstellen wie beispielsweise als Annäherungsfehler, Anzahl von Segmenten, Segmentierungskriterien, die verschiedenen Eingaben in die Koeffizientenkomponente und das System und sonstige hier besprochene Kriterien. Die Koeffizientenkomponente kann beispielsweise einen beliebigen Koeffizientenschätzungsvorgang betreiben wie beispielsweise einen Satz von Schätzungen kleinster Quadrate oder sonstigen Schätzungsoperationen zum Bestimmen eines Satzes von Koeffizienten für stückweise Polynomnäherungen an verschiedene einzelne Segmente von Gedächtnisscheiben über die Verzerrungskomponente 104.
-
2c zeigt eine weitere Konfiguration des nichtlinearen Systems 220, die eine Systemmodellnachbildung oder Kennzeichnung umfasst, in der Vorverzerrung oder Nachverzerrung der nichtlinearen Komponente 102 in Abhängigkeit von Systemanforderungen und Konfigurationen dynamisch (in Echtzeit oder ohne Verzögerung) implementiert oder auf vorbestimmte Weise implementiert sein kann. Zum Beispiel kann die Verzerrungskomponente 104 das nichtlineare System selbst dynamisch nachbilden oder modellieren und eine Modellausgabe y(n) zur Verwendung als entweder Vorverzerrung, Nachverzerrung oder sonstige Milderung von Nichtlinearität an der nichtlinearen Komponente 102 bereitstellen. Die Modellausgabe y(n) und/oder die während des Kennzeichnungs- oder Modellierungsvorgangs gefundenen Koeffizienten können dann zur Weiterverarbeitung benutzt werden (zum Beispiel Vor- oder Nachverzerrung). Als ein Vorteil kann die Verzerrungskomponente 104 und die Koeffizientenkomponente 202 dahingehend wirken, eine bessere Leistung oder eine größere Verringerung in Nichtlinearität für sogar hochnichtlineare Systeme zu ergeben, wie diejenigen Systeme, die als Funktion eines Polynoms unendlicher Ordnung oder Polynoms hoher Ordnung betrachtet werden, während die Komplexität auf derselben Ebene gehalten wird oder die Gesamtkomplexität oder Ordnung der nichtlinearen Komponente 102 nicht geändert wird.
-
Nunmehr auf 3 Bezug nehmend ist ein nichtlineares System 300 dargestellt, das zum Mildern von Nichtlinearität nach verschiedenen offenbarten Aspekten wirkt. Das System 300 umfasst eine Nichtlinearitäts-Vorverzerrungsarchitektur als eines der oben besprochenen Beispiele, obwohl andere Architekturen ebenfalls in Betracht gezogen werden wie beispielsweise eine Nachverzerrung oder eine dynamische Modellierungskonfiguration. Das System 300 umfasst die Verzerrungskomponente 104, die Koeffizientenkomponente 202 und einen Leistungsverstärker 302 als die oben besprochene nichtlineare Komponente 102.
-
In einem Aspekt umfasst Annähern nichtlinearer statischer Funktionen, die die Bausteine der meisten üblichen nichtlinearen dynamischen Modelle sind, Polynome. Beispiele umfassen die Volterra-Reihendarstellung und alle durch Beschneiden erhaltenen Sprösslinge niedrigerer Komplexität wie beispielsweise das Gedächtnis-Polynom (MP – Memory-Polynomial), das verallgemeinerte Gedächtnis-Polynom (GMP – Generalized Memory-Polynomial), den Ansatz dynamischer Abweichungsverringerung (DDR Dynamic Deviation Reduction) und andere gleichartige Ansätze. Während Polynomnäherung gut für schwach nichtlineare Systeme wirkt (d. h. Systeme, die mit Polynomen mäßiger Ordnung angenähert werden können), erfordern mehrere fortgeschrittene Systeme (zum Beispiel Leistungsverstärker mit Doherty- oder Hüllkurvenverfolgungsarchitekturen) Polynome sehr hoher unendlicher Ordnung zur genauen Anpassung. Polynome hoher Ordnung bedeuten eine hohe Anzahl zu schätzender Parameter, was das Systemkennzeichnungsverfahren verkompliziert. Für Systeme, die Polynome unendlicher Ordnung erfordern würden, kann ein Modellierungsrestfehler verbleiben und begrenzt damit Linearisierungsleistung. Infolgedessen werden adaptive Verfahren zum Modellieren des nichtlinearen Systems eingesetzt. Wie oben besprochen werden stückweise Polynomnäherungen für einzelne Segmente erzeugt.
-
Das MP-Modell (MP = Gedächtnis-Polynom, vom Englischen „Memory Polynomial”) kann beliebt sein, da es mit nur einer Nachschlagetabelle (LUT = vom Englischen „Lookup Table”) pro Gedächtnistiefe oder -scheibe implementiert werden kann. Hier offenbarte Aspekte können weiterhin eine Abänderung des MP-Modells mit einem PWP-Annäherungsansatz unter Verwendung einer Erweiterung der globalen Darstellung von segmentweisen stückweisen linearen Funktionen bereitstellen.
-
Die Verzerrungskomponente des nichtlinearen Systems 300 umfasst eine Verzerrungskernkomponente 304 und eine LUT-Komponente 306 (LUT = Lookup Table – Nachschlagetabelle). Die Verzerrungskernkomponente 304 führt Laufzeitverarbeitung der Eingabe x(n) aus und erzeugt eine Modellausgabe y(n) als Funktion der von der LUT-Komponente 306 empfangenen Ausgabe Lm(·) oder L~m(·). Die LUT-Komponente 306 verarbeitet die durch die Koeffizientenkomponente 202 bereitgestellten Koeffizienten cm, bm,k,q. Weiterhin werden durch die LUT-Komponente 306 Nachschlagetabellen gemäß verschiedenen Implementierungsarchitekturen der unten besprochenen Verzerrungskernkomponente 304 Lm(·) (einer CORDIC-basierenden Implementierung) oder L ~m(·) (für eine unten beschriebene multiplikatorbasierende Implementierung) erzeugt oder aktualisiert. Die jeweiligen Ausgaben Lm(·) oder L ~m(·) der LUT-Komponente 306 werden in den Verzerrerkern 304 eingespeist, der eine Ausgabe basierend auf den LUT-Werten erzeugt.
-
Die Koeffizientenkomponente 202 umfasst eine LS-Komponente 308 (LS = Least Mean Squared – geringstes mittleres Quadrat) und eine adaptive Segmentierungskomponente 310. Die Koeffizientenkomponente 202 verarbeitet das Eingangssignal x(n) und ein Fehlersignal e(n), wählt eine geeignete Segmentierung βk aus und ergibt die entsprechenden Koeffizienten cm, bm,k,q. Segmentierungsauswahl und die entsprechenden Koeffizienten werden in einem iterativen Verfahren über die LS-Komponente 308 bzw. die Segmentierungskomponente 310 bestimmt. Für jede Iteration n bestimmt die Segmentierungskomponente dynamisch eine Segmentierung βk(n) basierend auf dem von einer Fehlerkomponente 312 empfangenen Fehler e(n – 1), die Koeffizienten cm, bm,k,q werden durch die LS-Komponente 308 bestimmt und eine LUT-Tabelle wird gemäß Lm(·) oder L ~m(·) aktualisiert.
-
In einem weiteren Aspekt können die Funktionen der Verzerrungskomponente
104 mathematisch durch folgende Gleichung dargestellt werden:
wobei w(n) eine implementierungsabhängige Funktion von x(n) ist, K die zur Segmentierung des Eingangsbereichs benutzte Anzahl von Segmentgrenzen β
k, k ∊ {1, 2, ..., K) bezeichnet (d. h. es gibt K + 1 Segmente), β
0 = 0, Q
m,k die Polynomordnung von Segment-Nr. k in Gedächtnisscheiben-Nr. m bezeichnet und c
m, b
m,k,q die während des Kennzeichnungsverfahrens zu bestimmenden
-
Modellkoeffizienten bezeichnen. Die Laufzeiten
Δm = Σ m / l=läl werden durch Laufzeitelemente
314 als
realisiert, die nicht gleichförmige Ganzzahllaufzeitleitungen ermöglichen (d. h. ermöglicht δ
m ∊
und δ
m ≠ δ
n, m ≠ n). Alternativ kann eine gleichförmige Ganzzahllaufzeit-Verzögerungsleitung benutzt werden (δ
m = c, c ∊
).
-
Das System 300 umfasst weiterhin eine Fehlerkomponente 312 eingerichtet zum Steuern des Annäherungsfehlers basierend auf der Anzahl von Segmenten und einer Segmentierung der Anzahl von Segmenten. Der Annäherungsfehler basiert auf einer Nichtlinearitätsfunktion der Nichtlinearität und einer Annäherung der Nichtlinearitätsfunktion durch die stückweise Polynomfunktion mit der Anzahl von N Segmenten. Zum Bewerten der Annäherungsgüte des Systems kann der Fehler als eine Differenz zwischen einer nichtlinearen Funktion g(x) der Nichtlinearität der nichtlinearen Komponente 302 und einer PWP-Annäherung einzelner Segmente dargestellt wie folgt definiert werden: e(x) = f(x) – g(x), (Gl. 2).
-
Ein gesamter relativer Fehler kann definiert werden als:
wobei E
x(·) die Erwartung von · in Bezug auf x bezeichnet.
-
In einem Beispiel stellt 4 einen Graphen eines Fehlers nach verschiedenen offenbarten Aspekten dar. Zum Beispiel zeigt der Graph 400 den Annäherungsfehler bei Verwenden eines Polynoms p(x) von Ordnung P = 9 und einer PWP-Funktion erster Ordnung f(x) mit K + 1 = 8 Segmenten. Sowohl p(x) als auch f(x) werden durch 9 Parameter beschrieben (die PWP-Funktion f(x) mit K Segmentgrenzen besitzt K + 1 Segmente und K + 2 Parameter). Wie dargestellt, übertrifft PWP-Annäherung deutlich eine Polynomnäherung.
-
Weiterhin vergleicht Tabelle 1 unten die zwei Annäherungsverfahren für verschiedene Modellkomplexitten (Anzahl von Parametern). Zusammengefasst weist das vorgeschlagene PWP-Annäherungsverfahren zwei Vorteile über Polynomnäherung nichtlinearer Funktionen des Standes der Technik auf:
Fall | Modell | Anzahl von Koeffizienten | Annäherungsfehler E |
1 | Polynom, Ordnung 5 | 5 | –36,1 dB |
2 | PWP, gleichförmig, K = 3 | 5 | –45,4 dB |
3 | Polynom, Ordnung 7 | 7 | –41,2 dB |
4 | PWP, gleichförmig, K = 5 | 7 | –49,5 dB |
5 | Polynom, Ordnung 9 | 9 | –46,2 dB |
6 | PWP, gleichförmig, K = 7 | 9 | –52,1 dB |
7 | Polynom, Ordnung 11 | 11 | –50,3 dB |
8 | PWP, gleichförmig, K = 9 | 11 | –54,5 dB |
7 | Polynom, Ordnung 13 | 13 | –54,4 dB |
8 | PWP, gleichförmig, K = 11 | 13 | –56,8 dB |
9 | Polynom, Ordnung 33 | 33 | –68,8 dB |
10 | PWP, gleichförmig, K = 31 | 33 | -73,5 dB |
11 | Polynom, Ordnung 55 | 55 | –69,6 dB |
12 | PWP, gleichförmig, K = 53 | 55 | –82,3 dB |
Tabelle 1: PWP vs. Polynomnäherung von beispielhafter Funktion g(x).
-
Für hochnichtlineare Funktionen ergibt PWP-Annäherung einen geringeren Annäherungsfehler als Polynomnäherung. Der Annäherungsfehler von Polynomnäherung kann durch die Polynomordnung gesteuert werden. Im Allgemeinen ergeben höhere Ordnungen niedrigere Annäherungsfehler. Hohe Polynomordnungen verursachen jedoch numerische Probleme bei der Ausführung eines Parameterschätzers, der dem Annäherungsfehler in praktischen Systemen eine Grenze auferlegt. Der Annäherungsfehler von PWP-Annäherung in den offenbarten nichtlinearen Systemen kann durch die Anzahl von Segmenten und die Segmentierung (besonders bei Ausfüllen nichteinheitlicher Segmente) leichter gesteuert und verringert werden.
-
Wieder auf 3 Bezug nehmend kann beispielsweise die Fehlerkomponente 312 zum Bestimmen und Bereitstellen eines Fehlers mit jeder Iteration über einen Inverter 312, eine Verzögerungskomponente 314 und einen Addierer 316 wirken. Der Fehler (e(n)) wird für die Segmentierungskomponente 310 und die LS-Komponente 308 bereitgestellt. Die Segmentierungskomponente 310 wirkt damit zum Steuern eines Annäherungsfehlers basierend auf der Anzahl von Segmenten und der Segmentierung (welche Segmente auszuwählen sind) der Anzahl von Segmenten. Die Segmentierungskomponente 310 kann zum dynamischen Bestimmen der Segmentierung als Funktion des empfangenen Fehlers wirken.
-
Zusätzlich kann die LS-Komponente 308 adaptiv, dynamisch oder in Echtzeit der Nichtlinearitätsfunktion einer Gedächtnisscheibe entsprechende Koeffizienten mit einer an die verschiedenen Segmente der Nichtlinaritätsfunktion der Gedächtnisscheibe angelegten Operation kleinster Quadrate bestimmen. Die Bestimmung dieser Koeffizienten kann als Funktion der verschiedenen ausgewählten Segmente, der Anzahl der verschiedenen ausgewählten Segmente, eines Annäherungsfehlers, einer Komplexitäsordnung der verschiedenen ausgewählten Segmente oder einer vorherigen Menge von Koeffizienten gespeichert in einer Nachschlagetabelle entsprechend einer vorherigen Gedächtnisscheibe wirken. Nachschlagetabellen können daher iterativ mit der Menge Koeffizienten aktualisiert werden.
-
Bezug nehmend auf 5 ist eine beispielhafte Ausführung der Verzerrungskernkomponente nach verschiedenen beschriebenen Aspekten dargestellt. Die Verzerrungskernkomponente 304 ist als ein Beispiel dargestellt, das Multiplikatoren benutzt und ein Blockschaltbild einer oberstufigen Architektur eines Vor-/Nachverzerrerkerns bereitstellt, die im Wesentlichen eine Ausgabe für jede Gedächtnisscheibe als eine Verzerrungsmodellausgabe y(n) berechnet.
-
Der Vor-/Nachverzerrerkern 304 kann beispielsweise eine multiplikatorbasierte Architektur sein, die von allen CORDIC-Komponenten oder CORDIC-Operationen unabhängig ist (CORDIC = Coordinate Rotation Digital Computer – Koordinatendrehungs-Digitalrechner) ist. Der Vor-/Nachverzerrerkern ist durch Gl. 1 oben mit w(n) = x(n} gegeben und lässt sich schreiben als: y(n) = Σ M / m=0ym(n), (Gl. 4), wobei ym(n) die Ausgabe von Gedächtnisscheiben Nr. m gegeben durch ym(n) = x(n – Δm) L ~m(|x(n – Δm)|2), (Gl. 5) bezeichnet.
-
Jede Gedächtnisscheibe des Multiplikators kann unter Verwendung einer LUT L ~
m analysiert und ausgeführt werden, die durch die quadrierte Größe |x(n – Δ
m)|
2 indexiert werden kann und die Koeffizienten L ~
m(|x(n – Δ
m)|
2) in kartesischen Koordinaten erzeugt oder wiedergibt. L ~
m(v
2) wird durch Wiederabbildung aus der während des Kennzeichnungsverfahrens erhaltenen Nachschlagetabelle erhalten, ausgedrückt wie folgt:
-
Die Verzerrungskernkomponente 304 bewirkt damit wenigstens zwei reelle Multiplikationen berechnend |x(n)|2 aus der kartesischen Eingabe x(n) und M + 1 Gedächtnisscheibenblöcke (Scheibe 0, Scheibe 1, ... Scheibe M) berechnend (Gl. 5).
-
Bezug nehmend auf
6 ist ein Blockschaltbild dargestellt, das eine Gedächtnisscheibe (Scheibe Nr. m) einer oben in
5 dargestellten Multiplikatorausführung aufführt. Das Blockschaltbild
502 von Gedächtnisscheibe Nr. m wird mit dem Signal x(n – Δ
m-1) in kartesischen Koordinaten, der quadrierten Größe |x(n – Δ
m-1)|
2 und dem Zwischenergebnis
Σ m-1 / l=0yl(n) aus dem vorhergehenden Gedächtnisscheibenblock in kartesischen Koordinaten gespeist, berechnet (Gl. 5) und gibt
Σ m / l=0yl(n) = ym-1(n) + ym(n) in kartesischen Koordinaten über Multiplikator- und Addiereroperation(en) mit einem vorigen Ergebnis wieder. Laufzeiten
Δm = Σ m / l=0δl können durch Laufzeitelemente
602,
604 realisiert werden, die nicht gleichförmige Ganzzahl-Verzögerungsleitungen ermöglichen (d. h. ermöglicht δ
m ∊
und δ
m ≠ δ
n, m ≠ n). In dieser Ausführung ist δ
0 = Δ
0 = 0 zum Vermeiden von Latenzzeit. Alternativ kann eine Verzögerungsleitung mit gleichförmiger Ganzzahllaufzeit benutzt werden (δ
m = c, c ∊
).
-
Nunmehr auf 7 Bezug nehmend ist eine beispielhafte Ausführung der Verzerrungskernkomponente dargestellt, die keine Multiplikatoren nach verschiedenen beschriebenen Aspekten benutzt. Die Verzerrungskernkomponente 304 ist als ein Beispiel dargestellt, das eine oder mehrere CORDIC-Komponenten nutzt und ein Blockschaltbild der oberstufigen Architektur eines Vor-/Nachverzerrerkerns bereitstellt, das eine Ausgabe für jede Gedächtnisscheibe als eine Verzerrungsmodellausgabe y(n) berechnet.
-
Der als Vor-/Nachverzerrerkern wirkende Verzerrungskern
304 ist eine multiplikatorfreie Architektur, die eine oder mehrere CORDIC-Komponenten
702 zum Erzeugen von Koordinatenwandlungen nutzt. Die Vor-/Nachverzerrerkernkomponente
304 ist durch (Gl. 3) gegeben mit
wobei ψ
x(n – Δ
M) = arg(x(n – Δ
M)) die Phase von x(n – Δ
M) bezeichnet. So kann die Ausgabe des Kerns ähnlich der (Gl. 4) oben als (Gl. 7) geschrieben werden, die
y(n) = Σ M / m=0ym(n) beträgt, wobei y
m(n) die Ausgabe der Gedächtnisscheibe Nr. m gegeben durch
bezeichnet.
-
Jede Gedächtnisscheibe kann wirkungsvoll unter Verwendung einer Nachschlagetabelle Lm gegeben durch (Gl. 6) oben ausgeführt werden, die durch die Größe |x(n – Δm)| indexiert werden kann und die Koeffizienten Lm(|x(n – Δm)|) in Polarkoordinaten erzeugt oder wiedergibt. Die Verzerrungskernkomponente 304 wirkt damit zum Berechnen (Gl. 7) mit einer oder mehreren CORDIC-Komponenten 702 umwandelnd x(n) aus einem kartesischen Koordinatensystem in ein Polarkoordinatensystem und für M + 1 Gedächtnisscheibenblöcke 704 beim Berechnen von (Gl. 8).
-
Bezug nehmend auf 8 ist ein Blockschaltbild 704 dargestellt, das eine Gedächtnisscheibe (z. B. Scheibe Nr. m) einer CORDIC-Ausführung oder einer oben in 7 dargestellten multiplikatorfreien Ausführung aufführt. Das Blockschaltbild 704 von Gedächtnisscheibe Nr. m wird mit dem Signal x(n – Δm-1) in Polarkoordinaten und dem Zwischenergebnis Σ m-1 / l=0yl(n) aus dem vorhergehenden Gedächtnisscheibenblock in kartesischen Koordinaten gespeist, berechnet (Gl. 8) und gibt Σ m / l=0yl(n) = ym-1(n) + ym(n) in kartesischen Koordinaten wieder. Zusätzlich oder alternativ ist es auch möglich, dass δ0 = Δ0 = 0 zum Vermeiden einer Latenzzeit.
-
Nunmehr auf 9 Bezug nehmend ist eine beispielhafte nichtlineare Funktion g(x) und eine PWP-Annäherung f(x) nach einem (linearen) PWP erster Ordnung in (a) und ein (quadratisches) PWP zweiter Ordnung in (b) dargestellt. Statt annähernd von g(x) durch ein Polynom wird eine stückweise Polynom-Annäherung (PWP = Piece-Wise Polynomial) durch für einzelne Segmente offenbarte Systeme erzeugt. Zum Beispiel werden zwei gleichförmige Segmente für eine lineare Annäherung ausgewählt, in der Liniensegmente in (a) linear an die gegebene Funktion g(x) angenähert werden, um zu linearen Segmenten zu passen und Liniensegmente in (b) quadratisch angenähert werden, um zu Polynomsegmenten der Ordnung 2 zu passen, in der auch Segmente größer als eine Ordnung von 2 ausgewählt werden können.
-
Während die in dieser Offenbarung beschriebenen Verfahren als eine Reihe von Handlungen oder Ereignissen dargestellt und beschrieben werden, versteht es sich, dass die dargestellte Ordnung solcher Handlungen oder Ereignisse nicht in einem begrenzenden Sinn auszulegen ist. Zum Beispiel können einige Handlungen in unterschiedlichen Reihenfolgen und/oder gleichzeitig mit anderen Handlungen oder Ereignissen abgesehen von den hier dargestellten und/oder beschriebenen stattfinden. Zusätzlich mögen nicht alle dargestellten Handlungen zum Ausführen eines oder mehrerer Aspekte oder Ausführungsformen der hiesigen Beschreibung erforderlich sein. Weiterhin können eine oder mehrere der hier beschriebenen Handlungen in einer oder mehreren getrennten Handlungen und/oder Phasen ausgeführt werden.
-
Bezug nehmend auf 10 ist ein Verfahren 1000 zum Mildern oder Entfernen von Nichtlinearität in einem nichtlinearen System oder einer nichtlinearen Komponente des Systems nach verschiedenen beschriebenen Aspekten dargestellt. Das Verfahren 1000 leitet ein und umfasst bei 1002 annähernd über eine Verarbeitungsvorrichtung (z. B. die an einem Speicher (z. B. Datenspeicher 108) angekoppelte Verzerrungskomponente 104, einer Nichtlinearitätsfunktion der Nichtlinearität mit einem Satz stückweiser Polynomnäherungen an verschiedene Segmente der Nichtlinearität.
-
Bei 1004 umfasst das Verfahren weiterhin Bereitstellen einer Modellausgabe, die die durch die nichtlineare Komponente (z. B. nichtlineare Komponente 102) erzeugte Nichtlinearität verringert, die eine Nachinverse der Nichtlinearitätsfunktion oder eine Vorinverse der Nichtlinearitätsfunktion umfasst, die zum Verringern der Nichtlinearität in einer Ausgabe der nichtlinearen Komponente als Funktion des Satzes stückweiser Polynomnäherungen wirkt.
-
In einem weiteren Aspekt kann das Verfahren weiterhin Bestimmen eines Annäherungsfehlers als Funktion einer Nichtlinearitätsfunktion der Nichtlinearitätsfunktion und wenigstens einer stückweisen Polynomfunktion umfassen. Die verschiedenen Segmente der Nichtlinearitätsfunktion können zum Betreiben stückweiser Polynomnäherung an eine Gedächtnisscheibe basierend auf wenigstens einem eines Annäherungsfehlers, einer Komplexitätsordnung der verschiedenen Segmente oder oben besprochenen Kriterien ausgewählt werden.
-
Auch kann die Koeffizientenkomponente des Systems zum adaptiven Bestimmen eines Satzes von Koeffizienten entsprechend der Nichtlinearitätsfunktion einer Gedächtnisscheibe mit einer an die verschiedenen Segmente der Nichtlinearitätsfunktion der Gedächtnisscheibe angelegten Operation kleinster Quadrate als eine Funktion von wenigstens einem der verschiedenen ausgewählten Segmente, der Anzahl der verschiedenen ausgewählten Segmente, eines Annäherungsfehlers, einer Komplexitätsordnung der verschiedenen ausgewählten Segmente oder eines vorhergehenden Satzes von in einer Nachschlagetabelle entsprechend einer vorhergehenden Gedächtnisscheibe gespeicherten Koeffizienten wirken. Das System kann dann wenigstens eine Nachschlagetabelle iterativ mit dem Satz von Koeffizienten aktualisieren.
-
Nunmehr auf 11 Bezug nehmend ist ein Verfahren 1100 zum Mildern von Nichtlinearität aus einem nichtlinearen Verhalten einer Vorrichtung (z. B. einer Mobilvorrichtung) mit wenigstens einer nichtlinearen Komponente darin dargestellt.
-
Das Verfahren 1100 umfasst bei 1102 Operationen zum Erleichtern einer Nichtlinearität in einer Ausgabe mit einer Nichtlinearitätsfunktion über die nichtlineare Komponente. Bei 1104 wirkt das Verfahren zum Erzeugen einer Auswertung der Nichtlinearitätsfunktion der Ausgabe basierend auf einer stückweisen Polynomnäherung, die an Segmente der Nichtlinearitätsfunktion angelegt wird. Bei 1106 bieten die Operationen eine Modellausgabe, die eine Nichtlinearität verringert, die durch die Nichtlinearitätsfunktion erzeugt wird, basierend auf der Auswertung.
-
Anwendungen (z. B. Programmmodule) können Routinen, Programme, Komponenten, Datenstrukturen usw. umfassen, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datenarten ausführen. Der Fachmann wird jedoch erkennen, dass die offenbarten Operationen mit anderen Systemkonfigurationen ausgeübt werden können, einschließlich von Einzelprozessor- oder Mehrprozessorsystemen, Minicomputern, Großrechnern wie auch persönlichen Computern, Handrechenvorrichtungen, mikroprozessorbasierende oder programmierbare Verbraucherelektronik und dergleichen, von denen jede funktionsmäßig an eine oder mehrere zugehörige Vorrichtungen angekoppelt sein kann.
-
Eine Rechenvorrichtung kann typischerweise eine Vielzahl von computerlesbaren Medien umfassen. Computerlesbare Medien können jedes verfügbare Medium sein, auf das durch den Computer zugegriffen werden kann und das sowohl flüchtige als auch nichtflüchtige Medien, entfernbare und nichtentfernbare Medien umfasst. Als Beispiel und nicht als Begrenzung können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen sowohl flüchtige als auch nichtflüchtige, entfernbare als auch nichtentfernbare Medien ausgeführt in jedem beliebigen Verfahren oder jeder beliebigen Technik zur Speicherung von Informationen wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder sonstigen Daten. Computerspeichermedien (z. B. ein oder mehrere Datenspeicher) können RAM, ROM, EEPROM, Flash-Speicher oder sonstige Speichertechnik, CD-ROM, DVD (Digital Versatile Disk) oder sonstige optische Diskspeicherung, Magnetkassetten, Magnetband, Magnetplattenspeicherung oder sonstige Magnetspeichervorrichtungen oder jedes sonstige Medium umfassen, das zum Speichern der gewünschten Informationen benutzt werden kann und auf das durch den Computer zugegriffen werden kann, sind aber nicht darauf begrenzt.
-
Kommunikationsmedien enthalten typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder sonstige Daten in einem modulierten Datensignal wie beispielsweise einer Trägerwelle oder sonstigem Transportmechanismus und umfassen jedes Informationszustellungsmedium. Der Begriff „moduliertes Datensignal” bedeutet ein Signal, bei dem eine oder mehrere seiner Eigenschaften so eingestellt oder geändert werden, dass sie Informationen im Signal codieren. Als Beispiel und nicht als Begrenzung umfassen Kommunikationsmedien drahtgebundene Medien wie beispielsweise ein drahtgebundenes Netz oder eine direkt verdrahtete Verbindung und drahtlose Medien wie beispielsweise akustische, (HV-)infrarot- und sonstige drahtlose Medien. Kombinationen beliebiger der obigen sollten ebenfalls im Schutzumfang von computerlesbaren Medien enthalten sein.
-
Es versteht sich, dass hier beschriebene Aspekte durch Hardware, Software, Firmware oder eine beliebige Kombination derselben ausgeführt werden können. Bei Ausführung in Software können Funktionen als eine oder mehrere Anweisungen oder Code auf einem computerlesbaren Medium gespeichert oder übertragen werden. Computerlesbare Medien umfasst sowohl Computerspeichermedien als auch Kommunikationsmedien einschließlich jedes Mediums, das Übertragung eines Computerprogramms von einem Ort zum anderen erleichtert. Ein Speichermedium kann jedes verfügbare Medium sein, auf das durch einen Universal- oder Spezialrechner zugegriffen werden kann. Beispielsweise und nicht als Begrenzung kann ein solches computerlesbares Medium RAM, ROM, EEPROM, CD-ROM oder sonstige optische Plattenspeicherung, Magnetplattenspeicherung oder sonstige Magnetspeichervorrichtungen umfassen oder jedes sonstige Medium, das zum Führen oder Speichern gewünschter Programmcodemittel in der Form von Anweisungen oder Datenstrukturen benutzt werden kann und auf das durch einen Universal- oder Spezialcomputer oder einen Universal- oder Spezialprozessor zugegriffen werden kann. Auch wird jede Verbindung angemessen als computerlesbares Medium bezeichnet. Wenn zum Beispiel Software von einer Website, einem Server oder einer sonstigen entfernten Quelle unter Verwendung eines Koaxialkabels, faseroptischen Kabels, verdrillten Paars, digitalen Teilnehmerleitung (DSL – Digital Subscriber Line) oder drahtlosen Techniken wie beispielsweise Infrarot, Funk und Mikrowelle übertragen wird, dann sind Koaxialkabel, faseroptisches Kabel, verdrilltes Paar, DSL oder drahtlose Techniken wie beispielsweise Infrarot, Funk und Mikrowelle in der Definition von Medium eingeschlossen. Platte wie hier benutzt umfasst Kompaktplatte (CD-Compact Disk), Laserplatte, optische Platte, DVD (Digital Versatile Disk), Diskette und Bluray-Platte, wobei Disketten gewöhnlich Daten magnetisch wiedergeben, während Platten Daten optisch mit Lasern wiedergeben. Kombinationen der obigen sollten ebenfalls im Rahmen von computerlesbaren Medien enthalten sein.
-
Verschiedene beispielhafte Logiken, Logikblöcke, Module und in Verbindung mit hier offenbarten Aspekten beschriebene Schaltungen können mit einem Universalprozessor, einem Digitalsignalprozessor (DSP), einer anwendungsspezifischen integrierten Schaltung (ASIC – Application Specific Integrated Circuit), einem feldprogrammierbaren Gatterfeld (FPGA – Field Programmable Gate Array) oder sonstigen programmierbaren Logikvorrichtung, diskreter Gatter- oder Transistorlogik, diskreten Hardwarekomponenten oder jeder Kombination derselben ausgelegt zum Durchführen von hier beschriebenen Funktionen ausgeführt oder durchgeführt werden. Ein Universalprozessor kann ein Mikroprozessor sein, aber als Alternative kann ein Prozessor jeder herkömmliche Prozessor, Steuerung, Mikrosteuerung oder Zustandsmaschine sein. Auch kann ein Prozessor als eine Kombination von Rechenvorrichtungen ausgeführt sein, zum Beispiel eine Kombination eines DSP und eines Mikroprozessors, eine Vielzahl von Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder jede andere sonstige Konfiguration. Zusätzlich kann wenigstens ein Prozessor ein oder mehrere Module betreibbar zum Durchführen einer oder mehrerer der hier beschriebenen Handlungen und/oder Maßnahmen umfassen.
-
Für eine Softwareausführung können hier beschriebene Verfahren mit Modulen (z. B. Verfahren, Funktionen usw.) ausgeführt sein, die hier beschriebene Funktionen durchführen. Softwarecodes können in Speichereinheiten gespeichert und durch Prozessoren ausgeführt werden. Speichereinheit kann im Prozessor oder außerhalb des Prozessors ausgeführt sein, in welchem Fall die Speichereinheit kommunikationstechnisch durch verschiedene Mittel wie in der Technik bekannt ist an den Prozessor angekoppelt sein kann. Weiterhin kann wenigstens ein Prozessor ein oder mehrere Module betreibbar zum Durchführen von hier beschriebenen Funktionen enthalten.
-
Hier beschriebene Verfahren können für verschiedene drahtlose Kommunikationssysteme wie beispielsweise CDMA, TDMA, FDMA, OFDMA, SC-FDMA und sonstige Systeme benutzt werden. Die Begriffe „System” und „Netz” werden oft austauschbar benutzt. Ein CDMA-System kann eine Funktechnik wie beispielsweise Universal Terrestrial Radio Access (UTRA), CDMA2000, usw. ausführen. UTRA umfasst Breitband-CDMA (W-CDMA – Wideband-CDMA) und sonstige Varianten von CDMA. Weiterhin werden durch CDMA2000 die Normen IS-2000, IS-95 und IS-856 abgedeckt. Ein TDMA-System kann eine Funktechnik wie beispielsweise GSM (Global System for Mobile Communications) ausführen. Ein OFDMA-System kann eine Funktechnik wie beispielsweise E-UTRA (Evolved UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, usw. ausführen. UTRA und E-UTRA sind Teil von UMTS (Universal Mobile Telecommunication System). 3GPP Long Term Evolution (LTE) ist eine Veröffentlichung von UMTS, die E-UTRA benutzt, das OFDMA auf der Abwärtsstrecke und SC-FDMA auf der Aufwärtsstrecke einsetzt. UTRA, E-UTRA, UMTS, LTE und GSM werden in Schriften von einer als „3rd Generation Partnership Project” (3GPP) bezeichneten Organisation beschrieben. Zusätzlich sind CDMA2000 und UMB in Schriften von einer Organisation mit dem Namen „3rd Generation Partnership Project 2” (3GPP2) beschrieben. Weiterhin können solche drahtlosen Kommunikationssysteme zusätzlich Partner-Partner- (z. B. Handy-Handy-) ad hoc-Netzsysteme enthalten, die oft ungepaarte nichtlizensierte Spektren benutzen, 802.xx drahtloses LAN, BLUETOOTH und beliebige sonstige Nah- oder Weitbereichs-drahtlose Kommunikationsverfahren benutzen.
-
Einzelträger-FDMA (SC-FDMA – FDMA = Frequency Division Multiple Access – Vielfachzugriff im Frequenzmultiplex), das Einzelträgermodulation und Entzerrung im Frequenzbereich nutzt, ist ein Verfahren, das bei den offenbarten Aspekten benutzt werden kann. SC-FDMA weist ähnliche Leistung und eine im Wesentlichen ähnliche Gesamtkomplexität auf wie die des OFDMA-Systems. Das SC-FDMA-Signal besitzt ein niedrigeres PAPR (PAPR = Peak-to-Average Power Ratio – Spitze-Durchschnittsleistungsverhältnis) aufgrund der ihm eigenen Einzelträgerstruktur. SC-FDMA kann in Aufwärtskommunikationen benutzt werden, wo ein niedrigeres PAPR einem mobilen Endgerät hinsichtlich der Sendeleistungseffizienz von Nutzen sein kann.
-
Weiterhin können verschiedene hier beschriebene Aspekte oder Merkmale als ein Verfahren, Gerät oder Herstellungsgegenstand unter Verwendung standardmäßiger Programmierungs- und/oder Konstruktionsverfahren ausgeführt werden. Der hier benutzte Begriff „Herstellungsgegenstand” soll ein Computerprogramm umfassen, das von jedem computerlesbaren Gerät, Träger oder Medium aus zugänglich ist. Zum Beispiel können computerlesbare Medien magnetische Speichergeräte (z. B. Festplatten Disketten, Magnetstreifen usw.), optische Platten (z. B. CD, DVD usw.), Smartkarten und Flash-Speichergeräte (z. B. EPROM, Karte, Stick, Schlüsselantrieb usw.) umfassen, sind aber nicht darauf begrenzt. Zusätzlich können verschiedene hier beschriebene Speichermedien ein oder mehrere Geräte und/oder maschinenlesbare Medien zum Speichern von Informationen darstellen. Der Begriff „maschinenlesbares Medium” kann, ohne darauf begrenzt zu sein, drahtlose Kanäle und verschiedene andere Medien fähig des Speicherns, Enthaltens und/oder Ausführens von Anweisung(en) oder Daten umfassen. Zusätzlich kann ein Computerprogrammprodukt ein computerlesbares Medium mit einer oder mehreren Anweisungen oder Codes umfassen, die angesteuert werden können, einen Computer zu veranlassen, hier beschriebene Funktionen durchzuführen.
-
Weiterhin können die Handlungen und/oder Maßnahmen eines in Verbindung mit hier offenbarten Aspekten beschriebenen Verfahrens oder Algorithmusses direkt in Hardware, in einem durch einen Prozessor ausgeführten Softwaremodul oder einer Kombination derselben ausgeführt sein. Ein Softwaremodul kann in RAM-Speicher, Flash-Speicher, ROM-Speicher, EPROM-Speicher, EEPROM-Speicher, Registern, einer Festplatte, einer herausnehmbaren Platte, einer CD-ROM oder jeder sonstigen Art von in der Technik bekanntem Speichermedium residieren. Ein beispielhaftes Speichermedium kann an den Prozessor angekoppelt sein, so dass der Prozessor Informationen aus dem Speichermedium auslesen oder darin einschreiben kann. Als Alternative kann das Speichermedium dem Prozessor integral sein. Weiterhin können in einigen Aspekten Prozessor und Speichermedium in einem ASIC residieren. Zusätzlich kann ASIC in einem Benutzerendgerät residieren. Als Alternative können Prozessor und Speichermedium als diskrete Komponenten in einem Benutzerendgerät residieren. Zusätzlich können in einigen Aspekten die Handlungen und/oder Maßnahmen eines Verfahrens oder Algorithmusses als eines oder beliebige Kombination oder Satzes von Codes und/oder Anweisungen eines maschinenlesbaren Mediums und/oder computerlesbaren Mediums residieren, das in einem Computerprogrammprodukt aufgenommen sein kann.
-
Die obige Beschreibung dargestellter Ausführungsformen der gegenständlichen Offenbarung einschließlich des in der Zusammenfassung Beschriebenen soll nicht erschöpfend sein oder die offenbarten Ausführungsformen auf die genauen offenbarten Formen begrenzen. Während bestimmte Ausführungsformen und Beispiele hier zu Erläuterungszwecken beschrieben sind, sind verschiedene Abänderungen möglich, die im Schutzumfang solcher Ausführungsformen und Beispiele in Betracht gezogen werden, wie der entsprechende Fachmann erkennen kann.
-
In dieser Hinsicht versteht es sich, dass, während der offenbarte Gegenstand in Verbindung mit verschiedenen Ausführungsformen und entsprechenden Figuren beschrieben worden ist, sofern anwendbar, andere gleichartige Ausführungsformen benutzt werden können oder Abänderungen und Zusätze zu den beschriebenen Ausführungsformen zum Durchführen der gleichen, gleichartigen, alternativen oder ergänzenden Funktion des offenbarten Gegenstands ausgeführt werden können, ohne davon abzuweichen. Der offenbarte Gegenstand sollte daher nicht auf irgendeine einzelne hier beschriebene Ausführungsform begrenzt sein, sondern sollte stattdessen in Breite und Umfang gemäß den untenstehenden beiliegenden Ansprüchen ausgelegt werden.
-
Insbesondere hinsichtlich der verschiedenen durch die oben beschriebenen Komponenten oder Strukturen (Baugruppen, Geräte, Schaltungen, Systeme usw.) durchgeführten Funktionen sollten die zum Beschreiben solcher Komponenten benutzten Begriffe (einschließlich einer Bezugnahme auf ein „Mittel”), sofern nicht anders angedeutet, jeder Komponente oder Struktur entsprechen, die die angegebene Funktion der beschriebenen Komponente durchführt (z. B. funktionsmäßig gleichwertig ist), obwohl sie der offenbarten Struktur nicht strukturmäßig gleichwertig sind, die die Funktion in den hier dargestellten beispielhaften Ausführungsformen der Erfindung durchführt. Während zusätzlich ein bestimmtes Merkmal hinsichtlich nur einer von mehreren Ausführungen offenbart worden sein könnte, könnte ein solches Merkmal mit einem oder mehreren anderen Merkmalen der anderen Ausführungen kombiniert werden, sowie es für irgendeine gegebene oder besondere Anwendung wünschenswert oder vorteilhaft sein könnte.
-
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
-
- Normen IS-2000 [0074]
- IS-95 [0074]
- IS-856 [0074]
- IEEE 802.11 [0074]
- IEEE 802.16 [0074]
- IEEE 802.20 [0074]