Fortgeschrittener orthogonaler variabler Optimierungsalgorithmus steigert Kommunikationssystemleistung
Dieser Artikel diskutiert einen Algorithmus zur Findung des optimalen angepassten Punkts in einem zweidimensionalen Raum mit orthogonalen Eingabevektoren. Der Algorithmus löst Gleichungen für sich schneidende Kreise basierend auf gemessenen Datenpunkten.
Mehrere zentrale Systemleistungsmetriken werden durch orthogonale Eingabeparameter bestimmt, die Amplitude und Phase entsprechen; zwei Beispiele sind Quadraturemodulator-Trägerdurchgriff und Seitenbandunterdrückung. Diese Parameter werden durch Optimierung des DC-Offset-Balance und der Amplituden- und Phasenbalance zwischen den Quadratur-Basisbandeingängen des Modulators verbessert.
Da das Finden der optimalen Anpassung dieser Parameter in einem zweidimensionalen Raum keine triviale Aufgabe ist, diskutiere ich in diesem Artikel einen Python-Algorithmus, um den optimalen angepassten Punkt in einem zweidimensionalen Raum mit orthogonalen Eingabevektoren zu finden. Der Algorithmus löst Gleichungen für sich schneidende Kreise basierend auf gemessenen Datenpunkten und findet den optimalen Punkt in nur vier Iterationen. Zur Veranschaulichung nutzte ich den Texas Instruments (TI) AFE7070 integrierten Digital-Analog-Wandler (DAC) plus den Quadraturemodulator-Trägerdurchgriff-Parameter.
Optimierung störender Emissionen
Kommunikationssysteme streben danach, störende Emissionen zu minimieren. Einige dieser Emissionen stammen von orthogonalen Eingangssignal-Mismatches. Beispielsweise beeinflussen DC-Offset-Mismatch und Amplituden/Phasen-Ungleichgewicht Trägerdurchgriff und Seitenbandunterdrückung in analogen Quadraturemodulatoren. Das Anpassen der Eingangsgrößen an einen optimalen Satzpunkt minimiert störende Ausgänge.
Abbildung 1 stellt den gemessenen Parameter als Betrag (r) des Vektors vom optimierten Punkt [x0,y0] zum tatsächlichen Punkt auf einer zweidimensionalen Ebene dar. Der Parameterwert ist durch [0,1] begrenzt, einen Einheitskreis. Eine 0 stellt vollständige Auslöschung oder kein Signal dar, eine 1 keine Auslöschung oder volles Signal. In Dezibelskalen ist die Funktion durch [-inf,0] begrenzt. Der Kreis mit Radius r repräsentiert alle möglichen x,y-Punkte, die denselben Betrag erreichen.

Abbildung 1. Vektor vom optimierten Punkt zum tatsächlichen Punkt
Gleichung 1 stellt die Funktion in ihrer einfachsten Form dar:
(1)
Konstanten [a0,b0] repräsentieren systemabhängige Normalisierungsfaktoren, um das maximale Ergebnis unter 1 zu halten. Technisch beschreibt Gleichung 1 eine Ellipse, da die Skalierungsfaktoren für jede unabhängige Variable nicht identisch sein müssen. Für Simplizität in dieser Analyse ist a0 gleich b0, sodass die Kurven echte Kreise sind.
Das Ziel ist, den optimalen Punkt [x0,y0] zu finden, der den Messparameter (r) so schnell wie möglich minimiert. Das effiziente Finden dieses Punkts mit statistisch variierenden Eingabeparametern ist herausfordernd. Der traditionelle Hunt-and-Peck-Ansatz nutzt aufeinanderfolgende Versuche, um den optimalen Punkt einzugrenzen. Obwohl dies die gewünschte Lösung liefert, dauert es zu viele Iterationen, wenn Konvergenzzeit kritisch ist, was eine neue Methode erforderlich macht.
Sich schneidende Kreise
Idealerweise bestimmen genau drei Messiterationen mit sich schneidenden Kreisen den optimalen Punkt. Das erste Messergebnis an einem willkürlichen Eingabepunkt [x1,y1] definiert unendliche Möglichkeiten für den optimalen Punkt, dargestellt durch Kreis A mit Radius r1. Ein zweiter Datenpunkt liefert einen weiteren unendlichen Datensatz, Kreis B; jedoch grenzen die Schnitte der beiden Kreise die Lösung auf zwei Punkte ein. Ein dritter Datenpunkt und entsprechender Kreis C liefern eine dritte Kurve, wo es nur einen einzigen gemeinsamen Schnittpunkt gibt. Dieser Schnittpunkt ist der optimale Punkt. Abbildung 2 zeigt den Fortschritt sich schneidender Kreise, der im definitiven optimalen Punkt kulminiert.

Abbildung 2. Sich schneidende Kreise offenbaren einen gemeinsamen Schnittpunkt
Diese Technik offenbart den optimalen Punkt in genau drei Iterationen. Eine vierte Iteration misst den optimalen Punkt zur Bestätigung und Dokumentation.
Abbildung 3 illustriert eine Technik, um eine Iteration zu eliminieren, indem empirisch bekannte Randinformationen in der x-y-Ebene genutzt werden. Wählen Sie den Startpunkt an einem der Randpunkte, sodass die erste Kurve (A) ein 90-Grad-Bogen ist. Wählen Sie den zweiten Punkt auf dem ersten Bogen, indem Sie sich in x- oder y-Richtung bewegen.

Abbildung 3. Zwei-Iterations-Lösung
Da der zweite Punkt noch auf der Randkante liegt, ist seine Kurve ein Sub-180-Grad-Bogen. Der Schnitt dieser beiden Kurven liefert einen einzelnen optimalen Punkt. Dieser Ansatz offenbart den optimalen Punkt in nur zwei Iterationen und bestätigt ihn mit drei.
Successive Circle Approximation
Die optimale Lösung hängt von der Genauigkeit der mathematischen Gleichung ab. In einer realen Messsituation werden mehrere Annahmen oder Fehler die Ergebnisse beeinflussen. Die gemessenen Signale sind sehr klein; Rauschen und Messtoleranzen führen zu Fehlern. Die Verwendung perfekter Kreise statt Ellipsen führt zu Unsicherheit. Die Skalierungsfaktor-Annahmen, die zum Lösen mehrerer Gleichungen nötig sind, führen ebenfalls zu Unsicherheit. Diese Fehler und Annahmen übersetzen sich in Unschärfe der Kurven.
Abbildung 4 illustriert, wie unscharfe Kurven keinen exakten Schnittpunkt garantieren; stattdessen definieren sie einen Konvergenzbereich.

Abbildung 4. Successive Circle Intersection Approximation
Jeder zusätzliche Datenpunkt nutzt die Daten der vorherigen Iteration. Successive Kreise konvergieren zu einem Lösungsbereich, der innerhalb des System-Minimumsschwellenwerts liegt.
Messbeispiel
Das Beispiel nutzt den AFE7070 DAC und optimiert für den Trägerdurchgriff-Parameter. Der AFE7070 ist eine praktische Plattform, da DAC und Modulator integriert sind. Der DC-Offset-Ungleichgewicht an den Quadratureingängen des Modulators bestimmt die Trägerdurchgriff-Leistung. Der AFE7070 verfügt über ein internes digitales Tuning-Feature, um den DC-Offset-Balance minutengenau zu steuern. Es braucht nicht viel; die Auflösung liegt im Mikrovolt-Bereich.
Die x,y-Parameter für das Beispiel sind ganzzahlige digitale Schrittwerte, die den DC-Pegel an den Quadratureingängen steuern. Vorheriges statistisches Sampling des Bauelements lieferte die x,y-Grenzen der Eingangsgrößen sowie die Schritttabellen für die Berechnungen. Die Schritttabellen liefern eine „Konvertierung“ eines gemessenen Trägerdurchgriffs in Dezibel-Milliwatt in einen Delta-x (oder Delta-y) Faktor.
Ein hoher (oder schlechter) gemessener Wert bedeutet, dass die Einstellung weit daneben liegt und ein größeres Delta nötig ist, um den optimalen Punkt zu erreichen. Umgekehrt bedeutet ein niedriger Wert, dass der Sollwert nah ist und eine kleine Korrektur genügt. Diese „Hausaufgabe“ ist notwendig, um sicherzustellen, dass initiale Schätzpunkte nicht zu weit abweichen, und die Iterationszeit auf das Minimum zu reduzieren.
Abbildung 5 zeigt den Python-Algorithmus, der die optimalen Eingangsgrößen in vier Iterationen oder weniger findet.

Abbildung 5. Python-Optimierungsalgorithmus
Die Funktionen „Get_r“ und „GetCFi“ sind gerätespezifische Messungen. Ich habe den Code der Kürze halber weggelassen, da er für die Demonstration des Optimierungsalgorithmus irrelevant ist. In Ihren Anwendungen sind diese Funktionen relevant für die Programmierung und Messung des Geräteparameters in Ihrem System.
Fazit
Für den AFE7070 DAC optimiert der Algorithmus in den meisten Fällen den Trägerdurchgriff innerhalb von drei Iterationen und in weniger als 1,7 s, begrenzt primär durch Spektrumanalysator-Einstellung und Sweep-Zeit. Frühere Schrittmethoden benötigten fast 20 Iterationen und mehr als 20 s. Dieser Algorithmus stellt eine Geschwindigkeitsverbesserung von über 10x im Vergleich zum traditionellen Ansatz dar. Andere Kommunikationssystemparameter, die von orthogonalen Eingangsgrößen von Gain und Phase abhängen, können ebenfalls diesen Algorithmus nutzen, um effizient auf eine optimale Lösung zuzusteuern.
Industry Articles ermöglichen es Industriepartnern, nützliche Nachrichten, Botschaften und Technologien mit All About Circuits Lesern zu teilen – auf eine Weise, wie es redaktionelle Inhalte nicht leisten können. Alle Industry Articles unterliegen strengen redaktionellen Richtlinien, um Lesern nützliche Nachrichten, technische Expertise oder Geschichten zu bieten. Die geäußerten Standpunkte und Meinungen in Industry Articles sind die des Partners und nicht notwendigerweise die von All About Circuits oder seinen Autoren.
Industrieroboter
- Eine praktische Taxonomie für Industrial Internet of Things (IIoT) Systeme
- Adaptive Fertigungssysteme für Industrie 4.0 designen: IIoT & RTI Connext nutzen
- ERP für moderne Fertigung transformieren: Agilität, Automatisierung und Wachstum freisetzen
- Wie Robotervision die Automatisierung verbessert: Hauptvorteile & Anwendungen
- 5-Jahres-Frist: Beschleunigung der Enterprise-Adoption intelligenter Systeme
- 10 unverzichtbare Automatisierungs-Workflows für Hersteller
- 10 bewährte Strategien für mehr Effizienz und Sicherheit im Lager
- Prozesse mit präziser Felddatenerfassung optimieren
- Roboterautomatisierung: Effizienz & Wachstum in Industrie 4.0
- Zuverlässige Baseline setzen für maximale Systemperformance