suboptimal_alloc.asv

来自「可以运行的m4k20功率分配图」· ASV 代码 · 共 30 行

ASV
30
字号
%输入参数:aa,K,与最佳算法中的一样
%输出参数:每个子信道上应分配的功率,与
function y=suboptimal_alloc(aa,K)
M=4;
a=2*(sqrt(M)-1)/(sqrt(M)*log2(sqrt(M)));
b=3/(M-1);
Pmax=K;
sum2=0;
sum1=0;
for k=1:K
%if aa(k)>=exp(-b*lamda0/2)
    sum1=sum1+1/aa(k);
    sum2=sum2+1/aa(k)*log(1/aa(k));
    %p(k)=lamda0/aa(k)-(2/b)*(1/aa(k))*log(1/aa(k))
    %else p(k)=0;
    %end
end
for k=1:K
    if log(aa(k))*sum1+sum2<-(b*Pmax/2)
        flag=1;
        p(k)=0;
    else flag=0;
    end
        if flag==0;
            p(k)=(Pmax+(2/b)*sum2)/(sum1*aa(k))-(2/b)*(1/aa(k))*log(1/aa(k));
        end
    end
%lamda0=(Pmax+(2/b)*sum2)/sum1;
sum(p);
y=Pmax/sum(p).*p;

⌨️ 快捷键说明

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