m基于多相位功率倒置的GPS抗干扰算法matlab仿真

589 阅读3分钟

1.算法描述

       GPS接收机天线易受其它射频信号干扰,传统的做法已不能满足高精度用户的需求。为了提高导航定位精度,在GPS天线抗干扰设计中引入了功率倒置算法。功率倒置算法具备在不明确干扰信号相关背景的情况下能够有效抑制干扰,据此设计了采用功率倒置算法的GPS天线接收模型,并对半物理实物进行了相关仿真,取得了较好测量精度。       

 

      功率倒置指的是自适应天线阵具有倒置两个接收信号的功率比 的能力。 功率倒置算法是直接将阵列的输出作为误差信号, 使的均方 误差最小从而实现阵列输出最小。它对输入端的信号(信号和干扰) 均加以抑制, 在波束图上表现为在信号和干扰方向上都产生零点, 零 点的深度和信号的强度有关且信号越强零点越深。 如输入的期望信号 很弱而干扰很强,干扰方向会产生很深的零点从而抑制了干扰信号, 提高了信噪比。       

 

       功率倒置指的是自适应天线阵具有倒置两个接收信号的功率比 的能力。 功率倒置算法是直接将阵列的输出作为误差信号, 使的均方 误差最小从而实现阵列输出最小。它对输入端的信号(信号和干扰) 均加以抑制, 在波束图上表现为在信号和干扰方向上都产生零点, 零 点的深度和信号的强度有关且信号越强零点越深。 如输入的期望信号 很弱而干扰很强,干扰方向会产生很深的零点从而抑制了干扰信号, 提高了信噪比。

 

      综上所述,功率倒置(power inversion)阵列不需要预先知道有用信号的特性和入射方向等先验信息,实现简单,在雷达,扩频通信等强干扰,弱信号的环境中得到了广泛应用.

 

       常见的功率倒置结构如下:

 

1.png

2.png

3.png

 

2.仿真效果预览

matlab2022a仿真结果如下:

 

4.png

5.png

6.png

7.png

 

3.MATLAB核心程序 `%------------------------------------------空时联合处理-------------------------

%for mm=1:6

for mm=1:3

 

    

    I6(mm)=exp(j2piRcos(PhiJ6-2pi/3(mm-1))*sin(ThetaJ6)/lamda);

    I5(mm)=exp(j2piRcos(PhiJ5-2pi/3(mm-1))*sin(ThetaJ5)/lamda);

    I4(mm)=exp(j2piRcos(PhiJ4-2pi/3(mm-1))*sin(ThetaJ4)/lamda);

    I3(mm)=exp(j2piRcos(PhiJ3-2pi/3(mm-1))*sin(ThetaJ3)/lamda);

    I2(mm)=exp(j2piRcos(PhiJ2-2pi/3(mm-1))*sin(ThetaJ2)/lamda);

    I1(mm)=exp(j2piRcos(PhiJ1-2pi/3(mm-1))*sin(ThetaJ1)/lamda);%导向矢量

    

end

I6=[1 I6];

I5=[1 I5];

I4=[1 I4];

I3=[1 I3];

I2=[1 I2];

I1=[1 I1];

%干扰最终表达式

for k=1:pd                                      %快拍

    for m=1:M                                  %阵元数

        for n=1:N                              %时延长度

            Jam6(k,m,n)=Jam6one(N+k-n)*I6(m);

            Jam5(k,m,n)=Jam5one(N+k-n)*I5(m);

            Jam4(k,m,n)=Jam4one(N+k-n)*I4(m);

            Jam3(k,m,n)=Jam3one(N+k-n)*I3(m);

            Jam2(k,m,n)=Jam2one(N+k-n)*I2(m);

            Jam1(k,m,n)=Jam1one(N+k-n)*I1(m);

        end

    end

end

%将空时二维变成一维

JAM6=zeros(pd,M*N);

JAM5=zeros(pd,M*N);

JAM4=zeros(pd,M*N);

JAM3=zeros(pd,M*N);

JAM2=zeros(pd,M*N);

JAM1=zeros(pd,M*N);

for k=1:pd

    for m=1:M

        for n=1:N

            JAM6(k,(m-1)*N+n)=Jam6(k,m,n);

            JAM5(k,(m-1)*N+n)=Jam5(k,m,n);

            JAM4(k,(m-1)*N+n)=Jam4(k,m,n);

            JAM3(k,(m-1)*N+n)=Jam3(k,m,n);

            JAM2(k,(m-1)*N+n)=Jam2(k,m,n);

            JAM1(k,(m-1)*N+n)=Jam1(k,m,n);

        end

    end

end`