Cumulative Distribution Function of the Eta-Mu Distribution

Share:

Description

This function computes the cumulative probability or nonexceedance probability of the Eta-Mu (η:μ) distribution given parameters (η and μ) 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_ν(a,b) integral. The cumulative distribution function in terms of this integral is

F(x) = 1- Y_ν\biggl( \frac{H}{h},\, x√{2hμ} \biggr)\mbox{,}

where

Y_ν(a,b) = \frac{2^{3/2 - ν}√{π}(1-a^2)^ν}{a^{ν - 1/2} Γ(ν)} \int_b^∞ x^{2ν}\,\mathrm{exp}(-x^2)\,I_{ν-1/2}(ax^2) \; \mathrm{d}x\mbox{,}

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

Usage

1
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.