Dr. Uri Mahlab. Generation of Random Variables Most computer software libraries include a uniform...

Preview:

Citation preview

Dr. Uri Mahlab

Dr. Uri Mahlab

Dr. Uri Mahlab

Generation of Random Variables•Most computer software libraries include a uniform random number generator.•Such a random number generator a number between 0 and 1 with equal probability.•We call the output of the random number generator a random variable.•If A denotes such a random variable, its range is the interval o A 1

Dr. Uri Mahlab

f x( ) Is called the probability density function

F(A) is called the probability distribution function

Where:

Dr. Uri Mahlab

f(A)

1

0 1A

F(A)

1

0 1 A

(b)

1

2 (a)

Figure: Probability density function f(A)

and the probability distribution function F(A)

of a uniformly distributed random variable A.

Fig 1

Dr. Uri Mahlab

If we wish to generate uniformly distributed noise in an

interval (b,b+1), it can be accomplished simply by using the

output A of the random number generator and shifting it by an

amount b. Thus a new random variable B can be defined as

Which now has a mean value

Dr. Uri Mahlab

f(B)1

0B

F(B)

1

0

(b)1

2(a)

1

2

B1

2

1

2

Figure : Probability density function and the probability

distribution function of zero- mean uniformly distributed

random variable B A b

Fig 2

Dr. Uri Mahlab

CC 0

A=f(C)

1

F(C) F C A

C F A

( )

( )

1

Figure : Inverse mapping from the uniformly distributed random variable A to the new random variable C

Fig.3

Dr. Uri Mahlab

Example 2.1 Generate a random variable C that has the linear probability density function shown in Figure (a);I.e.,

f CC

( ),

1

2 0 C 2

0, otherwisef(C)

1

0 2 C

c

2

(a)

F(C)

1

0 2 C

1

42C

(b)

Figure : linear probability density function and the corresponding probability distribution function

Answerip_02_01

MATLAB.lnk

Fig - 4

Dr. Uri Mahlab

•Thus we generate a random variable C with probability function F(C) ,as shown in Figure 2.4(b). In Illustartive problem 2.1 the inverse mapping C= (A) was simple. In some cases it is not.

Lets try to generate random numbers that have a normal distribution function.

•Noise encountered in physical systems is often characterized by the normal,or Gaussian probability distribution, which is illustrated in Figure 2.5. The probability density function is given by

F 1

Gaussian Normal Noise

Dr. Uri Mahlab

Where is the variance of C, which is a measure of the spread of the

probability density function f(c). The probability

distribution function F(C) is the area under f(C)

over the range(- ,C). Thus

2

f(C)

0C

F(C)1

0

(b)

1

2

(a)

CFig 5

Gaussian probability density function and the corresponding probability distribution function.

Dr. Uri Mahlab

Unfortunately,the integral cannot be expressed in terms of simple functions. Consequently the inverse mapping is difficult to achieve.

A way has been found to circumvent this problem. From probability theory it is known that a Rayleigh distributed random variable R, with probability distribution function

Dr. Uri Mahlab

Is related to a pair of Gaussian random variables C and D through the transformation

have weinverted,easily

is f(R) since D. and C of variance theisparameter The

).,2interval(0 in the vaiableddistributeuniformly is where 2

Dr. Uri Mahlab

Where A is a uniformly distributed random variable in the interval(0,1). Now, if we generate a second uniformly distributed random variable B and define

Then from transformation,we obtain two statistically independent Gaussian distributed random variables C and D.

Dr. Uri Mahlab

MATLAB.lnk

Gngauss.m

Gaussian Normal Noise

u=rand; % a uniform random variable in (0,1) z=sgma*(sqrt(2*log(1/(1-u)))); % a Rayleigh distributed random variableu=rand; % another uniform random variable in (0,1)gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*sin(2*pi*u);

Dr. Uri Mahlab

Generate samples of a multivariate Gaussian random

process X(t) having a specified mean value mx

and a covariance Cx

Answerip_02_02MATLAB.lnk

Example 2.2: [Generation of samples of a multivariate gaussian process]

Dr. Uri Mahlab

Example 2.3: generate a sequence of 1000(equally spaced) samples of

gauss Markov process from the recursive relation

x x wn n n 0 95 1. , n 1 2 1000, ,...,

where x and {w is a sequence of zero mean

and unit variance i.i.d. a Gaussian random variables.

plot the sequence{x 1 n 1000} as a function of

the time index n and the autocorrelation.

n

n,

0 0

}

Answerip_02_03

MATLAB.lnk

Dr. Uri Mahlab

Power spectrum of random processes and white processes

A stationary random process X(t) is characterized in the frequency domain by its power spectrum which is the fourier transform of the autocorrelation function of the random process.that is,

S fx ( )R tx ( )

Conversely, the autocorrelation function of a stationary process X(t) is obtained from the power spectrum by

means of the inverse fourier transform;I.e.,

R tx ( )S fx ( )

Dr. Uri Mahlab

Definition:A random process X(t) is called a white process if it has a flat power spectrum, I.e., if is a

constant for all f frequencyS fx ( )

Dr. Uri Mahlab

Example 2.4:1) Generate a discrete-time sequence of N=1000 i.i.d. uniformly distributed random in interval (-1/2,1/2) and compute the autocorrelation of the sequence {Xn} defined as

R mN m

X Xx nn

N m

n m( ) ,

1

1m M0 1, ,...,

1

N mX Xn

n m

N

n m, m M 1 2, ,...,

2) Determine the power spectrum of the sequence {Xn} by computing the discrete Fourier transform (DFT) of Rx(m) The DFT,which is efficiently computed by use of the fast Fourier transform (FFT) algorithm, is defined as

S f R m ex xj fm m

m M

M

( ) ( ) /( )

2 2 1

MATLAB.lnk

AnswerMatlab: M-file

ip_02_04

Dr. Uri Mahlab

Example 2.5:

compute the auto correlation Rx(t) for the random process whose power spectrum is given by

S f

NB

Bx ( )

0

2, f

0, f

MATLAB.lnk

AnswerMatlab: M-file

ip_02_05

Dr. Uri Mahlab

Dr. Uri Mahlab

Linear Filtering of Random Processes

Suppose that a stationary random process X(t) is passed through a liner time-invariant filter that is characterized in the time domain by its impulse response h(t) and in the frequency domain by its frequency response.

Dr. Uri Mahlab

The auto correlation function of y(t) is

In the Frequency domain

Dr. Uri Mahlab

Example 2.6

suppose that a white random process X(t) with power spectrum Sx(f)= 1 for all f excites a linear filter with impulse response

h t( )

e , t

0, t 0

-t 0

Determine the power spectrum Sy(f)of the filter output.

MATLAB.lnk

AnswerMatlab: M-file

ip_02_06

Dr. Uri Mahlab

Example 2.7

Compute the autocorrelation function Ry(t) corresponding to Sy(f)in the Illustrative problem 2.6 for the specified Sx(f)=1

MATLAB.lnk

AnswerMatlab: M-file

ip_02_07

Dr. Uri Mahlab

AnswerMatlab: M-file

ip_02_08MATLAB.lnk

Example 2.8

Suppose that a white random process with samples{X(n)} is passed through linear filter with impulse response

h n( )

(0.95) , n

0, n 0

n 0

Determine the power spectrum of the output process{Y(n)}

Dr. Uri Mahlab

Lowpass and Bandpass processes

•Definition:A random process is called lowpass if its power spectrum is large in the vicinity of f=0 and small (approaching 0) at high frequencies.

•In other words, a lowpass random process has most of its power concentrated at low frequencies .

•Definition: A lowpass random process x (t) is band limited if the power spectrum Sx(f)=0 for Sx(f)>B. The parameter B is called the bandwidth of the random process

Dr. Uri Mahlab

Example # 9:consider the problem of generating samples of a lowpass random process by passing a white noise sequence {Xn}through a lowpass filter. The input sequence is an I.I.d. sequence of uniformly distributed random variables on the interval(-0.5,0.5 ). The lowpass filter has the impulse response.

AnswerMatlab: M-file

ip_02_09MATLAB.lnk

h n( )

(0.9) , n

0, n 0

n 0

And is characterized by the input-output recursive(difference)equation.

y y xn n n 0 9 1. , n 1 y 1 0

Compute the output sequence{yn} and determine the autocorrelation function Rx(m) and Ry(m),as indicated in problem 2.4 Determine the power spectra Sx(f) and Sy(f) by computing the DFT of Rx(m) and Ry(m)

Dr. Uri Mahlab

N=1000; % The maximum value of nM=50;Rxav=zeros(1,M+1);Ryav=zeros(1,M+1);Sxav=zeros(1,M+1);Syav=zeros(1,M+1);for i=1:10, % take the ensemble average ove 10 realizations X=rand(1,N)-(1/2); % Generate a uniform number sequence on (-1/2,1/2) Y(1)=0; %should be x(1) !!!!! for n=2:N, Y(n) = 0.9*Y(n-1) + X(n); % note that Y(n) means Y(n-1) end; Rx=Rx_est(X,M); % Autocorrelation of {Xn} Ry=Rx_est(Y,M); % Autocorrelation of {Yn} Sx=fftshift(abs(fft(Rx))); % Power spectrum of {Xn} Sy=fftshift(abs(fft(Ry))); % Power spectrum of {Yn} Rxav=Rxav+Rx; Ryav=Ryav+Ry; Sxav=Sxav+Sx; Syav=Syav+Sy; end;Rxav=Rxav/10;Ryav=Ryav/10;Sxav=Sxav/10;Syav=Syav/10;% Plotting commands follow

»

Dr. Uri Mahlab

•Definition:

•A random process is called bandpass if its power spectrum is large in a band of frequencies centered in the neighborhood of a central frequency fo and relatively small outside of this band of frequencies.

•A random process is called narrowband if its bandwidth B<< fo

•Bandpass processes are suit for representing modulated signals.In communication the information-bearing signal is usually a lowpass random process that modulates a carrier for transmission over a bandpass communication channel. Thusthe modulated signal is bandpass random process.

Dr. Uri Mahlab

Example # 10:[Generation of samples a bandpass random process] Generate samples of a bandpass random process by first generating samples of two statistically independent random processes XC(t) and XS(t) and using these to modulate the quadrature carriers cos( 2 ) and sin 2 ,as shown in figure 7.f t0

f t0

+-

Figure 7: generation of a bandpass random process

AnswerMatlab: M-file

ip_02_10

MATLAB.lnk

Dr. Uri Mahlab

N=1000; % number of samplesfor i=1:2:N, [X1(i) X1(i+1)]=gngauss; [X2(i) X2(i+1)]=gngauss;end; % standard Gaussian input noise processesA=[1 -0.9]; % lowpass filter parametersB=1;Xc=filter(B,A,X1); Xs=filter(B,A,X2);fc=1000/pi; % carrier frequencyfor i=1:N, band_pass_process(i)=Xc(i)*cos(2*pi*fc*i)-Xs(i)*sin(2*pi*fc*i);end; % T=1 is assumed% Determine the autocorrelation and the spectrum of the band-pass processM=50;bpp_autocorr=Rx_est(band_pass_process,M);bpp_spectrum=fftshift(abs(fft(bpp_autocorr)));% plotting commands follow

Recommended