0
点赞
收藏
分享

微信扫一扫

Matlab窄带信号的测向算法

1 简介

窄带信号的测向算法

2 完整代码

clear;

close all

w=2*pi*1800000000;%信源载波圆频率                                 

d=0.16;%天线振元间距

c=3.0e+08;%光速 

u=[5 25 45 85]*pi/180;%来波方向角

kp=1024;%快拍数

md=8;%天线振元数

nd=4;%信号源数目

snr=10;%信噪比

snr1=10^(snr/20);

bc=0.1;%空间谱峰搜索步长

for i=1:md

    for m=1:nd

        for k=1:kp

            s(m,k)=snr1*exp(-j*2*pi*m*64*k/8192);%构成信号矩阵

            no(i,k)=exp(-j*2*pi*rand(1));%构成噪声矩阵

        end

        t=d/c*sin(u(m));

        a(i,m)=exp(-j*(i-1)*w*t);%构成方向矩阵

    end

end    

x=a*s+no;

%----------------------------------------------------------------

r=x*x'/kp;%构成协方差矩阵

[V,D]=eig(r);%进行特征值与特征向量分解

%----------------------------------------------------------------

for m=0:(md-1)%利用MDL准则判断信源数目

    m1=m+1;

    a1=0;

    b1=1;

    for i=m1:md

        a1=a1+D((md+1)-i,(md+1)-i);

        b1=b1*D((md+1)-i,(md+1)-i)^(1/(md-m));

    end

    a1=a1/(md-m)/b1;

    mdl(md-m)=(md-m)*kp*log(a1)+0.5*m*(2*md-m+1)*log(kp);

end

    amin=1000000;

for n=1:md

    if mdl(n)>amin

       break

   end

       amin=mdl(n);

       md1=n;

 end

 n=md-md1%显示所估计出的信源数目

 %----------------------------------------------------------------

 for k=1:90/bc%求空间谱函数值并绘制空间谱函数图

     n=k;

     ta1=bc*pi*k/180;

     for i=1:md

         T=d/c*sin(ta1);

         B(i,n)=exp(-j*(i-1)*w*T);

     end

     for i=1:md1

         c2(i)=B(:,n)'*V(:,i);

     end

     pu(n)=c2*c2';

     pu(n)=1/real(pu(n));

 end

     for i=1:90/bc

         pu(i)=10*log10(pu(i));

     end

   q=bc:bc:90;

     plot(q,pu)  

 %--------------------------------------------------

 n=0;%扫描出谱峰值并显示

 for i=2:(90/bc-1)

     while (pu(i)>pu(i-1)) & (pu(i)>pu(i+1)),

         n=n+1;

         dd(n)=pu(i);

         df(n)=i*bc;         

         break

     end

 end

 m=0;

 for i=1:n

         if dd(i)>0

             m=m+1;

         s1(m)=df(i);

         end

 end

 s1%显示所估计出的方向值

  %-------------------------------------------------------------------



3 仿真结果

Matlab窄带信号的测向算法_特征向量

4 参考文献

[1]李福昌, & 赵春晖. (2003). 基于方向矩阵极分解的宽带信号测向算法. 弹箭与制导学报, 23(3), 3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


Matlab窄带信号的测向算法_特征向量_02


举报

相关推荐

0 条评论