\[\text{Balra:}\left\{\frac{1}{\sqrt{2}},\frac{i}{\sqrt{2}}\right\}\text{sajátállapot: +1 sajátérték}\]
\[\text{Jobbra:}\left\{\frac{1}{\sqrt{2}},\frac{-i}{\sqrt{2}}\right\}\text{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ő:
\[\text{Jobbra:}\left\{\frac{1}{\sqrt{2}},\frac{-i}{\sqrt{2}}\right\}\text{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ő:
\[\xi_{p,l}(\rho,\varphi,z)=\frac{A}{\omega(z)}\cdot\left(\frac{\sqrt{2}\rho}{\omega(z)}\right)^l\cdot L_p^l \left(\frac{2\rho^2}{\omega^2(z)}\right)\cdot e^{-\frac{\rho^2}{\omega^2(z)}}\cdot e^{\frac{ik\rho^2}{2R(z)}}\cdot e^{-i\varphi(z)}\cdot e^{il\theta}\]
\[\text{Ahol: }\left\{\begin{array}{l l}p - \text{radiális index (sugárirányú csomópontok száma)}\\l - \text{azimutális index (2}\pi\text{ periódusok száma a kerület mentén)}\\ \rho,\varphi,z - \text{hengeres koordináták, melyek kapcsolata a kartezián koordinátákkal:}\left\{\begin{array}{l l}\rho= \sqrt{x^2+y^2}\\\varphi=\tan^{-1}\frac{x}{y}\\z=z\end{array}\right.\ \\A - \text{konstnas szorzó:} A= p!\cdot\sqrt{\frac{2}{\pi p!(|l|+p)!}} \\ \omega(z) - \text{nyalábátmérő (nyalábnyak): } \omega(z)=\omega_0 \sqrt{\frac{z^2+z_R^2}{z_R^2}} \text{, ahol } z_R \text{ a Rayleigh hossz}\\L_p^l - \text{általánosított Laguerre-polinom: } L_p^l(x)=\sum_{m=0}^p -1^m\binom{p+l}{n-m}\frac{z^m}{m!}\\R(z) - \text{a nyaláb hullámfrontjainak görbületi sugara: } R(z)=z+\frac{z_R}{z}=z\cdot\left[1+\left(\frac{\pi\omega_0^2}{\lambda z}\right)^2\right] \\ \varphi - \text{Gouy fázis: } \varphi(z)=(2p+|l|+1)\tan^-1\frac{z}{z_R}\end{array}\right.\]
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 \implies \left\{\begin{array}{l l} \omega(0)=\omega_0\sqrt{\frac{0^2+z_R^2}{z_R^2}}=\omega_0 \\ R(0)=0 \cdot \left[ 1+ \left( \frac{\pi \omega_0^2}{\lambda z}\right)^2\right]=0 \\ \varphi(0)=(2p+|l|+1)\tan^{-1}\frac{0}{z_R}=0 \text{, tehát} \varphi \text{ nem számít} \end{array}\right.\]
\[\xi_{p,l}(\rho,z=0)=\frac{A}{\omega_0} \cdot \left(\frac{\sqrt{2}\rho}{\omega_0}\right)^2 \cdot L_p^l\left(\frac{2\rho^2}{\omega_0^2}\right)\cdot e^{-\frac{\rho^2}{\omega_0^2}}\cdot e^{il\theta}\]
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\pi$ között. Bár most $z=0$, de
igazából $z=l\cdot\lambda$ 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:
\[\xi_{p,l}(\rho,z=0)=\frac{A}{\omega_0} \cdot \left(\frac{\sqrt{2}\rho}{\omega_0}\right)^2 \cdot L_p^l\left(\frac{2\rho^2}{\omega_0^2}\right)\cdot e^{-\frac{\rho^2}{\omega_0^2}}\cdot e^{il\theta}\]
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 $\varphi$ nem számít):
$\rho: $ 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: $ 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:
\[L_p^l(z)=\sum_{m=0}^p -1^m \binom{p+l}{p-m}\frac{z^m}{m!} \text{, ahol} \binom{p+l}{p-m}=\frac{(p+l)!}{(p-m)!\cdot(l+m)!}\text{ 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:
\[\text{Az exponenciális jel: }e^{i\omega t}=\cos{\omega t}+i\cdot\sin{\omega t}\]
\[\text{Az exponenciális jel beszorozva a fázistolóval: }\] \[e^{i\omega t}\cdot e^{il\theta}=e^{i\omega t + l\theta}=\cos{(\omega t+l\theta)}+i\cdot\sin{(\omega t+l\theta)}\]
\[\text{Az exponenciális jel beszorozva a fázistolóval: }\] \[e^{i\omega t}\cdot e^{il\theta}=e^{i\omega t + l\theta}=\cos{(\omega t+l\theta)}+i\cdot\sin{(\omega t+l\theta)}\]
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{\theta}+j\sin{\theta})\]
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$.