mutual_mimo_func_diag.m
来自「可以运行的m4k20功率分配图」· M 代码 · 共 38 行
M
38 行
function [fmutual_mean_new] = mutual_mimo_func_diag(M,N,H0,Rt_sqrt, ...
gamma,lambda,NSAMPLE,I)
%------------------------------------------------------------
% Function to calculate the average mutual information given a diagonal
% transmit covariance matrix.
%
% Author: Mai Vu
% Date: 11/30/2003
% Revised: 04/12/2004
%------------------------------------------------------------
%------------------------------------------------------------
% INPUTS
% M: number of receive antennas
% N: number of transmit antennas
% H0: channel mean
% Rt_sqrt: square root of transmit correlation
% gamma: SNR (linear, not dB)
% lambda: eigenvalues of transmit covariance matrix
% NSAMPLE: number of samples used in Monte-Carlo simulation
% I: identity matrix of size NxN
%
% OUTPUTS
% fmutual_mean_new: average mutual information
%
%------------------------------------------------------------
H = (randn(M,N,NSAMPLE) + j*randn(M,N,NSAMPLE))/sqrt(2);
fmutual_new = 0;
for k=1:NSAMPLE
H_k = H0 + H(:,:,k)*Rt_sqrt;
S_k = gamma*H_k'*H_k;
P = I + S_k*diag(lambda);
fmutual_new = fmutual_new - log(real(det(P)));
end
fmutual_mean_new = fmutual_new/NSAMPLE;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?