Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Equipment >> Industriële robot

Efficiënt orthogonaal variabel optimalisatie-algoritme voor communicatiesystemen

Dit artikel bespreekt een algoritme om het optimale aangepaste punt in een tweedimensionale ruimte te vinden met orthogonale invoervectoren. Het algoritme lost vergelijkingen op voor snijdende cirkels op basis van gemeten gegevenspunten.

Verschillende belangrijke prestatiestatistieken van het systeem worden bepaald door orthogonale invoerparameters die overeenkomen met amplitude en fase; twee voorbeelden zijn quadratuurmodulatordragerdoorvoer en zijbandonderdrukking. Deze parameters worden verbeterd door de DC-offsetbalans en de amplitude- en fasebalans tussen de kwadratuurbasisbandingangen van de modulator te optimaliseren.

Omdat het vinden van de optimale aanpassing van deze parameters geen triviale taak is gezien de tweedimensionale ruimte, zal ik in dit artikel een Python-algoritme bespreken om het optimale aangepaste punt in een tweedimensionale ruimte te vinden met orthogonale invoervectoren. Het algoritme lost vergelijkingen voor snijdende cirkels op op basis van gemeten gegevenspunten en vindt het optimale punt in slechts vier iteraties. Om de techniek te illustreren, heb ik de Texas Instruments (TI) AFE7070 geïntegreerde digitaal-naar-analoogomzetter (DAC) plus de doorvoerparameter van de kwadratuurmodulatordrager gebruikt.

Onjuiste emissies optimaliseren

Communicatiesystemen streven ernaar om ongewenste emissies tot een minimum te beperken. Sommige van deze onechte emissies zijn afkomstig van orthogonale misaanpassing van het ingangssignaal. Bijvoorbeeld, DC-offset-misaanpassing en amplitude/fase-onbalans zullen respectievelijk de parameters voor carrier-doorvoer en zijbandonderdrukking beïnvloeden in analoge kwadratuurmodulatoren. Het aanpassen van de ingangsvariabelen tot een optimaal instelpunt minimaliseert onechte output.

Figuur 1 geeft de gemeten parameter weer als de grootte (r) van de vector vanaf het geoptimaliseerde punt, [x0,y0], tot het werkelijke punt op een tweedimensionaal vlak. De parameterwaarde is begrensd door [0,1], een eenheidscirkel. Een 0 staat voor volledige annulering of geen signaal en een 1 staat voor geen annulering of een volledig signaal. In decibelschalen is de functie gebonden aan [-inf,0]. De cirkel met straal r vertegenwoordigt alle mogelijke x,y-punten die dezelfde grootte bereiken.

Figuur 1. Vector van geoptimaliseerd punt naar werkelijk punt

Vergelijking 1 vertegenwoordigt de functie in zijn eenvoudigste vorm:

(1)

Constanten [a0,b0] vertegenwoordigen systeemafhankelijke normalisatiefactoren om het maximale resultaat kleiner dan 1 te houden. Technisch gezien beschrijft vergelijking 1 een ellips, aangezien de schaalfactoren voor elke onafhankelijke variabele niet hetzelfde hoeven te zijn. Voor de eenvoud in deze analyse is a0 gelijk aan b0, zodat de curven echt cirkels zijn.

Het doel is om het optimale punt [x0,y0] te vinden dat de meetparameter (r) zo snel mogelijk minimaliseert. Het is een uitdaging om dat punt efficiënt te vinden met statistisch variërende invoerparameters. De traditionele jacht-en-pikbenadering maakt gebruik van opeenvolgende proeven om het optimale punt te bereiken. Hoewel dit de gewenste oplossing oplevert, zijn er te veel iteraties nodig wanneer de convergentietijd van cruciaal belang is, waardoor een nieuwe methode nodig is.

Snijdende cirkels

Idealiter bepalen precies drie meetiteraties met behulp van snijdende cirkels het optimale punt. Het eerste meetresultaat op een willekeurig invoerpunt [x1,y1] definieert oneindige mogelijkheden voor het optimale punt weergegeven door cirkel A met straal r1. Het toevoegen van een tweede datapunt levert een andere oneindige dataset op die wordt vertegenwoordigd door cirkel B; de snijpunten van de twee cirkels beperken de oplossing echter tot twee punten. Een derde datapunt en corresponderende cirkel C verschaffen een derde curve waar er slechts een enkel punt van wederzijds snijpunt is. Dat snijpunt is het optimale punt. Figuur 2 toont de voortgang van snijdende cirkels die culmineren in het definitieve optimale punt.

Figuur 2. Kruisende cirkels onthullen een gemeenschappelijk snijpunt

Deze techniek onthult het optimale punt in precies drie iteraties. Een vierde iteratie meet het optimale punt om het resultaat te bevestigen en te documenteren.

Figuur 3 illustreert een techniek om één iteratie te elimineren door gebruik te maken van empirisch bekende grensinformatie in het x-y-vlak. Selecteer het beginpunt op een van de grenspunten zodat de eerste curve (A) een boog van 90 graden is. Selecteer het tweede punt op de eerste boog door in de x- of y-richting te bewegen.

Figuur 3. Twee-iteratie oplossing

Aangezien het tweede punt zich nog steeds op de grensrand bevindt, is de curve een boog van minder dan 180 graden. Het snijpunt van deze twee krommen levert één optimaal punt op. Deze benadering onthult het optimale punt in slechts twee iteraties en bevestigt het met drie.

Opeenvolgende cirkelbenadering

De optimale oplossing hangt af van de nauwkeurigheid van de wiskundige vergelijking. In een echte meetsituatie zullen verschillende aannames of fouten de resultaten beïnvloeden. De gemeten signalen zijn erg klein; ruis en meettoleranties introduceren fouten. Het gebruik van perfecte cirkels in plaats van ellipsen introduceert enige onzekerheid. De aannames van de schaalfactor die nodig zijn om meerdere vergelijkingen op te lossen, introduceren ook onzekerheid. Deze fouten en aannames vertalen zich in wazigheid in de curven.

Figuur 4 illustreert hoe vage krommen geen exact snijpunt garanderen; in plaats daarvan definiëren ze een convergentiegebied.

Figuur 4. Opeenvolgende cirkel snijpunt benadering

Elk extra gegevenspunt gebruikt de gegevens van de vorige iteratie. Opeenvolgende cirkels komen samen in een oplossingsgebied dat binnen de minimumdrempel van het systeem ligt.

Meetvoorbeeld

Het voorbeeld gebruikt de AFE7070 DAC en optimaliseert voor de carrier-doorvoerparameter. De AFE7070 is een handig platform, aangezien de DAC en modulator zijn geïntegreerd. De DC-offset-onbalans op de kwadratuuringangen van de modulator bepaalt de doorvoerprestaties van de draaggolf. De AFE7070 heeft een interne digitale afstemmingsfunctie om de DC-offsetbalans minutieus te regelen. Er is niet veel voor nodig; de resolutie is op de schaal van microvolt.

De x,y-parameters voor het voorbeeld zijn integere digitale stapwaarden die het DC-niveau op de kwadratuuringangen regelen. Eerdere statistische steekproeven van het apparaat leverden de x,y-grenzen van de invoervariabelen op, evenals de stappentabellen die in de berekeningen werden gebruikt. De stappentabellen bieden een "conversie" van een gemeten draaggolfdoorvoer in decibel milliwatt naar een delta-x (of delta-y) factor.

Een hoge (of met andere woorden, slechte) meetwaarde betekent dat de instelling ver weg is en een grotere delta nodig heeft om het optimale punt te bereiken. Omgekeerd betekent een lage waarde dat het setpoint dichtbij is en een kleine correctie nodig heeft. Dit beetje "huiswerk" is nodig om ervoor te zorgen dat de eerste gispunten niet te ver weg zijn en om de iteratietijd tot het absolute minimum te beperken.

Afbeelding 5 toont het Python-algoritme dat de optimale invoervariabelen vindt in vier iteraties of minder.

Figuur 5. Python-optimalisatiealgoritme

De functies "Get_r" en "GetCFi" zijn apparaatspecifieke metingen. Ik heb de code voor de beknoptheid weggelaten, omdat deze niet van belang is voor het demonstreren van het optimalisatie-algoritme. In uw toepassingen zijn deze functies relevant voor het programmeren en meten van de apparaatparameter in uw systeem.

Conclusie

Voor de AFE7070 DAC optimaliseert het algoritme in de meeste gevallen de carrier-doorvoer binnen drie iteraties en in minder dan 1,7 s, voornamelijk gepoort door de instel- en sweeptijd van de spectrumanalysator. Eerdere stapmethoden vergden bijna 20 iteraties en meer dan 20 seconden om te voltooien. Dit algoritme vertegenwoordigt een snelheidsverbetering van meer dan 10 keer in vergelijking met de traditionele aanpak. Andere parameters van het communicatiesysteem die afhankelijk zijn van orthogonale ingangsvariabelen van versterking en fase, kunnen dit algoritme ook gebruiken om efficiënt een optimale oplossing te vinden.

Industrieartikelen zijn een vorm van inhoud waarmee branchepartners nuttig nieuws, berichten en technologie kunnen delen met lezers van All About Circuits op een manier waarop redactionele inhoud niet goed geschikt is. Alle brancheartikelen zijn onderworpen aan strikte redactionele richtlijnen met de bedoeling de lezers nuttig nieuws, technische expertise of verhalen te bieden. De standpunten en meningen in brancheartikelen zijn die van de partner en niet noodzakelijk die van All About Circuits of zijn schrijvers.


Industriële robot

  1. Een taxonomie voor de IIoT
  2. Flexibele productiesystemen bouwen voor Industrie 4.0
  3. Een nieuwe kijk op ERP-systemen in moderne productie voor toekomstige groei
  4. Inleiding tot glasvezelcommunicatiesystemen
  5. De voordelen van het gebruik van Robotic Vision voor automatiseringstoepassingen
  6. Bedrijven stellen deadlines voor intelligente systemen
  7. Top 10 workflows voor fabrikanten
  8. 10 ideeën voor efficiëntere en productievere magazijnactiviteiten
  9. Veldgegevens verzamelen voor procesoptimalisatie
  10. Een keerpunt voor robotautomatisering
  11. Een systeembaseline opstellen voor optimale prestaties