m基于matlab的BTS天线设计,带GUI界面

目录

1.算法描述

2.部分程序

3.部分仿真图预览

4.源码获取方式 


1.算法描述

内容: 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)

2.部分程序

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;

3.部分仿真图预览

m基于matlab的BTS天线设计,带GUI界面_第1张图片

 m基于matlab的BTS天线设计,带GUI界面_第2张图片

 m基于matlab的BTS天线设计,带GUI界面_第3张图片

 m基于matlab的BTS天线设计,带GUI界面_第4张图片

4.源码获取方式 

获得方式1:

点击下载链接:

m基于matlab的BTS天线设计,带GUI界面+程序操作视频

获取方式2:

博客资源项,搜索和博文同名资源。

获取方式3:

如果下载链接失效,加博主微信联系。

01_052_m
 

你可能感兴趣的:(Matlab通信和信号,BTS天线,superposition,sidelobedown,phaseweight)