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 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 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.
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.