Pseudo-Rausch-Binär-Signal-Generator

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-Generatos

4-Bit-Schieberegister

Für meine Vorlesung "Prozessidentifikation 2" 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

PRBS-Generator

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;
}