Go Back

Source code


Name: complex-gaussian-pseudo-random-number-generator
Created: Oct 18, 2011
Updated: Dec 21, 2011
SVN Updated: Dec 21, 2011

Other project properties

Category: Arithmetic core
Language: VHDL
Development status: Planning
Additional info:
WishBone Compliant: No
License: LGPL


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.