【通信】Matlab实现LFMBF、LCMV、LFMCW等多种波束形成算法

1 内容介绍

随着高速、超高速信号采集、传输及处理技术的发展,数字阵列雷达已成为当代雷达技术发展的一个重要趋势。数字波束形成(DBF)技术采用先进的数字信号处理技术对阵列天线接收到的信号进行处理,能够极大地提高雷达系统的抗干扰能力,是新一代军用雷达提高目标检测性能的关键技术之一本文针对相干干扰环境下数字阵列雷达的自适应干扰抑制问题,重点研究了窄带信号和宽带信号的自适应波束形成算法。

2 部分代码

close all

clear all

%TA:总仿真时间

%Ts:仿真采样间隔

%f0:信号频率或调制信号中心频率

%kind: 信号类型,0是单频信号,1是LFM信号

%B,T:在LFM信号时才用到,B是调制带宽,T是脉宽

%ArrayDistance:阵元间距

%ArrayNum:阵元个数

%Wopt:阵元加权系数向量

TA=1e-7; %时间长度

Fs=1e9; % 仿真采样率

Ts=1/Fs;

f0=100e6;% 载波频率

ArrayNum=16; %阵元个数

Wopt=ones(1,ArrayNum);

for i=1:ArrayNum

    Wopt(i)=0.54-0.46*cos(2*pi*(i-1)/ArrayNum);

end

% Wopt=ones(1,ArrayNum);

% for i=1:ArrayNum

%     Wopt(i)=1;

% end

%C:光速,在本程序中为常数

C=3E8;

Lambda=C/f0;

ArrayDistance=Lambda/2;

%生成入射角向量

Theta=linspace(-pi/4,pi/4,200);

LenTheta=length(Theta);

%生成等间距阵列的相位差

DeltaPhi=2*pi*ArrayDistance*Theta/Lambda;

t=0:Ts:TA;

LenTime=length(t);

q=12.5*1e12;

input=zeros(LenTime,ArrayNum);

inputA=zeros(LenTime,ArrayNum);

output=zeros(LenTheta,LenTime);

outputA=zeros(LenTheta,LenTime);

for i=1:LenTheta

    for k=1:ArrayNum

        for t=0:Ts:TA

        %input(:,k)=exp(j*2*pi*f0*t+j*k*DeltaPhi(i))*Wopt(k);

        input(:,k)=exp(0.5*q*t^2+j*2*pi*f0*t+j*k*DeltaPhi(i))*Wopt(k);

        inputA(:,k)=exp(j*2*pi*f0*t+j*k*2*pi*ArrayDistance/Lambda*sin(Theta(i)))*Wopt(k);

           % *exp(j*k*DeltaPhi(i));

        end

    %inputLineVector=input(l,1:ArrayNum);

    output(i,:)=sum(input,2);%求和   

    outputA(i,:)=sum(inputA,2);

    end

end

figure(1)

subplot(2,1,1);

A=output(1:LenTheta,1);

% G=abs(A/max(A));

plot(Theta*180/pi,20*log10(abs(A')/max(abs(A'))));

title('天线波束方向图');

axis([-45,45,-70,5]);

subplot(2,1,2);

A=output(1:LenTheta,(LenTime-1)/2);

plot(Theta*180/pi,20*log10((abs(A')/max(abs(A')))),'r-.');

title('天线波束方向图');

xlabel('入射角');

%ylabel('T0时刻和信号幅度');

%axis([-90,90,min(abs(A))*0.9,max(abs(A))*1.1]);

axis([-45,45,-70,5]);    

%BeamFormingSingleFreRF(1e-6,1/10e9,2e9,8)

           

figure(2);

subplot(2,1,1);

B=outputA(1:LenTheta,1);

% G=abs(A/max(A));

plot(Theta*180/pi,20*log10(abs(B')/max(abs(B'))));

title('天线波束方向图');

axis([-45,45,-70,5]);

subplot(2,1,2);

B=outputA(1:LenTheta,(LenTime-1)/2);

plot(Theta*180/pi,20*log10((abs(B')/max(abs(B')))),'r-.');

title('天线波束方向图');

xlabel('入射角');

%ylabel('T0时刻和信号幅度');

%axis([-90,90,min(abs(A))*0.9,max(abs(A))*1.1]);

axis([-45,45,-70,5]);    

3 运行结果

4 参考文献

​[1]杨洁. 阵列数字波束形成算法及实现研究[D]. 南京理工大学, 2013.

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

matlab科研助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值