⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linearmulbeamdirectm3.m

📁 DBF 数字波束多波束形成多波束 MATLAB 程序
💻 M
字号:
%**********M阵元-L波数-线阵波束*********矩阵法
%********邓益群写于2008年11月4日******

clear all;

M=16;                      % 阵元数
L=4;                       % 波数
c=3e8;                     % 光速
fc=6e9;                    % 工作频率(hz)
nunda=c/fc;                % 波长
d=nunda/2;                 % 阵元间距
r=-90:1:90               % 入射角(rad)
r0=0                       % 波束方向
W=zeros(M,1);              % 加权矢量 
A=zeros(M,1);              % 控制矢量
Wl=zeros(M,1);             % [1,exp(jul),...,exp(j(M-1)ul)]
%y=zeros(1,L);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=(2*pi)/nunda             % 波数
%u=0.5*k*d*(sin(r*pi/180)-sin(r0*pi/180))                % 空间角频

%计算方向图
y=0
figure
for l=1:L
    rl=l*90/L;
    for m=1:M
        A(m,1)=exp(j*(m-1)*k*d*sin(rl*pi/180));        % 控制矢量 
    end
    for i=1:length(r);
        for m=1:M
            W(m,1)=exp(j*(m-1)*k*d*l*sin(r(i)*pi/180));  % 加权矢量
        end      
            yl(i)=abs(W'*A);             % 方向图函数
    end
  subplot(2,2,l);plot(r,yl);xlabel('theta-度');ylabel('yl');title('阵列输出');axis([-90 90 -5 20]);
end
hold off

s=abs(yl);
S=s/max(s);                % 归一化
Gain=10*log10(S);
 
%%%%%%%%%%%%%%% 多波束 %%%%%%%%%%%%%%%%%%%%%%%%%%%
figure 
subplot(2,2,1);plot(r,yl);xlabel('theta-度');ylabel('y');title('阵列输出');axis([-90 90 -5 20]);
subplot(2,2,2);plot(r,s);xlabel('theta-度');ylabel('s=abs(y)/dB');title('波束图');axis([-90 90 0 20]);
subplot(2,2,3);plot(r,S);xlabel('theta-度');ylabel('S/dB');title('归一化波束图');axis([-90 90 0 1]);
subplot(2,2,4);plot(r,Gain);xlabel('theta-度');ylabel('Gain/dB');title('增益波束图');axis([-90 90 -60 0]);
hold off

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -