Pseudo-Rausch-Binär-Signale (PRBS) sind deterministische Signale, die zwei mögliche Werte annehmen (binäres Signal) und ähnliche Eigenschaften wie zufällige Signale aufweisen. PRBS lassen sich sehr leicht durch linear rückgekoppelte Schieberegister erzeugen. Bei der Rückkopplung kommt dabei die XOR-Funktion zum Einsatz.
Struktur eines 4-Bit-PRBS-Generators
Für meine Vorlesung “Prozessidentifikation” habe ich ein 8-Bit-Schieberegister auf Basis des Mikrocontrollers ATMega8 realisiert. Das Schieberegister wird mit ca. 100ms getaktet. Zur Erzeugung der maximalen Periodendauer von N=255 werden 4 Bit rückgeführt.
Prototypaufbau eines 8-Bit-PRBS-Generators mit Mikrocontroller ATmega8
Schaltbild
Abweichend vom oben gezeigten Prototypaufbau wurde im Schaltbild zusätzliche die Leuchtdiode LED0 zur Betriebsspannungskontrolle vogesehen.
Quellcode für 8-Bit-PRBS in C++
// Written 2008 by Klaus Röbenack
#include <avr/io.h>
#include <util/delay.h>
int main ()
{
// Initialisierung von Port D
DDRD = 0xff; // Bit 0..7 sind Ausgänge
uint8_t state=1; // Startwert für Schieberegister
while (true) {
PORTD = ~state;
state=(state<<1 | (((state>>7)&1) ^ ((state>>5)&1) ^ ((state>>4)&1) ^ ((state>>3)&1)) );
_delay_ms(100);
}
return 0;
}