Balra:{1√2,i√2}sajátállapot: +1 sajátérték
Jobbra:{1√2,−i√2}sajátállapot: -1 sajátérték
Az OAM értékei (sajátállapotai) a Laguerre-Gauss módusok. Nyilván más módusok is rendelkeznek OAM-el (Bessel, Mathieu,…), ám ezzel könnyebb dolgozni. Az LG hullámok általánosított képlete a következő:
Jobbra:{1√2,−i√2}sajátállapot: -1 sajátérték
Az OAM értékei (sajátállapotai) a Laguerre-Gauss módusok. Nyilván más módusok is rendelkeznek OAM-el (Bessel, Mathieu,…), ám ezzel könnyebb dolgozni. Az LG hullámok általánosított képlete a következő:
ξp,l(ρ,φ,z)=Aω(z)⋅(√2ρω(z))l⋅Llp(2ρ2ω2(z))⋅e−ρ2ω2(z)⋅eikρ22R(z)⋅e−iφ(z)⋅eilθ
Ahol: {p−radiális index (sugárirányú csomópontok száma)l−azimutális index (2π periódusok száma a kerület mentén)ρ,φ,z−hengeres koordináták, melyek kapcsolata a kartezián koordinátákkal:{ρ=√x2+y2φ=tan−1xyz=z A−konstnas szorzó:A=p!⋅√2πp!(|l|+p)!ω(z)−nyalábátmérő (nyalábnyak): ω(z)=ω0√z2+z2Rz2R, ahol zR a Rayleigh hosszLlp−általánosított Laguerre-polinom: Llp(x)=∑pm=0−1m(p+ln−m)zmm!R(z)−a nyaláb hullámfrontjainak görbületi sugara: R(z)=z+zRz=z⋅[1+(πω20λz)2]φ−Gouy fázis: φ(z)=(2p+|l|+1)tan−1zzR
A képlet vizuális átfordítására alkalmas
például a Matlab. A hengeres koordinátarenszer:
A hullámfront a nyaláb
keresztmetszetére vonatkozik, ahol nincs szükség z tengely menti kiterjedésre (z=0). Ennek következményei egy igen egyszerű LG
képlethez vezetnek:
z=0⟹{ω(0)=ω0√02+z2Rz2R=ω0R(0)=0⋅[1+(πω20λz)2]=0φ(0)=(2p+|l|+1)tan−10zR=0, tehátφ nem számít
ξp,l(ρ,z=0)=Aω0⋅(√2ρω0)2⋅Llp(2ρ2ω20)⋅e−ρ2ω20⋅eilθ
Ez az öt szorzótagból álló képlet Matlabban a következőképp írható fel:
Theta
a jel fázisa, mely szintén egyenletesen oszlik el 0 és 2π között. Bár most z=0, de
igazából z=l⋅λ hullámhossz távolság megtétele alatt tolódna el a
fázis 0-tól 360 fokig. A programban radiánban dolgozunk.
A
képletben szereplő A konstanst, mely p és l paraméterektől függ, a fenti
módszerrel lehet deklarálni. A teljes forráskód a következő:
Az Lpl Laguerre polinom alakja bonyolultabb mint A konstansé, ezért neki külön függvény jár:
ξp,l(ρ,z=0)=Aω0⋅(√2ρω0)2⋅Llp(2ρ2ω20)⋅e−ρ2ω20⋅eilθ
Ez az öt szorzótagból álló képlet Matlabban a következőképp írható fel:
z = (A(p,l)./w0).* ...
(((sqrt(2).*r)./w0).^abs(l)).* ...
(Lpl(p,l,((2.*r.^2)./w0.^2))).* ...
(exp((-r.^2)./w0.^2)).* ...
(exp((-1)*1i*l.*theta));
A három pont az egyenlet folytatását jelenti
a következő sorban, a pontok a műveleti jelek előtt pedig azt, hogy a
számhalmaz összes elemére el kell végezni a műveletet. Számhalmazt jelent
például a hengeres koordinátarendszer 3 tengelye (ebben az esetben csak egy,
mert z=0 és φ nem számít):
ρ: ro=linspace(0,1); % 100 érték 0 és 1 között
(felbontás)
Mivel nem számít sem a Gouy-fázis, sem a
hullámhossz (ehhez egyedül a Rayleigh-hossz kapcsolódott), ezért
normalizálhatjuk az értékeket 0 és 1 közé. A linespace(a,b,n) parancs ezt teszi,
a és b közé n darab értéket vesz fel egyenletes eloszlással (ha az n paramétert kihagyjuk, akkor azt 100-nak értelmezi).
θ: theta=linspace(0,2*pi); % 100 érték 0 és 2pi között (radián fázisszög)
[theta, ro]=meshgrid(theta,ro); % vektorból mátrix (a kirajzoláshoz)
Theta és ro két számhalmaz, melyekből két
[Theta x ro] nagyságú mátrix lesz. Ez tulajdonképpen a kirajzolandó felület x-y
koordinátája. A z koordinátákat az LG képlete adja.
[x, y]=pol2cart(theta,ro); % a
polár koordinátákat kartezián koordinátákká alakítja
Mivel a Matlab beépített polar függvénye
csak theta (a sugárvektor és az x-tengely közti szög) és ro (a sugárvektor
hossza) paramétereket ismeri, kénytelenek vagyunk a kartezián
koordinátarendszerben dolgozni.
A = @(p,l) sqrt((2*factorial(p))/(pi*factorial(p+abs(l)))); % sqrt(...) helyett A(p,l)
function [] = LG(p,l,w0)
%{
p = radiális index
l = azimutális index
w0 = nyalábnyak
%}
ro=linspace(0,1); % 100 érték 0 és 1 között (felbontás)
theta=linspace(0,2*pi); % 100 érték 0
és 2pi között (radián fázisszög)
[theta, ro]=meshgrid(theta,ro); % vektorból
mátrix (a kirajzoláshoz)
[x, y]=pol2cart(theta,ro); % a polár koordinátákat kartezián koordinátákká alakítja
A = @(p,l) sqrt((2*factorial(p))/(pi*factorial(p+abs(l)))); % sqrt(...) helyett A(p,l)
z = (A(p,l)./w0).* ...
(((sqrt(2).*ro)./w0).^abs(l)).* ...
(Lpl(p,l,((2.*ro.^2)./w0.^2))).* ...
(exp((-ro.^2)./w0.^2)).* ...
(exp((-1)*1i*l.*theta));
surf(x,y,abs(z).^2);
endAz Lpl Laguerre polinom alakja bonyolultabb mint A konstansé, ezért neki külön függvény jár:
Llp(z)=p∑m=0−1m(p+lp−m)zmm!, ahol(p+lp−m)=(p+l)!(p−m)!⋅(l+m)! binomiális együttható
function out = Lpl(p,l,z)
LL=0;
for m=0:p
LL = LL+((-1)^m)*...
(factorial(p+abs(l))/(factorial(p-m)*factorial(abs(l)+m)))*...
(z.^m)/factorial(m);
end
out = LL;
end
Az LG függvényben a surf kirajzolja 3D-ben az (x,y,z) mátrixokat. A z mátrix méretének
ugyanakkorának kell lennie mint x vagy y esetében, és
ez teljesül is, hiszen z egyenletében szerepelnek a
theta és ro mátrixok. Az egyetlen kikötés, hogy valós,
és ne komplex számok szerepeljenek a mátrixokban. Ha az LG függvényt
lefuttatjuk, az LG(0,3,0.5) paranccsal, akkor a következő ábra jelenik meg:
Ez a forma az LG nyaláb hullámfrontja. Bár
a kép forgatható és simítható manuálisan is, de ha a surf és az end közé a következő parancsokat írjuk, akkor azok elvégzik:
view([0 90]); % felülnézet
axis('square'); % négyzetes forma
lighting phong; % fényes felület
shading interp; % a négyzetrács eltüntetése
Ezek
után a programot különböző paraméterekkel futtatva, az alábbi eredmények
születnek:
Látható,
hogy az intenzitásgyűrű nem csupán az azimutális index csökkenésével lesz egyre
kisebb, de a nyalábnyak csökkenésével, vagy a radiális index növelésével is
zsugorodik. Az interferenciát is ugyanezzel a módszerrel lehet megjeleníteni, a
programon annyit kell változtatni, hogy megduplázzuk z egyenletét
és a két z függvényt összeadjuk kirajzolás előtt. Feltételezve,
hogy csak az azimtuális index a változó, a két z függvény csak ebben
fog különbözni egymástól:
function [] = LG(p,l,l1,w0)
(...)
z1 = (A(p,l1)./w0).* ...
(((sqrt(2).*ro)./w0).^abs(l1)).* ...
(Lpl(p,l1,((2.*ro.^2)./w0.^2))).*
...
(exp((-ro.^2)./w0.^2)).* ...
(exp((-1)*1i*l1.*theta));
zi = z+z1;
surf(x,y,abs(zi).^2);
(...)
end
A háromdimenziós spirális fázisfront kialakításához az LG hullámok
szerkezetét kell megvizsgálni.
A feladat kör alakban eltolni a szinusz hullámokat l függvényében. Az LG hullámoknál ezt az azimutális indexet
tartalmazó exponens szorzó valósítja meg:
Az exponenciális jel: eiωt=cosωt+i⋅sinωt
Az exponenciális jel beszorozva a fázistolóval: eiωt⋅eilθ=eiωt+lθ=cos(ωt+lθ)+i⋅sin(ωt+lθ)
Az exponenciális jel beszorozva a fázistolóval: eiωt⋅eilθ=eiωt+lθ=cos(ωt+lθ)+i⋅sin(ωt+lθ)
Theta jelenti a fázist, mely egy konstans szám, de függ a hullámok
számától. A fenti ábrán például 13 szinusz hullám van, ezért a köztük lévő
fázistolás 360/13=27.7° azaz 0.48 radián. A hullámok theta l-szeresére tolódnak el.
function [] = OAMwaves(l,rad,n,N)
%{
l = azimutális index
rad = a legnagyobb kör sugara
n = körök száma
N = hullámok száma egy körben
%}
Fs = 4000; % Mintavételezési frekvencia [minta/sec]
Ts = 1/Fs; % Mintavételezési periódusidő [sec/minta]
range=0.2; % Kirajzoláshoz: a megjelenített intervallum
t = (0:Ts:range); % Kirajzoláshoz: az intervallumban lévő lépések halmaza
F = 10; % Frekvencia
A = 1; % Amplitúdó
%% -------------------------------Hullámok----------------------------------
zerok=zeros(1,length(t)); % Kirajzoláshoz: y-tengely dimenziója
Ps=l*((2*pi)/N); % Fázistolás = l*theta
for r=rad:-(rad/n):(rad/n) % Lépkedés a középcentrikus körök között
P=Ps; % A fázistolás kezdeti értéke
for ang=(2*pi/N):(2*pi/N):2*pi; % Lépkedés a kört alkotó hullámok között (0-360)
xp=r*cos(ang); % A kört formáló x-koordináta
yp=r*sin(ang); % A
kört formáló y-koordináta
x=A*cos(2*pi*F*t+P); % A
jel, melynek fázisa tolódik minden lépésben
clinep(t,zerok+yp,x+xp,x,2); % Rajzolás:
clinep(X,Y,Z,Szín,Vonalvastagság);
P=P+Ps; % A fázis tolása
end
end
grid on; % rácsozás
axis square; % négyzetes forma
xlabel('X'); ylabel('Y'); zlabel('Z'); % tengelynevek
axis([0 range -rad rad -rad-A
rad+A]); % tengelykorlátok
view(40,20); % nézőszög
end
A fenti program
kör alakban koszinusz hullámokat rajzol, melyek fázisai szerre el vannak tolva.
A nyaláb tömörségét a hullámkörök és az őket alkotó hullámok számával lehet
növelni. A clinep függvény a mathworks
adatbázisról volt letöltve, mely annyiban különbözik a plot3 függvénytől, hogy a
megrajzolt vonalak külön-külön színezhetőek.
Ha az azonos fázispontokat, például az intenzitásmaximumokat
összekötjük, akkor jobban kivehetővé válik a fázisszerkezet összefonódott
alakja. Az alábbi kódrészletet a for end-je és a grid on közé lehet illeszteni.
%%
-----------------------Fázispontok---------------------------------
if(l==0) % mikor nincs csavart fáziszserkezet
hold on; %
rárajzolás az előző rajzra
angle=0:(2*pi/N):2*pi; % Lépkedés a kört alkotó hullámok között (0-360)
xp=r*cos(angle); % A kört formáló x-koordináta
yp=r*sin(angle); % A kört formáló x-koordináta
zerok=zeros(length(xp)); % Kirajzoláshoz: x-tengely dimenziója
for i=0:(1/F):range % Lépkedés periódusonként (0-tól azaz max-tól)
maxpoint=ceil(length(0:Ts:i)); % a
maxpontok helye az időtengelyen
plot3(zerok+t(maxpoint),yp,A+xp,'r','LineWidth',3); % rárajzolás
end
hold off;
else % mikor a fázisszerkezet csavarodott
hold on; % rárajzolás az előző rajzra
F_uj=F/l; % a spirálok lépéstávolsága l-el nő
for i=1:l % l az összefonódott spirálok száma
Px=i*(2*pi)/l; % a spirálok fázistolása x irányban
Py=Px+pi/2; % a spirálok fázistolása y irányban
y =
r*A*cos(2*pi*F_uj*t+Py); % x-hullám
x =
r*A*cos(2*pi*F_uj*t+Px); % y-hullám, ezek együttese a spirál
plot3(t,y,x+A,'r','LineWidth',3); % rárajzolás
end
hold off;
end
A középső ábrán már-már kibontakozni látszik a fázisszerkezet a
fázisvonalak mentén. Ha kommentárba rakjuk a hullámok kirajzolását, akkor:
A Matlab képes ennél szebb felületek megjelenítésére is. Ebben az
esetben nem számít a körök, vagy a hullámok száma, sem a legnagyobb kör sugara,
csupán az azimutális index:
function [] = PhaseStruct(l)
F = 10; % Frekvencia
A = 1; % Amplitúdó
Fs = 4000; % Mintavételezési frekvencia [minta/sec]
Ts = 1/Fs; % Mintavételezési periódusidő [sec/minta]
range=0.2; % Kirajzoláshoz: a megjelenített intervallum
t = (0:Ts:range); % Kirajzoláshoz: az intervallumban lévő lépések halmaza
%%-----------------------------Fázisszerkezet------------------------------
hold on; % Az összefonódások egy ábrára rajzolása
if(l==0) % mikor nincs csavart fáziszserkezet
y = A*sin(2*pi*F*t); % x-hullám
x = A*cos(2*pi*F*t); % y-hullám, ezek együttese a körlemez
zerok=zeros(1,length(t)); %
Kirajzoláshoz: t darab nulla
Y=[zerok(:),y(:)]; % y-hullám az x-tengely 0 pontjába
Z=[zerok(:),x(:)]; % x-hullám az y-tengely 0 pontjába
for j=0:(1/F):range % Lépkedés periódusonként (0-tól azaz max-tól)
X=[j+zerok(:),j+zerok(:)]; % Az
x-tengely feltöltése 0-val periódusonként
surf(X,Y,Z); % Kirajzolás
end
else % mikor a fázisszerkezet csavarodott
zerok=zeros(1,length(t));
X=[t(:),t(:)]; % X-tengely értékei = időtengely értékei
F_uj=F/l; % a spirálok lépéstávolsága l-el nő
for i=1:l % l az összefonódott spirálok száma
Px=i*(2*pi)/l; % a spirálok fázistolása x irányban
Py=Px+pi/2; % a spirálok fázistolása y irányban
y = A*cos(2*pi*F_uj*t+Py); % x-hullám
x = A*cos(2*pi*F_uj*t+Px); % y-hullám,
ezek együttese a spirál
Y=[zerok(:),y(:)]; % y-hullám az x-tengely 0 pontjába
Z=[zerok(:),x(:)]; % x-hullám az y-tengely 0 pontjába
surf(X,Y,Z); % Kirajzolás
end
end
hold off;
grid on; % rácsozás
axis square; % négyzetes forma
xlabel('X'); ylabel('Y'); zlabel('Z'); % tengelynevek
axis([0 range -A A -A A]); % tengelykorlátok
view(40,20); % nézőszög
end
Az l=0 eseteket mindig külön kell tárgyalni a fázisszerkezetnél, mert a
nullával való osztás nem lehetséges. Minden körívnél és görbületnél a program
alapból megrácsozza a felületet, minél több van belőlük annál sűrűbb a
rácsozat. A következő parancsokat a view(40,20) és az end közé lehet írni:
shading interp;
% a négyzetrács eltüntetése
colormap copper; % rézszínű felület
set(light,'Style','infinite','position',[1 1 1]); %1. fényforrás
set(light,'Style','infinite','position',[-1 -1 -1]); %2.
fényforrás
material shiny;
% csillogás
A fázisfrontok megjelenítéséhez szemből-nézet view(90,0) kell és
másféle színezés. Az előbb megadott
színező parancsok kommentárba tétele után javítsuk ki:
- az l=0 kirajzolását: surf(X,Y,Z, 'FaceColor','blue','EdgeColor','none');
- az l<>0 kirajzolását: C=[t(:),zerok(:)];
surf(X,Y,Z,C,'EdgeColor','none'); % Kirajzolás
caxis([0,range*l]);
Továbbá a range változót állítsuk 1 periódusra, azaz 1/F-re, hogy
látszódjék egy hullámhossz alatt mennyit változik a fázis.
Az első esetben nincs fázisváltozás. A másodiknál egy hullámhosszon l=1-szer tolódik el a fázis 180 fokot
(kéktől a pirosig). Az utolsó ábrán a fázis csak keveset változik, pontosan
180/7=25.71 fokot. Ez azt jelenti, hogy a keresztmetszet bármely két pontján
mérünk, ennél nagyobb fáziskülönbséget nem fogunk tapasztalni. Ahhoz, hogy
teljesen körbeforduljon, 7 hullámhossznyi távolságig kell rajzolni:
A hullámfront intenzitásgyűrűit és az interferenciákat a NEC (Numerical Electromagnetics Code –
4nec2) programmal is szimulálni lehet. Ahogyan a Matlab-ban a hullámokat kör
alakba csoportosítva felépíthető az LG hullám, ugyanúgy a NEC-ben is
elvégezhető ugyanez. Egyszerűen annyi a feladat, hogy negyed hullámhosszúságú
antennákat helyezünk el kör formában, úgy, hogy mindenik ugyanabban a
polarizációban (irányban) legyen. Ezt Matlabban úgy lehet elképzelni, mint mikor a
hullámszerkezetet szemből nézzük (view(90,0);)
Mindenik antennára eltolva adjuk rá a jelt. Mivel a NEC egy nagyon régi
program, ezért sokat kell kézzel írogatni az antennák koordinátáit. Erre a
célra érdemes Matlabban programot készíteni ami létrehozza a .nec kiterjesztésű
fájlt, hogy azt csak be kelljen majd tallózni a NEC-be. Először vizsgáljuk
meg a .nec fájlt szerkezetét: készítsünk egy két elemből álló fázisrácsot.
A Frekvencia legyen 1GHz, tehát az antennák hossza 30cm/4=7.5cm és legyen fél
hullámhossz a két antenna közti távolság. Az antenna átmérője minél kisebb
annál jobb, itt 1mm-re állítottam.
Mivel a két
antenna éppen fél hullámhosszra van egymástól, az egymás irányába kisugárzott
jelek kioltják egymást. Ha az egyik jelet eltoljuk fél hullámhosszal (180
fokkal), akkor a fordítottja történik, a jelek felerősítik egymást. A generált
fájl (2elemu.nec) tartalma tulajdonképpen a kézzel kitöltögetett táblázatokat
foglalja magába:
CM Cardioid,
converted with 4nec2 on 31-mei-05 21:01
CE
GW 1 10 0 -0.075 0 0 -0.075 0.075 1e-3
GW 2 10 0 0.075 0 0 0.075 0.075 1e-3
GE 0
GN -1
EK
EX 0 1 2 0 1 0 0
EX 0 2 2 0 -1 1.22e-16 0 0
FR 0 0 0 0 1000 0
EN
Látható, hogy a fázist nem fokokban, hanem komplex formában tárolja:
Re+jIm=Magn(cosθ+jsinθ)
function [] = Antennak(l,h,N,rad)
%{
l = azimutális index
h = antenna hosszúság
N = antennaszám
rad = kör sugár
%}
clf; clc; % az ábrák és a paranccsor kiürítése
%% --------------------------- Kör koordináták ----------------------------
angle=(2*pi/N):(2*pi/N):2*pi; % lépések a kört alkotó antennák között (0-360)
xp=rad*cos(angle); % A kört formáló x-koordináta
yp=rad*sin(angle); % A kört formáló y-koordináta
hold on; % A kör koordinátái egy ábrán
for i=1:N % Lépkedés az antennák között
plot(xp(i),yp(i),'.'); % az
antenna alja
plot(xp(i),yp(i)+h,'.'); % az antenna
teteje
end
axis([-(rad*2) rad*2 -(rad*2)
rad*2]);
axis square;
hold off;
%% ---------------------------
fájlba íras -------------------------------
fileID = fopen('Antennak.NEC','w');
fprintf(fileID,'CM Cardioid, converted with 4nec2 on 31-mei-05 21:01\n');
fprintf(fileID,'CE\n');
% Első táblázat: Type, Tag, Segs, X1, Y1, Z1, X2, Y2, Z2, Radius
for i=1:N
fprintf(fileID,'GW %d 10
%f %f %f
%f %f %f 1e-3\n'...
,i,0,xp(i),yp(i),0,xp(i),yp(i)+h);
end
fprintf(fileID,'GE 0\n');
fprintf(fileID,'GN -1\n'); % Free Space
fprintf(fileID,'EK\n');
% Második táblázat: Type, Tag, Segs, (opt), Real, Imag, Magn, Phase, (norm)
Ps=l*((2*pi)/N);
P=Ps;
for i=1:N
fprintf(fileID,'EX 0 %d
2 0 %f
%f 0\n',i,sin(P),cos(P));
fprintf('A(z) %d. antenna fazisa: %f\n',i,radtodeg(P)); % a parancssorba írás
P=P+Ps;
end
fprintf(fileID,'FR 0 0
0 0 1000
0\n'); %Frekvencia
fprintf(fileID,'EN\n');
unix2dos('Antennak.NEC'); %konvertálás
end
A unix2dos függvényt a mathworks
adatbázisból tölthető le. Futtatás után betallózzuk a NEC programban az
Antennak.NEC fájlt, ami a függvény könyvtárában jött létre.
A melléklebenyeket el lehet tüntetni, ha belső kört is használunk:
Megoldható, hogy csak a belső körre teszünk jelforrást, és onnan egyenlő
hosszúságú kábelekkel összekötjük a külső kör(ök) antennáival. Ha a kábelhosszt
nullára állítjuk, akkor a program a két végpont közti fizikai távolságot veszi
figyelembe. Ha viszont az egyetlen jelforrásból induló kábelek hosszát
változtatjuk (késleltetés, azaz fázistolás gyanánt), akkor az
iránykarakterisztikák valamiért nem sikerülnek jól.
A következő ábrán a két 1GHz-es (0.3m) antenna a köztük lévő jelforrásból van
táplálva,75 ohmos átviteli kábeleken keresztül. Az antennák fél hullámhosszra
(0.15m) vannak egymástól.
A rézben lassabban terjednek az elektromágneses hullámok, amit nem
vettem figyelembe, de a főablak „Enviroment” részénél látni lehet a kábelek
elektromos hosszát fokokban, hogy mennyire tér el a várt értékektől. Míg ki nem
derül, hogy a kábelekkel miért csak 360 vagy 180 fokot lehet tolni, addig a
több jelforrásos változatot használom. Az előző program módosításával több
középcentrikus antennakör építhető, melyek kábelekkel vannak a legbelső körhöz
csatlakoztatva. A körök közti fázistolások elkerülése érdekében érdemes a
kábelt a hullámhossz egész számú többszörösére méretezni.
function [] = Antennak(l,h,N,rad,n)
%{
l = azimutális index
h = antenna hosszúság
N = antennaszám
rad = kör sugár
%}
clf; clc; % az ábrák és a paranccsor kiürítése
%% --------------------------- Kör koordináták ----------------------------
hold on; % A kör koordinátái egy ábrán
i=1;
for r=rad:-(rad/n):(rad/n) % Lépkedés a középcentrikus körök között
for ang=(2*pi/N):(2*pi/N):2*pi; % Lépkedés a kört alkotó hullámok között (0-360)
xp(i)=r*cos(ang); % A kört formáló x-koordináta
yp(i)=r*sin(ang); % A kört formáló y-koordináta
plot(xp(i),yp(i),'.'); % az
antenna alja
plot(xp(i),yp(i)+h,'.'); % az antenna
teteje
i=i+1;
end
end
axis([-(rad*2) rad*2 -(rad*2)
rad*2]);
axis square;
hold off;
%% ---------------------------
fájlba íras -------------------------------
fileID = fopen('Antennak.NEC','w');
fprintf(fileID,'CM Cardioid, converted with 4nec2 on 31-mei-05 21:01\n');
fprintf(fileID,'CE\n');
% Elso táblázat: Type, Tag, Segs, X1, Y1, Z1, X2, Y2, Z2, Radius
for i=1:N*n
fprintf(fileID,'GW %d 10
%f %f %f
%f %f %f
1e-3\n'...
,i,0,xp(i),yp(i),0,xp(i),yp(i)+h);
end
fprintf(fileID,'GE 0\n');
fprintf(fileID,'GN -1\n'); % Free Space
fprintf(fileID,'EK\n');
% Második táblázat: Type, Tag, Segs, (opt), Real, Imag, Magn, Phase, (norm)
Ps=l*((2*pi)/N);
P=Ps;
for i=(n-1)*N+1:n*N % csak
a legbelső körre tegyen jelt
fprintf(fileID,'EX 0 %d
2 0 %f
%f 0\n',i,sin(P),cos(P));
fprintf('A(z) %d. antenna fazisa: %f\n',i,radtodeg(P)); % a parancssorba írás
P=P+Ps;
end
% Harmadik táblázat: kábelek
for i=1:(n-1)*N
fprintf(fileID,'TL %d 1
%d 1 75
0.3\n',i,i+N); %lambda hosszú
end
fprintf(fileID,'FR 0 0
0 0 1000
0\n'); %Frekvencia
fprintf(fileID,'EN\n');
unix2dos('Antennak.NEC'); %konvertálás
end
Látható, hogy
nagyobb körökkel és több antennával a főlebenyek nyílásszöge sokkal kisebb, a
hullámok párhuzamosabbak, nem divergálnak szét. Ennek köszönhetően az antenna
nyeresége is nagyobb lesz (a decibel skála maximumai alapján). Két vagy több
kört tartalmazó antennarács esetén a körök között terjedő jelek kiolthatják
vagy felerősíthetik egymást, ezért nem mindegy, hogy a belső kör milyen távol
van a külsőtől. A fenti baloldali példában nagyobbik kör sugara 30cm, azaz 1
hullámhossz, a belsőé pedig ennek fele. Ezért ugyanaz történik, mint a két
antennaelemes példában, a belső kör antennáinak jelei pontosan 180 fokos fáziskülönbséggel
érkeznek a külső kör antennáihoz, ezért az összegük nulla amplitúdót
eredményez.
A
körök sugarának csökkenése az iránykarakterisztika kinyílásához vezet
olyannyira, hogy egy adott ponton már teljesen oldalirányba tartanak a
hullámok. Ez hasonló az optikai tartományban lévő nyalábnyak- és/vagy
apertúra-megszorításoknak, melyek korlátozzák a felismerhető lehetséges OAM-ek
számát. Hogy mégjobban növeljük az antenna nyereségét a sugárzási irányban,
reflektorokat helyezhetünk az antennák mögé:
Amint az a
skálán is látszik, az antenna nyeresége 1.82dBi-ről 5.3dBi-re nőtt. A
reflektorok megrajzolásához illesszük az alábbi kódot az első táblázatot
kirajzoló for-ciklus után:
for i=1:N
%reflektor
fprintf(fileID,’GW %d 10
%f %f %f %f %f
%f 1e-3\n’...
,i+N,-h,xp(i),yp(i)-h/2,-h,xp(i),yp(i)+h+h/2);
end
Az iránykarakterisztika szögletességét a kevés antenna okozza. Az
antennák száma ugyanakkor a lehetséges OAM-ek számát is korlátozza. Az
antennaszám kifejezés jobban talál ide, mint a hullámszám (ami egyébként a
periódusok számát jelenti egy adott térbeli távolságban), ugyanis ez többnyire
a formált nyaláb felbontásával van kapcsolatban. Ha a vevő tudja, hogy az adó
mennyi antennával generálja az OAM hullámokat, akkor azt is tudja, hogy mennyi
lehetséges érték közül válogathat.
Bár nem találtam sehol matematikai minimumot az antennák számára, a
fentiekből az derül ki, hogy a minimális érték 2l. Ha ennél nagyobb, akkor tükör szimmetrikusan alakulnak az OAM
értékek, 10 antennás gyűrűnél l=5-től
felfele a gyűrűk átmérője csökkenni kezd, l=10-nél
az iránykarakterisztika már eléri az l=0-hoz
tartozó formát. Az l=10-től felfele
ismét nő gyűrű átmérője. Ez azért történhet, mert a magas OAM értékű nyalábok esetén az antennakör elemei közé is járna fázisérték, de az antennahiány miatt ezeket
kihagyja a program és csak a létező antennák pozíciójára adja meg az értékeket.
Ezek viszont megegyezhetnek, azaz rátevődhetnek egy alacsonyabb rendű OAM
értékeire, így a kialakuló iránykarakterisztika ennek az OAM-nek az alakját
formálja. Az alábbi ábrán a 8 és a 12 értékű OAM négy fázispontja rátevődik az
OAM=4 négy fázispontjára.
A Szabadtéri információátvitel az EM
hullámok pálya-impulzusnyomatékával című bejegyzésben szó esett arról, hogy mennyire
nagyon hasonlít az OAM-et hordozó nyalábok viselkedése az optikai és a rádiós
tartományban. Ebben a bejegyzésben újabb korlátok, hasonlóságok merültek fel:
- A melléklebenyek csökkenthetőek belső antennakörök használatával
- Több antennakör esetén elég csak a legkisebb kört táplálni, hiszen a fázisok nem változnak a külső körök felé haladva. A külső körök antennáit fázistolás nélkül kell a belső körre csatlakoztatni.
- A kör sugarának, valamint a körök és az antennák számának növelése javít az iránykarakterisztikán: csökkenti a főlebenyek nyílásszögét ezáltal megnöveli a nyereséget is. Továbbá növeli a kialakítató OAM állapotok számát.
- Ha a kör sugara kicsi, akkor a nagy OAM állapotú hullámok intenzitásgyűrűje nagyon széttartó hullámokból alakul ki
- Ha a körök száma kicsi, akkor melléklebenyek jelennek meg és ezzel csökken az antennarendszer nyeresége
- Ha az antennák száma kicsi, akkor a nagy OAM iránykarakterisztikájának formája egy kisebb OAM-ével egyező alakot ölthet. A minimum antennaszám 2l.
Nincsenek megjegyzések:
Megjegyzés küldése