概述
常规的波束形成方法
clc;
clear;
close all;
fs = 1000;
c = 150;
N = 128;
f = 100;
lambda = c / f;
d = 0.5 * lambda;
theta = 1: 1: 180;
t = (0:1:1000-1) / fs;
A = zeros(1, length(theta));
A(5) = 5;
A(20) = 4;
A(25) = 5;
A(50) = 3;
% 在这四个方向上有目标
S = zeros(length(theta), length(t));
for theta_i = 1: 1: 180
S(theta_i, :) = sin(2*pi*f.*t) * A(theta_i);
end
W = zeros(N, length(theta));
for i = 1: 1: 180
for j = 1: N
W(j, i) = exp(-2j*pi*f*(j-1)*d*sind(i)/c);
% 阵列流形
end
end
p = real(W * S);
% 各阵元的接收信号
figure(1)
for i = 1: N
i
plot(p(i, :));
ylim([-20, 20]);
pause(0.01)
end
figure(2)
plot(sum(p))
y = (W.' * p);
% 波束形成
y2 = real(y);
y3 = sum(y2, 2);
figure(3)
plot(sum(S, 2));
figure(4)
plot(y3)
最后
以上就是高贵小熊猫为你收集整理的波束形成MATLAB代码的全部内容,希望文章能够帮你解决波束形成MATLAB代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复