How to verify a long series of bits is random or not ?

Status
Not open for further replies.

cmosbjt

Full Member level 5
Joined
Apr 25, 2004
Messages
250
Helped
10
Reputation
20
Reaction score
2
Trophy points
1,298
Location
USA
Activity points
2,293
I have a Ramdom Number Generator, the output is like: 10010101000101010....
I need to verify whether it is truely ramdom or not, how can i do that? Can I use Matlab to do the job?
 

hi
u should regard some options in random number testing
i.e. PDF testing correlation and PSD testing
u should be careful about your period of repitation in your random number
 

How to do that? Any reading material about that?
 

hi
i can help u if i know what is your problem and what do u want to do
aften testing PDF and PSD is useful for testing Normal(guasian) random number
but your example is binary. test hist() function in matlab may be it help u
 

For binary, maybe you can try context-based arithmetic coding. You read the bit stream and create a big context table to count the occurance of all combination, within a maximum length, of course. After a long bitstream, if some contexts have a much bigger count than others, that is it.
 

A direct way to check if the sequency is truly random is to use auto-correlation function in MATLAB. A true random sequence should generate a Dirac type auto-correlation output, whose Fourier Transform should give you 'white' spectrum density function.

In matlab, you can use xcorr(A), where A is your random sequence to be analyzed.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…