Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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

4-Bit-PRBS-Generator

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

Prototypaufbau

Schaltbild

Abweichend vom oben gezeigten Prototypaufbau wurde im Schaltbild zusätzliche die Leuchtdiode LED0 zur Betriebsspannungskontrolle vogesehen.

Schaltbild

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