Correlated Rayleigh Fading Simulator
The method for generating a Rayleigh random sequence with the desired temporal correlation is given below (modified from Theodore S. Rappaport Text).
1. Define ‘N’ the number of Gaussian RVs to be generated, ‘fm’ the Doppler frequency in Hz, ‘fs’ the sampling frequency in Hz, ‘df’ the frequency spacing which is calculated as df=(2*fm)/(N-1) and ‘M’ total number of samples in frequency domain which is calculated as M=(fs/df)+1.
2. Generate two sequences of N/2 complex Gaussian random variables. These correspond to the frequency bins up to fm. Take the complex conjugate of these sequences to generate the N/2 complex Gaussian random variables for the negative frequency bins up to -fm.
3. Multiply the above complex Gaussian sequences ‘g1′ and ‘g2′ with Doppler Spectrum ‘S’ generated from -fm to fm. Calculate the spectrum at -fm and +fm by using linear extrapolation.
4. Extend the above generated spectra from -fs/2 to +fs/2 by stuffing zeros from -fs/2 to -fm and fm to fs/2. Take the IFFT of the resulting spectra X and Y resulting in time domain signals x and y.
5. Add the absolute values of the resulting signals x and y in quadrature. Take the absolute value of this complex signal. This is the desired Rayleigh distributed envelope with the required temporal correlation.
For LTE system simulation the wireless channel may be modeled as a time varying FIR filter with each filter tap generated by the above given method.
Cite As
Yasir Ahmed (2025). Correlated Rayleigh Fading Simulator (https://www.mathworks.com/matlabcentral/fileexchange/33260-correlated-rayleigh-fading-simulator), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Wireless Communications > Communications Toolbox > Propagation and Channel Models >
- Radar > Phased Array System Toolbox > Detection, Range and Doppler Estimation >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |