www.pudn.com > TrdeoffinTDMsystem.rar > Hy_AN_G_yi.m


% =========================================================================
% Copyright (c)2006, 东南大学移动通信国家重点实验室
% All rights reserved.
%
% 文件名称:Hy_AN_G_yi.m
% function描述:在Hybrid A/N调度算法吞吐量计算过程中,供Hy_AN_Th.m调用的子程序

% 当前版本: 1.0
% 作    者:梁浩
% 完成日期: 2007年6月
%==========================================================================

function f = Hy_AN_G_yi(SNR, x1, x2, K, vecN, mean_grouped, sigma_grouped, aveSNRn, 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), 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_AN_sub_gene,xx1(p)+10.^(-9),xx2(p),10^(-12),[],SNR(p),n, vecN, mean_grouped, sigma_grouped, aveSNRn, i, j);
         end
     end
end
f=f(:);