目录
1.算法描述
2.部分程序
3.部分仿真图预览
4.源码获取方式
内容: N个天线按等距分布在z轴上,第N个和第N-1的之间的天线的距离是一定的为d。
在上述有红色的一块,是计算Taylor 公式的,有一个疑问就是,我能否直接调用pos 的function 和phase weight 只需在之后多乘以一个w(i), 我试验过总是出错,希望能够帮忙改正;
四种方法:
superposition+sidelobedown (变量 m 控制第几个null filling,amplitude)
taylor+superposition( imp: 1是左边的null -1还是右边的null,sidelevel,null()第几个null filling, amplitude)
Chebwin+superposition(m:第几个null filling,flag:1是左边的null,-1是右边的null, sidelevel,amplitude)
Chebwin+Taylor (chebwin sideleve,Taylor sidelevel)
function normalized_y = func_Chebwin_supersition_sub1(N,f,b_angle,pos,sidelevel);
Phaseweight = zeros(1,180);
w = chebwin(N,sidelevel);
for t=1:1:180
temp = zeros(1,N);
total_temp = zeros(1,N);
for i=1:N
belta = calculate_weights(f,N,-1,b_angle,pos(i));
weight = calculate_weights(f,N, 1,t ,pos(i));
total_temp(i) = real(w(i)*(weight.*belta));
end
Phaseweight(t)=sum(total_temp);
end
y = Phaseweight;
ymax = max(abs(y/0.1));
normalized_y = abs(y)/ymax;
function normalized_y = func_supersition_sidelobedown_sub1(N,f,b_angle,pos);
Phaseweight = zeros(1,180);
for t=1:1:180
temp=zeros(1,N);
for i=1:N
belta = calculate_weights(f,N,-1,b_angle,pos(i));
weight = calculate_weights(f,N, 1,t ,pos(i));
temp(i) = real(weight.*belta);
end
Phaseweight(t)=sum(temp);
end
y = Phaseweight;
ymax = max(abs(y/(0.3)));
normalized_y = abs(y)/ymax;
function normalised_normal_y = func_Taylor_chebwin_sub1(N,f,a,pos);
Phaseweight=zeros(1,180);
for t=1:1:180
temp=zeros(1,N);
for i=1:N
belta = calculate_weights(f,N,-1,a,pos(i));
weight = calculate_weights(f,N,1,t,pos(i));
temp(i) = real(weight.*belta);
end
Phaseweight(t)=sum(temp);
end
normal_y = Phaseweight;
normal_ymax = max(abs(normal_y));
normalised_normal_y = abs(normal_y)/normal_ymax;
function normalized_y = func_Taylor_supersition_sub1(N,f,b_angle,pos,sidelevel,n,d);
Phaseweight = zeros(1,180);
w = Taylor(n,N,sidelevel,f,d);
for t=1:1:180
total_temp = zeros(1,N);
for i=1:N
belta = calculate_weights(f,N,-1,b_angle,pos(i));
weight = calculate_weights(f,N, 1,t ,pos(i));
total_temp(i) = real(w(i)*weight.*belta);
end
Phaseweight(t)=sum(total_temp);
end
y = Phaseweight;
ymax = max(abs(y/0.1));
normalized_y = abs(y)/ymax;
获得方式1:
点击下载链接:
m基于matlab的BTS天线设计,带GUI界面+程序操作视频
获取方式2:
博客资源项,搜索和博文同名资源。
获取方式3:
如果下载链接失效,加博主微信联系。
01_052_m