
RPi Pico Rauschgenerator
Elektronik-Labor
Projekte
Mikrocontroller
Raspberry
Eine Rauschquelle kann man mit einem rückgekoppelten
Schieberegister bauen. Das hatte ich schon mal mit einem ATtiny
versucht, war aber enttäuscht, denn da kam eher sowas wie ein Ton als
ein Rauschen heraus. Jetzt habe ich in der Funkamateur 6/22
einen Artikel vom Martin Oßmann gefunden: Digitale Rauschgeneratoren
mit Teensy 4.0 und MAX1000. Da ist mir ein Licht aufgegangen. Wenn das
Schieberegister 32 Bit lang ist, kommt ein gutes Ergebnis raus. Also
muss es auch mit dem Pico gehen. Damit keine anderen Prozesse das
Schieberegister stören, wird es im zweiten Kern betreiben.
//Pico_Noise1
#include "pico/stdlib.h"
void setup() {
Serial.begin(115200);
}
void loop() {}
void setup1() {
uint32_t shiftreg;
uint32_t newbit;
gpio_init(0);
gpio_set_dir(0, 1);
while (true) {
newbit = 0;
if (shiftreg & (1<<30)) newbit ^=1;
if (shiftreg & (1<<27)) newbit ^=1;
shiftreg =(shiftreg <<1) | newbit;
gpio_put(0, newbit);
Serial.println(shiftreg);
sleep_ms(500);
}
}
void loop1() {}
An GP0 ist eine LED angeschlossen, die nun tatsächlich sehr zufällig
blinkt. Außerdem habe ich mir für den ersten Test den Inhalt des
Schieberegisters mit ausgegeben. Das Ergebnis ist ein
Zufallszahlengenerator. Die Ausgabe am digitalen Ausgang ist nur das
letzte Bit. Die LED ist also an bei allen ungeraden Zahlen, bei geraden
ist sie aus.
Und jetzt das Ganze noch einmal ohne Printausgaben und ohne Wartezeit.
Die LED ist dann scheinbar einfach nur an. Tatsächlich wird hier das
hochfrequente digitale Rauschen ausgegeben.
//Pico_Noise2
#include "pico/stdlib.h"
void setup() {}
void loop() {}
void setup1() {
uint32_t shiftreg;
uint32_t newbit;
gpio_init(0);
gpio_set_dir(0, 1);
while (true) {
newbit = 0;
if (shiftreg & (1<<30)) newbit ^=1;
if (shiftreg & (1<<27)) newbit ^=1;
shiftreg =(shiftreg <<1) | newbit;
gpio_put(0, newbit);
}
}
void loop1() {}
Am Oszilloskop kann ich in der Einstellung 0,5 µs/div gerade so
erkennen, dass ein Signal mit rund 10 MHz ausgegeben wird. Der Rest
versinkt im Rauschen. Wenn ich einen hochohmigen Lautsprecher an GP0
anschließe, höre ich ein weißes Rauschen.
Der Spectrum Analyzer zeigt ein Rauschen, das bis etwa 4 MHz eine
konstante Amplitude hat. Der Generator liefert aber auch noch bis 500
MHz ein entsprechend schwächeres Signal. Martin Oßmann zeigt in seinem
Artikel, wie man mit einem solchen Signal einen Rauschgenerator
bekannter Rauschleistung baut.
Hier habe ich das Rauschsignal über einen Widerstand von 3,3 k auf den
Empfänger-Eingang meines SDR gelegt. Die Antenne war mit angeschlossen.
Der Empfänger war im 17-m-Band auf 18100 kHz eingestellt. Man sieht,
dass das gleichförmige Rauschen fast alle Antennensignale überdeckt.
Nur ein CW-Signal und ein FT8-Signal sind noch schwach erkennbar. Das
Rauschen kann verwendet werden, um Filterkurven auszumessen.

https://www.amazon.de/dp/B09ZQPFDPG
https://www.amazon.de/dp/B0B1BW6LQ5
https://www.amazon.de/dp/B0B293XD7Q
Elektronik-Labor
Projekte
Mikrocontroller
Raspberry