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

📄 waterfilling.asv

📁 无线通信系统多天线注水算法
💻 ASV
字号:
%
% Waterfilling algorithm  to compute:
%
%           pi = (mu - bi)^+
%           sum(pi) = Pt
%
% by screen lee
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Details of the function:
% ------------------------
%
%
% INPUTS: channel gain matrix H0,overall power Pt,and noise covariance
%         matrix noise_cov.
%
% OUTPUT: Power allocation pi and signal input covariance matrix.


function[capacity,input_cov]=waterfilling(H0,Pt,noise_cov)
[Q,D]=eig(noise_cov);
H=D^(-1/2)*Q'*H0; % compute effective channel gain matrix.
[U,S,V] = svd(H);
K=rank(H);
S=S(1:K,1:K);
temp_H=sum(1./(S(i,i).^2));

mu=(Pt+temp_H)./K;
for j=1:K
    pi(j)=max(mu-1./(S(j,i).^2),0);
    
end
input_s=[diag(pi) zeros(K,(size(H,2)-K));zeros((size(H,1)-K),K) zeros((size(H,1)-K),size(H,2)-K)];
   

input_cov=V*input_s*V';
capacity=(1/2).*log2(det(noise_cov+H0*input_cov*H0'));

⌨️ 快捷键说明

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