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

📄 optimal_pow_alloc.asv

📁 可以运行的m4k20功率分配图
💻 ASV
字号:
%输入参数:aa为信道状态信息,是信道增益模值的平方除以噪声功率,是行向量,维数为K
%K为子信道个数,M为调制阶数(你主要以什么调制为主就用哪个,譬如16QAM,那么M=16)
function power_alloc=optimal_pow_alloc(aa,K,M)
M=4;
a=2*(sqrt(M)-1)/(sqrt(M)*log2(sqrt(M)));
b=3/(M-1);
K=size(aa)
Pmax=K;
p=Pmax/K*ones(1,K);
i=1;
u(1)=50;%一次迭代的步进为u
flag=1;
while flag==1
zero_flag=0;
for k=1:K
  uu(k)=1/K*diffunct(aa,p,k,a,b)+lamda_update(aa,p,k,a,b,K);
    p(k)=p(k)-u(i)*(1/K*diffunct(aa,p,k,a,b)+lamda_update(aa,p,k,a,b,K));
if p(k)<=0
   zero_flag=1;
end
end
if abs(uu(k))<1.0e-10;%迭代的精度为1e-10
    break;
end
if zero_flag==1
   i=i+1;
   u(i)=i*u(1);
else
   i=i+1;
   u(i)=u(1);
end

end

sum(p);
power_alloc=Pmax/sum(p).*p;
%stem(power_alloc)

⌨️ 快捷键说明

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