gusucode.com > m4k20功率分配图 mimo功率优化,OFDM典型仿真程序,贪婪算法仿真程序 > code/15883844m4k20power/m4k20功率分配图/suboptimal_alloc.m

    %输入参数:qq,K,与最佳算法中的一样
%输出参数:每个子信道上应分配的功率,与最佳时的一样,都是一个有K个数的行向量
function y=suboptimal_alloc(qq,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
    sum1=sum1+1/qq(k);
    sum2=sum2+1/qq(k)*log(1/qq(k));
end
for k=1:K
    if log(qq(k))*sum1+sum2<-(b*Pmax/2)
        flag=1;
        p(k)=0;
        sum1=sum1-1/qq(k);
        sum2=sum2-1/qq(k)*log(1/qq(k));
    else flag=0;
    end
        if flag==0;
            p(k)=(Pmax+(2/b)*sum2)/(sum1*qq(k))-(2/b)*(1/qq(k))*log(1/qq(k));
        end
    end
sum(p);
y=Pmax/sum(p).*p;