In this series:

In Part 1 of this series, I explained how correlated Rayleigh random variables are generated. In Part 2, I presented a simple and efficient implementation architecture of a Gaussian random variable generator for the realization of a baseband correlated Rayleigh generator.

Rayleigh random variable generator architecture

Figure 1 illustrates the architecture of a correlated Rayleigh random variable generator. Inverse fast Fourier transform (IFFT) logic and filter coefficient memory are re-configurable by the user from the host, including IFFT transform length and normalized Doppler filter coefficients.

Figure 1: Architecture of a Rayleigh random variable generator

Figure 1: Architecture of a Rayleigh random variable generator

Figure 2: Discrete approximation of the Doppler spectrum

Figure 2: Discrete approximation of the Doppler spectrum

Figure 2 plots a discrete approximation of the Doppler spectrum

[1] with the normalized Doppler shift equal to 0.05. In this figure, the coefficients were quantized into fixed-point representations. One can easily see that the zero-valued coefficients are located out-of-band of the Doppler spectrum and none-zero values are symmetrically located in-band of the spectrum. As a result, only the none-zero values of one-sided Doppler spectrum are required to be stored in the filter coefficient memory. Only a small amount of additional logic is required to fetch the correct coefficient for the filtering process.

It is important to perform the IFFT in continuous streaming mode because filtered complex Gaussian random variables are continuously being generated. The Xilinx FFT core generator for the Virtex-6 FPGA in Nutaq's Perseus [2,3] development platform provides a continuous streaming mode with various re-configurable parameters that meet our requirements.

Figure 3 and Figure 4 show the amplitude and phase of 1000 generated correlated Rayleigh samples and the probability density function (PDF) over 220 samples. You can see that the generated random variable PDF closely follows the theoretical Rayleigh PDF as expected.

Figure 3: Magnitude and phase of the correlated Rayleigh generator output

Figure 3: Magnitude and phase of the correlated Rayleigh generator output

Figure 4: PDF of generated correlated Rayleigh random variable versus theoretical Rayleigh PDF

Figure 4: PDF of generated correlated Rayleigh random variable versus theoretical Rayleigh PDF

Rayleigh and Gaussian random variable generator in channel emulator

Figure 5: Baseband flat Rayleigh fading channel emulator

Figure 5: Baseband flat Rayleigh fading channel emulator

Figure 6: Baseband multipath Rayleigh fading channel emulator

Figure 6: Baseband multipath Rayleigh fading channel emulator

The simplest example of the correlated Rayleigh fading generator is a flat Rayleigh fading channel emulator as shown in Figure 5. In this figure, the baseband modulated signal x[n] is corrupted by the Rayleigh fading generator followed by an additive white Gaussian noise generator. The resulting noisy faded signal y[n] is injected into the input of the baseband receiver to validate its performance under the Rayleigh flat-fading channel.

A three-path baseband multipath Rayleigh fading channel emulator example is illustrated in Figure 6. The transmit signal x[n] with two different delayed versions pass through three independent flat-fading Rayleigh channel emulators follow by a combiner before injecting additive noise. Each independent flat-fading channel emulator must have a different input delay and output gain depending on the target channel power delay profile.

Conclusion

This blog post showed an approach to a simple and efficient implementation architecture of a Rayleigh random variable generator. Examples on the use of Rayleigh and Gaussian random variable generators to realize baseband flat-fading, multipath channel emulators in FPGA devices were also discussed.

References

[1]

D. J. Young and N. C. Beaulieu, "The generation of correlated Rayleigh random variates by inverse discrete Fourier transform," IEEE Transactions on Communications, vol. 48, no. 7, pp. 1114-1127, 2000.

[2]

Nutaq Inc. Perseus. [Online]. http://www.nutaq.com/products/perseus-601x

[3]

Xilinx Inc. Fast Fourier Transform (FFT). [Online]. http://www.xilinx.com/products/intellectual-property/FFT.htm