Algorithme avancé d'optimisation de variables orthogonales pour améliorer les performances des systèmes de communication
Cet article discute un algorithme pour trouver le point d'ajustement optimal dans un espace bidimensionnel avec vecteurs d'entrée orthogonaux. L'algorithme résout des équations pour des cercles intersectants basés sur des points de données mesurés.
Plusieurs métriques clés de performance système sont déterminées par des paramètres d'entrée orthogonaux correspondant à l'amplitude et la phase ; deux exemples sont le passage du porteur du modulateur en quadrature et la suppression de la bande latérale. Ces paramètres sont améliorés en optimisant l'équilibre de décalage DC et l'équilibre amplitude/phase entre les entrées de baseband en quadrature du modulateur.
Comme trouver l'ajustement optimal de ces paramètres n'est pas une tâche triviale dans l'espace bidimensionnel, cet article discute un algorithme Python pour trouver le point d'ajustement optimal dans un espace bidimensionnel avec vecteurs d'entrée orthogonaux. L'algorithme résout des équations pour des cercles intersectants basés sur des points de données mesurés et trouve le point optimal en aussi peu que quatre itérations. Pour exemplifier la technique, j'ai utilisé le convertisseur numérique-analogique (DAC) intégré Texas Instruments (TI) AFE7070 plus le paramètre de passage du porteur du modulateur en quadrature.
Optimisation des émissions parasites
Les systèmes de communication cherchent à minimiser les émissions parasites. Certaines de ces émissions proviennent d'un désaccord des signaux d'entrée orthogonaux. Par exemple, le déséquilibre de décalage DC et le déséquilibre amplitude/phase affecteront respectivement les paramètres de passage du porteur et de suppression de bande latérale dans les modulateurs en quadrature analogiques. Ajuster les variables d'entrée vers un point de consigne optimal minimise la sortie parasite.
La Figure 1 représente le paramètre mesuré comme la magnitude (r) du vecteur du point optimisé, [x0,y0], au point réel sur un plan bidimensionnel. La valeur du paramètre est bornée par [0,1], un cercle unité. 0 représente annulation complète ou absence de signal et 1 représente absence d'annulation ou signal plein. En échelle décibélique, la fonction est bornée par [-inf,0]. Le cercle de rayon r représente tous les points x,y possibles qui atteignent la même magnitude.

Figure 1. Vecteur du point optimisé au point réel
L'équation 1 représente la fonction sous sa forme la plus simple :
(1)
Les constantes [a0,b0] représentent des facteurs de normalisation dépendants du système pour maintenir le résultat maximum inférieur à 1. Techniquement, l'équation 1 décrit une ellipse, car les facteurs d'échelle pour chaque variable indépendante n'ont pas besoin d'être identiques. Pour simplifier cette analyse, a0 est égal à b0 de sorte que les courbes soient de vrais cercles.
Le but est de trouver le point optimal [x0,y0] qui minimise le paramètre de mesure (r) aussi vite que possible. Trouver ce point efficacement avec des paramètres d'entrée variant statistiquement est un défi. L'approche traditionnelle de recherche par essais successifs utilise des essais successifs pour converger vers le point optimal. Bien que cela produise la solution désirée, cela prend trop d'itérations quand le temps de convergence est critique, nécessitant une nouvelle méthode.
Cercles intersectants
Idéalement, exactement trois itérations de mesure utilisant des cercles intersectants déterminent le point optimal. Le premier résultat mesuré en un point d'entrée arbitraire [x1,y1] définit des possibilités infinies pour le point optimal représentées par le cercle A de rayon r1. L'ajout d'un second point de données donne un autre ensemble infini représenté par le cercle B ; cependant, les intersections des deux cercles réduisent la solution à deux points. Un troisième point de données et le cercle C correspondant fournissent une troisième courbe où il n'y a qu'un seul point d'intersection mutuelle. Ce point d'intersection est le point optimal. La Figure 2 montre la progression des cercles intersectants qui culminent au point optimal définitif.

Figure 2. Cercles intersectants révèlent un point d'intersection commun
Cette technique révèle le point optimal en exactement trois itérations. Une quatrième itération mesure le point optimal pour confirmer et documenter le résultat.
La Figure 3 illustre une technique pour éliminer une itération en utilisant une information de frontière connue empiriquement dans le plan x-y. Sélectionnez le point initial à l'un des points de frontière de sorte que la première courbe (A) soit un arc de 90 degrés. Sélectionnez le second point sur le premier arc en déplaçant soit dans la direction x soit y.

Figure 3. Solution en deux itérations
Puisque le second point est encore sur le bord de frontière, sa courbe est un arc sous-180 degrés. L'intersection de ces deux courbes fournit un unique point optimal. Cette approche révèle le point optimal en seulement deux itérations et le confirme avec trois.
Approximation successive par cercles
La solution optimale dépend de la précision de l'équation mathématique. Dans une situation de mesure réelle, plusieurs hypothèses ou erreurs impacteront les résultats. Les signaux mesurés sont très petits ; le bruit et les tolérances de mesure introduisent des erreurs. L'utilisation de cercles parfaits au lieu d'ellipses introduit de l'incertitude. Les hypothèses sur les facteurs d'échelle nécessaires pour résoudre plusieurs équations introduisent aussi de l'incertitude. Ces erreurs et hypothèses se traduisent par du flou dans les courbes.
La Figure 4 illustre comment des courbes floues ne garantissent pas un point d'intersection exact ; au lieu de cela, elles définissent une zone de convergence.

Figure 4. Approximation par intersection successive de cercles
Chaque point de données additionnel utilise les données de l'itération précédente. Des cercles successifs convergent vers une zone de solution qui est dans le seuil minimum du système.
Exemple de mesure
L'exemple utilise le DAC AFE7070 et optimise pour le paramètre de passage du porteur. L'AFE7070 est une plateforme commode, puisque le DAC et le modulateur sont intégrés. Le déséquilibre de décalage DC sur les entrées en quadrature du modulateur détermine la performance de passage du porteur. L'AFE7070 a une fonction d'accord numérique interne pour contrôler minutieusement l'équilibre de décalage DC. Il n'en faut pas beaucoup ; la résolution est à l'échelle du microvolt.
Les paramètres x,y pour l'exemple sont des valeurs d'étape entières numériques qui contrôlent le niveau DC sur les entrées en quadrature. Un échantillonnage statistique préalable du dispositif a fourni les bornes x,y des variables d'entrée ainsi que les tables d'étapes utilisées dans les calculs. Les tables d'étapes fournissent une « conversion » d'un passage du porteur mesuré en décibel-milliwatts en un facteur delta-x (ou delta-y).
Une valeur mesurée élevée (ou en d'autres termes, médiocre) signifie que le réglage est loin du but et nécessite un delta plus grand pour atteindre le point optimal. Inversement, une valeur faible signifie que le point de consigne est proche et nécessite une petite correction. Ce « devoir » est nécessaire pour s'assurer que les points de devinette initiaux ne sont pas trop éloignés, et pour réduire le temps d'itération au minimum absolu.
La Figure 5 montre l'algorithme Python qui trouve les variables d'entrée optimales en quatre itérations ou moins.

Figure 5. Algorithme d'optimisation Python
Les fonctions « Get_r » et « GetCFi » sont des mesures spécifiques au dispositif. J'ai omis le code pour brièveté, car il est sans conséquence pour démontrer l'algorithme d'optimisation. Dans vos applications, ces fonctions sont pertinentes pour la programmation et la mesure du paramètre de dispositif dans votre système.
Conclusion
Pour le DAC AFE7070, dans la plupart des cas, l'algorithme optimise le passage du porteur dans les trois itérations et en moins de 1,7 s, limité principalement par le temps de stabilisation et de balayage de l'analyseur de spectre. Les méthodes par étapes précédentes prenaient près de 20 itérations et plus de 20 s pour compléter. Cet algorithme représente une amélioration de vitesse de plus de 10 fois comparé à l'approche traditionnelle. D'autres paramètres de systèmes de communication dépendant de variables d'entrée orthogonales de gain et phase peuvent aussi utiliser cet algorithme pour converger efficacement vers une solution optimale.
Les articles industriels permettent aux partenaires de partager actualités, messages et technologies avec les lecteurs d'All About Circuits d'une manière que le contenu éditorial ne permet pas. Tous les articles industriels sont soumis à des directives éditoriales strictes dans le but d'offrir aux lecteurs des actualités utiles, une expertise technique ou des histoires. Les opinions exprimées sont celles du partenaire et non nécessairement celles d'All About Circuits ou de ses rédacteurs.
Robot industriel
- Une taxonomie pratique pour les systèmes Internet Industriel des Objets (IIoT)
- Concevoir des systèmes de fabrication adaptatifs pour l'Industrie 4.0 : tirer parti de l'IIoT et de RTI Connext
- Comment la vision robotique améliore l'automatisation : avantages clés et applications
- Échéance 5 ans : accélérer l'adoption entreprise des systèmes intelligents
- 10 workflows d'automatisation essentiels pour les fabricants
- 10 stratégies éprouvées pour améliorer l'efficacité et la sécurité de l'entrepôt
- Optimisez vos processus grâce à une collecte de données terrain précise
- Automatisation robotique : piloter l'efficacité et la croissance dans l'Industrie 4.0
- Établir une ligne de base fiable pour maximiser la performance du système