Outage Probability: Simulation VS Analytical results

1k Views Asked by At

I want to find the outage of a node in decode-and-forward (DF) relay.

Mathematically, I want to find

$\eqalign{Pr(\min(SNR_R, SNR_D)<SNR_{thr})}. \tag{1}$

which in probabilistic terms is equal to $\eqalign{\Pr\left(\min(X,Y)\le x\right) &= F_X(x) + F_Y(x) - F_X(x)F_Y(x) \\&= 1 - (1-F_X(x))(1-F_Y(x)).\tag{2}}$

I have derived the analytical expressions for both $F_X(x)$ and $F_Y(x)$, and both of them separately matches with the simulation results. Which means if I plot the $Pr(SNR_R<SNR_{thr})$ it matches the CDF $F_X(x)$ and similarly if I plot the $Pr(SNR_D<SNR_{thr})$ it matches the CDF $F_Y(x)$. However, when I try to plot Eq. $(1)$ and $(2)$ together, they don't match.

Any help in this regard will be very much appreciated.

UPDATE: When I calculate the outage separately and plot them using eq.2, it matches. e.g. let's assume

$\eqalign{poutR=SNR_R<SNR_{thr}}$

$\eqalign{poutD=SNR_D<SNR_{thr}}$

and then plot

$\eqalign{pout=poutR + poutD - poutR*poutD} $

it exactly matches the analytical results derived using

$\eqalign{Pr(min(X,Y)< x) = F_X(x) + F_Y(x) - F_X(x)F_Y(x)}$.

My question is: Is it correct to plot the simulation results like this? and what is the reason behind this?

Any help in this regard will be very much appreciated.

1

There are 1 best solutions below

1
On

Without knowing the particulars, it is difficult to diagnose your difficulty. Below is a simple example of what I guess you are doing, for which I get satisfactory results. If this is not what you had in mind, maybe you can use it as a basis to clarify your question.

If $X_1 \sim \mathsf{Exp}(rate=\lambda_1)$ and independently $X_2 \sim \mathsf{Exp}(\lambda_2),$ then $V = \min(X_1,X_2) \sim \mathsf{Exp}(\lambda_1 + \lambda_2).$ This is easily proved using CDFs.

To simulate for rates 1/2 and 1 in R statistical software, one might use the following code.

 set.seed(1212); m = 10^6
 x1 = rexp(m, 1/2);  x2 = rexp(m, 1)
 v = pmin(x1, x2)
 mean(x1);  mean(x2);  mean(v)
 ## 2.00038     # aprx E(X1) = 2
 ## 0.9993378   # aprx E(X2) = 1
 ## 0.6658064   # aprs E(V) = 1/(1.5) = 2/3

Comparing the ECDF of the first 5000 simulated realizations of $V$ with the theoretical CDF $F_V,$ I get the figure below. Within the resolution of the plot, the match seems perfect:

 V = v[1:5000]
plot.ecdf(V, main="ECDF of Simulated V [black] with CDF of EXP(1.5) [dashed red]")
curve(pexp(x, 1.5), col="red", lwd=3, lty="dashed", add=T)

enter image description here