ex5m7_8.doc

advertisement
Random Signals for Engineers using MATLAB and Mathcad
Copyright  1999 Springer Verlag NY
Example 7.8 Gaussian Probability Graphs
In the example we will demonstrate a technique of plotting Gaussian data that is often used to plot
operating characteristics of receivers used for coherent and incoherent detection. These curves are based
upon the so-called Gaussian probability paper where we plot the data that is transformed by the inverse
Gaussian cumulative probability function. If we plot a set of data, a normal cumulative data curve is
obtained and the results are shown below. We will use a data set generated by the build in gaussian random
variable function - randn.
N=800;
x=randn(1,N);
r=sort(x);
The normal curve results when we plot the sorted values versus the fractional value of the index, which
represents the probability
plot(r,(1:N)./N)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-3
-2
-1
0
1
2
3
We may normalize the probability values by using the inverse normal function or the Matlab erfinv. The
values of m and  can be taken as 0 and 1 respectively and if the data has another mean the line will be
shifted and if the  is other than 1 the slope will change. However, the data will align itself to a straight
line since we are using the inverse of the cumulative normal curve applied to the cumulative normal data
and therefore straight-line curve results. Plotting these results we find
yp=sqrt(2)*1*erfinv(2/N.*(1:N) -1) + 0;
plot(r,yp)
xlabel 'value'
ylabel 'Normalized Prob'
4
3
Normalized Prob
2
1
0
-1
-2
-3
-4
-3
-2
-1
0
value
1
2
3
Examination of the resultant curve shows that there is a slight deviation after the 2  value. This is to be
expected since for a gaussian distribution we only have a small number of samples in this region. The y
axis values can be calibrated in probability directly by using the following table of probabilities and
labeling the ticks appropriately
p=[ .001 .003 .01 .02 .05 .10 .25 .5 .75 .9 .95 .98 .99 .997 .999];
tick=sqrt(2)*1*erfinv(2*p -1) + 0;
label1=str2mat('0.001','0.003','0.01','0.02','0.05','0.1','0.25','0.5')
;
label2=str2mat('0.75','0.9','0.95','0.98','0.99','0.997','0.999' );
label=[label1;label2];
plot(r,yp)
set(gca,'Ytick',tick,'YTickLabel',label);
xlabel 'value'
ylabel 'Prob'
grid on;
0.999
0.997
0.99
0.98
0.95
0.9
Prob
0.75
0.5
0.25
0.1
0.05
0.02
0.01
0.003
0.001
-3
-2
-1
0
value
1
2
3
The values in the first column are the ordinates and the second column is the corresponding probabilities.
In the next example we will express the results of the receiver tradeoff curves using this form of probability
graphs.
Download