. Sisteme Adaptive de Antene
CAPITOLUL I
1.CONSIDERAȚII TACTICO – TEHNICE
Prin sistem adaptiv , în sens cibernetic s-ar înțelege un sistem la care se utilizează informația disponibilă în scopul conducerii sistemului , astfel ca acesta să satisfacă un anume criteriu de optimalitate; informația utilizată se obține tot din sistem, de exemplu de la ieșirea acestuia. În scopul satisfacerii criteriului de optim dat, se poate varia fie structura sistemului , fie valorile anumitor elemente din el , algoritmul de funcționare a unor părți din sistem ca și legea de conducere a acestui sistem.
Cel ce caută să se familiarizeze cu sisteme de antene adaptive pentru rejecția interferenței este confruntat cu o vastă literatură conținând multe sisteme propuse diferite. Oricum, sunt doar câteva concepte fundamentale diferite care stă la baza variațiilor.Aici, aceste concepte și relațiile între ele sunt accentuate.Sistemele adaptive nu sunt destinate pentru rejecția interferenței, ca atare mulțimile retrodirective nu sunt luate în considerare.
O atenție specială este dată atenuator de lob lateral, arhitipicul sistem de antenă adaptivă.Analiza matematică inițială este euristică pentru a clarifica principalele principii ale operației. S-a arătat că adaptarea în atenuator de lob lateral poate fi interpretată ca o atenuare, dar ca și formare de rază adaptivă și orientare nulă.Analiza atenuatorului de lob lateral conduce natural spre considerarea unui atenuator multiplu de lob lateral. O mică modificare a atenuatorului de lob secundar produce filtru tăiat.
Sistemele alternative adaptive ce pot lucra cu semnale de bandă largă sunt dezvoltate din teoria clasică. Intr-o formă, mecanismul de ajustare a lărgimii răspunde ieșirii sitemului; în altă formă, mecanismul răspunde diferenței dintre ieșire și răspunsul dorit.
Intrările elementelor adaptive pot deriva din tapped-delay-line sau domeniul de frecvență al filtrelor multi-procesare.
Proiectarea detaliată a unui sistem de antenă adaptivă depinde de criteriul de performanță selectat. Două din cele mai folosite criterii sunt raportul semnal-zgomot și eroarea medie pătratică.Ultimul criteriu combinat cu metoda îndreptării coborârii celei mai abrupte a algoritmului lui Widrow-Hoff. Acest algoritm este adesea implementat în sisteme practice.
Anulatorul adaptiv de zgomot diferă de sistemele clasice adaptive în aceea că estimatul răspunsului dorit provine dintr-o antenă separată, numită antena primară , mai degrabă decât dintr-un generator intern.Aulatorul de lob lateral este un tip special de anulator adaptiv de zgomot. Filtrul adaptiv de tip Dirac , care inlătură periodic semnalele de interferență din banda semnalelor dorite, este un alt tip de anulator adaptiv de zgomot.
Sistemele clasice adaptive și anulatorul adaptiv de zgomot câteodată arată anularea neintenționată a semnalului dorit. Pentru a evita astfel de posibilitate, criteriul restrâns al puterii minime poate fi folosit în programarea unui sistem adaptiv. Sistemul rezultant limitează automat anularea semnalului dorit, în timp ce filtrează interferența.
Sistemele adaptive se utilizează în situațiile în care asupra sistemului acționează factori în parte , sau în totalitate aleatori. În procesul de adaptare, sistemul culege mai întâi informații asupra acestor factori aleatori , după care le determină caracteristicile . În funcție de caracteristicile factorilor perturbatori, sistemul își modifică evoluția în vederea optimizării modului de funcționare.
Este evident că modelele utilizate în tehnică , referitor la sistemele adaptive, sunt încercări de a realza sisteme create de om și care să prezinte performanțe cât mai apropiate de posibilitățile adaptive ale ființelor vii.
În sistemele automate simple , există un circuit de reacție , care prezintă la intrare o informație aupra evoluției semnalului de ieșire. Combinația dintre semnalul de ieșire și cel de intrare, numit și de referință în cazul unei categorii de sisteme automate , conduce la semnalul de comandă, care prin intermediul regulatorului acționează efectorul sistemului. Structura sistemului este fixă , asupra sa neintervenind factori perturbatori.
Proiectarea sistemelor optimale conduce la considerarea a trei elemente:
un model matematic al sistemului fizic considerat;
o funcție obiectiv, care reflectă matematic performanța sistemului, care trebuie optimizată;
constrângerile impuse sistemului în ceea ce privește optimizarea
În sistemele optimale neadaptive, se presupune o cunoaștere deplină a tuturor factorilor care acționează asupra sistemului , ca și a sistemului în sine . În realitate sistemele fizice se cunosc în mod complet doar în cazurizare, iar proiectarea sistemelor automate făcându-se în timp real , fizic , în care trăim, de fapt chiar în timpul de proiectare obținem date noi asupra sistemului și îi modificăm parametrii tocmai în vederea obținerii unor performanțe cât mai bune.
Sistemele adaptive pot fi clasificate din diferite puncte de vedere. Din punct de vedere al modelului matematic utilizat, distingem sisteme adaptive : continue , discrete, liniare, neliniare, cu parametrii concentrați, cu parametrii distribuiți etc.
După natura factorilor din sistem se disting sisteme adaptive cu nesiguranță parametrică sau structurală, cu factori aleatori invarianți sau varianși în timp.
Sistemele adaptive se casifică și după funcțiile obiectiv asociate ; se disting sisteme cu constrăngeri pătratice, cu recunoașterea formelor utilizând criterii aleatoare etc.
Un alt criteriu de clasificare este caracterul însuși al sistemului considerat , care poate fi un automat liniar, sau neliniar.
În mare, problemele care intervin în sistemele adaptive sunt de mai multe categorii. Distingem astfel probleme de estimare a perturbațiilor, de identificări de forme și de control.
1.1 ANTENE ADAPTIVE. GENERALITǍȚI
Un sistem de antene prevăzut cu un procesor care poate filtra semnalele incidente atât în spațiu cât și în timp , reducând sensibilitatea sistemului față de semnalele perturbatoare , constituie un sistem adaptiv. După definiția standard , un sistem de antenă adaptivă este un sistem de antene care are asociate , cu elementele radiante elemente de circuit, astfel încât una sau mai multe din proprietățile antenei pot fi controlate de către semnalul recepționat.
În esență este vorba de crearea unor sisteme de antene care , prin prelucrarea convenabilă a semnalelor recepționate , elimină efectul perturbațiilor. Combinarea proprietăților pe care le-au separat sistemul de antene și procesorul cu care este prevăzut sistemul , face ca în ansamblu acesta să prezinte proprietăți de filtrare atât spațială cât și temporală. Tocmai de aceasta metodele filtrării adaptive se pot utiliza în proiectarea unor sisteme de recepție care să permită extragerea directivă a semnalelor dintr-un mediu în care există perturbații – aceasta făcându-se cu un minim de distorsionare.
Sistemul funcționează cunoscând direcția din care sosește semnalul util, dar nu posedă inițial nici o informație privitoare la perturbații. Sistemale adaptive sunt utile atunci când semnalele perturbatoare au un anume grad de coerență, ceea ce le fac deosebit de utile în domenii variate și pe o gamă întinsă de frecvențe, mergând de la domeniul fenomenelor seismice la cel al radarului.
Radiocomunicațiile , ca și sistemele radar, devin astăzi tot mai intens folosite. Aceasta face ca , în condițiile existenței a tot mai multe sisteme , radio, ca și a folosirii lor non stop, densitatea de surse de semnal radio să crească considerabil, putând afecta însăși funcționarea sistemelor în cauză. Aceasta se traduce printr-o degradare a raportului semnal-zgomot cauzată de semnale nedorite care pătrund în sistem. Aceste semnale se pot datora unor contramăsuri electronice deliberate, sau chiar unor sisteme de radiocomunicații în uz. În acest contex tehnicile antenelor adaptive oferă soluții posibile acestor probleme serioase de interferență.
Astfel, în accepțiunea actuală, antenele adaptive sunt sisteme radio de recepție permițând recepționarea selectivă, în condițiile existenței unor factori perturbatori coerenți sau aleatori, a unor semnale dorite. Mai mult chiar , în condițiile în care sursele de interferență își modifică poziția sau intensitatea , iar semnalul util rămâne relativ slab ca intensitate, caracteristica de radiație a sistemului trebuie să se modifice astfel încât semnalul util să fie recepționat în condiții optime.
Ținând seama de aceste cerințe, ca și de proprietățile de care dau dovadă caracteristicile de radiație ale șirurilor de antene , o soluție naturală în realizarea unui sistem radiant adaptiv o constituie folosirea șirurilor de antene.
Cu această precizare , sistemele radiante adaptive pot fi definite ca sisteme de prelucrare a informației la recepție constând dintr-un șir de antene și un procesor. Acesta îndeplinește sarcina de prelucrare a informației , și în funcție de rezultatele acestei prelucrări comandă modificarea caracteristicii de radiație a șirului. Prelucrarea informației de către procesor se face în conformitate cu o funcție obiectiv prestabilită. Schema bloc a unui astfel de sistem adaptiv este prezentată în figura 1.1.
1.2 CLASIFICAREA ANTENELOR ADAPTIVE
Sunt cunoscute și acceptate mai multe criterii de clasificare ale antenelor adaptive. Dintre acestea se consideră că cele mai sugestive sunt următoarele:
1) Clasificarea după gama de frecvență de lucru a sistemului. În funcție de lărgimea de frecvență de lucru a sistemului , antenele adaptive pot fi de bandă largă sau de bandă îngustă. Cu titlu orientativ, coeficientul de 10% din frecvența centrală a sistemului este acceptat ca criteriu de bandă îngustă. Deși în mod principial funcționarea unui sistem adaptiv rămâne neschimbată în cele două situații , mijloacele tehnice folosite pentru realizare sunt deosebite. În principal , elementele ce diferă semnificativ sunt metodele pentru realizarea ponderilor wi , precum și tehnicile de procesare în situația în care acesta se face în mod analogic.
2) Clasificare în funcție de natura procesorului. În funcție de aceasta sistemele radiante adaptive se pot clasifica în sisteme cu procesor analogic sau sisteme cu procesor digital. În cazul prelucrării analogice a semnalelor tehnici uzuale folosite sunt mixări, multiplicări analogice, sincronizări etc. În cazul prelucrării digitale, semnalele de intrare sunt convertite digital , iar toate informațiile în interiorul sistemului sunt manipulate sub formă numerică. În aceaste situații problemele de convergență a algoritmului devin primordiale.
3) Clasificare în funcție de funcția obiectiv urmărită. Așa cum s-a arătat, adaptarea caracteristicii de radiație se realizează în vederea optimizării unei funcții obiectiv prestabilite , depinzând de algoritmul adoptat. Câteva dintre funcțiile obiective cele mai des utilizate sunt: maximizarea RSZ , minimizarea erorii, maximizarea câștigului, maximizarea câștigului , maximizarea puterii de ieșire.
4) Clasificare în funcție de numărul de antene controlate adaptiv. Așa cum rezultă din figura 2.1, fiecărei antene a unui sistem adaptiv îi este afectat prin intermediul ponderii aferente, un canal de prelucrare a informației. Astfel de sisteme sunt denumite complet adaptive. În cazul în care proporția de elemente controlate adaptiv este de 20% – 50% (numai o parte a antenelor sunt afectate cu ponderi adaptive, celelalte rămânând cu o pondere fixă) , atunci sistemul este denumit parțial adaptiv. În fine , în cazul în care proporția de elemente controlate adaptiv scade sub 10%, sistemul intră în categoria anulatorilor de lob lateral.
5) Clasificare în funcție de natura algoritmului. Atunci când o antenă adaptivă se găsește în situația foarte simplă de a recepționa un semnal util în prezența unuia perturbator, acest deziderat este posibil a fi realizat prin cel puțin una din următoarele căi: recepția îmbunătățită a semnalului util prin îndreptarea lobului principal al caracteristicii de radiața lobului principal al caracteristicii de radiație pe direcția acestuia ,sau rejectarea semnalului perturbator prin îndreptarea pe direcția acestuia a unor nuluri ale caracteristicii de directivitate.
Avându-se în vedere aceste elemente, antenele adaptive pot fi: antene adaptive cu urmărire , antene adaptive cu anulare, antene adaptive combinate . Fac parte din prima categorie antenele adaptive folosind de exemplu algoritmi de maximizare a câștigului. Fac parte din cea de-a doua categorie antenele adaptive ce intră în categoria anulatorilor de lob lateral. Antenele adaptive aparținând celei de-a treia categorii realizează simultan atât urmărirea semnalului dorit cât și rejectarea celui prturbator. Exemple sunt antenele adaptive folosind algoritmul LMS ,algoritmi de optimizare a puterii etc.
CAPITOLUL II
2.STUDIUL TEORETIC AL PRINCIPIILOR ȘI METODELOR GENERALE DE ELABORARE A SISTEMELOR ADAPTIVE DE ANTENE
2.1 FILTRARE SPAȚIALǍ
a b
Ideea de bază a filtrării spațiale folosește proprietățile sistemelor de antene liniare, cu defazaj progresiv, și ținând seama că sistemele la recepție au aceleași caracteristici de directivitate ca la emisie. Astfel un sistem sinfazic are maximul caracteristicii de directivitate în direcția perpendiculară pe șir (figura 2.1 a). Dacă între antene și punctul de sumare , unde se dispune receptorul R, intervin defazoarele Fi , care introduc defazaje progresive, caracteristica de directivitate a sistemului își va modifica direcția lobului principal (figura 2.1 b).
O posibilitate constă în a modifica direcția din care se află un nul , pentru a face ca semnalul perturbator N, considerat de direcție fixă, să se afle în direcția nulului (figura 2.2). Aceasta va duce eventual la o atenuare a intensității semnalui util , dar raportul semnal / zgomot se va ameliora.
În general filtrarea spațială se realizează prin introducerea între antenele de recepție și receptor – dispus în punctul de sumare al semnalelor care vin de la antene – a unor defazoare și a unor circiute de ponderare , care atenuează sau amplifică semnalele în mod dorit. Rețeaua de defazoare și de elemente de ponderare este comandată de un procesor ,
care acționează în conformitate cu algoritmii implementați.
De exemplu în cazul a două antene cadru C1 și C2 , dispuse perpendicular (figura 2.3) , și la care semnalele se adună ponderat , semnalul care sosește din direcția produce la bornele de ieșire tensiunile
U1=Acos( U=Asin(), =t (2.1.1)
așa cum rezultă din ipoteza că cele doua cadre sunt identice și dispuse perpendicular (figura 2.3 a).
Adunănd ponderat cele două semnale , cu ponderile h1=cos și h2=sin , semnalul total va fi
U=A(cos()cos+sin()sin)=Acos(') (2.1.2)
Unde '=+ : lucrurile stau ca și cum sistemul fix , format din cele două cadre , s-ar fi rotit cu unghiul (figura 2.3 b). Acesta este un exeplu de sistem ce își modifică prin ponderare caracteristica de directivitate.
Din cele două exemple anterioare de modificare a proprietăților directive prin defazare și prin ponderare, rezultă că utilizarea judicioasă și simultană a celor două procedee , conduce de asemenea, la o filtrare spațială.
2.2 ANULATORUL DE LOB LATERAL
Un sistem adaptiv de antene își monitorizează automat ieșirea și în consecință își ajustează parametrii.Face acest lucru pentru a reduce impactul interferenței care intră prin lobii laterali, sau posibil prin cel principal, al caracteristicii de radiație a antenei, în timp ce permite recepția unei transmisii intenționate.Proiectarea unui sistem adaptiv de antene cere o cunoastere anterioară a semnalului sai caracteristicii interferenței.
Anulatorul de lob lateral este un exemplu clasic de sistem adaptiv de antene.Nu contează doar importanța practică, dar totodată dă o introducere în conceptele fundamentale ale unui sistem adaptiv de antene.
Figura 2.4 arată o versiune a unui anulator de lob lateral. Semnalele primar și referință sunt ieșirile a două antene separate sau a două grupuri de elemente intr-un singur sistem antenă fazat. Se intenționează ca semnalul de referință să dea o estimare a interferenței în semnalul primar. După obișnuita procesare, acest estimat se scade din semnalul primar. Ca rezultat, interferența este redusă sau eliminată de anulare.
Ideal, semnalul de referință, X1(t), are o componetntă mare de interferență și o componentă mică a semnalului dorit, iar X0(t) o componentă mai mare a semnalului dorit. Intârzierea cu /4 în Figura 2.3 produce un semnal X2(t) care este în cuadratură de fază cu X1(t). Funcțiile pondere, W1(t) și W2(t), reglează modificările lui X1(t) și X2(t) care sunt scăzute din X0(t). Amplitudinile relative ale funcțiilor pondere comandă amplitudinea și faza formei de undă locale extrase din X0(t). Dacă amplitudinile și fazele componentei de interferență a lui X0(t) și forma de undă totală extrasă sunt egale, interferența este anulată și nu apare în ieșirea y(t). Dacă anularea este aprope completă, funcțiile pondere sunt aproape constante; dacă nu, funcțiile pondere sunt astfel încât forma de undă scăzută (extrasă) gradual devine un facsimil a componentei de interferență a lui X0(t).
In analiza următoare, nu facem presupuneri despre direcționalitatea fluxuli antenei primare sau al celei de referință. Este de dorit să avem punctul fluxulkui primar în direcția semnalului dorit. Rețeaua de direcționare a fluxului formează un flux în direcția potrivită prin folosirea tipurilor variate de informație. Dacă antena este o parte a unui sistem radar, informația poate fi caracteristicile de întoarcere ale radarului. Dacă antena este o parte a unui sistem de comunicație, informația poate fi caracteristicile semnalului pilot permis cu semnalul mesaj. Sistemul de antene apoi de fixează pe semnalul pilot pentru a forma un flux în direcția emițătorului.
2.2.1 Operația stare de repaus
In general, semnalul dorit recepționat de antena primară are forma
s(t)=As(t)cos[st+s(t)] (2.1)
unde 0 este frecvența purtătoare, și As(t) și s(t) sunt funcțiile de modulație. Presupunem că interferența (ce poate fi datorată intermodulației), după trecerea prin filtrul de bandă a ramurii primare are forma :
J(t)=Aj(t)cos[j(t)+j(t)] (2.2)
unde j este frecvența purtătoare și Aj(t) și j(t) sunt funcțiile de modulație.
X0(t)=s(t)+J(t)=As(t)cos[st+s(t)]+Aj(t)cos[j(t)+j(t)] (2.3)
Datorită posibilei diferențe în carcateristicile de radiație ale celor două antene, semnalele recepționate de antena de referință pot avea diferite amplificări față de aceleași semnale recepționate de antena primară. Fiecare semnal are un timp de sosire și o defazare la antena de referință relativ la același semnal la antena primară. Presupunem că antenele sunt apropiate îndeajuns ca diferență în timpul de sosire a semnalului la cele două antene este mult mai mică decât banda semnalului inversat. Astfel, funcțiile de modulație sunt aproape neafectate de această diferență. Concluzionăm că ieșirea filtrului de bandă a ramurii de referință poate fi reprezentat prin :
X1=C1*As(t)cos[st+s(t)+1]+C2*Aj(t)cos[j(t)+j(t)+2], (2.4)
unde 1 și 2 sunt unghiurile de fază și C1 și C2 constantele reale. Dacă sursele semnalului dorit și interferență sunt separate geometric, atunci 12. Dacă sursele sunt mobile, atunci 1 și 2 sunt funcții de timp. Amplitudinile câștigurilor antenei primare în direcțiile semnalului dorit și interferență sunt notate cu Gps și Gpj. Amplitudinile câștigurilor antenei de referință în direcțiile semnalului dorit și interferenței sunt notate cu Grs și Grj. Pornind de la aceste definiții, avem :
, (2.5)
Integratoarele sunt proiectate pentru a integra pe intervalul [t-T,t] unde T este astfel ca
0T1. (2.6)
Presupunem că filtrul de bandă este de bandă îngustă astfel încât :
02B (2.7)
unde B este lărgime benzii filtrului în Hz. Astfel, lărgimea de bandă datorită modulației mesajului este mai mică decât frecvența purtătoare. Pentru valorile practice ale lui 0, benzile asociate cu orice variație de timp ale 1 și 2 sunt mai mici de 0.
Intârzierea cu /4 este proiectată pentru a introduce un defazaj de 900 intenționat în transmisie. Cât timp (0-1)2B, ecuațiile (2.7) indică , că această întârziere introduce de asemenea un defajaj de 900 în interferență, deși nu afectează semnificativ unda de modulație. Astfel :
X2=C1*As(t)cos[st+s(t)+1]+C2*Aj(t)cos[j(t)+j(t)+2], (2.8)
Raportul semnal/interferență la intrarea primară este definit de :
(2.9)
In general, I este o funcție de timp. Starea de repaus este definită când primii termeni la numărător și numitor sunt aproape constanți.
In timpul stării de repaus, ecuațiile (2.6) și (2.7) implică faptul că termenii al doilea din numărător și numitor sunt neglijabili comparativ cu primii termeni. Astfel :
(2.10)
unde n este raportul ce ar exista dacă caracteristica primară ar fi omnidirecțională. Similar, raportul semnal/interferență la intrarea de referință este :
(2.11)
Deși i, n și n sunt funcții de timp în general sunt constante în timpul stării de rapus. Din Figura 2.3 ieșirea y(t) și funcțiile pondere W1(t) și W2(t) sunt date de :
y(t)=X0(t)-W1(t)X1(t)-W2(t)X2(t) (2.12)
W1=k (2.13)
W2=k (2.14)
unde constanta K este câștigul amplificatorului liniar. Introducând (2.12) în (2.13) va rezulta:
W1= (2.15)
Vom arăta că W1(t) și W2(t) sunt aproape constante dacă r, j și 2 sunt aproape constante. In acest caz, W1(t) și W2(t) pot fi înlăturați din integrale cu o eroare neglijabilă astfel că :
W1= (2.16)
Intr-o manieră similară obținem :
W2= (2.17)
Ecuațiile (2.4), (2.6), (2.7) și (2.8) și trigonometria arată că :
(2.18)
Folosind apoi aproximarea pentru a rezolva ecuațiile (2.16) și (2.17) va rezulta :
(2.19)
(2.20)
unde definim :
V1= (2.21)
V2= (2.22)
V3= (2.23)
V4= (2.24)
Evaluând integralele cu ecuațiile (2.3), (2.4) și (2.8) și înlocuind ecuațiile (2.19) și (2.20) în ecuația (2.12) obținem expresia pentru ieșirea în termenii semnalului dorit îi interferență. In majoritatea cazurilor se poate simplifica. Dacă T și K sunt suficient de mari, primul termen de pe partea dreaptă a ecuației (2.21) poate fi ignorat. Substituind ecuațiile (2.4) și (2.8) în ecuația (2.22) se arată că V2 este foarte mic în operația stare de repaus. Este rezonabil să neglijăm V2 în ecuația (2.19) și (2.20). Ca rezultat al aproximărilor avem:
W1(t)= (2.25)
W2(t)= (2.26)
Din ecuțiile (2.3), (2.4), (2.6), (2.7) și (2.8) obținem :
– ecuația (2.27)
(2.28)
(2.29)
In general, de când semnalul dorit este nesincronizat cu interferența. Ne asteptăm ca în timpul operației de stare de repaus :
(2.30)
unde s1(u,1) este semnalul dorit cu defazajul arbitrar 1 și J1(u,2) este semnalul interferență cu defazajul arbitrar 2. Dacă ecuația (2.30) este validă, semnalul dorit și interferență trebuie să fie necorelate în timp.
Ecuația (2.30) arată că doar primii doi termeni ai ecuației (2.27) și (1.29) trebuie reținuti. Prin folosirea ecuațiilor (2.10) și (2.11), ecuațiile (2.29) și (2.30) arată :
W1= (2.31)
W2= (2.32)
Aceste ecuații indică faptul că W1 și W2 sunt aproximativ constante dacă r, 1, 2 sunt aproximativ constante. Astfel, presupunerea că funcțiile pondere sunt constante s-a verificat că se poate realiza cu alte aproximări făcute în realizarea acestor ecuații.
Folosind ecuațiile (2.10) și (2.11) rezultatul final este :
(1+r)y(t)=AS(t)cos[0t+S(t)]
– (1/)AS(t)cos[0t+S(t)+1-2]
+rAj(t)cos[1t+j(t)]
-rAj(t)cos[1t+j(t)-1+2] (2.33)
unde
(2.34)
Raportul semnal/interferență la ieșire anulatorului de lob lateral, 0, este calculat ca raportul dintre puterea medie pe intervalul I în primii 2 termeni pe puterea medie pe intervalul I în ultimii 2 termeni de pe partea dreaptă a ecuației (2.33). Dacă y(t)0, rezultatul este o formulă foarte simplă :
0=1/r (2.35)
Astfel, componenta interferență a semnalului primar ar fi anulată dacă r1. Concluzionăm că distorsiune semnalului de la ieșire este mică când semnalul putere la antena de referință este relativ scăzut. La o analiză a ecuațiilor (2.33) și (2.31) zgomotul termic este neglijabil.
Dacă sursa de interferență este aproape direct în spatele sursei semnal, atunci 1 și 12. Cum ecuația (2.33) arată că y(t)0, semnalul de la ieșire este inclus în zgomotul termic. Concluzionăm că anulatorul de lob lateral este inefectiv în acest caz.
Este nevoie de un semnal în canalul de referință să inducă anularea semnalului la ieșire. De exemplu, dacă jr1 ecuația (2.35) dă 0j . Desigur, sistemul adaptiv cauzează degradare a performanței relativ la performanța antenei primare lucrând singură. Ecuația (2.11) arată că proiectarea sistemului astfel ca GrsGrj este de ajutor în asugurarea valorilor mici pentru r. Astfel, este de dorit o antenă de referință cu un flux ce se îndreaptă în direcția interferenței. O posibilă implementare este folosirea unei rețele de orientare a fluxului ce trimite un flux de referință pentru a căuta semnale de interferență de mare putere sau caracteristici speciale.
Odată ce direcția interferenței este de obicei necunoscută și pot fi două sau mai multe surse de interferență separate spațial , GrsGrj poate fi obținut dacă punem mai multe antene de referință, fiecare cu un flux direcționat așa cum se vede în figura 2.2. Fluxurile de referință se asează în direcții variate relative la fluxul primar. Ieșirea fiecărei antene de referință are nevoie de o rețea de anulare similar cu cea din Figura 2.3 o continuare a acestui tip este cunoscută drept anulator multiplu de lob lateral odată ce dă posibilitatea anulării multiplelor semnale de interferență ce intră pa două sau mai multe puncte ale lobilor laterali ale caracteristicii de directivitate primare. Un anulator multiplu de lob lateral mai puțin costisitor este cel cu antene de referință omnidirecționale.
Chiar dacă GrsGrj, anularea concretă a semnalului dorit se poate întâmpla dacă interferența este atât de mică încât r1. Pentru a preveni această distorsiune intrarea de referință poate fi monitorizată și propagarea ei blocată dacă amplitudinea sau puterea depășește un prag stabilit. Astfel, mecanismul adaptiv este scos din uz dacă interferența este îndeajuns de puternică pentru a amenința folosirea lui.
Dacă antena de referință este deconectată și o purtătoare nemodulată este injectată ca X1(t), sistemul de antene adaptive se comportă ca un filtru de tip Dirac pe frecvența purtătoare. Pentru a demonstra acest efect, punem C1=0 și presupunem că Aj(t) și j(t) sunt constante în ecuația (2.33) și (2.4). Dacă ecuația (2.30) este validă, obținem y(t)=s(t), adică o anulare completă a purtătoarei de interferență. Ecuația (2.30) nu este validă dacă As(t) și s(t) sunt constante și 0=1. In acest caz, un calcul laborios arată că y(t)0, indicând o anulare completă la intrarea primară.
2.2.2 Adaptarea de "null steering"
Putem interpreta operația sistemului adaptiv de antene în termenii de adaptarea de "null steering". Odată ce noi nu dorim obținerea de noi rezultate, ci doar de interpretarea celor vechi, facem un artificiu matematic folosind >1. Astfel, termenul secund al ecuației (2.33) este neglijabil în comparație cu primul, și cel de-al treilea este neglijabil în comparație cu al patru-lea. Astfel obținem :
y(t)≈[s(t)+J1(t)]-, >1, (2.36)
unde
J1(t)=Aj(t)cos[1t+j(t)-1+2], (2.37)
Este versiunea cu modulație de fază a lui J(t). Primul termen din paranteză din partea dreaptă a ecuației (2.36) poate fi interpretat ca răspunsul datorat antenei primare cu câștigurile Gps și Gp în direcția semnalului dorit și interferență. Al doilea termen din paranteză poate fi interpretat ca răspunsul datorat caracteristicii echivalente a cărei ieșire este scăzută din ieșirea primară pentru a da y(t).
Cu această interpretare, caracteristica echivalentă de anulare sau fluxul adaptiv are câștigurile :
, >1 , (2.38)
, >1 , (2.39)
Caracteristica echivalentă totală a sistemului adaptiv de antene dă câștigurile:
, >>1 , (2.40)
, >>1, (2.41)
care sunt pe direcțiile semnalului dorit și interferență. Dacă r este mic, ecuația (2.40) dă GS"GPS. Dacă r este atât de mic adică <<1, atunci ecuația (2.41) indică faptul că GJ'' este mult mai mic decât GPJ. Astfel poate fi creată o aproximare în direcția interferenței. Din acest motiv, acțiunea unui sistem adaptiv de antene este numită "null steering". Mai jos se prezintă un desen reprezentativ la cele spuse mai sus.
O analiză bazată pe ecuația Wiener-Hopf, care este derivată din capitolul 2.3, arată că dacă condiția de limitare de bandă dată de ecuația (2.7) nu este satisfăcută, atunci performanța anulatorului de bandă laterală din Figura 2.5 se deteriorează [24]. Sistemele adaptive ce se ocupa cu semnale de bandă largă trebuie să folosească procesări mai elaborate cum ar fi cele date de linii de întârziere.
2.3 BAZA TEORETICA A SISTEMELOR ADAPTIVE DE ANTENE
Un sistem adaptiv de antene constă într-un sistem de antene, cu elemente de procesare fixe, și elemente adaptive. Scopul e de a elimina din sistemul dorit interferența generată extern. Elementele adaptive au una din formele arătate în Figura 2.5. In Figura 2.5 (a), mecanismul de ajustare a ponderilor răspunde la ieșire; în Figura 2.5 (b), răspunde la eroare care este diferența dintre răspunsul dorit și ieșire. Ideal, răspunsul dorit, d, este semnalul recepționat minus interferență și zgomot. In practică, d este un semnal cu caracteristici generale, dar nu structură detaliată, al semnalelor pe care sistemul de antene se asteaptă să îl recepționeze. Formele din Figura 2.5 nu sunt neapărat optimale, dar sunt folosite datorită simplității și compatibilității cu sistemele controlate de calculator. Intrările, X1, X2, …., XN sunt derivate din elemente fixe de procesare și pot fi semnale continue sau în timp discret. Intrările sunt aplicate ponderilor W1, W2, …, WN, care ajustează continuu ca o funcție de ieșire sau eroare. Elementele de bază adaptive pot fi folosite într-o varietate de sisteme diferite.
Intrările pot varia de la o linie de întârziere "tapped", ca în Figura 2.5. Fiecare dintre ieșirile celor K antene sunt filtrate, întârziate, și apoi aplicate unei linii ce constă în L puncte "tap" și L-1 întârzieri ideale de timp de secunde fiecare. Numărul de intrări al ponderilor adaptive este de N=K L.
Fiecare intrare din Figura 2.6 poate fi transformata Fourier discretă la frecvența specificată, să spunem fI, al ieșirii antenei. Cu interpretarea pentru Figura 2.7 (b), răspunsul dorit este transormata Fourier discretă la fI a formei de undă dorite. Un sistem complet de filtre de procesare pe domeniul de frecventă alimentează K elemente adaptive- unul pentru fiecare K frecvențe discrete, ca în Figura 2.7. Acest filtru poate fi atractiv dacă forma de undă dorită este o funcție de timp complicată, dar are o transformată fourier simplă.
Pentru a dezvolta algoritmii adaptivi, vom determina mai întâi ponderile optime fizate. Apoi algoritmii adaptivipot fi determinați astfel încât ponderile converg către cele optime fixate.
Varierea ponderilor oprime fixate depinde de specificația criteriului de performanță sau procedurii de estimare și modelarea semnalelor recepționate de antene. Pentru ponderi fixate problema de optimizare este ilustrată în Figura 2.9. Vectorii intrare și pondere sunt :
, (2.42)
Intrarea este o funcție de semnalul dorit, interferență, și zgomotul termic. Ieșirea scalară este :
Y=WTX (2.43)
unde T este înseamnă transpusa. Ieșirea este un estimat al răspunsului dorit, d. Filtrul din Figura 2.9 este linear deoarece ponderile sunt fixate. Odată cu schimbarea caracteristicilor proprii în răspuns către schimbări ale caracteristicilor intrărilor proprii, sistemele adaptive pot fi proiectate astfel încât să aproximeze un filtru liniar optim după o adaptare sificientă.
Pot fi implementați o serie de estimatori diferiți ai lui d de către filtrul liniar din Figura 2.9. Dacă vectorul recepționat, X, este presupus a avea o distribuție Gaussiană, estimarea maximă cea mai bună a componentelor semnalului dorit al undei recepționate conduce la un estimator care este o funcție liniară de X. Oricum, presupunerea Gaussiană nu este garantată când este prezentă interferența. Estimatorii ce depind doar de momentele de ordin 2 ale lui X pot fi obținuți folosind un criteriu de performanță bazat pe raportul semnal/zgomot sau eroarea medie pătratică a ieșirii filtrului. Totodată, estimarea maximă cea mai bună nu va fi abordată în acest capitol. Griffits[25] compară acest filtru și filtrul Wiener, care este descris mai jos.
2.3.1Criteriul Raport Semnal/Zgomot
Un criteriu rezonabil de proiectare pentru sistemele adaptive radar este maximizarea probabilității de detecție pentru probabilitatea fixă de alarmă falsă [26]. Această maximizare s-a arătat a fi echivalentul a maximizării raportului semnal/zgomot generalizat, care el însuși este un criteriu intuitiv de proiectare. Considerăm maximizarea raportului semnal/zgomot la ieșirea elementului adaptiv din Figura 2.6 (a) [27]. Prin zgomot, înțelegem combinarea zgomotului termic și interferența generată extern. Presupunem că vectorul de intrare, X, este suma a două componente ,
X=H*d+n, (2.44)
unde H este un vector coloană H-dimensional de constante, n este un vector coloană N-dimensional de componente de zgomot ce derivă din procesele staționare, și d este semnalul seterminist dorit. Considerăm componentele vectoriale și scalare ca, componente variabile. Totodată, rezultatele se aplică elementelor adaptive în Figura 1.6. și sistemelor de bandă îngustă pentru care d este reprezentarea anvelopei complexe a semnalului dorit.
Componenta ieșirii, y, datorată semnalului dorit este
ys= WTHd, (2.45)
și componenta lui y datorată zgomotului este
ys=WTn=nTW, (2.46)
la un moment dat de timp, semnalul putere la ieșire este
Rs=|ys|2=|WTHd|2, (2.47)
Puterea medie a zgomotului la ieșire este
Rn=E[(nTW)'(nTW)]=W'RnnW, (2.48)
unde E[x] este valoarea asteptată a lui X și Rnn=E[n*nT] este matricea de corelație a zgomotului. Raportul semnal zgomot este
. (2.49)
presupunând că Rn >0 pentru toate W, Rnn este definit pozitiv. De la propria definiție, Rnn este Hermițiana.
Matricea Hermițiană definită pozitiv are valori pozitive. Astfel, poate fi diagonalizată către matricea identitate. Definim matricea nesingulară N*N,
, (2.50)
unde λI sunt valorile și eI sunt vectorii ortonormali corespunzători ai lui Rnn. De aici rezultă :
I=D'RnnD, (2.51)
unde I este matricea identitate.
Combinând acest rezultat cu eciația (2.48) rezultă
Rn=W'(D') -1D'RnnDD-1W
=(D-1W)'(D-1W)=||D-1W||2, (2.52)
unde ||x||2 = x'x este norma pătratică Euclidiană a vectorului x. folosind inegalitatea Cauchy-Scwartz, ecuația (2.47) va arăta :
RS =|WT(DT)-1DTHd|2
=|(D-1W)TDTHd|2
=|(D-1W)'D'H*|2|d|2
||D-1W||2||D'H*||2|d|2 (2.53)
Egalitatea din această ecuație se obține dacă
D-1W=cD'H* , (2.54)
unde c este o constantă arbitrară. Inlocuind ecuația (2.52) și (2.53) în ecuația (2.49), urmează :
P ||D'H*||2|d|2 . (2.55)
Valoarea maximă a lui P este obținută dacă ecuația (2.54) este satisfăcută. Astfel, alegerea optimă a luiW este
W0=cDD'H* . (2.56)
Prin folosirea ecuației (2.51), această ecuație devine
W0=cRnn-1H* . (2.57)
Valoarea lui P corespunzătoare ponderilor optime este
P0=||D'H*||2|d|2
=HTDD'H*|d|2=HTRnn-1H*|d|2 (2.58)
Pentru a implementa ecuația ecuația (2.57), trebuie să știm valorile componentelor lui H. cum sistemele adaptive au mai mult de o antenă (sau element sistem), această cunoaștere implică faptul că direcția de sosire a semnalului dorit este cunoscută.
2.3.2 Criteriul erorii medii pătratice
Cea mai cunoscută metodă folosită de estimare este bazată pe minimizarea erorii medii pătratice [28]. In loc de presupunerea cunoașterii direcției de sosire , presupunem că este adăugat un facsimilal răspunsului dorit. Presupunem că X și d sunt derivate din procesele stochastice staționare. Se pot obține rezultate similare prinmodelarea lui X și d cu variabile deterministe în timp continuu sau discret sau minimizarea erorii pătratice medii. Deoarece e convenabil și rezultatele sunt de aobicei aplicate sistemelor de forma din Figura 2.7, presupunem că toți scalarii și componentele matriceale sunt reale. Referitor la Figura 2.6(b), diferența dintre răspunsul dorit și ieșire este semnalul eroare,
e = d – WTX (2.59)
Referitor la W fixat și WTX=XTW , eroarea medie pătratică este
E[e2] = E[(d-WTX)2]
= E[d2] + WTRxxW – 2WTRxd , (2.60)
unde
Rxx = E[XXT] , (2.61)
este matricea de simetrică de corelație a lui X, și
Rxd = E[d] , (2.62)
este vectorul de cross-corelație dintre semnalele de intrare și semnalul răspuns. Luând gradientul ecuației (2.60) obținem
E[e2] = 2RxxW – 2Rxd (2.63)
Luând gradientul zero, obținem condiția necesară pentru vectorul pondere optim W0 . presupunând că ieșirea nu este zero, Rxx este definit pozitiv. Astfel, nu este nesingular așa că obținem
W0 = Rxx-1Rxd . (2.64)
Această ecuație este ecuația Wiener-Hopf pentru vectorul pondere optim. Filtrul liniar asociat se numește filtrul Wiener. Pentru a arăta că W0 dă eroarea medie pătratică minimă, setăm W=W0 în ecuația (2.60) pentru a obține eroarea medie pătratică corespunzătoare lui W0 ,
ER = E[d2] – W0RxxW0
= E[d2] – RxdTRxx-1Rxd . (2.65)
Inlocuind ecuația (2.65) în ecuația (2.60) și folosind ecuația (2.64) pentru a elimina Rxd, putem exprima eroarea medie pătratică în forma
E[e2] = ER + (W-W0)T Rxx (W-W0) . (2.66)
Odată ce Rxx este definit pozitiv, această expresie arată că W0 este vectorul pondere optim adecvat și ER este eroarea medie pătratică minimă. Ecuația (2.66) descrie o funcție quadratică multidimensională a ponderilor ce pot fi vizualizate în două dimensiuni ca o suprafață în formă de "găleată". Scopul adaptării este de a căuta continuu fundul "găleții".
2.3.3 Metoda “coborâre abruptă”
In implementarea ecuațiilor (2.57) sau (2.64). prezența interferenței înseamnă că matricea de corelație Rnn sau Rxx, este necunoscută. Din acest motiv, aproximările ecuațiilor trebuie determinate. Odată ce dificultățile de calcul ale inversărilor de matrici sunt destul de mari când numărul de ponderi este mare sau statisticile se semnale ce variază în timp au nevoie de procesări frecvente, majoritatea aproximărilor dezvoltate implică relații recursive și tehnici de căutare a gradientului sau tehnici de căutare aleatoare [29]. Oricum, pentru sisteme de date eșantionate, implementarea directă a ecuațiilor după aproximări potrivite ale elementelor matricelor a fost arătată pentru a prezenta convergența rapidă în circumstanțe sigure [30] .
Deoarece teoria a fost foarte mult investigată și adesea implementată, considerăm aproximarea ecuației (2.64) cu metoda “coborâre abruptă”. Aproximarea ecuației (2.57) implică un mecanism similar de ajustare adaptivă a ponderilor [26]. Vom trata X, W și d în timp discret, variabile de valori-eșantionate și folosim indexul k pentru a arăta o eșantionare pariculară instantanee sau “ciclu de adaptare”. Rezultatele pentru sisteme în timp continuu sunt analoage.
In metoda stepest descent, vectorul pondere este schimbat odată cu direcția gradientului negativ a erorii medii pătratice. Folosind ecuația (2.63), obținem :
W(k+1) = W(k) – μE[2]
=Wk)–2μ[RxxW(k)–Rxd], (2.67)
, unde constanta scalară controlează rata convergenței și stabilitatea.
Ciclul de adaptare începe cu o pondere inițială arbitrară. Așa cum e descrisă, această metodă elimină nevoia de a procesa inversa lui Rxx , dar are nevoie de aproximarea lui Rxx și Rxd.
Algoritmul lui Griffith [31] rezultă dacă Rxx este înlocuit cu X(k)XT(k) și Rxd este estimat direct astfel:
W(k+1) = W(k) – 2μ[X(k)XT(k)W(k) – Řxd]
=W(k)–2μ[X(k)y(k)–Řxd] , (2.68)
unde este estimatul lui Rxd. Problema cu algoritmul este că este dificilă o estimare cu acuratețe a lui Rxd daca amplitudinea componentei semnalului dorit a lui X este necunoscută.
Algoritmul Widrow-Hoff [6[, cunoscut ca algoritmul eroare medie pătratică (LMS), aproximează Rxd cu X(k)d(k) asstfel că:
W(k+1) = W(k) – 1μ[X(k)XT(k)W(k) – X(k)d(k)]
= W(k) + 2με(k)X(k) , (2.69)
Această regulă de iterație spune că următorul vector pondere este obținut prin adăugarea la vectorul pondere prezent vectorul de intrare ,,scaled” cu cantitatea de eroare. Se arată din figura 2.8 că pentru o valoare potrivită a lui µ , media vectorului pondere converge la valoarea optimă dată de ecuația Whiener-Hopf. Figura 2.10 arată o diagramă-bloc a ecuației (2.69) pentru o componentă a vectorului pondere.
Implementările analogice a sistemelor continue fac ca ecuația (2.69) să devină una diferențială:
(2.70)
echivalent dacă W(0)=0,
(2.71)
O eventuală problemă cu algoritmul Widrow-Hoff poate fi explicată în termeni caracteristici de radiație echivalentă a sistemului de antene.Dacă semnalul dorit nu este transmis, adaptarea poate reduce răspunsul în direcția acestui semnal astfel încât comunicația este anulată când transmisia e repornită. Pentru a rezolva această problemă se folosește un semnal pilot.
Un semnal pilot este un vector, fiecare componentă a acestuia este un estimat al semnalului dorit ce ar putea apărea la ieșirea antenei în lipsa zgomotului sau interferenței. Cu alte cuvinte, semnalul pilot este construit să aibă caracteristici spectrale și direcționale similare cu acelea ale semnalului dorit recepționat. S-au propus 2 algoritmi diferiți ce folosesc semnalul pilot.
În algoritmul bi-mod, adaptarea alternează între adaptarea doar pe semnalul pilot și adaptarea doar pe semnalele recepționate de sistem. Algoritmul mono-mod adaptează suma dintre semnalul pilot și cel dorit recepționat. Detalii despre performanțele celor 2 algoritmi se pot găsi în literatura de specialitate [28,29].
Răspunsul dorit, d, este cerut la fiecare iterație a ecuației (2.69). Un estimat al răspunsului dorit, d, poate fi generat pentru câteva tipuri de comunicații cu sisteme cu buclă de forma celor din figura 1.10. Pentru o operație eficientă, nu trebuie să fie o replică perfectă a semnalului dorit, dacă ar fi nu ar mai fi nevoie de sistem adaptiv de antene. Oricum, ecuația Wiener-Hopf, pe care dorim pe cât posibil să o aproximăm, indică faptul că trebuie să fie astfel:
Rxd’≈Rxd (2.72)
Operația stabilă este obținută doar dacă este independent de amplitudinea componentei proporțională cu semnalul dorit la ieșirea sistemului. Dacă nu, ponderile sistemului pot crește nedefinit sau descrește la 0. Prezența limitatorului în Fig. 2.12 (b) controlează amplitudinea lui d. Întârzierea datorată generării prin buclă a lui ar trebui să fie mult mai mică decât perioada da modulația de date. Detalii referitoare la acest aspect sunt descrise de Compton [32]. Pentru acest sistem, suprimarea interferenței datorată sistemului adaptiv este valabilă în adăugare la suprimarea ca ne-o permitem în procesarea formei de undă.
2.4 ANULAREA ADAPTIVǍ A ZGOMOTULUI
Elementul adaptiv al sistemului anulator de zgomot [33] este un caz special al figurii 2.6 (a). Oricum, un sistem anulator de zgomot are niște caracteristici atât de distincte încât este tratat separat în această secțiune.
În sistemele adaptive anulatoare de zgomot, ilustrate în figura 2.13, răspunsul dorit este înlocuit cu intrarea primară, ce se extrage dintr-o antenă separată. Intrarea primară este exclusă din calculele cu vectorul pondere.
Astfel, vectorul pondere optim pentru minimizarea semnalului eroare medie pătratică este dat de ecuația Wiener-Hopf.
W0=Rxx-1Rxp , (2.73)
unde Rxx interpretăm ca matricea de corelație a intrărilor de referință și Rxp este vectorul corelație al intrărilor de referință cu intrarea primară.
Ieșirea sistemului pentru sistemul adaptiv anulator de zgomot este identic pentru sistemul eroare. Vom arăta că minimizarea erorii medii pătratice de ieșire este aproximativ echivalentă cu obținerea unui estimat minim al erorii medii pătratice a semnalului dorit, d, dacă ieșirea filtrului adaptiv, y, este astfel încât este neglijabilă corelația cu d. Presupunem că intrarea primară este suma dintre semnalul dorit și zgomotul necorelat, n0. Referindu-ne la figura 1.11, ieșirea anulatorului este:
ε = d + n0 – y , (2.74)
Presupunem că toate semnalele sunt extrase din procesele stochastice staționare luând valoarea așteptată a pătratelor ambelor laturi ale ecuației 2.74 rezultă:
E[ε2]=E[d2] + E[(n0 – y)2] + 2E[dn0] – 2E[dy] , (2.75)
Dacă d este necorelat cu n0 și este neglijabilă corelația cu y, această ecuație se reduce la:
E[ε2]=E[d2] + E[(n0 – y)2] , (2.76)
Semnalul putere, E|d2|, este neafectat odată ce filtrul adaptiv este ajustat pentru a minimize E|e2|. La fel, este minimizat când E|e2| este minimizat. Din ecuația 2.74 rezultă că și este minimizat. Concluzionăm că ieșirea anulatorului adaptiv de zgomot are un estimat minim al erorii medii pătratice a semanlului dorit. Odată ce ecuația Widrow-Hoff este validă, algoritmul Widrow-Hoff reacționează. Considerăm un sistem în timp continuu cu un vector de referință bidimensional, , unde X2(t) este rezultatul trecerii lui X1(t) printr-o întârziere cu λ/4. Ecuația (2.71) va determina implementarea Figurii 2.3. Astfel, am arătat cum crește configurația și de ce performanță să ne așteptăm a fi optimă. Folosind ecuația Wiener-Hopf, Widrow [33] folosind transformata Z, acreat o versiune cu date eșantionate a ecuației (2.35).
Anulatorul adaptiv de zgomot poate fi folosit ca un filtru adaptiv ,,notch", care este folosită în aplicații ca înlăturarea intreferenței periodice din comunicațiile cu spectru împrăștiat. Acest filtru are forma din figura 2.14, ca un rezultat al figurii 2.13, unde intrările de referință sunt extrase din linia de întârziere alimentată de intrarea primară întârziată.
Întârzierea, , este îndeajuns de mare pentru a cauza ca, componenta semanlului de bandă largă dorit X1 să devină necorelat cu componentele corespunzătoare ale intrării primare. Ca rezultat, linia de întârziere formează adaptiv un filtru astfel că y este compus inițial din componente de interferență periodică. Dacă banda filtrului este suficient de îngustă, ieșirea sistemului este semnalul de bandă largă dorit cu mici distorsiuni. Așa cum am arătat în capitolul 2.2, anularea adaptivă a zgomotului rezultă într-un număr scăzut de anulări ale semnalului dorit. Altfel spus, această anulare este cauzată de schimbări în senzitivitatea fluxului principal în direcția de orientare. Aceste schimbări se pot întâmpla datorită caracteristicii lobului principal care nu este afectat de procesele adaptive.
2.5 CRITERIUL PUTERII MINIME CONSTRÂNSE
Este un criteriu de performanță care limitează în întregime anularea semnalului dorit, ce se aplică sistemelor cu elemente adaptive ca în figura 2.6 (a). Presupunem că, componentele lui X sunt extrase din procesele stochastice staționare. Matricea de corelație este definită de . Criteriul cere minimizarea puterii medii de ieșire.
E[|y|2] = W’RxxW , (2.77)
C’W = F , (2.78)
unde F este vectorul specificat de contrângere și C este matricea asociată cu constrângerea. Specificarea lui C și F depind de suma sistemului adaptiv.
Pentru sistemul din figura 2.8, ecuațiile (2.77) și (2.78) se aplică pentru fiecare ieșire de sumare. Considerăm un sumator specific și lăsăm W să reprezinte vectorul pondere complex asociat și X vectorul de intrare complex asociat. Presupunând că întârzierile de direcționare sunt astfel că, caracteristica de directivitate e orientată în direcția semnalului dorit, elementele lui X diferă unul de altul datorită zgomotului și interferenței. Astfel, dacă dorim ecuația (2.78) cu :
C’ = [1 1 … 1] , (2.79)
unde f este scalar, această constrângere forțează componenta semnalului dorit la ieșirea sumatorului să fie o sumă coerentă convențională. Minimizarea puterii de ieșire înseamnă minimizarea puterii interferenței obținută din direcții altele decât cea a fluxului principal. W are 2N grade de libertate datorită a N magnitudini și a N faze ale elementelor. Ecuația complexă de constrângere înlătură 2 din aceste grade de libertate, dar lasă 2N-2 să fie folosite în limitarea interferenței.
Pentru sistemul din figura 2.7, constrângerea e cumva diferită. Presupunem că, componentele identice ale semnalului dorit venind pe frontul undei plane care apar la primele k "tags" simultan. Identic, răspunsul filtrului la semnal este echivalent cu răspunsul unei singure linii de întârziere în care fiecare pondere este egală cu suma ponderilor din coloana verticală corespunzătoare elementului adaptiv.Aceste adunări de ponderi în linia echivalentă sunt selectate pentru a da răspunsul în frecvență dorit. Astfel, doresc ca:
Ci'W=fi , i=1, 2, …, L (2.80)
unde fi este ponderea sumată dorită și Ci' este un vector N-dimensional de forma:
Ci'=[00 … 11 … 100 … 0 ] (2.81)
Primul corespunde coloanei i verticale de k ponderi. Pentru a pune ecuația (2.80) în formă matriceală, matricea de constrângere este definită ca:
C=[C1 C2 … Cj] (2.82)
care are dimensiunile N pe L. Vectorul L-dimensional de ponderi al liniei echivalente este:
, (2.83)
Cu aceste definiții, constrângerile pot fi combinate într-o singură ecuație matriceală de forma ecuației (2.78). _ncă o dată, minimalizarea constrângerii asigură că puterea de ieșire din toate direcțiile excenpând extremitățile este minimalizată.
Arătând cum ecuația de constrângere este construită, procedez la o derivare a vectorului pondere optim, presupunând că ponderile sunt constante fixate. Pentru simplitate, presupunem că toți scalarii și componentele matricelor sunt reale. Prin metoda multiplicatorilor Lagrange, minimalizez:
(2.84)
unde este vectorul coloană al multiplicatorilor Lagrange.
Luând gradientul ecuației (2.84) cu referire le vectorul W rezultă vectorul coloană:
(2.85)
O condiție necesară pentru minim este determinată prin egalarea lui H cu 0. Astfel:
(2.86)
Odată ce W0 trebuie să satisfacă constrângerea, înlocuim ecuația (2.86) în ecuația (2.78) cu rezultatul:
(2.87)
Această ecuație poate fi rezolvată pentru înlocuind soluția în ecuația (2.86) rezultă:
(2.88)
unde presupunem că inversa indicată există.
Algoritmul adaptiv al lui Frost (12) este bazat pe aproximarea ecuației (2.88) prin metoda "steeepest descent". Vectorul pomdere în timpul ciclului (k+1) de adaptare este raportat la vectorul pondere în timpul ciclului k de adaptare prin:
(2.89)
unde este constanta care reglează rata convergenței, și factorul 1/2 a fost introdus pentru conveniență. Această ecuație este similară cu ecuația (2.67), exceptând că gradientul lui H este folosit în loc de gradientul erorii medii pătratice. Vectorul multiplicatorului Lagrange, (k), poate varia cu ciclul de adaptare încâtconstrângerea este satisfăcută pentru W(k+1), de aceea (k) este ales ca:
CTW(k+1)=F (2.90)
Înlocuind ecuația (2.89) în ecuația (2.90) și rezolvând pentru (k) va rezulta:
(2.91)
unde inversa indicată se presupune că există. Definim matricile de constrângere:
A=I-CT(CTC)-1CT
B=C(CTC)-1F (2.92)
Înlocuind ecuația (2.91) și ecuația (2.92) în ecuația (2.89) obținem:
W(k+1)=AșW(k)-RxxW(k)ț+B (2.93)
Această ecuație dă un algoritm deterministic ce va fi folosit dacă Rxx ar fi cunoscut. Cum nu e, aproximăm Rxx prin X(k)XT(k) și folosim ecuația (2.43). Ponderea inițială este cumva arbitrară. Oricum, o alegere bună este W(0)=B deoarece B trebuie procesat oricum și această alegere satisface constrângerea CTW(0)=F. Algoritmul adaptiv al lui Frost este:
W(0)=B (2.94)
W(k+1)=AșW(k)-RxxW(k)ț+B (2.95)
O caracteristică importantă a algoritmului este aceea că fiecare iterație corectează automat erorile de procesare în vectorul pondere ce previne satisfacerea exactă a constrângerii în timpul iterației precedente. Aceste erori adesea au loc în timpul iterației datorită trunchierii, rotunjirii, sau erorilor de cuantizare în implementarea algoritmului. Dacâ erorile nu sunt corectate, ele pot avea un efect cumulat semnificativ după câteva iterații. Capacitatea de corectare a erorii a algoritmului este datorată faptului că factorul (CTW(k-F)) nu a fost pus pe 0 în ecuația (2.91). Astfel, CTW(k+1)=F chiar dacă CTW(k)+F.
Nu este nevoie nici de semnale pilot sau generatoarele răspunsului dorit în sistemele cu putere minimă constrânsă. Oricum, în definirea contrângerii, cunoașterea direcției semnalului dorit este necesară. Dacă direcția este necunoscută, poate fi estimată de metode similarecu cele descrise mai sus. Astfel, deși generatoarele din figura 2.12 sunt necesare, sistemele adaptive bazate pe puterea minimă constrânsă a criteriului raportului semnal-zgomot de obicei are circuit auxiliar de găsire a direcției.
2.6 CONVERGENȚA ALGORITMULUI WIDROW-HOFF
Nu contează cât de plauzibilă a fost construirea algoritmului adaptiv, trebuie verificat dacă ponderile converg într-un sens către valori optime sau măcar apropiate. Odată ce ponderile adaptive sunt aleatoare dacă semnalele de intrare sunt aleatoare, este potrivit să examinăm convergența ponderilor medii.
Voi dovedi convergența pentru algoritmul Widrow-Hoff în timp discret cu presupunerea că eșantioanele vectorului de intrare sunt independente statistic. Această presupunere nu este necesară, dar ușurează analiza. Presupunerea are loc când vectorul pondere eșantionat la intervale ce sunt comparate cu timpul de corelație al procesului de la intrare plus întârzierea maximă între componentele vectorului intrare.
X(k+1) este independent de X(n) și d(n), nk, ecuația (2.69) arată că X(k+1) este independent de W(k+1). Astfel, valoarea așteptată a vectorului pondere satisface:
(2.96)
Ecuația în timp discret este liniară și invariantă. Echilibrul este ușor de calculat pentru a fi egal cu W0, vectorul pondere optim. Din teoria ecuațiilor liniare și invariante în timp, rezultă că tinde spre W0 dacă și doar dacă valorile au amplitudinile mai mici de unitate. Odată ce Rxx este definit simetric și pozitiv, valorile 1, 2, …, n sunt pozitive. De aceea, valorile , care sunt 1-21, 1-22, …, 1-2n, au amplitudinile mai mici de unitate dacă:
(2.97)
unde m este valoarea maximă a lui Rxx. Această ecuație dă condiția de convergență:
(2.98)
Suma valorilor matricei pătrate este egală cu urma sa. Astfel:
(2.99)
unde RT arată puterea totală de intrare. Când , ecuația (2.98) implică:
(2.100)
eficientă pentru convergența lui către W0.
In timpul adaptării, ponderile devin tranziții și variază ca sumele termenilor de forma (1-2µλi)k. Aceste tranziții determină rata de convergență. Dacă un sistem adaptiv de antene este proiectat pentru a combate blocarea, µ trebuie ales în acord cu ecuația (2.100), pentru a permite prezența valorii potențiale a lui TT când are loc blocajul.
Dezvoltarea algoritmilor adaptivi s-a făcut întotdeauna pe presupunerea că procesele de zgomot sunt staționare. Totuși, scopul principal al sistemelor adaptive este ajustarea automată a intrărilor nestaționare, în special când proprietățile stchastice sunt necunoscute aproiori.
In plus, la proprietățile stochastice ale intrărilor, am presupus semnale plane, un mediu de propagare ideal, și receptoare fără distorsiuni. Odată ce aceste presupuneri nu sunt valide în condițiile actuale de operare, Vural a investigat efectele semnalului, mediului și deviațiilor sistemului de la presupunerile obișnuite [36].
2.7 DISCRIMINAREA POLARIZǍRII ADAPTIVE
Pentru a discrimina pe baza polarizării [23], semnalul este recepționat pe 2 antene polarizate liniar, ca în Figura 2.15. Ieșirile antenelor primare și de referință dau intrări primare și de referință, respectiv, unui anulator de lob lateral, ca în Figura 2.16. Deoarece nu există o diferență semnificativă între timpii de sosire a semnalului recpționat la cele 2 antene, intrarea de referință poate fi procesată direct, fără nevoia de aproduce componente în cuadratură din Figura 2.3. Presupunem un semnal dorit polarizat liniar. Antena primară este aliniată cât mai cu acuratețe posibil cu polarizarea semnalului dorit. Dacă alinierea este perfectă și antena de referință este perpendiculară pe antena primară, semnalul dorit nu produce un răspuns în antena de referință. Astfel, ecuația (2.35) implică faptul că, dacă zgomotul termic este neglijabil, poate fi rejectat complet un singur semnal interferență polarizat liniar de către sistemul adaptive. Dacă antenele nu sunt perpendiculare sau dacă antena primară și polarizarea semnalului dorit sunt defazate cu un unghi pozitiv cunoscut, atunci intrarea de referință poate fi produsă fără nici o componentă a semnalului prin extragerea semnalului primar ponderat din semnalul de referință ca în Figura 2.16. Pentru a evita alte extra-circuite, e de preferat să avem antene perpendiculare așa cum vom vedea în cele ce urmează .
Interferența și zgomotul termic cauzează o eroare în alinierea antenei primare cu polarizarea semnalului dorit. α înseamnă unghiul necunoscut de polarizare al semnalului dorit realtiv la antena primară ca în Figura 2.15. Să presupunem semnalul dorit, s(t), că este recepționat odată cu semnalele interferență polarizate liniar, Ji(t), ce au unghiurile de polarizare βi relative la antena primară. Neglijând zgomotul termic, intrarea primară la anulatorul de zgomot adaptiv este :
(2.101)
Intrarea de referință este :
(2.102)
Vectorul pondere optim este un scalar, W0, dat de ecuația (2.73). Considerăm s(t) și Ji(t) necorelate, staționare, medie zero, procese stochastice. Astfel :
(2.103)
Dacă are loc o adaptare ideală, ieșirea anulatorului adaptiv de zgomot este (Fig.2.13) :
ε=X0-W0X1
= (2.104)
Astfel, raportul semnal/interferență la ieșire este :
ρ0= (2.105)
Inlocuind ecuația (2.103) înecuația (2.105) și folosind simplificările algebrice și trigonometrice obținem :
(2.106)
Dacă recepționăm doar o iterferență, ecuația (2.106) se reduce la :
(2.107)
Acest rezultat este similar cu ce s-ar fi obținut prin aplicarea ecuației (2.35) la ecuația (2.102). Ecuația (2.107) arată explicit că, cunoașterea imperfectă a polarizării semnalului dorit scade capacitatea rejectării interferenței din sistemul adaptiv. Oricum, pentru valori mici ale lui α, rejecția unui singur semnal de interefernță este aproape completă.
Chiar dacă alinierea antenei este perfectă, capacitatea sistemului adaptiv de a rejecta interefernța este mult diminuată dacă două sau mai multe semnale de interefernță cu diferite polarizări sunt recepționate de către sistem. Punând α=0 în ecuația (2.106) va rezulta :
(2.108)
Această ecuație indică faptul că rejecția completă a interferenței este de obicei imposibilă dacă βi nu sunt egale. Această condiție cere polarizări identice ale semnalelor interferență.
Să presupunem că un sistem adaptiv recepționează două semnale de bruiaj necorelate de puteri egale și polarizări ortogonale.
Astfel , E[J12]= E[J2]= E[JT]/2 unde JT = J1+J2 și β1=β2+π/2 radiani.
Ecuația (2.108) devine :
(2.109)
Astfel, capacitatea de rejecție a interferenței unui sistem adaptiv este mică în acest caz. Intotdeauna, discriminarea polarizării adaptive este potențial un supliment folositor pentru un sistem adaptiv de antene deoarece el dă cel puțin o rejecție a interferenței când semnalul dorit și semnalele de bruiaj au forme și direcții similare.
CAPITOLUL III
3.MODELAREA MATEMATICǍ PENTRU SUBSISTEMUL ADAPTIV DE ANTENE PROIECTAT
In această parte, va fi adaptat un algoritm LMS optimizat de Godara și Gray pentru un sistem liniar unui sistem circular. Acest algoritm, numit algoritm de structurare a gradientului (SGA – “structured gradient algorithm”) va fi simulat și rezultatele comparate cu algoritmul standard.
LMS standard și SGA pentru un sistem liniar
Pentru un sistem cu L elemente ca în figura 6.4, se definește vectorul de ieșire X(n) :
X(n)=[x1(n), x2(n), x3(n), … , xL(n)] (3.1)
și vectorul pondere complex W(n) :
W(n)=[w1(n), w2(n), w3(n), … , wL(n)] (3.2)
Ieșirea sistemului va fi :
Y(n)=WH(n)X(n) (3.2)
unde exponentul H este transpusa complexă conjugată. Presupunând că X(n) este un vector de procese aleatoare staționare de medie zero, puterea la ieșirea principală va fi :
P(W)=E[y(n) y*(n)]=WHRW (3.3)
unde * este conjugatul complex și R este matricea de corelație a sistemului (ACM) definită ca :
R=E[X(n) XH(n)] (3.4)
In cazul sistemului liniar uniform aranjat, R este Toeplitz ; toate intrările pe o diagonală sunt egale.
Valoarea vectorului pondere optim poate fi găsită prin minimizarea puterii de ieșire a sistemului către constrângere :
WHS0=1 (3.5)
unde S0 este un vector de orientare pentru “look direction” dorit în absența interferenței și este definit ca :
S0=[1, ejy1, ejy2, … ,ejyL-1] (3.6)
unde, pentru un sistem liniar ,
yk=2pd/lkcosq0 ; k=1…L-1 (3.7)
unde d este distanța între elemente și q0 este “look direction” dorit. Această constrângere forțează sistemul să aibă un răspuns unitar în direcția de privire dorită.
Algoritmul prezentat în [2] pentru iterarea lui W este :
W(n+1)=P[W(n)-g{W(n)}]+S0/S0HS0 (3.8)
Unde P este un operator de proiectare dat de :
P=I-S0S0H/ S0H S0 (3.9)
este un scalar care controlează rata de convergență și g{*} este estimatorul mediu al gradientului.
Gradientul poate fi exprimat astfel :
gw(WHRW)|W= W(n) = 2RW(n) (3.10)
și estimatul folosit de un algoritm LMS standard în [2] este dat de :
g{W(n)} = 2X(n+1)y*(n) (3.11)
Metoda gradientului structurat are avantaj față de structura Toeplitz a ACM prin mediere de-a lungul diagonalelor pentru a da o mai bună estimare a gradientului. Acest gradient îmbunătățit a fost arătat crește rata de convergență față de algoritmul standard [2].
3.1 APLICATIE A METODEI GRADIENTULUI STRUCTURAT PENTRU UN SISTEM CIRCULAR
ACM – ul unui sistem circular, fără Toeplitz, are simetrie îndeajuns care mediind poate produce un estimat al gradientului îmbunătățit. Intr-un sistem circular cu 8 elemente așa cum se vede în figura 3.2, diferența de fază dintre elemenți, având ca referință elementul la 0, poate fi arătată ca :
yn=pR/l[cos(q)-cos(q-fn)] n=1,2,…,7 (3.12)
unde q este unghiul incident al frontului de undă și fn este unghiul elementului. Exprimând acesta ca un vector X și formând ACM ca mai înainte vom avea :
unde
Interpretarea fizică a acestei forme ciudate de ACM este mai degrabă simplă. Pentru fiecare pereche de elemente (exceptând acele opuse exact unul altuia) este o altă pereche paralela care este distanțată egal și (vezi figura 2.5). Aceste elemente de aceea vor avea același defazaj între ele, producând același rezultat în ACM. Mediind aceste puncte va crește rata de convergență a algoritmului, așa cum s-a discutat în acestă parte.
Figura 3.2 Sistem Circular
Figura 3.3 Exemplu de Simetrie în Sistem
3.2 REZULTATE
Programul MATLAB a fost folosit pentru a crea o simulare. Fluxul de undă a fost orientat la 00 pentru simplitate și sursele de interferență au fost plasate la 300.
Aceste unghiuri au fost alese pentru a plasa sursele direct în lobii laterali majori ai caracteristicii de directivitate, care este în general o problemă dificilă de abordat (vezi Figura 3.3). Algoritmii [1] au fost folosiți pentru a determina iterativ noul vector pondere pentru ambele metode LMS și Metoda Gradientului Structurat, cu modificarea la metoda de mediere ACM pentru cazul circular. Puterea zgomotul de ieșire a fost determinată ca în [2], care este dată de :
PN[W(n)]=WH(n)RNW(n) (3.13)
unde RN este ACM doar pentru interferență și zgomotul receptorului necorelat. Figura 3.4 compară puterea zgomotului de ieșire a celor doi algoritmi, cu rezultatele LMS standard în roșu și rezultatele gradientului structurat în albastru.
Așa cum poate fi văzut, metoda gradientului strucurat converge rapid la un nivel de –40dB, în timp ce algoritmul standard LMS nu este capabil de a îmbunătăți nivelul de interferență mai jos de 0 dB. Figura 3.5 compară caracteristicile finale ale sistemului pentru cei doi algoritmi, cu aceleași culori ca mai sus. Primul lob lateral la 300 este mai mic pentru metoda gradientului strucurat, care dă o putere de ieșire a zgomotului redusă.
Figura 3.5 / Caracteristicile de ieșire ale puterii zgomotului
CAPITOLUL IV
4.ALGORITMI DE PROIECTARE, CALCUL ȘI SIMULARE A SISTEMULUI ADAPTIV DE ANTENE, INCLUZÂND OPTIMIZAREA STRUCTURII ADAPTIVE
4.1 ALGORITMUL LMS
4.1.1 Generalități
Așa cum s-a arătat mai sus, antenele adaptive, în accepțiunea actuală, se compun dintr-un șir de antene și un procesor. Semnalele recepționate de către antenele șirului sunt prelucrate de către procesor , astfel încât o funcție obiectiv prestabilită să fie optimizată (maximizată sau minimizată). Să numim algoritmul procesorului succesiunea de operații pe care acesta trebuie să le execute în vederea realizării dezideratului propus.
Dezvoltat inițial de către Widrow și colaboratorii, algoritmul LMS (Least Mean Square) este cel mai cunoscut algoritm utilizabil în sisteme radiante adaptive. Referindu-ne la clasificarea de mai sus prezentată la introducere , el este un algoritm combinat , deci care permite atât urmărirea surselor de semnal util , cât și rejectarea celor de semnal perturbator. Algoritmul poate fi implementat atât cu ajutorul unor procesoare analogice cât și cu ajutorul unor procesoare digitale.
4.1.2 Considerații teoretice
Fie considerat sistemul adaptiv de recepție conținând K antene , prezentat în figura 4.1.
Figura 4.1
Constatând că sistemul este în esență un combinator liniar, problema propusă spre rezolvare este aceea a determinării ponderilor w1 , w2 , … , wN astfel încât semnalul de ieșire y(t) să fie cât mai apropiat de semnalul dorit d(t). Sau , introducând mărimea
ε(t)=d(t) – y(t) (4.1)
problema propusă spre rezolvare este aceea a determinării ponderilor astfel încât semnalul eroare ε(t) să fie cât mai apropiat de zero. Dacă semnalele sunt considerate sub forma unor funcții de variabilă reală t , cu valori reale , și dacă N=2K , atunci , notând cu X vectorul semnalelor prezente la intrarea ponderilor, și cu W vectorul conținând ponderile , semnalul de ieșire al sistemului poate fi pus sub forma
y(t)=WTX(t) (2.2)
În relația (4.2) ponderile wi sunt mărimi reale, iar vectorii W și X au dimensiunea N. Dacă se dorește ca ε(t) să fie cât mai apropiat de zero, o implementare matematică uzuală a acestui deziderat este
||ε(t)|| = min. (4.3)
În relația (4.3) ||ε(t)|| reprezintă norma semnalului ε(t) . Dacă ε(t) este specificat la momente discrete de timp , norma sa este egală cu cea a vectorului cu dimensiunea M ce îi conține valorile
||ε|| = (1/M)∑Mj=1ε2(tj) (4.4)
În continuare considerăm spre examinare cazul a M momente discrete de timp , t1, t2, …, tM. Particularizând relația (5.2) pentru t = t1 , t2, …,tM, se obține :
y(t1)=WTX(t1),
……………………..
y(tj)=WTX(tj),
……………………..
y(tM)=WTX(tM).
Introducând notațiile :
Y=[y(t1) y(t2) … y(tM)]T,
D=[d(t1) d(t2) … d(tM)]T,
problema asemănării semnalelor y(t) și d(t) poate fi redusă la cerința ca ||D – Y|| = min. , sau considerarea lui (4.4), la
(1/M)∑Mj=1(d(tj) – y(tj))2 = (1/M)∑Mj=1ε2(tj)=min. (4.5)
În situația în care numărul momentalor de timp M este mare, iar semnalele de intrare pot fi privite ca procese aleatoare staționare, însumarea după j poate fi înlocuită, la limită, cu medierea în timp. Cu aceasta relația (4.5) devine
E(ε2) = min. (4.6)
Pe de altă parte , ținând seama de relația (4.1) , ε2 are expresia :
ε2 = d2 – 2dWTX + WTXXTW , (4.7)
ceea ce face ca relația (4.6) să devină:
E(ε2) = E(d2) – 2WTE(dX) + WTE(XXT)W = min. (4.8)
Notând
S = E(dX) = [E(dx1) E(dx2) … E(dxN)]T, (4.9)
E(x1x1) E(x1x2) … E(x1xN)
..…..……………………..
M = E(XXT) = E(xjx1) E(xjx2) … E(xjxN) , (4.10)
…………………………..
E(xNx1) E(xNx2) … E(xNxN)
Relația (4.8) devine
E(ε2) = E(d2) – 2WTS + WTMN = min. (4.11)
Aici vectorul N-dimensional S conține funcțiile de corelație dintre cele N semnale de intrare xj și semnalul dorit d, și el un vector real. Matricea M conține funcțiile de autocorelație și corelație mutuală a celor N semnale de intrare xi ,și ea este, de asemenea, o matrice simetrică reală.
În ceea ce privește expresia de minimizat (4.11), acesta este în esență pătratică de varibilele wj. O astfel de formă pătratică are un singur punct de extrem , care în cazul de față este un minim. În punctul de minim și numai aici , gradientul expresiei de minimizat are toate componentele nule . Calculând gradientul expresiei (4.11) în raport cu variabilele conținute în W , și egalând cu zero se obține
gradW(d2 – 2WTS + WTMW) = -2S + 2MW = O , (4.12)
unde O este un vector N-dimensional cu toate componentele nule. Din relația (4.12) se obține cu ușurință expresia vectorului ponderilor optime
Wopt = M-1S (4.13)
4.1.3 Implementarea analogică a algoritmului LMS
Elementele prezentate anterior au pus în evidență faptul că eroarea medie pătratică , definită de
E(ε2) = E(d2) – 2WTS + WTMW , (4.14)
poate fi minimizată dacă W = Wopt , unde vectorul ponderilor optime Wopt este dat de:
Wopt = M-1S , (4.15)
iar semnificația matricelor M și S este dată de (4.10) și (4.9) .
Dacă vectorul ponderilor este cel optim , atunci înlocuind (4.15) în (4.14) se obține:
E(ε2)min = E(d2) – STM-1S
ceea ce permite ca (4.14) să fie rescris sub forma
E(ε2) = E(ε2)min + (W – Wopt)TM(W – Wopt) . (4.16)
Relația (4.16) pune în evidență cel mai clar posibil dependența pătratică a erorii de vectorul ponderilor W. Această dependență pătratică este deosebit de importantă deoarece ea implică existența unui singur punct de minim . Cu alte cuvinte , relația (4.16) nu admite minime sau maxime locale și nici puncte de șa.
Elementele prezentate , și în special particularitatea expresiei (4.16) de a nu avea decât un minim , pun în evidență o modalitate alternativă de determinare a lui Wopt . În loc să se calculeze matricea M , vectorul S, și Wopt să fie determinat în conformitate cu (4.15) , este posibil a fi concepute sisteme în care plecându-se de la valori arbitrare ale ponderilor conținute în W, să se ajusteze continuu aceste valori, până când se ajunge la Wopt. Un algoritm care determină modificarea ponderilor astfel încât eroarea medie pătratică să se micșoreze, va conduce cu siguranță către Wopt, deoarece oprirea în puncte de minim sau maxim local nu este posibilă.
Există mai mulți algoritmi posibil a fi utilizați în acest context. În continuare se va prezenta algoritmul de cea mai abruptă coborâre (“stepest descend”).
Ideea de bază a acestui algoritm este simplă. Constatându-se că în punctul de minim gradientul gradW al funcției de minimizat este nul este nevoie a se modifica W, algoritmul propune ca variația în timp a ponderilor să fie proporțională cu gradientul funcției de minimizat, deci de forma
wi = – k·gradwi E(ε2). (4.17)
Deoarece gradientul măsoară panta funcției de minimizat, în raport cu fiecare dintre ponderi , algoritmul statutează faptul că o pondere oarecare wi va fi modificată cu o viteză proporțională cu panta funcției de minimizat în raport cu acea pondere. În fine, deoarece gradientul este un vector îndreptat în direcția crescătoare , semnul minus în relația (4.17) este necesar pentru a determina variația ponderilor în direcția crescătoare. Evaluând gradientul impus de (4.17) din (4.14) se obtine :
gradWE(ε2) = -2S + 2MW. (4.18)
Ținând seama de relația de definiție a erorii:
ε= d – WTX (4.19)
și descompunându-se (4.18) pe componente, se obține:
gradwiE(ε2) = -2E(xiε)
Cu aceasta, ecuația (4.17) devine:
wi = 2k·E(xiε) (4.20)
sau , în formă integrală
Implementarea algoritmului , descris de (4.20) este posibilă folosind un circuit de tipul celui prezentat în figura 4.2.
Relația (4.20) care definește prin intermediul ponderilor comportarea întregului sistem la diverse solicitări , este susceptibilă de modificări. Trecând de la (4.20) la relația vectorială aferentă :
W = 2kE(Xε) (4.21)
Și ținând seama de (4.19) , se obține :
W + 2kMW = 2kS .
Pentru rezolvarea acestei ecuații diferențiale este posibil a fi aplicată o tehnică de diagonalizare. Matricea M fiind simetrică și reală, este posibil a fi găsită o matrice reală Q astfel încât
QMQT =Λ (4.22)
unde Λ conține valorile proprii (toate pozitive deoarece M este pozitiv definită ) ale matricei M. Notând
W = QTŴ, (4.23)
relația (4.21) devine
W + 2kΛŴ = 2kS^ (4.24)
unde S^ = QS.
Cu aceasta , soluțiile ecuației (4.24) pot fi scrise sub forma
Ŵi = si/λi + (Ŵii – si/λi)exp(-2kλit) (4.25)
unde Ŵii este valoarea inițială a lui Ŵi.
În ceea ce privește ponderile wi, se obține:
wj(t) = ∑Ni=0 qijŴi(t)
deci variația în timp a ponderilor wi este dată de o sumă de variații exponențiale , cu constantele de timp:
τi = 1/2kλI
Deoarece valorile proprii sunt proporționale cu valorile puterilor de semnal incidente , rezultă că constantele de timp sunt invers proporționale cu puterile de semnal recepționate de sistem. Astfel sistemul ve răspunde mai rapid în prezența unor semnale puternice și mai lent în prezența unora slabe, la fel ca în cazul sistemelor adaptive cu bucle de corelare.
4.1.4. Generarea semnalului de referință
Așa cum rezultă din descrierea algoritmului LMS , sistemele adaptive cu semnal de referință, impun pentru o corectă funcționare , prezența unui semnal cu care este dorită o cât mai mare asemănare a semnalului de ieșire a sistemului.
Acest semnal, care ar trebui în mod ideal să fie o replică a semnalului emis, nu este însă cunoscut decât cu aproximație la locul de recepție . În acest context acest paragraf își propune prezentarea succintă a principalelor metode de generare a semnalului de referință.
Considerând că semnalele utile și perturbatoare sunt monocromatice, modalitățile ce permit generarea semnalului de referință sunt:
generarea la recepție a semnalului de referință,
derivarea semnalului de referință din semnalul de ieșire al sistemului,
derivarea semnalului de referință din semnalul recepționat de una din antenele șirului.
Generarea la recepție a unui semnal de referință având frecvența egală cu cea a semnalului dorit este cea mai simplă modalitate de rezolvare a problemei. Deși amplitudinea semnalului poate fi menținută absolut constantă, procedeul necesită existența unor circuite relativ complicate de sincronizare.
Adoptarea celui de-al treilea procedeu este , de asemenea, întrucâtva limitată. Principalul motiv este acela că RSZ a oricărei versiuni a semnalului este inferior RSZ aferent semnalului de ieșire.
Din aceste considerente, majoritatea sistemelor adaptive cu semnal de referință folosesc metode de derivare a referinței din semnalul de ieșire al sistemului. Schema unui circuit realizând această derivare este prezentată în figura 4.3 .Se poate constata că în plus față de filtrarea de bandă îngustă ce se impune , circuitul conține un limitator sau un circuit
Figura 4.3
de reglare automată a al amplificării rapid, necesar pentru a asigura un nivel constant al semnalului de referință.
Există mai multe considerente pentru care amplitudinea semnalului de referință trebuie să fie menținută constantă.
În primul rând , amplitudinea acestuia determină amplitudinea semnalului de ieșire. Cum aceasta trebuie să se înscrie în anumite limite pentru o funcționare corectă a componentelor electronice (niveluri de semnal pentru mixere și multiplicatori relativ constante, gama dinamică a semnalului propriu-zis cât mai redusă) rezultă că măcar semnalul de referință trebiue menținut constant.
În al doilea rând, nivelul semnalului de referință nu poate fi arbitrar. În general există un anume semnal de referință pentru care RSZ este maxim, iar oricare abatere de la nivelul acestuia determină reducerea RSZ.
În al treilea rând , nivelul semnalului de referință nu poate depinde de nivelul semnalului de ieșire , deoarece în acest caz însăși funcționarea sistemului poate fi afectată. De exemplu , în cazul în care câștigul circuitului de formare a semnalului de referință ar fi supraunitar, el produce un semnal de referință mmai mare decât semnalul de ieșire al sistemului . Aceasta induce un proces în buclă, având în final ca rezultat creșterea nelimitată a valorii tuturor ponderilor.
Ținând seama de aceste elemente, funcționarea corectă a sistemului impune ca nivelul de referință să fie independent de nivelul semnalului recepționat.
Este de notat faptul că aceste considerații, valabile pentru semnale monocromatice, se modifică în oarecare măsură în cazul semnalelor reale, modulate. Astfel, fie considerat cazul în care semnalul ce urmează să fie recepționat este modulat în amplitudine
s(t) = a(t)cosωt = As(1+m cosωmt) cosωt.
Alegând în mod rezonabil drept semnal de referință d(t) = Ad cosωt eroarea medie pătratică este:
E(ε2) = (Ad – As)2 /2 +(m As)2 /4.
Amplitudinea semnalului recepționat care minimizează relația (4.26) poate fi găsită punând condiția ca ∂E(ε2) / ∂ As = 0, ceea ce conduce la As=2 Ad /(2+m2).
Așadar criteriul de eroare pătatică medie minimă forțează sistemul ca în cazul unor semnale modulate să nu urmărească nivelul purtătoarei, ci un nivel atenuat cu un factor depinzând de gradul și tipul de modulație. În fine, este necesar a fi menționat că circuitul de formare a semnalului de referință nu trebuie să introducă defazaje. Efectul defazajlor introduse de circuitul de formare este de a face ca ponderile să varieze ciclic, conducând la o translatare a frecvenței semnalului recepționat.
4.2 SGA versus LMS
In capitolul anterior am facut o analiză a binecunoscutului algoritm LMS propunindu-mi o lupare a acestuia in scopul determinării caracteristicilor acestuia referitor la cerințele ce trebuie îndeplinite pentru o funcționare optimă a unui sistem de antene adaptive.
In cele ce urmează voi aborda și un alt algoritm, nu în aceeași măsură ca in modul anterior, ci cu scopul de arăta existența altor algoritmi, mai buni decât algortimul LMS, ce realizează o mai bună optimizare a sistemelor de antene adaptive atât din punct de vedere a vitezei de procesare cât și din punct de vedere a stabilității și creșterii raportului semnal/zgomot.
Competiția pentru spectrul de radio-frecvență crește an de an odată cu dezvoltarea aplicațiilor noi militare si comerciale. Odată cu aglomerarea spectrului din ce în ce mai mult, a crescut și riscul de interferență. Interferențele între benzi sunt dificil de filtrate fără inlăturarea sau distorsionarea semnalului dorit. O tehnică pentru reducerea acestei probleme este folosirea sistemelor de antene adaptive, care se folosește din anii 60’.
Multe scheme de procesare analogică au fost dezvoltate cu factorii principali de limitare fiind componente cu pierderi și îngrădirea benzii dinamice.
Cu apariția procesoarelor de semnal digital de înaltă viteză (DSP), sistemele adaptive s-au orientat spre domeniul digital. Această prezentare va introduce două categorii majore de sisteme de antene adaptive, “adaptive interference excosion” și formare adaptiva de flux de unde, cu accentul pe formarea de flux de unde.
4.2.1 Introducere in Eliminarea Adaptiva a Interferenței
Eliminarea adaptivă a interferenței, sau anularea, este îndeplinită prin folosirea unui canal de referință care monitorizează interferența dar nu semnalul dorit. Dacă interferența este necorelată cu semnalul, poate fi extrasă din semnalul de zgomot în canalul primar (după determinarea și corectarea întârzierii de fază), lăsând semnalul intact. Această tehnică a fost folosită din 1960 în sisteme de comunicații și radar. Primele sisteme erau bazate pe proiectări analogice care erau în mare zgomotoase și lipsite de bandă dinamică [1].
Cu apariția DSP, această tehnică a fost folosită pentru a inlătura ecourile din liniile telefonice cât și pentru anularea fenomenului de bătăi în electrocardiograma fetusului. Până recent, aceste aplicații erau în general limitate la frecvențe audio datorită vitezei reduse a procesoarelor. DSP moderne pot lucra cu semnale cu benzi de ordinul Mhz la un cost rezonabil[1].
Eliminarea are avantajul de a fi relativ ușor de implementat, cât și de a fi eficiente pentru multe tipuri de interferențe. Are două avantaje principale cu referire la formare adaptiva de flux de unde. Primul este că acea formarea de flux de unde poate distorsiona forma undei principale. In timp ce această distorsiune poate îmbunătăți semnalul la nivelul interferenței, poate cauza distorsiuni serioase în aplicații ca radio-astronomiași imaginile radar. Al doilea avantaj este că pentru sisteme mari, procesarea coeficientilor pentru “beamformer” poate fi consumatoare de timp lung, așa cum va fi văzut mai departe .
Două dintre neajunsurile acestui sistem sunt : este cerut un canal de referință pentru fiecare sursă de interferență. De fapt, efectele multicăilor sau diferențelor de polarizare spațială între referință și canalele primare pot face ca o iterferență să apară ca mai multe. Al doilea neajuns este că, semnalele de tip “burst”, scurte, ca cele de pe radar sau sistemele cu spectru împrăștiat nu pot fi înlăturate folosind acest tip de sistem. Aceasta este datorită incapacității filtrului să urmărească îndeajuns de rapid semalul. Un exemplu recent al acestei tehnici a fost dezvoltat pentru radio-astronomie de Barnebaum și Bradley [1]. Canalul de referință este creat folosind o antenă de înaltă directivitate orientată paralel cu solul (în acest caz sistemul Yagi-Uda). Această antenă, virtual nu are câștigpe verticală și de aceea culege interferența nedorită. Semnalul din acestă antenă de referunță este mai apoi trecut printr-un filtru de linie de întârziere și extras din semnalul primar, care conține semnalul dorit plus zgomot.
Valorile filtrului sunt apoi ajustate pentru a minimiza putere de ieșire.Vezi figura 4.4.
4.2.2 Introducere în formare adaptiva de flux de unde
Concepte de bază despre formarea de flux de unde
Incep prin considerarea unui sistem în cea mai simplă formă cum ar fi două RIP-uri.
Radiația departe de sistem se va aduna unde diferența între lungimea căilor dintre fiecare radiator și punctul de observare este aproximativ un multiplu întreg al lungimii de undă. Nulurile se vor forma unde diferența dintre lungimile căilor este aproximativ un multiplu impar de /2 datorită interferenței distructive. Dacă aceste radiatoare sunt distanțate la /2 și alimentate cu aceeași amplitudine și fază a excitației, va fi un flux principal în ambele direcții laterale sistemului. Figura 4.4 descrie caracteristica radiației în acest caz unde radiatoarele sunt localizate pe axa orizontală. Dacă elementele sunt alimenate cu defazate cu 1800 maximul caracteristicii și nulurile se intrerup, aș acum se vede în Figura 4.5. Creșterea numărul elementelor se permite pentru un număr de nuluri și o limitare a fluxului principal, așa cum se vede în Figura 4.6, care descrie un sistem de 5 elemente cu întârziere de fază de 450 între fiecare element.
Creșterea interferenței constructive și distructive poate fi controlată prin ajustarea amplitudinilor fiecărui element în sistem. Acasta are ca efect reducerea lobilor laterali ai caracteristicii.
Dacă există o sursă de interferență constantă, antena poate fi ușor proiectată pentru a avea un nul în acea direcție. Atunci se pune întrebarea, dacă direcția interferenței este aleatoare ? Aceasta va duce la formare adaptiva de flux de unde.
4.2.3 Concepte despre formare adaptiva de flux de unde
Prin permiterea variației cu timpul a amplitudinii și fazei fiecărui element, caracteristica antenei poate fi modificată pentru a menține un semnal optim/rata interferenței (SNIR). Aceasta se poate îndeplini depinzând de câțiva factori, incluzând dimensiunea sistemului, geometria sa, dacă este sau nu este cunoscută direcția semnalului dorit, și dacă ieșirea de la fiecare element este valabilă sau doar ieșirea finală a sistemului este valabilă. Natura statistică a semnalului dorit are de asemenea o importanță particulară.
Mărimea sistemului și complexitatea geometriei sale are un impact direct asupra algoritmului. In timp ce un sistem mare are avantajul de a putea produce mai multe sau mai adânci nuluri, are de asemenea dejavantajul de a cere un număr mai mare de calcule complexe pentru a determina ponderile fazei și amplitudinii exclusive. O mare simplificare poate fi făcută bazată pe geometria sistemului. De exemplu, Godara și Gray în [2] au folosit faptul că, pentru sistemele liniare, matricea de corelație a sistemului are o structură Toeplitz pentru a produce un algoritm care converge mai repede decât algoritmul normal utilizat pe care este bazat.
Cunoașterea direcției semnalului dorit (numită “look direction”) simplifică extraordinar algoritmul. Aceasta este adesea în cazul radarului, sistemului de comunicații cu imagini și punct cu punct. In sistemele de cominicații mobile, “look direction” dorit este adesea nu numai necunoscut, dar poate varia aleator cu timpul. In acest caz, așa numiții algoritmi de adaptare “orbi” trebuie folosiți, ca în [5,6,9].
Dacă ieșirea de la fiecare element este valabilă, o metodă directă poate fi adoptată pentru a determina ponderile exclusive. Aceasta este adesea făcută prin multiplicarea ficărei ieșiri a elementului cu ieșirea sistemului. Dacă este cunoscută doar ieșirea sistemului, este folosită o metodă de perturbare [2]. Acești algoritmi în general durează mult până converg. Oricum, în sistemele foarte mari, adesea ea este singura opțiune datorită costului și complexității alimentării receptoarelor multiple.
Un număr de algoritmi pot folosi caracteristicile cunoscute ale semnalului dorit pentru a găsi caracteristica optimă a radiației. De exemplu Algoritmul Moduluilui Constant folosește faptul că semnalele modulate în fază ți frecvență au o anvelopă constatntă. Algoritmii avansați folosesc statistici de ordin superior și modele de canale extinse pentru a combina eg formarea de flux de unde și egalizarea canalului ca în [5,6,9]. Aceste metode combină esențial atăt eliminarea cât și formarea de flux de unde.
4.2.4 Compararea algoritmilor
Sunt foarte mulți algoritmi pentru a detecta ponderile optime ce pot fi comparați aici. De aceea, doar conceptele de bază vor fi acoperite aici. Vor fi comparate și simulate în cele ce urmează două metode diferite.
Primul pas în dezvoltarea unui algoritm pentru un sistem adaptiv este de a determina o măsură exclusivă a performanței. Această măsură a performanței este apoi maximizată (sau minimizată) pentru a găsi ponderile optime. Este o varietate largă de măsuri ale performanței folosite în procesarea sistemelor adaptive, incluzând eroarea medie pătratică (MSE), raportul semnal/zgomot (SNR), probabilitatea maximă (ML) și variația minimă a zgomotului (MNV).
Odată ce măsura performanței a fost selectată, problema poate fi văzută ca o minimizare a măsurii performanței cu respectarea unei suprafețe de eroare multidimensională, având atâtea dimensiuni câți vectori are sistemul. In timp staționar sau variabil, este o singură soluție optimă, numită soluția Weiner. Aceasta corespunde esențial nivelului de jos a suprafeței de eroare în formă de “castron”. Odată găsită, vectorii sistemului se stabilizează și măsura performanței este optimizată.Oricum, în cazul nestaționar, nivelul de jos a “castronului” este mișcat continuu și vectorii trbuie reînnoiți pentru a menține o condiție optimă [1]. Acest tip de problemă s-a intâmpinat în multe domenii și este adesea rezolvată cu algoritmul gradientului de bază (“gradient –based algorithm”). Principala limitare a acestor algoritmi este convergența lentă, în special în cazurile cu “wide eigenvalue spread” [7].
O rezolvare a problemei convergenței este cunoscută abordarea inversei matricii directe (DMI), în care matricea de covarianță a semnalului este calculată, inversată și apoi folosită pentru a găsi vectorii optimi. Problemele principale cu acestă abordare sunt numărul mare de calcule complexe implicate și că inversa poate fi dificil de determinat dacă matricea este prost condiționată (care se intâmplă adesea in sisteme reale) [7]. Sunt câteva metode recursive care se ocupă de problema condiției matricii.
In timp ce acești algoritmi mențin proprietățile dorite de convergență rapidă, ei încă cer creșteri mari ale puterii de procesare. Cu DSP de mare viteză, aceste metode devin mai atractive.
Fiecare din tipurile de algoritmi precedenți cer ca măsura performanței să fie o funcție cunoscută a vectorilor. Dacă funcția nu e cunoscută, este prea complexă, sau sistemul este prea mare, sunt adesea folosiți algoritmi de căutare aleatoare. Discuția despre acești algoritmi nu este inclusă în această prezentare. Câțiva din acești algoritmi sunt prezentați în [7]. O dezvoltare interesantă a acestei probleme este prezentată în [3], unde sunt folosiți algoritmi genetici.
4.3 ORIENTAREA UNUI SISTEM ADAPTIV DE ANTENE FOLOSIND UN FILTRU KALMAN
Sistemele de antene adaptive controlate de un filtru Kalman excelează prin rata înaltă de convergență, dereglare mică și independență de informația utilă despre statistici de interferență.Cererile de viteză mare de procesare și potențialul de instabilitate numerică sunt obstacole pentru controlerul Kalman.
Comunicarea prezentată descrie modul de reducere a cererilor de procesare si îmbunătățire a stabilității numerice a algoritmului de controlare bazat pe filtrul Kalman.Rata de convergență și de dereglare al algoritmului rezultant (SKF) sunt mai bune în comparație cu LMS optim și mai slab decât ce reușește filtrul Kalman.Cererile de procesare ale SKF sunt de aproximativ trei ori mai rapide în comparație cu LMS.SKF nu are nevoie de o informație utilă despre statisticile de interferență și este total stabil numeric.
4.3.1 Introducere
Algoritmul clasic LMS [18] este cel mai popular mod de controlare a antenelor adaptive datorită simplității și parametrilor relativ buni. Contrar, algoritmul LMS poate suferi de probleme de stabilitate – dacă constanta de învățare este aleasă prea mare atunci sistemul poate oscila, dacă este prea mic atunci sistemul nu funcționează corect.Pentru alegerea corectă a lui , matricea de corelație ale semnalelor observate trebuie cunoscută. Deci, a fost propusă folosirea filtrului Kalman pentru controlul antenelor adaptive [19] deoarece algoritmul bazat pe filtrul Kalman nu are nevoie de informația utilă despre statisticile semalului și, în plus, excelează în rata de convergență înaltă și dereglare mică.Din nefericire, cererile de procesare ale filtrului Kalman nu sunt foarte rapide și instabilitatea numerică poate apare în timpul procesului de iterație.Luând în considerare acest neajuns al filtrului Kalman să concluzionăm că filtrul Kalman nu pare să fie potrivit pentrul controlul antenelor adaptive.De aceea s-a dezvoltat filtrul simplificat Kalman (SKF) care reduc simțitor cererile de procesare și înlatură pericolul de instabilitate numerică.
4.3.2 Obținerea algoritmului
Să presupunem un sistem adaptiv consistând în N elemente de antene.Fiecare este completat cu filtrul transversal “M – tap” la ieșire.Aplicarea teoriei filtrului Kalman sistemului pilot de semnal bazat pe structura descrisă conduce la următorul set de ecuații [20] :
Aici, ŵ înseamnă estimarea vectorului optim “tap-weight”, K este vectorul de câstig Kalman, d înseamnă semnalul pilot, X este vectorul “tap” intrare, P este matricea de corelație a stării de eroare predicționate, R înseamnă variația erorii reziduale.
Cererile de procesare ale filtrului Kalman (1 – 3) pot fi reduse simțitor prin folosirea doar a elementelor de pe diagonala matricei P de corelație a stării de eroare în procesul de iterație.
Elementul i al diagonalei lui P poate fi înțeles ca variația ponderii erorii estimate a lui i (înseamnă că eroarea este presupusă zero).
unde ŵi este estimarea actuală a i pondere optime wi, și E înseamnă operatorul de speranță statistică.
Elementele ce nu sunt pe diagonala lui P conțin informație despre cross-varianța ponderii erorilor estimate i si j.
Deci, dacă cross-varianțele nu sunt considerate în procesul de iterație pierderea informaiei influențează negativ parametrii filtrului Kalman – rata de convergență este mai mică si dereglarea mai mare.Din contră, cererile de procesare scad de la ordinul (M*N)2 la ordinul (M*N) unde M*N este numărul total de valori.In comparație cu algoritmul LMS, numărul de operații matematice per iterație este aproximativ de trei ori mai mare.
Algoritmul de control bazat pe SKF poate fi exprimat prin următorul set de ecuații:
Deci, ŵi este al “i” component al ponderii vectorului optimal estimat, ki înseamnă al “i” component al vectorului de câștig Kalman, “e” înseamnă semnalul eroare (diferența între semnalul pilot și ieșirea de la antenă), xi este al “i” component al vectorului “tap-input”, pi este variația a “i” eroare a ponderii estimate înseamnă variația erorii reziduale și M*N este numărul total de valori.
4.3.3 Stabilitatea SKF
In plus la reducerea cererilor de procesare, folosirea doar a elementelor de pe diagonala matricei P de corelație a stării predicționate rezolvă problema instabilității numerice a filtrului Kalman.Toate cantitățile în dominatorul (4.7) sunt nonnegative.Dacă variația erorii reziduale R este pozitivă atunci denominatorul nu poate fi niciodată egal cu zero. Din contră, denominatorul nonzero al filtrului pur Kalman [2] nu poate fi garantat.Deci, filtrul pur Kalman poate oscila dintr-un astfel de “motiv nonadaptiv”.(vezi fig.4.1) unde SKF nu poate fi folosit.
In SKF, ponderile inițiale ale vectorului optimal estimat W și variațiile ponderii erorii estimate au fost prezise.Cum SKF nu e senzitiv la setările inițiale ale cantităților superioare estimările de pondere sunt setate la zero în mod uzual și variațiile numerelor pozitive arbitrare mai mici de 1.
Acum, ne întoarcem atenția la ultima cantitate necunoscută, la variația erorii reziduale R.Senzitivitatea celei de-a “i” pondere estimată a valorii lui R poate fi exprimată ca derivata parțială a lui (4.6) :
unde SiLMS înseamnă senzitivitatea “i” pondere estimate a constantei de învățare µ în algoritmul LMS și restul simbolurilor au același înțeles ca mai înainte.
Cum toate cantitățile în dominatorul (4.9) sunt nonnegative, fracția este mai mică decât 1 (în majoritatea cazurilor semnificativ). Deci, poate fi concluzionat că stabilitatea SKF este mai bună în comparație cu clasicul LMS.
4.3.4 Parametrii de adaptare ai SKF
Ultima întrebare importantă căreia trebuie să i se răspundă este câți parametri ai filtrului Kalman sunt afectați prin procesul de simplificare. Să presupunem că variația erorii reziduale :
atunci (4.6) poate fi rescrisă :
care este algoritmul clasic LMS.Condiția (4.10) poate fi considerată ca o modificare a condiției de stabilitate a algoritmului LMS (4) :
In (4.12), R(x,x) este matricea de corelație a vectorului de “tap-input”, µopt este constatnta optimă de învățare a LMS și “tr” înseamnă urma matricei.
Deci, poate fi concluzionat că SKT converge către LMS optim pentru R mare.In cazul opus (R este aproape zero), SKF converge către filtrul pur Kalman pentru că funcția estimării “feedback” a vectorului e câștig Kalman nu este suprimat de valoarea mare a variației erorii reziduale R. Validitatea acestui explicații au fost verificate de simulările pe calculator.(vezi figura 4.3)
4.3.5 Simulările pe calculator
La început, SKF a fost verificat cu simulări pe calculator pentru un sistem de antene (2 elemente – elemente omnidirecționale distanțate la λ/2) cu un filtru “four-tap” la fiecare ieșire a elementului antenă. Semnalul dorit (alb, variație 1) vine din direcția care e perpendiculară pe apertura matricii. Semnalul de interferență (alb, variație 50) vine din direcție cu 450 față de direcția semnalului dorit. A fost considerat și zgomot termic cu variație 0,5.
Figura 4.7 ilustrează problemele de stabilitate numerică a filtrului pur Kalman (linie punctată) când variația erorii reziduale este prea joasă (R=10-4) și “short mantissa” este folosită (7 cifre).Contrar, SKF (linie continuă, R=10-4, 7 cifre “mantissa”) nu prezintă oscilații.
Fig.4.8 prezintă caracteristica în timp a erorii pătratice totale (20 eșantioane) a algoritmului clasic LMS (constanta de învățare µ = 10-6) și a filtrelor simplificate și pure Kalman (variația erorii reziduale R=10-1 pentru filtrul Kalman pur și R=10-6 pentru cel simplificat). Evident, ambele rate de convergență și dereglări ale algoritmului Kalman simplificat se situează între LMS și Kalman.
Fig.4.9 arată caracteristica în timp a erorii pătratice totale (20 eșantioane) a algoritmului Kalman simplificat pentru R=10-5 și R=105. Evident, nu se intâmplă nici o problemă de stabilitate. Dacă R este crescut, atunci nivelul de dereglare crește și scade rata de convergență.
Al doilea tip de simulări se face cu un sistem cu 8 elemente antene care a fost completat cu 2-tap filtre transversale de bandă îngustă.Semnalul dorit (armonic, amplitudine 1)vine pe direcția lobului principal, prima și a doua intereferență (armonice, amplitudine 50) vin din direcție cu 22 grade și 68 grade față de cea a lobului principal.In aceste direcții, apar maxime locale ale modelului directivității sistemului adaptiv. După 5 cicluri de iterație, sistemele bazate pe filtrul Kalman și SKF arată minime expresive în direcțiile interferențelor.Contrar, sistemele de bază LMS setează minimele modelului de directivitate către direcțiile dorite evidentmai încet (Fig.4.10).
4.3.6 Concluzii
Acest capitol se ocupă de algoritmul original numit SKF care este potrivit pentru controlul digital al sistemelor de antene adaptive bazat pe metoda semnalului pilot.SKF nu e senzitiv la setarea inițială a parametrilor, arată adaptarea și stabilitatea numerică și este indepedent de tipul de informație cu referire la statisticile de zgomot. Rata de convergență și dereglarea SKF sunt cuprinse între parametrii respectivi ai LMS și filtrului pur Kalman.Cererile de procesare sunt aproximativ de 3 ori mai rapide în comparație cu LMS.
4.4 ALGORITMUL DE FILTRARE ADAPTIVǍ RLS
Algoritmul de filtrare adaptivă RLS (recursive least square) are la bază metoda celor mai mici pătrate, pentru estimarea simbolurilor de date. Aplicarea acesteia conduce, în situația obținerii convergenței, la minimizarea pătratului diferenței dintre valoarea dateo transmise și estimatul său.
Simbolul de date transmis se poate exprima prin intermediul ecuației :
(1)
r(i-m) este eșantionul de semnal recepționat la momentul ti-m iar fm sunt coeficienții filtrului adaptive. e(i) reprezintă eroarea de estimare a datelor. O structură care implementează fizic ecuația (1) este filtrul transversal adaptiv:
Vectorul optimal al coeficienților adaptive este dat de ecuația :
Fopt = R-1θ (2)
unde θ reprezintă vectorul coloană, de corelație dintre eșantioanele de semnal prezente la intrarea filtrului adaptive și răspunsul acestuia. R este matricea de autocorelație a eșantioanelor de la intrarea filtrului adaptive. Fopt conduce, pentru o fereastră de observare finită în timp, la minimizarea sumei pătratelor erorii de estimare . Algoritmul RLS introduce un așa numit “factor de uitare”, care este notat cu γ pentru ponderarea erorii de estimare. Notând cu U(i) și F(n) următorii vectori :
U(i)=[r(i),r(i-1),…r(i-M+1)]T (4)
F(n)=[f0(n),f1(n),…fM-1(n)]T (5)
Expresiile matricelor de cirelație sunt :
(6),(7)
Rezultă o relație recursivă, caracteristică algoritmului RLS pentru calculul coeficienților filtrului adaptiv.
n)=F(n-1)+kn[d*(n)-UT(n)F(n-1)] (8)
Reprezentarea principală a algoritmului de estimare RLS este dată de figura 4.12.
CAPITOLUL V
5.PROIECTAREA PACHETELOR DE PROGRAME
5.1 PREZENTAREA MODULUI DE UTILIZARE A PACHETELOR DE PROGRAME
Programele de calcul a performanțelor sistemelor adaptive de antene au fost realizate cu ajutorul mediului de programare “Matlab”,versiunea 5.3. Acestea au fost asfel concepute încât să fie cât mai ușor de utilizat și să ofere o reprezentare a datelor cât mai clară, din punct de vedere al tipurilor de variabile, al unităților de măsură și al afișării rezultatelor.
Programele au interfețe grafice simple, fapt care le face accesibile și unui utilizator care le vede pentru prima dată.
Concepția programelor. Programele din acest pachet au fost reunite sub o singură interfață, din care se poate apela orice aplicație de calcul, în funcție de sistemul care se dorește a fi studiat, prin simpla apăsare a unui buton.
Programul mai permite și afișarea graficelor obținute într-o figură separată prin apăsarea butonului “Afișare în figură separată”. De aici, se pot salva curbele de performanță trasate în vederea inserării acestora în lucrări de studiu.
Softul își propune să testeze performanțele unor tipuri de filtre prin afisarea performanțelor acestora.
In cele ce urmeză voi prezenta procedurile de inițializare a rulării programului principal, modul de utilizare al programului cât și organigrama acestuia cu concluziile aferente acestuia pe baza rezultatelor obținute în urma simulărilor realizate.
Aceste programe au fost rulate pe un Pentium 166Mhz cu 32 Ram si un AMD K6 450Mhz cu 98 Ram. In aceste două situații timpul de rulare a fiecărui subprogram a durat câte 10 respectiv 5 minute.
Mai întâi se rulează programul Matlab. Se va afișa pe ecranul monitorului următoarea fereastră. După care, se setează calea pentru a rula programul principal. Se apasă pe butonul “PATH BROWSER” :
După apăsarea acestui buton se va deschide o nouă ferestră în care se va selecta efectiv calea în care va opera programul Matlab. Acest lucru se poate observa in imaginea de mai jos :
După cum lesne se observă, se apasă pe butonul “BROWSE” pentru selectarea căii dorite. Odată apăsat acest buton, automat va apare următoarea fereastră din care utilizatorul va alege calea dorita, adică directorul în care are programele folosite de limbajul Matlab
.
După alegerea căii respective se poate trece la lansarea programului principal doar prin simpla tastare a acestuia in fereastra principală din programul Matlab :
In cazul de față se va tasta : “Start”.
Odată lansat acest program, va apare o fereastră de dialog în care veți introduce parola necesară rulării mai departe a programului dorit. Pentru aceasta trebuie tastat “1234” în căsuța de dialog :
Dacă nu se introduce codul correct va apare o fereastră de avertizare că nu a-ti introdus codul corect. Ve-ti încerca din nou introducând cu atenție codul.
Apasând “Enter” veți observa apariția unei ferestre cu un meniu în care se dă enunțul temei programului si două butoane, unul “NEXT” , ce va lansa următoarea figură, iar altul “CLOSE” ce va închide programul în curs.
Odată apăsat butonul “NEXT”, se va deschide o nouă fereastră ce va include un meniu propriu cu o serie de obțiuni pentru rulări ulterioare de programe, meniuri de ajutor de folosire a programului, cât și o fereastră ce se deschide automat în care utilizatorul poate observa cu ușurință modul de folosire a meniului principal. Această fereastră adiacentă ferestrei principale conține un buton, “Detalii în plus”. Prin apăsarea acestui buton se va deschide o fereastră cu detaluu referitoare la concluziile rezultate din rularea programelor de calcul.
Figura ce se obține prin apăsarea butonului “Detalii în plus” arată astfel :
De observat că și această fereastră are meniu cu butoanele “NEXT” și “CLOSE” cu aceleași funcții ca cele descrise mai sus.
Revenind la fereastra inițială, prin alegerea obțiunii “Rulare program” se obține un meniu cu serie de butoane cât și organigrama acestei figuri.
Dacă se va urma într-u tocmai această organigramă, se vor obține anumite rezultate interesante detaliate intr-o figură prezentată mai sus. Utilizarea acestui meniu se face mai întâi prin introducerea de la tastatură a amplitudinii dorite a zgomotului perturbator în căsuța de editare “Input noise amplitude”. Această valoare trebuie să fie peste “0” altfel va apare o căsuță de avertizare de forma :
După introducerea amplitudinii zgomotului și a frecvenței dorite (în gama 1.5-30 MHz și 30 – 80 MHz) se vor obține o serie de grafice reprezentând forma unui semnal sinusoidal, forma unui semnal zgomot alb, și o însumare a acestora.
Prin apăsarea butonului “Program 1” se obține caracteristica puterii zgomotului de ieșire.
Prin apăsarea butonului “Program 2” se obține caracteristica de directivitate a sistemului adaptive de antene pe baza semnalelor de la intrarea sa.
Prin apăsarea butonului “Program 3” se obține caracteristica de directivitate a sistemului adaptive de antene în lipsa zgomotului.
Există de asemenea un buton “REZULTATE PROGRAM” prin apăsarea căruia se va obține o figură cu performanțele sistemului intr-un mod stilizat.
Se poate observa că fiecare din cele 3 butoane descries mai sus au alături un câte un buton de help de forma :
ce conține o descriere a rezultatelor extrase din figuri.
Totodată, fiecare figură conține un meniu de salvare a acesteia pentru comparări ulterioare dorite eventual de către utilizator. Acest lucru se poate obține prin alegerea unei obțiuni prin apăsarea butonului “Salvare”. Se va obține o figură de forma :
Pentru vizualizarea imaginilor salvate cu extensia “FIG” acestea se vor rula din meniul principal MATLAB prin simpla apăsare a butonului “OPEN” și selectarea fișierului dorit. Dacă se dorește vizualizarea imaginilor salvate cu extensia “JPG” acest lucru se face prin deschiderea ferestrei “EXPLORER” a Windows-ului și selectarea fișierului dorit din directorul în care a fost salvat.
In meniul principal (cel din partea de sus a figurii principale) conține și o serie de obțiuni pentru alegerea unuia din cei trei algoritmi descriși mai sus (LMS, RLS sau Kalman), algoritmi implementați în programul SIMULINK. Rularea acestora se face prin simpla apăsare a butonului “PLAY” din figura obținută în SIMULINk. Se vor vizualiza o serie de caracteristici ale semnalelor pe baza cărora se poate face o aproximare destul de bună a performanțelor fiecărui algoritm. Voi prezenta mai jos trei imagini surprinse în funcționarea programelor.
Se poate observa că algoritmul RLS asigură o adaptare mai bună a semnalului (zgomot de ieșire redus), în ordine descrescătoare situîndu-se algoritmul LMS și Kalman.
5.2 REZULTATE SI CONCLUZII
Acest pachet de programe și-a propus realizarea unei interfețe cât mai prietenoase în scopul obținerii de către utilizatori a unor rezultate cât mai aproape de optim pentru un sistem de antene adaptive. Acest lucru a fost realizat pornind de la o serie de parametri de intrare necesari sistemului proiectat iar așa cum se va vizualiza se vor obține o serie de rezultate interesante pe care le-am dorit a le arăta folosind pentru fiecare în parte câte o figură cu opțiunea de salvare a acesteia.
Cele expuse mai sus reprezintă o facilitate importantă a programului prin prisma faptului că ulterior, utilizatorul poate face o comparație imediată între caracteristici diferite obținute pe baza unor parametri de intrare diferiți.
Am pornit în realizarea acestui pachet de programe de la premiza obținerii unor rezultate cât mai apropiate de optim. Pentru aceasta, am folosit un sistem de antene circular, cu 8 elemente, deoarece pe baza studiilor realizate printr-o serie de materiale am observat că s-a ajuns la concluzia că acest sistem de antene tinde către unul optim. De altfel, am argumentat în Capitolul III folosirea acestui model de sistem. Pentru simplitate am folosit semnalul util venind de pe direcția de unghi 00 iar interferența venind dinspre unghiuri de +300 sau -300 (tot pe baza experimentelor realizate de cercetători și implicit pe baza documentației abordate). După cum lesne se va observa, am introdus ca parametri variabili de intrare frecvența semnalului și amplitudinea zgomotului.
Frecvența semnalului va varia între limitele 1.5 – 80 Mhz iar amplitudinea zgomotului (alb, Gaussian) între anumite limite pe baza simulărilor realizate și implicit a rezultatelor obținute din acestea. Astfel, am observat că folosind o amplitudine a zgomotului între limitele 0.1 și 2 se va obține o caracteristică de directivitate a sistemului aproape de cea otimă iar puterea de ieșire a zgomotului este 0 dB (după 5000 iterații). Pentru o gamă a amplitudinii zgomotulu între valorile 2.1 și 3 are loc o înrăutățire a rezultatelor sistemului iar pentru o gamă superioară are loc o funcționare instabilă a acestuia.
Toate aceste rezultate s-au obținut prin prisma raportării acestora la raportul semnal/zgomot de la intrarea sistemului și deci și la capacitatea acestuia de prelucrare a informației primite. Ca o concluzie, pentru un raport semnal/zgomot (în care puterea semnalului de intrare este constantă = 0.5 dB) subunitar (așa cum se întâmplă în mod real) mult prea mic, sistemul va avea o funcționare instabilă și de regulă ineficientă.
Astfel, performanțele sistemului depind în mare măsură de amplitudinea zgomotului de intrare (indiferent dacă este interferență sau bruiaj). Am ales în introducerea amplitudinii zgomotului posibilitatea folosirii unor valori “normate” (valoarea introdusă se împarte la 2.5) cu scopul vizualizării pe axa amplitudine – timp a unor valori identice cu cele introduse în căsuța de editare. Spre exemplu, valoarea 1 introdusă va avea exact valoarea 1 din grafic.
LISTING PROGRAME
Program cod de intrare
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.1 0.1 0.5],'Position',[260 167 290 130],'Resize','off');
[iminit,map]=imread('cheie.bmp');
ax=axes('position',[0.02 0.1 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
[iminit,map]=imread('cheie.bmp');
ax=axes('position',[0.02 0.5 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
[iminit,map]=imread('cheie.bmp');
ax=axes('position',[0.83 0.1 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
[iminit,map]=imread('cheie.bmp');
ax=axes('position',[0.83 0.5 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
h50=uicontrol('style','PUSHBUTTON','string','Introduceti codul de acces','Units','normalized',…
'Position',[.1 .8 .8 .1],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.18 0.08 0.64 0.67], …
'BackgroundColor','g');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.2 0.2 0.6 0.4], …
'BackgroundColor','b');
h53 = uicontrol('Units','normalized',…
'Style','Edit',…
'String','',…
'Callback','MeniuPrincipal',…
'BackgroundColor',[.1 .8 .2], …
'position',[.21 .21 .58 .38],…
'TooltipString','Caseta de introdus codul de acces');
Program principal
nr=get(h53,'string');
c0=str2num(nr);
if c0 == 1234
close;
figure('NumberTitle','off','Name',' SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.1 0.1 0.5],'Position',[1 8 800 574],'Resize','off');
[x,map]=imread('poza.jpg');
axes('position',[0.354 0.35 0.3 0.3]);
imshow(x,map);
[iminit,map]=imread('ATM-ARMS.jpg');
ax=axes('position',[0.73 0.5 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
[iminit,map]=imread('ATM-ARMS.jpg');
ax=axes('position',[0.12 0.5 0.15 0.2]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
axes('position',[0.1 0.1 0.8 0.8]);
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'Background',[1 0.4 0.5],…
'Position',[0.3671428571428571 0.0948412698412698 0.08928571428571427 0.04968253968253968], …
'String','Close',…
'TooltipString','Inchide');
axis off;
frame=uicontrol('style','frame','units','normalized',…
'position',[.05 .755 .90 .205],'BACKGROUNDCOLOR','B');
uicontrol('style','PUSHBUTTON','string','PROGRAM DE VIZUALIZARE A CARACTERISTICILOR','Units','normalized',…
'Position',[.18 .86 .64 .07],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
uicontrol('style','PUSHBUTTON','string','DE DIRECTIVITATE ALE UNUI SISTEM CIRCULAR ADAPTIV DE ANTENE ',…
'Units','normalized','Position',[.06 .78 .88 .07],'fontsize',[15],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 .3 .2],…
'Visible','on','FontWeight','bold');
h1 = uicontrol('Units','normalized', …
'Callback','programmeniu', …
'Position',[0.5571428571428571 0.0948412698412698 0.08928571428571427 0.04968253968253968], …
'String','Next','BACKGROUNDCOLOR',[0.352941176470588 0.852941176470588 0.652941176470588],…
'TooltipString','Urmatorul program');
[x,map]=imread('Exit Left.jpg');
axes('position',[0.26 0.0958412698412698 0.08928571428571427 0.04868253968253968]);
imshow(x,map);
[x,map]=imread('next.jpg');
axes('position',[0.64 0.0958412698412698 0.08928571428571427 0.04868253968253968]);
imshow(x,map);
hold off;
else
handdle=errordlg('CODUL A FOST INTRODUS GRESIT – INCERCATI DIN NOU','EROARE !!!');
end
Program meniu
figure('NumberTitle','off','Name',' SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.2 0.5 0.8],'Position',[1 3 800 560],'Resize','off');
k=uimenu('Label','PROGRAM');
uimenu(k,'Label','RULARE PROGRAM ->','Callback','rulareprogram',…
'Accelerator','R');
salv=uimenu(k,'Label','SALVARE');
uimenu(salv,'Label','In forma -> *.jpg','Callback','savejpg');
uimenu(salv,'Label','In forma -> *.fig','Callback','savefig');
uimenu(k,'Label','INCHIDERE PROGRAM ->','Callback','exit',…
'Accelerator','E')
g=uimenu('Label','APLICATII');
n=uimenu(g,'Label','ALGORITMI (simulink)');
uimenu(n,'Label','ALGORITMUL LMS','Callback','simularelms');
uimenu(n,'Label','ALGORITMUL RLS','Callback','simularerls');
uimenu(n,'Label','ALGORITMUL KALMAN','Callback','simularekalman');
uimenu(g,'Label','QUIT ->','Callback','Close',…
'Separator','on','Accelerator','Q');
m=uimenu('Label','AJUTOR');
uimenu(m,'Label','Ajutor meniu principal','Callback','helpe');
uimenu(m,'Label','Ajutor utilizare program','Callback','orgprincipala');
uimenu(m,'Label','Detalii despre proiect','Callback','detaliiproiect');
[iminit,map]=imread('Main_Background2.jpg');
ax=axes('position',[0.01 0.1 0.52 0.8]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
% *******************************
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.2 0.5 0.8],'Position',[440 8 360 574],'Resize','off');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.01 0.33 0.35 0.55], …
'BackgroundColor',[0 .7 .5]);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.37 0.33 0.32 0.55], …
'BackgroundColor',[0 .7 .5]);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.697 0.33 0.3 0.55], …
'BackgroundColor',[0 .7 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','PROGRAM','Units','normalized',…
'Position',[.03 .8 .31 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','APLICATII','Units','normalized',…
'Position',[.395 .8 .27 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','AJUTOR','Units','normalized',…
'Position',[.717 .8 .26 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.04 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','RULARE',…
'Units','normalized',…
'Position',[.05 .6 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.045 0.467 0.27 0.12], …
'BackgroundColor',[.3 .1 .7]);
h40=uicontrol('style','PUSHBUTTON',…
'string','SALVARE',…
'Units','normalized',…
'Position',[.05 .5 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','INCHIDERE',…
'Units','normalized',…
'Position',[.05 .4 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','JPG',…
'Units','normalized',…
'Position',[.25 .478 .1 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','FIG',…
'Units','normalized',…
'Position',[.25 .528 .1 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.4 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','INCHIDERE',…
'Units','normalized',…
'Position',[.41 .4 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.405 0.455 0.285 0.183], …
'BackgroundColor',[.3 .1 .7]);
h40=uicontrol('style','PUSHBUTTON',…
'string','ALGORITMI',…
'Units','normalized',…
'Position',[.41 .55 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','RLS',…
'Units','normalized',…
'Position',[.617 .52 .072 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','LMS',…
'Units','normalized',…
'Position',[.617 .58 .072 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','KALMAN',…
'Units','normalized',…
'Position',[.55 .46 .14 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.735 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','MENIU',…
'Units','normalized',…
'Position',[.75 .6 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','UTILIZARE',…
'Units','normalized',…
'Position',[.75 .5 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','PROIECT',…
'Units','normalized',…
'Position',[.75 .4 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.15 0.1 0.7 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.2 .22 0.5 0.05], …
'String','OPTIUNE SALVARE FIGURA');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.71428571428571 .171 0.10928571428571427 0.03968253968253968], …
'String','Close');
h8=uicontrol( 'Style','Popupmenu','String',…
'|SAVE -> *.jpg|SAVE -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.325 .16 0.25 0.04968253968253968]);
h41=uicontrol('style','PUSHBUTTON',…
'string','DETALII IN PLUS',…
'Callback','detalii',…
'Units','normalized',…
'Position',[.36 .9 .29 .05],…
'BackgroundColor',[.7 .3 .5],…
'foregroundColor',[1 1 1],…
'Visible','on','FontSize',9,'FontWeight','bold');
[iminit,map]=imread('DETALII.jpg');
ax=axes('position',[0.72 0.895 0.1 0.055]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
Program rulare
cla reset;
frmPos=[0.01 0.01 0.135 0.95];
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',frmPos, …
'BackgroundColor',[1 0.5 0.8]);
h20 = uicontrol('Units','normalized', …
'Callback','Imagini', …
'Position',[0.0150428571428571 0.4948412698412698 0.1268571428571427 0.04968253968253968], …
'String','PROGRAM RESULT',…
'BackgroundColor',[0.992156862745098 0.996078431372549 0.402745098039216],…
'TooltipString','Rezultatul programului');
h2 = uicontrol('Units','normalized', …
'Callback','program1proiect', …
'Position',[0.01271428571428571 0.8948412698412698 0.06928571428571427 0.04968253968253968], …
'String','Program1',…
'TooltipString','Programul cu caracteristica puterii de iesire a zgomotului');
h3 = uicontrol('Units','normalized', …
'Callback','program2proiect', …
'Position',[0.01271428571428571 0.7948412698412698 0.06928571428571427 0.04968253968253968], …
'String','Program2',…
'TooltipString','Program cu caracteristica de directivitate cu LMS si SGA');
h4 = uicontrol('Units','normalized', …
'Callback','program3', …
'Position',[0.01271428571428571 0.6948412698412698 0.06928571428571427 0.04968253968253968], …
'String','Program3',…
'TooltipString','Program cu caracteristica de directivitate in lipsa zgomotului');
axis off;
h5 = uicontrol('Units','normalized', …
'Callback','Help1', …
'Position',[0.081428571428571 0.8948412698412698 0.05928571428571427 0.04968253968253968], …
'String','Help1',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Ajutor Program1');
h6 = uicontrol('Units','normalized', …
'Callback','Help2', …
'Position',[0.081428571428571 0.7948412698412698 0.05928571428571427 0.04968253968253968], …
'String','Help2',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Ajutor Program2');
h7 = uicontrol('Units','normalized', …
'Callback','Help3', …
'Position',[0.081428571428571 0.6948412698412698 0.05928571428571427 0.04968253968253968], …
'String','Help3',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Ajutor Program3');
h2 = uicontrol('Units','normalized', …
'Style','Radiobutton', …
'Callback','close', …
'Position',[0.0451428571428571 0.5948412698412698 0.06228571428571427 0.04068253968253968], …
'String','Back',…
'TooltipString','Intoarcere');
h13 = uicontrol('Style','Edit',…
'String','',…
'BackgroundColor',[.1 .8 .2], …
'Units','normalized',…
'position',[.33 .92 .08 .04])
h10 = uicontrol('Style','Edit',…
'String','',…
'Units','normalized',…
'position',[.0285 .03 .1 .04])
h7 = uicontrol('Units','normalized', …
'Callback','', …
'Position',[0.024 0.07 0.11 0.05], …
'String','Signal frequency',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Arata frecventa semnalului');
h7 = uicontrol('Units','normalized', …
'Callback','', …
'Position',[0.012 0.4 0.13 0.05], …
'String','Input the frequency',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Se introduce frecevnta semnalului');
h11 = uicontrol('Units','normalized', …
'Style','Edit', …
'Callback','programSZ', …
'Position',[0.035 0.35 0.0798571428571427 0.03968253968253968], …
'String','');
h7 = uicontrol('Units','normalized', …
'Callback','', …
'Position',[0.012 0.26 0.13 0.05], …
'String','Input noise amplitude',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Se introduce amplitudinea zgomotului');
h31 = uicontrol('Units','normalized', …
'Style','Edit', …
'Callback','programSZ', …
'Position',[0.035 0.21 0.0798571428571427 0.03968253968253968], …
'String','');
h7 = uicontrol('Units','normalized', …
'Callback','', …
'Position',[0.64 0.9 0.3 0.05], …
'String','ORGANIGRAMA PROGRAMULUI',…
'Interruptible','off', …
'BackgroundColor',[0.5 0.5 0.5], …
'ForegroundColor','white',…
'TooltipString','Se arata organigrama meniului afisat de fata');
[iminit,map]=imread('org.bmp','bmp');
ax=axes('position',[0.56 0.3 0.43 0.55]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
Program SZ
nr=get(h11,'string');
w0=str2num(nr);
nr=get(h31,'string');
n0=str2num(nr);
if n0==0
msgbox(' ATENTIE, A-TI INTRODUS ZGOMOT DE AMPLITUDINE NULA !!! DACA DORITI CARACTERISTICA FARA ZGOMOT APASATI PE **PROGRAM3** DUPA INTRODUCEREA IN PREALABIL A FRECVENTEI DORITE.','ANTENE','warn');
end
if w0<=1000000
mesajeroare.m
elseif w0>=80000001
mesajeroare.m
end
t = linspace(0,1/w0,5000);
wn = [w0,w0];%1e2*randn(1,2);
An = [1,1];
modn = randn(2,length(t));
s = sin(2*pi*w0*t);
spower=w0*trapz(t,s.*s)
for i = 1:2
%zgomot
x=n0/2.5;
zg(:,i) =x*modn(i,:)';
n1(:,i) =An(i) .* sin(wn(i) .* t')+ zg(:,i);
end
clf;
axis off;
rulareprogram;
k=uimenu('Label','PROGRAM');
uimenu(k,'Label','RULARE PROGRAM ->','Callback','rulareprogram',…
'Accelerator','R');
salv=uimenu(k,'Label','SALVARE');
uimenu(salv,'Label','In forma -> *.jpg','Callback','savejpg');
uimenu(salv,'Label','In forma -> *.fig','Callback','savefig');
uimenu(k,'Label','PARASIRE PROGRAM ->','Callback','exit',…
'Accelerator','E')
g=uimenu('Label','APLICATII');
n=uimenu(g,'Label','ALGORITMI (simulink)');
uimenu(n,'Label','ALGORITMUL LMS','Callback','simularelms');
uimenu(n,'Label','ALGORITMUL RLS','Callback','simularerls');
uimenu(n,'Label','ALGORITMUL KALMAN','Callback','simularekalman');
uimenu(g,'Label','QUIT ->','Callback','Close',…
'Separator','on','Accelerator','Q');
m=uimenu('Label','AJUTOR');
uimenu(m,'Label','Ajutor meniu principal','Callback','helpe');
uimenu(m,'Label','Ajutor utilizare program','Callback','helpprogram');
uimenu(m,'Label','Detalii despre proiect','Callback','detaliiproiect');
text(-310,-75,'DESIRED SIGNAL POWER [W]','fontsize',8,'Color','y');
axes('position',[0.19 0.80 0.35 0.10]);
plot(t,s);
xlabel('timp(s)');ylabel('Semnal');
axes('position',[0.19 0.3 0.35 0.35]);
plot(t,n1(:,i));
xlabel('timp(s)');ylabel('Semnal+zgomot');
axes('position',[0.19 0.07 0.35 0.10]);
plot(t,zg(:,i));
xlabel('timp(s)');ylabel('Zgomot');
set(h13,'String',spower);
set(h10,'String',w0);
set(h31,'String',n0);
Program1
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color','cyan',…
'Position',[440 8 360 574],'Resize','off');
h=waitbar(0,'Please wait…')
for ii=1:500
waitbar(ii/500,h)
end
close(h)
cla;
axis off;
hold off
nr=get(h10,'string');
w0=str2num(nr);
nr=get(h31,'string');
nn=str2num(nr);
lamda = 2*pi*3e8/w0;
%amplitudinile si frecventele zgomotului
wn = [w0,w0];%1e2*randn(1,2);
An = [1,1];
modn = randn(2,length(t));
%functiile semnalului si zgomotului+semnal
s = cos(w0*t);
for i = 1:2
%zgomot
xx=nn/2.5;
zg(:,i) =xx*modn(i,:)';
n1(:,i) =An(i) .* cos(wn(i) .* t') + zg(:,i);
end
rn = 1e-3*(randn(8,length(t)) + j*randn(8,length(t)));
thetas = 0;
thetan = [-pi/6,pi/6];
% vectorul de orientare si valorile initiale ale sistemului
%constanta de faza a elementului
R = lamda / (sin(pi/8));
Rs = pi*R/lamda;
Rn1 = pi*R/(6e8*pi/wn(1));
Rn2 = pi*R/(6e8*pi/wn(2));
%spatiul dintre elemente
phi = [0,pi/4,pi/2,3*pi/4,pi,5*pi/4,3*pi/2,7*pi/4]';
%element angle to look angle
psi = Rs*(cos(thetas – phi(1))-cos(thetas-phi));
%vectorul de orientare
S = exp(j .* psi);
%constanta pentru algoritmul LMS
S0 = S ./ (S'*S);
mu = 5e-3;
%operator de proiectie
P = eye(8) – S*S' / (S'*S);
%valorile initiale pentru algoritmul LMS
Wlms = S;
%valorile initiale pentru algoritmul SG
Wsg = Wlms;
%diferenta de faza a alementului pentru semnal
us =exp(-j * Rs * (cos(thetas-phi(1))-cos(thetas – phi)));
%diferenta de faza a alementului pentru zgomot
un = exp(-j*[Rn1 * (cos(thetan(1)-phi(1))-cos(thetan(1) – phi)), Rn2*(cos(thetan(2) – phi(1))-cos(thetan(2)-phi))]);
ONPlm = 0;
ONPs = 0;
%inceputul algoritmului
Xs = s(1)*us;
Xn = n1(1,1).*un(:,1) + n1(1,2).*un(:,2) + rn(:,1);
X = Xs + Xn;
for k = 2:length(t)
% se determina raspunsul sistemului la semnal+zgomot
ylms = Wlms.' * X;
ysg = Wsg.' * X;
%se obtine X(k+1)
Xs = s(k)*us;
Xn = n1(k,1).*un(:,1) + n1(k,2).*un(:,2) + rn(:,k);
X = Xs + Xn;
%se determina ACM pentru zgomot si interferenta ce va fi folosit in puterea de iesire de zgomot calculata
Rn = Xn * Xn';
%determin ACM pentru metoda gradientului structurat
Rsg = X * X';
%modific ACM
A = Rsg(1:4,1:4);
A2 = Rsg(5:8,5:8);
B = Rsg(1:4,5:8);
A = (A + A2.')./2;
B = (B + B.')./2;
Rsg = [A,B;conj(B),A.'];
% determin noua valoare a vectorului
glms = 2 * X * ylms.';
Wlms = P * (Wlms – mu*glms) + S0;
gsg = 2 * Rsg * Wsg;
Wsg = P * (Wsg – mu*gsg) + S0;
%determin puterea de iesire a zgomotului
ONPlm = (k-1)/k*ONPlm + 1/(k-1)*abs(Wlms'*Rn*Wlms);
ONPs = (k-1)/k*ONPs + 1/(k-1)*abs(Wsg'*Rn*Wsg);
ONPlms(k) = 10*log10(ONPlm);
ONPsg(k) = 10*log10(ONPs);
end
axes('position',[0.2 0.5 0.67 0.37],'color','y');
plot(ONPlms,'r');
hold on;
plot(ONPsg,'b');
xlabel('Numar de iteratii','color','black');
ylabel('Puterea de iesire a zgomotului (dB)','color','black');
set(h10,'String',w0);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.15 0.1 0.7 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.2 .22 0.5 0.05], …
'String','OPTIUNE SALVARE FIGURA',…
'TooltipString','Se poate salva figura de fata');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.71428571428571 .171 0.10928571428571427 0.03968253968253968], …
'String','Close',…
'TooltipString','Inchidere figura');
h8=uicontrol( 'Style','Popupmenu','String',…
'|SAVE -> *.jpg|SAVE -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.325 .16 0.25 0.04968253968253968],…
'TooltipString','Modul de salvare');
h1 = uicontrol('Units','normalized', …
'Background','b',…
'foregroundcolor','y',…
'Position',[.025,.9 0.95 0.04968253968253968], …
'String','CARACTERISTICILE PUTERILOR DE IESIRE ALE ZGOMOULUI [dB]',…
'TooltipString','Caracteristicile puterilor');
Program Help1
set(gcf,'pointer','arrow')
ttlStr = get(gcf,'Name');
hlpStr1= […
' In aceasta parte, va fi adaptat un algoritm LMS '
' optimizat de GODARA si GRAY pentru un Sistem '
' Liniar unui Sistem Circular cu 8 elemete. '
' '
' – acest algoritm, numit Algoritm de Structurare '
' a Gradientului(SGA – "structured gradient algorithm")'
' va fi simulat si rezultatele COMPARATE cu algoritmul'
' LMS standard. '];
hlpStr2 = […
' In figura se poate observa realizarea unei mariri '
' a puterii zgomotului la iesirea sistemului obtinuta '
' prin folosirea Algoritmului LMS optimizat sau Algoritm '
' Gradientului Strucurat (SGA) si cea obtinuta prin '
' folosirea Algoritmului LMS Standard. '
' '
' – rezultatele LMS standard sunt cu rosu ' '
' – rezultatele LMS optimizat sunt cu albastru '
' '
' Dupa cum lesne se poate observa,algoritmul LMS optimizat ' ' este net superior celui standard prin scaderea mai rapida' ' a puterii zgomotuluila iesirea sistemului dupa un numar '
' mai mic de iteratii. '];
myFig = gcf;
helpfun(ttlStr,hlpStr1,hlpStr2);
Program2
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color','cyan',…
'Position',[440 8 360 574],'Resize','off');
h=waitbar(0,'Please wait…')
for i=1:500
waitbar(i/500,h)
end
close(h);
nr=get(h10,'string');
w0=str2num(nr);
nr=get(h31,'string');
n0=str2num(nr);
lamda = 2*pi*3e8/w0;
%amplitudinile si frecventele zgomotului
wn = [w0,w0];%1e2*randn(1,2);
An = [1,1];
modn = randn(2,length(t));
%functiile semnalului si zgomotului+semnal
s = cos(w0*t);
for i = 1:2
%zgomot
zg(:,i) =0.5.*modn(i,:)';
n1(:,i) =An(i) .* cos(wn(i) .* t') + zg(:,i);
end
rn = 1e-3*(randn(8,length(t)) + j*randn(8,length(t)));
thetas = 0;
thetan = [-pi/6,pi/6];
%constanta de faza a elementului
R = lamda / (sin(pi/8));
Rs = pi*R/lamda;
Rn1 = pi*R/(6e8*pi/wn(1));
Rn2 = pi*R/(6e8*pi/wn(2));
phi = [0,pi/4,pi/2,3*pi/4,pi,5*pi/4,3*pi/2,7*pi/4]';
psi = Rs*(cos(thetas – phi(1))-cos(thetas-phi));
S = exp(j .* psi);
S0 = S ./ (S'*S);
mu = 5e-3;
P = eye(8) – S*S' / (S'*S);
Wlms = S;
Wsg = Wlms;
us =exp(-j * Rs * (cos(thetas-phi(1))-cos(thetas – phi)));
un = exp(-j*[Rn1 * (cos(thetan(1)-phi(1))-cos(thetan(1) – phi)), Rn2*(cos(thetan(2) – phi(1))-cos(thetan(2)-phi))]);
Xs = s(1)*us;
Xn = n1(1,1).*un(:,1) + n1(1,2).*un(:,2) + rn(:,1);
X = Xs + Xn;
for k = 2:length(t)
% se determina raspunsul sistemului la semnal+zgomot
ylms = Wlms.' * X;
ysg = Wsg.' * X;
%se obtine X(k+1)
Xs = s(k)*us;
Xn = n1(k,1).*un(:,1) + n1(k,2).*un(:,2) + rn(:,k);
X = Xs + Xn;
%se determina ACM pentru zgomot si interferenta ce va fi folosit in puterea de iesire de zgomot calculata
Rn = Xn * Xn';
%determin ACM pentru metoda gradientului structurat
Rsg = X * X';
%modific ACM
A = Rsg(1:4,1:4);
A2 = Rsg(5:8,5:8);
B = Rsg(1:4,5:8);
A = (A + A2.')./2;
B = (B + B.')./2;
Rsg = [A,B;conj(B),A.'];
% determin noua valoare a vectorului
glms = 2 * X * ylms.';
Wlms = P * (Wlms – mu*glms) + S0;
gsg = 2 * Rsg * Wsg;
Wsg = P * (Wsg – mu*gsg) + S0;
end
axes('position',[0.15 0.3 0.7 0.65]);
t = linspace(0,2*pi);
for i = 1:100
AF(i) = abs(sum(exp(j*Rs*cos(t(i)-phi)).*Wsg));
AF2(i) = abs(sum(exp(j*Rs*cos(t(i)-phi)).*Wlms));
end
polar(t,AF,'b')
hold on
polar(t,AF2,'r')
set(h10,'String',w0);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.15 0.1 0.7 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.2 .22 0.5 0.05], …
'String','OPTIUNE SALVARE FIGURA');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.71428571428571 .171 0.10928571428571427 0.03968253968253968], …
'String','Close');
h8=uicontrol( 'Style','Popupmenu','String',…
'|SAVE -> *.jpg|SAVE -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.325 .16 0.25 0.04968253968253968]);
h1 = uicontrol('Units','normalized', …
'Background','b',…
'foregroundcolor','y',…
'Position',[.1,.9 0.8 0.04968253968253968], …
'String','CARACTERISTICILE DE DIRECTIVITATE');
Program Help2
set(gcf,'pointer','arrow')
ttlStr = get(gcf,'Name');
hlpStr1= […
' In aceasta parte, va fi adaptat un ALGORITM LMS '
' optimizat de GODARA si GRAY pentru un Sistem '
' Liniar unui Sistem Circular cu 8 elemete. '
' '
' – acest algoritm , numit Algoritm de structurare'
' a Gradientului (SGA – "structured gradientalgorithm")'
' va fi Simulat si rezultatele COMPARATE cuAlgoritmul'
' LMS standard. '];
hlpStr2 = […
' Fluxul de unda a fost orientat la 0 grade '
' pentru simplitate si sursele de interferenta '
' au fost plasate la ฑ30 grade. Aceste unghiuri '
' au fost alese pentru a plasa sursele direct in '
' lobii laterali majori ai caracteristicii de ' ' directivitate, care este ๎n general o problema '
' dificil de abordat. '
' '
' – rezultatele LMS standard sunt cu rosu '
' '
' – rezultatele LMS optimizat sunt cu albastru ' ' '
' '
' Si aici se poate observa : ' ' '
' – carcateristica de directivitate a sistemului obtinuta '
' folosind LMS standard este INFERIOARA celei obtinute'
' cu LMS optimizat ce asigura performante superioare'
' sistemului; '
' – lobul principalin cazul LMS optimizat este mai INGUST '
' decat pentru LMS standard (caracteristica mai directiva);'
' – lobii laterali in cazul LMS optimizat sunt mai mici si '
' pe alocuri dispar. '];
myFig = gcf;
helpfun(ttlStr,hlpStr1,hlpStr2);
Program3
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color','cyan',…
'Position',[440 8 360 574],'Resize','off');
h=waitbar(0,'Please wait…')
for i=1:500
waitbar(i/500,h)
end
close(h)
t = linspace(0,.01,2000);
nr=get(h10,'string');
w0=str2num(nr);
lamda = 2*pi*3e8/w0;
R = lamda / (sin(pi/8));
Rs = pi*R/lamda;
thetas = 0;
phi = [0,pi/4,pi/2,3*pi/4,pi,5*pi/4,3*pi/2,7*pi/4]';
psi = Rs*(cos(thetas – phi(1))-cos(thetas-phi));
S = exp(j .* psi);
t = linspace(0,2*pi);
for i = 1:100
AFs(i) = 1/8*abs(sum(exp(j*Rs*cos(t(i)-phi)).*S));
end
polar(t,AFs,'k')
set(h10,'String',w0);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.15 0.1 0.7 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.2 .22 0.5 0.05], …
'String','OPTIUNE SALVARE FIGURA');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.71428571428571 .171 0.10928571428571427 0.03968253968253968], …
'String','Close');
h8=uicontrol( 'Style','Popupmenu','String',…
'|SAVE -> *.jpg|SAVE -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.325 .16 0.25 0.04968253968253968]);
h1 = uicontrol('Units','normalized', …
'Background','b',…
'foregroundcolor','y',…
'Position',[.1,.9 0.8 0.04968253968253968], …
'String','CARACTERISTICA DE DIRECTIVITATE');
msgbox(' SFIRSITUL PROGRAMULUI','ANTENE')
Program Help3
set(gcf,'pointer','arrow')
ttlStr = get(gcf,'Name');
hlpStr1 = […
' In aceasta parte, va fi adaptat un ALGORITM LMS '
' optimizat de GODARA si GRAY pentru un Sistem '
' Liniar unui Sistem Circular cu 8 elemete. '
' '
' – acest algoritm ,numit Algoritm Gradientului '
' Structurat (SGA – "structured gradient algorithm") '
' va fi Simulat si rezultatele COMPARATE cu Algoritmul'
' LMS standard. '];
hlpStr2 = […
' Acest program prazinta caracteristica de directivitate '
' standard, obtinuta in lipsa zgomotului. '
' Dupa cum se observa aceasta caracteristica este superioara '
' celorlate doua. '
' – se apropie de caracteristica ideala a unei antene rective.'
' – este desenata cu negru '];
myFig = gcf;
helpfun(ttlStr,hlpStr1,hlpStr2);
PROGRAM ORGPRINCIPALA
figure('NumberTitle','off','Name','SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.2 0.5 0.8],'Position',[440 8 360 574],'Resize','off');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.01 0.33 0.35 0.55], …
'BackgroundColor',[0 .7 .5]);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.37 0.33 0.32 0.55], …
'BackgroundColor',[0 .7 .5]);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.697 0.33 0.3 0.55], …
'BackgroundColor',[0 .7 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','PROGRAM','Units','normalized',…
'Position',[.03 .8 .31 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','APLICATII','Units','normalized',…
'Position',[.395 .8 .27 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','AJUTOR','Units','normalized',…
'Position',[.717 .8 .26 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',15,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.04 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','RULARE',…
'Units','normalized',…
'Position',[.05 .6 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.045 0.467 0.27 0.12], …
'BackgroundColor',[.3 .1 .7]);
h40=uicontrol('style','PUSHBUTTON',…
'string','SALVARE',…
'Units','normalized',…
'Position',[.05 .5 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','INCHIDERE',…
'Units','normalized',…
'Position',[.05 .4 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','JPG',…
'Units','normalized',…
'Position',[.25 .478 .1 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','FIG',…
'Units','normalized',…
'Position',[.25 .528 .1 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.4 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','INCHIDERE',…
'Units','normalized',…
'Position',[.41 .4 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.405 0.455 0.285 0.183], …
'BackgroundColor',[.3 .1 .7]);
h40=uicontrol('style','PUSHBUTTON',…
'string','ALGORITMI',…
'Units','normalized',…
'Position',[.41 .55 .2 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','RLS',…
'Units','normalized',…
'Position',[.617 .52 .072 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','LMS',…
'Units','normalized',…
'Position',[.617 .58 .072 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','KALMAN',…
'Units','normalized',…
'Position',[.55 .46 .14 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.735 0.38 0.22 0.29], …
'BackgroundColor',[0 .5 .5]);
h40=uicontrol('style','PUSHBUTTON',…
'string','MENIU',…
'Units','normalized',…
'Position',[.75 .6 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','UTILIZARE',…
'Units','normalized',…
'Position',[.75 .5 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h40=uicontrol('style','PUSHBUTTON',…
'string','PROIECT',…
'Units','normalized',…
'Position',[.75 .4 .195 .05],…
'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588],…
'foregroundColor',[0 0 0],…
'Visible','on','FontSize',9,'FontWeight','bold');
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.15 0.1 0.7 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.2 .22 0.5 0.05], …
'String','OPTIUNE SALVARE FIGURA');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.71428571428571 .171 0.10928571428571427 0.03968253968253968], …
'String','Close');
h8=uicontrol( 'Style','Popupmenu','String',…
'|SAVE -> *.jpg|SAVE -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.325 .16 0.25 0.04968253968253968]);
h41=uicontrol('style','PUSHBUTTON',…
'string','DETALII IN PLUS',…
'Callback','detalii',…
'Units','normalized',…
'Position',[.36 .9 .29 .05],…
'BackgroundColor',[.7 .3 .5],…
'foregroundColor',[1 1 1],…
'Visible','on','FontSize',9,'FontWeight','bold');
[iminit,map]=imread('DETALII.jpg');
ax=axes('position',[0.72 0.895 0.1 0.055]);
imagesc(iminit);
set(ax,'XTickLabelMode','manual','YTickLabelMode','manual');
colormap(gray);
axis off;
Program Imagini
figure('NumberTitle','off','Name',' SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.1 0.1 0.5],…
'Position',[1 8 800 574],'color',[1 1 1]);
[x,map]=imread('two_element.jpg');
axes('position',[-0.05 0.55 0.4 0.4]);
imshow(x,map);
[x,map]=imread('figure14.jpg');
axes('position',[0.05 0.3 0.2 0.2]);
imshow(x,map);
text(265,-120,'- – – – – – – – >');
[x,map]=imread('figure07.jpg');
axes('position',[0.265 0.74 0.2 0.2]);
imshow(x,map);
[x,map]=imread('f06_01.jpg');
axes('position',[0.38 0.6 0.3 0.3]);
imshow(x,map);
[x,map]=imread('f06_02.jpg');
axes('position',[0.67 0.6 0.3 0.3]);
imshow(x,map);
h = uicontrol( …
'Style','frame', …
'Units','normalized', …
'Position',[0.514 0.1 0.4 0.2], …
'Background',[1 0.5 0.8]);
h1 = uicontrol('Units','normalized', …
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Position',[.52,.22 0.1928571428571427 0.04968253968253968], …
'String','OPTIUNE SALVARE FIGURA');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'foregroundcolor',[1 1 0.89],…
'Background',[1 0.4 0.5],…
'Position',[0.771428571428571 .171 0.08928571428571427 0.03968253968253968], …
'String','Close');
h8=uicontrol( 'Style','Popupmenu','String',…
'|Save -> *.jpg|Save -> *.fig','Units',…
'normalized',…
'Background',[1 0.4 0.5],…
'foregroundcolor',[1 1 0.89],…
'Callback','ssave',…
'Position',[.57,.16 0.08928571428571427 0.04968253968253968]);
Program mesaj
msgbox(' SFIRSITUL PROGRAMULUI','ANTENE','warn');
Program eroare
handdle=errordlg(' FRECVENTELE INTRODUSE TREBUIE SA FIE IN GAMELE 1.5-30Mhz & 30-80Mhz','EROARE !!!')
Program detalii
close;
figure('NumberTitle','off','Name',' SISTEME ADAPTIVE DE ANTENE',…
'MenuBar',menubar,'color',[0.1 0.1 0.5],'Position',[150 8 600 574],'Resize','off');
axis off;
text(-.1,1,' SCOPUL ACESTUI PROGRAM ESTE DE A INCERCA PE CAT POSIBIL OBTINEREA ','color','y');
text(-.1,.96,'UNUI RAPORT SEMNAL/ZGOMOT SUPRAUNITAR LA IESIREA SISTEMULUI DINTR-UN','color','y');
text(-.1,.92,'RAPORT SEMNAL/ZGOMOT SUBUNITAR. ACEST LUCRU SE POATE REALIZA PRIN ','color','y');
text(-.1,.88,'FOLOSIREA UNOR ALGORITMI DE OPTIMIZARE CUM AR FI : LMS, LMS OPTIMIZAT','color','y');
text(-.1,.84,'(SGA), FOLOSITI DE ALTFEL IN ACEST PROGRAM, SAU RLS, KALMAN (ASA CUM','color','y');
text(-.1,.8,'AM ARATAT IN SIMULARILE REALIZATE IN **SIMULINK**. ','color','y');
text(-.1,.76,' ASA CUM AM ARATAT IN MENIURILE DE AJUTOR FOLOSITE DE-A LUNGUL ACES-','color','y');
text(-.1,.72,'-TUI PROGRAM, AM INCERCAT SA EVIDENTIEZ O SERIE DE ASPECTE SPECIFICE','color','y');
text(-.1,.68,'MODULUI DE PROGRAMARE FOLOSIT SI REZULTATELE OBTINUTE CONFORM MODU- ','color','y');
text(-.1,.64,'-LUI DE CALCUL FOLOSIT. DAR POATE CEL MAI IMPORTANT ASPECT AL PROGRA-','color','y');
text(-.1,.6,'-MULUI ESTE INTERPRETAREA REZULTATELOR PE BAZA GRAFICELOR, CARACTE- ','color','y');
text(-.1,.56,'-RISTICILOR DE DIRECTIVITATE OBTINUTE. ','color','y');
text(-.1,.52,' ASTFEL, VOI INCEPE CU INTERPRETAREA RAPORTULUI SEMNAL/ZGOMOT LA IE-','color','y');
text(-.1,.48,'-SIREA SISTEMULUI, PARAMETRU CARE ATRAGE DUPA SINE O SERIE DE MODIFI-','color','y');
text(-.1,.44,'-CARI LA CARACTERISTICA DE IESIRE A PUTERII ZGOMOTULUI, SAU CARACTE-','color','y');
text(-.1,.4,'-RISTICA DE DIRECTIVITATE A SISTEMULUI DE ANTENE FOLOSIT. SE POATE ','color','y');
text(-.1,.36,'OBSERVA CA PUTEREA SEMNALULUI UTIL LA INTRAREA SISTEMULUI ESTE DE ','color','y');
text(-.1,.32,'0.5 W(PENTRU O SIMPLIFICARE A CALCULULUI), IAR PUTEREA ZGOMOTULUI LA','color','y');
text(-.1,.28,'INTRAREA SISTEMULUI ESTE VARIABILA IN AMPLITUDINE. PE BAZA EXPERIMEN','color','y');
text(-.1,.24,'-TELOR, AM OBSERVAT CA PENTRU O AMPLITUDINE A ZGOMOTULUI INTRE VALO-','color','y');
text(-.1,.2,'-RILE 0 – 2 SE OBTINE O CARACTERISTICA DE DIRECTIVITATE A SISTEMULUI ','color','y');
text(-.1,.16,'DE ANTENE DESTUL DE BUNA (ADICA IN PREZENTA INTERFERENTELOR PE UN- ','color','y');
text(-.1,.12,'-GHIURI DE +30 SI -30 GRADE ESTE NEGLIJABILA), IN SENSUL CA ARE LOC ','color','y');
text(-.1,.08,'O ANULARE DE LOB LATERAL. ','color','y');
text(-.1,.04,' ESTE O METODA DE INLATURARE A INTERFERENTELOR DIN SISTEM. DE ALTFEL','color','y');
text(-.1,.005,'ACEST ASPECT A FOST ABORDAT SI IN PARTEA TEORETICA A PROIECTULUI.','color','y');
[x,map]=imread('next.jpg');
axes('position',[0.9 0.0358412698412698 0.08928571428571427 0.04868253968253968]);
imshow(x,map);
hold off;
h1 = uicontrol('Units','normalized', …
'Callback','detaliiprim', …
'Position',[0.8 0.0358412698412698 0.08928571428571427 0.04968253968253968], …
'String','NEXT','BACKGROUNDCOLOR',[0.352941176470588 0.852941176470588 0.652941176470588],…
'TooltipString','Urmatoarea pagina');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'Background',[1 0.4 0.5],…
'Position',[0.46 0.0358412698412698 0.08928571428571427 0.04968253968253968], …
'String','CLOSE',…
'TooltipString','Inchide');
Program detaliiprim
clf;
%figure('NumberTitle','off','Name',' SISTEME ADAPTIVE DE ANTENE',…
% 'MenuBar',menubar,'color',[0.1 0.1 0.5],'Position',[150 8 600 574],'Resize','off');
axis off;
text(-.1,1,' DE ASEMENEA, PENTRU UN NIVEL AL AMPLITUDINII ZGOMOTULUI IN GAMA','color','y');
text(-.1,.96,'2 – 3, SE OBSERVA O INRAUTATIRE A CARACTERISTICII DE IESIRE A PUTERII ','color','y');
text(-.1,.92,'ZGOMOTULUI DE IESIRE FAPT CE ARE REPERCURSIUNI ASUPRA CARACTERISTICII','color','y');
text(-.1,.88,'DE DIRECTIVITATE A SISTEMULUI ADAPTIV DE ANTENE, ACESTA NEMAIFIIND CA-','color','y');
text(-.1,.84,'-PABIL SA ANULEZE LOBUL LATERAL PE DIRECTIILE DE +30 SI -30 GRADE.','color','y');
text(-.1,.8,' SI IN FINAL, PENTRU O DEPASIRE A AMPLITUDINII ZGOMOTULUI PESTE UN','color','y');
text(-.1,.76,'NIVEL 3, AMBELE CARACTERISTICI PREZENTATE SE DETERIOREAZA FOARTE MULT ','color','y');
text(-.1,.72,'DUCIND PRACTIC LA O FUNCTIONARE INCORECTA A SISTEMULUI SI INCAPACITATEA','color','y');
text(-.1,.68,'ACESTUIA DE EXTRAGERE A SEMNALULUI SI INLATURARE A INTERFERENTEI. ','color','y');
text(-.1,.64,'','color','y');
text(-.1,.6,' POATE V-ATI INTREBAT DE CE AM ALES UN SISTEM ADAPTIV CIRCULAR CU','color','y');
text(-.1,.56,'8 ANTENE…','color','y');
text(-.1,.52,'','color','y');
text(-.1,.48,' EXPLICATIA E SIMPLA : IN URMA MULTOR EXPERIMENTE REALIZATE IN ANI','color','y');
text(-.1,.44,'DE CERCETARE, S-A OBSERVAT CA UN SISTEM ADAPTIV DE ANTENE CU 8 ELEMENTE','color','y');
text(-.1,.4,'ESTE OPTIM, DATORITA SIMETRIEI ACESTORA IN SISTEM, CRESTE RATA DE CONVER-','color','y');
text(-.1,.36,'-GENTA A ALGORITMULUI, ETC.','color','y');
text(-.1,.32,' O EXPLICATIE A FOLOSIRII SURSELOR DE INTERFERENTA LA UNGHIURI DE','color','y');
text(-.1,.28,'+30 SI – 30 GRADE ESTE FAPTUL CA DE OBICEI INTERFERENTA APARE SUB A-','color','y');
text(-.1,.24,'-CESTE UNGHIURI FATA DE DIRECTIA SEMNALULUI UTIL, PE CARE AM CONSIDE-','color','y');
text(-.1,.2,'RAT-O LA 0 GRADE DIN SIMPLITATE, REZULTAT OBTINUT IN URMA EZPERIMENTELOR.','color','y');
text(-.1,.16,' CA O CONCLUZIE, ACEST SISTEM ADAPTIV DE ANTENE ABORDAT DE MINE ESTE','color','y');
text(-.1,.12,'UNUL OPTIM, IAR REZULTATELE OBTINUTE PE BAZA TEORIEI ABORDATE INEPLINESC','color','y');
text(-.1,.08,'INTR-O MARE MASURA ASPECTELE ABORDATE IN PARTEA TEORETICA DIN PROIECT.','color','y');
[x,map]=imread('Exit Left.jpg');
axes('position',[0.01 0.0358412698412698 0.08928571428571427 0.04868253968253968]);
imshow(x,map);
h1 = uicontrol('Units','normalized', …
'Callback','detalii', …
'Background',[1 0.4 0.5],…
'Position',[0.12 0.0358412698412698 0.08928571428571427 0.04968253968253968], …
'String','BACK',…
'TooltipString','Inapoi');
h1 = uicontrol('Units','normalized', …
'Callback','close', …
'Background','y',…
'Position',[0.46 0.0358412698412698 0.08928571428571427 0.04968253968253968], …
'String','CLOSE',…
'TooltipString','Inchide');
Program detalii despre proiect
ttlStr = get(gcf,'Name');
hlpStr1= […
' 1. PRECIZARI SI DATE INITIALE : '
' '
'- se va realiza un studiu teoretic in care se vor analiza principiile'
' si metodele generale de elaborare a sistemelor adaptive de antene; '
'- se va elabora modelul teoretic pentru un sistem adaptiv de antene '
' pentru protejarea comunicatiilor fata de interferente in general si'
' bruiaje in particular; '
'- se va proiecta un pachet de programe interactive de calcul, optimi-'
' zare si simulare pentru sistemul adaptiv de antene, care va furniza'
' caracteristici privind performantele sistemului in diverse conditii'
' tactice (incluzand bruiajul); '
'- verificarea programelor de calcul si simulare va include analiza '
' comunicatiilor radio in gamele de frecvente 1,5-30Mhz si 30-88Mhz. '];
hlpStr2= […
' 2. MEMORIUL TEHNIC CUPRINDE : '
' '
'- consideratii tactico – tehnice ; '
'- studiul teoretic al principiilor si metodelor generale de elaborare'
' a sistemelor adaptive de antene; '
'- modelarea matematica pentru subsistemul adaptiv de antene proiectat'
'- algoritmi de proiectare, calcul si simulare a sistemului adaptiv de'
' antene, incluzand optimizarea structurii adaptive; '
'- programe interactive pentru calculul, optimizarea si simularea '
' caractersisticilor sistmului proiectat, utilizabile si in scop di- '
' dactic; '
'- rezultate si interpretari ale acestora, obtinute prin rularea pro- '
' gramelor de calcul si simulare; '
'- concluzii generale. '];
hlpStr3= […
' 3. LUCRARI GRAFICE DE INTOCMIT : '
' '
'- diagrame si grafice ale principalelor caracteristici privind perfor'
' mantele si managementul sistemului; '
'- listing-uri ale programelor (soft) elaborate; '];
helpfun(ttlStr,hlpStr1,hlpStr2,hlpStr3);
Program help
handle=helpdlg('Utilizarea programului se face prin introducerea de la tastatura a amplitudinii zgomotului dorite in casuta de editare ** Input noise amplitude ** si a frecventei dorite in casuta de editare ** Input frequency ** !!!','ANTENE')
Program savefig
[num,cal]=uiputfile('*.fig','Save As')
saveas(gcf,num,'fig');
Program savejpg
[num,cal]=uiputfile('*.jpg','Save As')
saveas(gcf,num,'jpg');
Program SIMULARI
val=get(h14,'Value');
if val==2
simularelms
elseif val==3
simularerls
elseif val==4
SimulareKalman
end
CONCLUZII GENERALE
Proiectarea detaliată a unui sistem de antenă adaptivă depinde de criteriul de performanță selectat. Două din cele mai folosite criterii sunt raportul semnal-zgomot și eroarea medie pătratică.
Sistemul funcționează cunoscând direcția din care sosește semnalul util, dar nu posedă inițial nici o informație privitoare la perturbații. Sistemale adaptive sunt utile atunci când semnalele perturbatoare au un anume grad de coerență, ceea ce le fac deosebit de utile în domenii variate și pe o gamă întinsă de frecvențe, mergând de la domeniul fenomenelor seismice la cel al radarului.
In acest proiect am urmărit o abordare generală, teoretică, a tipurilor de filtre adaptive folosite în procesările de semnal și aici amintesc :LMS, Kalman și RLS. Totuși, scopul acestui proiect a fost de a realiza o implementare efectivă a unui din acești algoritmi folosind-ul în procesarea semnalelor obținute dintr-un sistem de antene.
Am utilizat, în realizarea scopului propus, algoritmul LMS standard deoarece am găsit o documentație destul de importantă referitoare la acest algoritm. Desigur, el nu este algoritmul optim pentru un sistem adaptive de antene dar are performanțe crescute, și în acestă privință simulările arată capacitatea acestui algoritm de rejecție a interferențelor. Acest studiu l-am realizat în comparație strânsă cu algoritmul LMS optimizat (sau SGA) fapt prezentat și în baza rezultatelor obținute din comparare.
Sistemele de antene adaptive controlate de un filtru Kalman excelează prin rata înaltă de convergență, dereglare mică și independență de informația utilă despre statistici de interferență. Cererile de viteză mare de procesare și potențialul de instabilitate numerică sunt obstacole pentru controlerul Kalman
Algoritmul LMS poate suferi de probleme de stabilitate – dacă constanta de învățare este aleasă prea mare atunci sistemul poate oscila, dacă este prea mic atunci sistemul nu funcționează corect. Pentru alegerea corectă a lui , matricea de corelație ale semnalelor observate trebuie cunoscută. Deci a fost propusă folosirea filtrului Kalman pentru controlul antenelor adaptive deoarece algoritmul bazat pe filtrul Kalman nu are nevoie de informația utilă despre statisticile semalului și, în plus, excelează în rata de convergență înaltă și dereglare mică.
Din nefericire, cererile de procesare ale filtrului Kalman nu sunt foarte rapide și instabilitatea numerică poate apare în timpul procesului de iterație. Luând în considerare acest neajuns al filtrului Kalman să concluzionăm că filtrul Kalman nu pare să fie potrivit pentrul controlul antenelor adaptive. De aceea s-a dezvoltat filtrul simplificat Kalman (SKF) care reduc simțitor cererile de procesare și înlatură pericolul de instabilitate numerică.
SKF care este potrivit pentru controlul digital al sistemelor de antene adaptive bazat pe metoda semnalului pilot. SKF nu e senzitiv la setarea inițială a parametrilor, arată adaptarea și stabilitatea numerică și este indepedent de tipul de informație cu referire la statisticile de zgomot. Rata de convergență și dereglarea SKF sunt cuprinse între parametrii respectivi ai LMS și filtrului pur Kalman. Cererile de procesare sunt aproximativ de 3 ori mai rapide în comparație cu LMS.
Ca un rezultat al simulărilor realizate cu ajutorul programului Matlab, am constat faptul că algoritmul RLS este superior algoritmilor LMS și Kalman din punct de vedere al eliminării zgomotului din semnalul recepționat.
Ca o concluzie finală aș remarca faptul că domeniul sistemelor adaptive de antene este unul foarte important în comunicațiile actuale având aplicații diverse și constituind o zonă de cercetare intensă pentru mari firme și concernuri internaționale, și aș aminti : ALCATEL, ERICSSON, HARRIS, IBM etc. Domeniul de frecvențe utilizat la ora actuală este în gamele de ordinal gigaherților și zecilor de gigaherți cu aplicații în special în comunicațiile mobile.
Ca propunere aș recomanda ca pe baza rezultatelor și simulărilor realizate cu acest pachet de programe să se realizeze în continuare o abordare a sistemelor adaptive de antene folosind și alți algoritmi cum ar fi cei enunțați mai sus.
BIBLIOGRAFIE
[1] Barnbaum, Cecilia and Richard F. Bradley, "A new approach to interference excision in radio astronomy", The Astronomical Journal, vol. 116, pp. 2598-2614, Nov. 1998
[2] Godara, L. C. and D. A. Gray, "A structured gradient algorithm for adaptive beamforming", J. Acoust. Soc. Am., vol. 86 no. 3, pp. 1040 – 1046, September 1989
[3] Haupt, Randy and Hugh Southall, "Experimental adaptive nulling with a genetic algorithm", Microwave Journal, Jan 1999
[4] “IEEE Transactions on Antennas and propagation” , 1980-1999
[5] Li, Y. and K.J.R. Liu, "Fast blind adaptive algorithms for equalization and diversity reception in wireless communications using antenna arrays", Univ. Maryland, College Park, Technical Report TR 96-50,
[6] Martone, Massimiliano (Max), "An adaptive algorithm for antenna array low-rank processing in cellular TDMA base stations", IEEE Trans. on Comm., vol. 46 no 5, May 1998
[7] Monzingo, Robert A. and Thomas W. Miller, Introduction to Adaptive Arrays, New York: Wiley & Sons, 1980
[8] Torrieri, D. “Principles of military communication systems”, Artech House, Detham, 1982
[9] Rashid-Farrokhi, F. and L. Tassiulas, K.J.R. Liu, "Joint optimal power control and beamforming in wireless networks using antenna arrays"
[10] Proakis, J. “Digital Comunications”, Mc Graw-Hill, New York, 1989
[11] Greu, V. “Sisteme de antene adaptive în comunicațiile cu spectru împrăștiat – Lucrările Simpozionului Internațional Sisteme de comunicații mobile (Proceedings)” – IEEE, ATM, UPB. Mai 1995.
[12] Greu, V. “Salt de frecvență și contrasalt de frecvență “, Editura Militară, București, 1998.
[13] Greu, V. “Basic method for generating “quasi-orthogonal” spread-spectrum signal formats. Proceedings of the International Conference “ECCTD’97 (European Conference on Circuits Theory and Design)”- Budapest, sept. 1997
[14] Edmond Nicolau – “Antene active și adaptive” , Editura Academiei
Române, București , 1983
[15] Liviu Șolti – “Antene” ediția a III-a , Editura Academiei Militare ,
București , 1985
[16] Marin Ghinea – “MATLAB-calcul numeric-grafică-aplicații” , Editura Teora , București ,1995
[17] Silviu Ciochină – “Sisteme adaptive”,Editura Tehnică,București
[18]B.Widrow et.al.,”Adaptive antenna sistems,” Procc.IEEE, vol.55,pp.2143-2159, Dec.1967.
[19] C.A.Baird,Jr.,”Kalman-type processing for adaptive antenna arrays,” IEEE Int.Conf.Comun.,Minneapolis,MN.,June 1974, pp.10G-1-10G-4.
[20] Y.H. Chen and C.T.Chiang, “Adaptive beamforming using the constrained Kalman filter,”IEEE Trans.Acoust.Propagat.,vol.AP-41, ppp 1576-1580, nov.1993
[21] A.Feuer and E.Weinstein, “Convergence analysis of LMS filters with uncorrelated Gaussian data,”IEEE Trans.Acoust.Speech, Signal Processing,vol.ASSP-33, pp.222-230, Feb.1985.
[22] S.Haykin, Adaptive Filter Theory, 2nd ed. Englewood Cliffs, NJ :
Prentice-Hall, 1992.
[23] W.E.Reddgers and R.J.Compton, “Adaptive Array Bandwidth with Tapped Delay-Line Processing,” IEEE Trans. Aerospace Electron. Syst. Aes-15(January 1979),21
[24] L.J. Gritfitts, “Compairison or Multidimensional Wienne and Maximum-LikieIihood Filters for Antenna Arrays”, Proc. IEEE’ 55 (November 1967), 2045.
[25] .E. Brennan and I.S.Reed,”Theory of Adaptive radar,” IEEE Trans.Aerospace Electron. Syst. AES – 9 (march 1973), 237.
[26] S.P.Applebaum,”Adaptive Arrays”, IEEE Trans Antennas Prop. AP-24 (September 1976), 585
[27] B. Widrow, et.al “Adaptive Antenna Systems ,“ Proc. IEEE 55 (December 1967), 2143.
[28] B. Widrow and J.M. McCool, “A Comparison of Adaptive Algorithms Based on th . Methods of Stepest Descend” and Random Search,” IEEE Pans, Antennas Prop. AP~24 (September 1976), 615.
[29] IS. Reed, et al,, Rapid Convergence Rates In Adaptive Arrays,”
IEEE Trans. Aerospace Electron. Syst. AES~1O (November 1974), 853.
[30] L.J. Grlftiths, “A Simple Adaptive Algorithm for Real Time Processing In Antenna Arrays,” Proc. IEEE 57 (October 1969),1696.
[31] R.J. Compton, “An Adaptive Array in a Spread-Spectrum Comunication System,” Proc. IEEE 66 (March 1978), 289.
[32] B.Widrow, “Adaptive Noise Cancelling.principlles and Aplications”Proc. IEEE 63 (1)eccmher 1975), 1692.
[33] A.M. Vural, ‘‘ Effects of Perturbations on the Performance of Optimum/Adaptive Arrays,” IEEE Trans. Aerospace Electron Syst. AES-15 (January 1979), 76
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: . Sisteme Adaptive de Antene (ID: 161371)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
