基于Matlab模拟LCMV在多个来波方向约束下波束形成

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

宽带信号波束形成是阵列信号处理问题中的一个重要研究方向,如何克服不同频率对应的波束响应会产生畸变问题一直是该领域研究的重点.本文基于Matlab模拟LCMV在多个来波方向约束下波束形成。​

⛄ 代码

%%%LCMV在多个来波方向约束下波束形成%%%

clc;clear;close all;ima=sqrt(-1);esp=0.01;

%%天线参数设定%%

N=16;                               %阵元数

d_lamda=0.5;                  %阵元间距与波长的比值

theta=-90:0.5:90;            %搜索范围确定

theta1=-10;                      %来波方向1

theta2=0;                          %来波方向2

theta3=40;                        %来波方向3

theta_jam=70;                  %干扰方向

L=512;                              %采样点数

%%%%%%%%%%%%%%%%%%%%%%%%%

%%信号形成%%

for k=1:L;

    a1=10*randn(1);

    a2=10*randn(1);

    a3=10*randn(1);

    ajam=10*randn(1);

    an=1;

    s(:,k)=a1*exp(ima*2*pi*d_lamda*sin(theta1*pi/180)*[0:N-1]')+...

            +a2*exp(ima*2*pi*d_lamda*sin(theta2*pi/180)*[0:N-1]')+...

            +a3*exp(ima*2*pi*d_lamda*sin(theta3*pi/180)*[0:N-1]');

    jam(:,k)=ajam*exp(ima*2*pi*d_lamda*sin(theta_jam*pi/180)*[0:N-1]');

    n(:,k)=an*(randn(N,1)+ima*randn(N,1));

end

%%%%%%%%%%%%%%%%%%%%%%%%%

%最优权矢量产生%

x=s+jam;

Rx=1/L*x*x';                          %求信号相关矩阵

R=pinv(Rx);                           %相关矩阵求逆

a1theta=exp(ima*2*pi*d_lamda*sin(theta1*pi/180)*[0:N-1]');

a2theta=exp(ima*2*pi*d_lamda*sin(theta2*pi/180)*[0:N-1]');

a3theta=exp(ima*2*pi*d_lamda*sin(theta3*pi/180)*[0:N-1]');

C=[a1theta a2theta a3theta];%方向矩阵

F=[1 1 1]';

Wopt=R*C*(inv(C'*R*C))*F;

%%%%%%%%%%%%%%%%%%%%%%%%%

%%最优波束形成%%

for m=1:length(theta);

    a=exp(ima*2*pi*d_lamda*sin(theta(m)*pi/180)*[0:N-1]');

    y(m)=Wopt'*a;

end

%%%%%%%%%%%%%%%%%%%%%%%%%

Y=20*log10(abs(y)/max(abs(y))+esp);

%%作图%%

plot(theta,Y);hold on;grid on;

axis([-90 90 -50 0]);

plot(theta1,-30:0,'.');

plot(theta2,-30:0,'.');

plot(theta3,-30:0,'.');

plot(theta_jam,-30:0,'.');

xlabel('\theta/o');

ylabel('Amplitude in dB');

title('LCMV准则下多个方向波束形成');

⛄ 运行结果

⛄ 参考文献

[1] 廖艳苹, 霍广. 一种新的宽带LCMV波束形成算法在近场环境下的应用[J].  2015.

[2] 张晓东. 基于MATLAB GUI的几种数字波束形成算法设计与仿真[J]. 舰船电子对抗, 2018, 41(5):5.

[3] 郭业才, 王婷, 王超. 基于对数谱估计的LCMV频率不变波束形成语音增强算法:, CN201810562313.4[P]. 2022.

[4] 杨梦琪, 秦云. 基于波束空间的四阶累积量LCMV波束形成算法[J]. 软件导刊, 2021, 020(009):83-87.

⛳️ 代码获取关注我

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

❤️ 关注我领取海量matlab电子书和数学建模资料

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值