雷达相控阵波束形成Matlab仿真

图1 雷达相控阵波束形成仿真(未加窗)

图2 雷达相控阵波束形成仿真(加窗)

clear all;
close all;
clc;

%% 设置雷达系统参数
c=3e8;% 光速(m/s)
fs=20e9;% 采样率
f0=4.5e9;% 雷达工作频率
t=0.5e-6;% 信号脉宽
lambda=c/f0;% 波长
d=lambda*2;% 阵元间距

tt=0:1/fs:t;% 时间刻度

%% 生成点频信号
y_cos=cos(2*pi*f0.*tt);

theta0_deg=0;% 设置波束指向角度
theta0=-theta0_deg*pi/180;

%% 计算阵列内部相位偏移
N=16;% 设置阵元数量
theta=zeros(1,N);% 初始化相位偏移数组
% 计算每个阵元的相位偏移
for n=1:N
    theta(n)=(n-1)*2*pi*d*sin(theta0)/lambda;   
end

theta_deg_0=-90:0.1:90;% 角度范围
theta_deg=theta_deg_0.*pi/180;
N_theta=length(theta_deg);% 计算角度数量

E=zeros(1,N_theta);  % 普通波束形成结果
E_w=zeros(1,N_theta); % 加权波束形成结果
Nt=length(tt);

%% 对每个角度进行波束形成计算
for m=1:N_theta
    sum=zeros(1,Nt);    % 普通波束形成
    sum_w=zeros(1,Nt);  % 加权波束形成
    w_hamming=hamming(N); % 生成汉明窗权重
    % 对每个阵元进行信号合成
    for n=1:N
      xin_w=w_hamming(n)*cos(2*pi*f0*tt+(n-1)*2*pi*d*sin(theta_deg(m))/lambda+theta(n));% 加权信号(使用汉明窗)
      xin=cos(2*pi*f0*tt+(n-1)*2*pi*d*sin(theta_deg(m))/lambda+theta(n));% 普通信号
      sum=sum+xin;% 累加信号
      sum_w=sum_w+xin_w;
    end
    E(m)=max(abs(sum)); % 普通波束形成
    E_w(m)=max(abs(sum_w)); % 加权波束形成
end

% 绘制方向图
figure
E=20*log10(E/max(E));
plot(theta_deg_0,E,'k','linewidth',1.5);% 绘制方向图
xlim([-40 40]);
xlabel('角度(°)');
ylabel('幅度(dB)');
title('直接波束形成结果(阵元数16,d为2倍波长)');

figure
E_w=20*log10(E_w/max(E_w));
plot(theta_deg_0,E_w,'k','linewidth',1.5);% 绘制方向图
xlim([-40 40]);
xlabel('角度(°)');
ylabel('幅度(dB)');
title('加窗后波束形成结果(阵元数16,d为2倍波长)');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值