Complex Gaussian Pseudorandom Number Generator

Complex Gaussian Pseudorandom Number Generator

Details

Category: Arithmetic Core

Created: October 18, 2011

Updated: January 27, 2020

Language: VHDL

Other project properties

Development Status: Planning

WishBone compliant: No

WishBone version: n/a

License: LGPL

Description

Gaussian Pseudo-random Number Generator is a fix-point entity implemented with VHDL, used for generating complex Gaussian pseudo-random numbers. The generator can be further divided into two stages. The first stage is a uniform pseudo-random number generator called Mersenne Twister, and the second is a conversion stage. Mersenne Twister provides uniform pseudo-random number sequence with an astronomical period of 2^19937-1 up to 32-bit accuracy, using only 624 words working area [1]. A conversion model was built upon Mersenne Twister to filter valid pairs of numbers and convert uniform pseudo-random numbers into complex Gaussian pseudo-random numbers. The motivation of the project is to generate massive numbers of complex Gaussian random numbers in parallel to simulate AWGN (Additive White Gaussian Noise) channels for mobile communication MIMO (Multiple Input, Multiple Output) systems.