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

📄 beam_weight.m

📁 加权的波束形成程序
💻 M
字号:
% 2006-12-12
% Beam Pattern : 各种加权下的波束图
% 参考书: Harry L. Van Trees: Optimum Array Processing: Part IV of Detection, Estimation, ...
...and Modulation Theory.
% CSIC-the 726th research institute, Shanghai 201108, China
clear
close all

N=11;% 阵元数
f=1000;% 设计频率
c=1500;% 声速
d=c/f/2;% 1/2波长布阵

theta=0:0.01:pi;
u=cos(theta);
tao=d*u/c;
for n=1:N
    v(n,:)=exp(j*2*pi*f*(n-1)*d*u/c);% array manifold vector
end
w=1/N;% Uniform weighting
B_Uniform=0;
for n=1:N
    B_Uniform=B_Uniform+w*v(n,:);% Beam Pattern
end
figure
plot(u,20*log10(abs(B_Uniform)))
grid on
xlabel('u=cos\theta')
ylabel('Beam Pattern (dB)')
axis([0,1,-80,0])

w_cosine=sin(pi/(2*N))*cos(pi*((0:N-1)-(N-1)/2)/N);% Cosine weighting
w_cosine=w_cosine/sum(w_cosine);% 权值归-化
B_Cosine=0;
for n=1:N
    B_Cosine=B_Cosine+w_cosine(n)*v(n,:);
end
hold on
plot(u,20*log10(abs(B_Cosine)),':g')

w_Hamming=0.54+0.46*cos(2*pi*((0:N-1)-(N-1)/2)/N);% Hamming weighting
w_Hamming=w_Hamming/sum(w_Hamming);
B_Hamming=0;
for n=1:N
    B_Hamming=B_Hamming+w_Hamming(n)*v(n,:);
end
hold on
plot(u,20*log10(abs(B_Hamming)),'--r');

w_Blackman=0.42+0.5*cos(2*pi*((0:N-1)-(N-1)/2)/N)+0.08*cos(4*pi*((0:N-1)-(N-1)/2)/N);% Blackman weighting
w_Blackman=w_Blackman/sum(w_Blackman);
B_Blackman=0;
for n=1:N
    B_Blackman=B_Blackman+w_Blackman(n)*v(n,:);
end
hold on
plot(u,20*log10(abs(B_Blackman)),'-*k')

legend('Uniform','Cosine','Hamming','Blackman')
title('各种加权下的波束图')

    

⌨️ 快捷键说明

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