www.pudn.com > TrdeoffinTDMsystem.rar > Hy_NA_G_yi.m
% =========================================================================
% Copyright (c)2006, 东南大学移动通信国家重点实验室
% All rights reserved.
%
% 文件名称:Hy_NA_G_yi.m
% function描述:在Hybrid N/A调度算法吞吐量计算过程中,供Hy_NA_Th.m调用的子程序
% 当前版本: 1.0
% 作 者:梁浩
% 完成日期: 2007年6月
%==========================================================================
function f = Hy_NA_G_yi(SNR, x1, x2, K, vecN, mean_grouped, sigma_grouped, aveSNR_dB_grouped, i, j)
SNR = SNR(:);
length_SNR = length(SNR);
if isstr(x1)==1;xx1=feval(x1,SNR);else xx1=x1*ones(size(SNR)); end
if isstr(x2)==1;xx2=feval(x2,SNR);else xx2=x2*ones(size(SNR)); end
beta = 10 ./ log(10);
for p=1:length_SNR
f(p) = log2 (1 + SNR(p)) .* lognpdf(SNR(p), mean_grouped(i,j)./beta, sigma_grouped(i,j)./beta);
for k= 1:vecN(i)
if k == j
f(p) = f(p);
else
f(p) = f(p) .* logncdf(SNR(p) .* 10.^(aveSNR_dB_grouped(i,k)./10) ./ 10.^(aveSNR_dB_grouped(i,j)./10), mean_grouped(i,k)./beta, sigma_grouped(i,k)./beta);
end
end
%%%自己加的测试语句
%f= log2 (1 + SNR) .* exp(- SNR ./ aveSNR(i,j)) ./ aveSNR(i,j);
% for k= 1:vecN(i)
% if k == j
% f = f;
% else
% f = f .* (1 - exp(- SNR ./ aveSNR(i,k)));
% end
for n = 1:K
if n == i
f(p) = f(p);
else
f(p)=f(p) .* quadl(@Hy_NA_sub_gene,xx1(p)+10^(-9),xx2(p),10^(-4),[],SNR(p),n, vecN, mean_grouped, sigma_grouped, aveSNR_dB_grouped, i, j);
end
end
end
f=f(:);