wenn man nur das niederwerigste bit vom ADC-Sampling hernimmt, hat man "echte" zufallszahlen, egal ob mit 50/100Hz Rauschen oder nicht. das ergibt ziemlich genau ein weisses rauschen.
Allerdings ist die datenrate nicht besonders hoch (eben 1Bit/Sample), eignet sich also nicht wirklich zur direkten zufallszahlenerzeugung, wohl aber als Seed für einen Pseudogenerator.
für einen 8-Bit generator also einfach 8xADC-Sample einlesen, jeweils das niederwertigste bit nehmen, dann jeweils auf die richtige Position shiften und addieren. heraus kommt eine wunderschöne, 8-Bit Zufallszahl.
Pseudocode:
Code:RandomNr = 0 FOR SampleNr = 0 TO 7 ADC_Val = GetSample() ADC_Val = ADC_Val And &B00000001 ShiftLeft ADC_Val, SampleNr RandomNr = RandomNr + ADC_Val NEXT







Zitieren

Lesezeichen