Code covered by the BSD License

# SINR-based k-coverage probability in cellular networks

### H. P. Keeler (view profile)

30 Jan 2013 (Updated )

Calculating the k-coverage probability with Poisson process-based cellular network models.

In=funIn(betaConst,n,x)
% funIn calcualtes and returns the In integral (eq (12) in [1])
% In=funIn(betaConst,n,x)
% In = I_{n,\beta} integral (scalar) value
% betaConstant = path-loss exponent
% n = integer parameter
% x = variable that incorporates model parameters
% That is, x=W*a^(-2/betaConst) where a is given by eq (6) in [1]
% betaConst, n and x are scalars
%
% WARNING: for x>0 and high values of n (corresponding to low values of SINR
% threshold) the integration method can fail (returning NaN). This is due
% to a singularity in the integral kernel. A couple different change of variables
% have been tried with different (Matlab) quadratuture methods. The best
% performing combination has been chosen. No doubt better numerical methods
% exist (possibly combining an asymptotic expansion at a singularity).
%
% Author: H.P. Keeler, Inria Paris/ENS, 2013
%
% References
% [1] H.P. Keeler, B. Błaszczyszyn and M. Karray,
% 'SINR-based k-coverage probability in cellular networks with arbitrary
% shadowing', accepted at ISIT, 2013

function In=funIn(betaConst,n,x)
% Calculates I_n with numerical integration or analytic solution (if x=0 (ie W=0))
% x <>0 uses quadgk (which can handle singularities)
% x=0 uses analytic solution

C=gamma(1+2./betaConst).*gamma(1-2./betaConst); %constant C';eq. (13) in [1]
if x==0
%analytic solution
In=(2./betaConst).^(n-1)./C.^n; %eq. (14) in [1]
else
%numerical solution
%***old integrals methods - left for different approaches***
%original integral (12) in [1]
%fu=@(u)(u).^(2*n-1).*exp(-u.^2-(u).^(betaConst).*x.*((gamma(1-2./betaConst)).^(-betaConst/2)));
%integral (12) in [1] after change of variable t=exp(-u.^2) or
%u=log(1./t).^(1/2)
%ft=@(t)(-log(t)).^(n-1).*exp(-(-log(t)).^(betaConst/2).*x.*((gamma(1-2./betaConst)).^(-betaConst/2)))/2;