cdfemu: Cumulative Distribution Function of the Eta-Mu Distribution

cdfemuR Documentation

Cumulative Distribution Function of the Eta-Mu Distribution

Description

This function computes the cumulative probability or nonexceedance probability of the Eta-Mu (\eta:\mu) distribution given parameters (\eta and \mu) computed by parkmu. The cumulative distribution function is complex and numerical integration of the probability density function pdfemu is used or the Yacoub (2007) Y_\nu(a,b) integral. The cumulative distribution function in terms of this integral is

F(x) = 1- Y_\nu\biggl( \frac{H}{h},\, x\sqrt{2h\mu} \biggr)\mbox{,}

where

Y_\nu(a,b) = \frac{2^{3/2 - \nu}\sqrt{\pi}(1-a^2)^\nu}{a^{\nu - 1/2} \Gamma(\nu)} \int_b^\infty x^{2\nu}\,\mathrm{exp}(-x^2)\,I_{\nu-1/2}(ax^2) \; \mathrm{d}x\mbox{,}

where I_{\nu}(a) is the “\nuth-order modified Bessel function of the first kind.”

Usage

cdfemu(x, para, paracheck=TRUE, yacoubsintegral=TRUE)

Arguments

x

A real value vector.

para

The parameters from paremu or vec2par.

paracheck

A logical controlling whether the parameters and checked for validity.

yacoubsintegral

A logical controlling whether the integral by Yacoub (2007) is used instead of numerical integration of pdfemu.

Value

Nonexceedance probability (F) for x.

Author(s)

W.H. Asquith

References

Yacoub, M.D., 2007, The kappa-mu distribution and the eta-mu distribution: IEEE Antennas and Propagation Magazine, v. 49, no. 1, pp. 68–81

See Also

pdfemu, quaemu, lmomemu, paremu

Examples

para <- vec2par(c(0.5, 1.4), type="emu")
cdfemu(1.2, para, yacoubsintegral=TRUE)
cdfemu(1.2, para, yacoubsintegral=FALSE)
## Not run: 
delx <- 0.01; x <- seq(0,3, by=delx)
nx <- 20*log10(x)
plot(c(-30,10), 10^c(-3,0), log="y", xaxs="i", yaxs="i",
     xlab="RHO", ylab="cdfemu(RHO)", type="n")
m <- 0.75
mus <- c(0.7425, 0.7125, 0.675, 0.6, 0.5, 0.45)
for(mu in mus) {
   eta <- sqrt((m / (2*mu))^-1 - 1)
   lines(nx, cdfemu(x, vec2par(c(eta, mu), type="emu")))
}
mtext("Yacoub (2007, figure 8)")

# Now add some last boundary lines
mu <- m; eta <- sqrt((m / (2*mu))^-1 - 1)
lines(nx, cdfemu(x, vec2par(c(eta, mu), type="emu")),  col=8, lwd=4)
mu <- m/2; eta <- sqrt((m / (2*mu))^-1 - 1)
lines(nx, cdfemu(x, vec2par(c(eta, mu), type="emu")), col=4, lwd=2, lty=2)


delx <- 0.01; x <- seq(0,3, by=delx)
nx <- 20*log10(x)
m <- 0.75; col <- 4; lty <- 2
plot(c(-30,10), 10^c(-3,0), log="y", xaxs="i", yaxs="i",
     xlab="RHO", ylab="cdfemu(RHO)", type="n")
for(mu in c(m/2,seq(m/2+0.01,m,by=0.01), m-0.001, m)) {
   if(mu > 0.67) { col <- 2; lty <- 1 }
   eta <- sqrt((m / (2*mu))^-1 - 1)
   lines(nx, cdfemu(x, vec2par(c(eta, mu), type="emu")),
         col=col, lwd=.75, lty=lty)
}
## End(Not run)

lmomco documentation built on May 29, 2024, 10:06 a.m.