螺旋功率谱检测OAM模式值

1. 螺旋谱理论

2005年,Torner L等人发现任何OAM光束 u ( r , θ , z ) u(r,\theta ,z) u(r,θ,z)能够分解为一系列螺旋谐波函数 e x p ( i l θ ) exp(il\theta) exp(i)的线性叠加,即螺旋谱:
u ( r , θ , z ) = 1 2 π ∑ l = − ∞ ∞ a l ( r , z ) e x p ( i l θ ) u(r,\theta ,z)=\frac{1}{\sqrt{2\pi}}\sum_{l=-\infty}^{\infty}a_l(r,z)exp(il\theta) u(r,θ,z)=2π 1l=al(r,z)exp(i)

其中, a l ( r , z ) = 1 2 π ∫ 0 2 π u ( r , θ , z ) ⋅ e x p ( − i l θ ) d θ a_l(r,z)=\frac{1}{\sqrt{2\pi}}\int_{0}^{2\pi}u(r,\theta ,z)\cdot exp(-il\theta) d\theta al(r,z)=2π 102πu(r,θ,z)exp(i)dθ.

若对 a l ( r , z ) a_l(r,z) al(r,z)径向积分则得到 P l P_l Pl,代表了经分解后,不同模态分量上OAM光束的相对功率值:
P l = ∫ 0 ∞ ∣ a l ( r , z ) ∣ 2 r d r P_l=\int_{0}^{\infty}|a_l(r,z)|^2rdr Pl=0al(r,z)2rdr

则光束的总功率表示为:
P = ∫ 0 2 π ∫ 0 ∞ ∣ u ( r , θ , z ) ∣ r d r d θ = ∑ l P l P=\int_{0}^{2\pi}\int_{0}^{\infty}|u(r,\theta ,z)|rdrd\theta =\sum_{l}P_l P=02π0u(r,θ,z)rdrdθ=lPl

P l P_l Pl P P P可得到任何OAM光束的螺旋谱:
R l = P l P R_l=\frac{P_l}{P} Rl=PPl

在OAM通信系统中, 信息是通过不同的OAM模式传输的. 接收端需要准确识别出这些模式以正确解调接收到的信号. 螺旋谱提供了一种量化各个模式的相对功率的方法, 有助于解调过程中正确识别和重建信号.

2. 代码

2.1 生成OAM涡旋光束(拉盖尔-高斯光束)

2.1.1 文件"lg_oam.m"
function [LG_OAM]=lg_oam(L,w0,P,lambda,x,y)
    % x=linspace(-T*w0,T*w0,N);
    % y=linspace(-T*w0,T*w0,N);
    [px,py]=meshgrid(x,y);
    r=sqrt(px.^2+py.^2);
    phai=atan2(py,px);
    z=0;
    k0=2*pi./lambda;
    zR=pi*w0^2/lambda;
    wz=w0.*sqrt((z.^2+zR.^2)./zR.^2);
    Clp=sqrt(2.*factorial(P)./(pi.*factorial(P+abs(L))));
    X=2*(r.^2)./wz^2;
    LG_poly=0;
    for n=1:P+1
        l=n-1;
        LG_poly=LG_poly+(-1)^l*((factorial(P+abs(L)))/((factorial(P-l))*(factorial(abs(L)+l))*(factorial(l)))).*X.^l;
    end
    E1=wz^(-1).*(sqrt(2)*sqrt(r.^2)/wz).^abs(L).*LG_poly.*exp(-(r.^2)./wz^2);
    E2=exp((-1i*k0*(r.^2)*z)/(2*(z^2+zR^2)));
    E3=exp(-1i.*(2.*P+abs(L)+1).*atan(z/zR));
    LG_OAM=Clp.*E1.*E2.*E3.*exp(-1i.*L.*phai);
end
2.1.2 文件"beam_parameter.m"
function [lambda,k,z,w0,x,y] = beam_parameter(N)
    lambda = 0.532e-6;
    k = 2 * pi / lambda; %波数
    z = 0; 
    w0 = 0.005;
    T0 = 4;
    R1 = T0 * w0; %范围
    x = linspace(-R1, R1, N);
    y = linspace(-R1, R1, N);
end
2.1.3 示例
clc; clear;
N = 1000;

%%产生OAM涡旋光束
[lambda,k,z,w0,x,y] = beam_parameter(N);
beam1 = lg_oam(-5,w0,0,lambda,x,y);
beam2 = lg_oam(-3,w0,0,lambda,x,y);
beam3 = lg_oam(2,w0,0,lambda,x,y);
beam4 = lg_oam(4,w0,0,lambda,x,y);
beam = beam1 + beam2 + beam3 + beam4;

%%显示光强图
figure();
imagesc(x,y,abs(beam).^2);
colormap hot;
axis off;
title('OAM光束光强图');

2.2 数值仿真螺旋功率谱-文件"spectrum.m"

function result = spectrum(beam,w0,z,lambda,x,y)
    res = zeros(1, 17);
    for mode=-8:8
        beam0 = lg_oam(mode,w0,0,lambda,x,y);
        beam_abs = beam.*conj(beam0);
        res(1,mode+9) = abs(sum(beam_abs(:)));
    end
    all_sum = sum(res(1,:));
    result = res/all_sum;
end

2.3 利用螺旋功率谱检测OAM叠加态涡旋光束

clc; clear;
N = 1000;

%%产生OAM涡旋光束
[lambda,k,z,w0,x,y] = beam_parameter(N);
beam1 = lg_oam(-5,w0,0,lambda,x,y); %OAM模式值l=-5, 径向指数p=0
beam2 = lg_oam(-3,w0,0,lambda,x,y); %OAM模式值l=-3, 径向指数p=0
beam3 = lg_oam(2,w0,0,lambda,x,y); %OAM模式值l=2, 径向指数p=0
beam4 = lg_oam(4,w0,0,lambda,x,y); %OAM模式值l=4, 径向指数p=0
beam = beam1 + beam2 + beam3 + beam4;

%%得到叠加态涡旋光束的螺旋功率谱
result = spectrum(beam,w0,z,lambda,x,y);

%%显示图像
figure();
m = -8:8;
bar(m,result);
title('归一化螺旋功率谱');
xlabel('OAM模态(拓扑荷数)');
axis([-9,9,0,1]);

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值