Forum: Digitale Signalverarbeitung / DSP / Machine Learning Denkfehler-Analyse: Spektrum eines LFSR


von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Hallo zusammen,

ich habe grad ein Verständnisproblem, was das angeblich "weiße Rauschen" 
eines LFSR (Linear rückgekoppeltes Schieberegister) betrifft.

Die höchste Frequenz ist für mich logisch: es kommen abwechselnd 0 und 
1, daher entspricht die der (halben?) Taktfrequenz (wenn man die 
Oberwellen des Rechtecks jetzt mal ausblendet)

Aber wie ist das mit der untersten Frequenz? Eine Sequenz von nur Nullen 
oder nur Einsen kann ja maximal eins weniger lang sein als die Anzahl 
der Schieberegister-Elemente.

Angenommen ich habe 23 Speicherelemente, und takte mit 65kHz. Dann kann 
doch nicht weniger als 65kHz/22 = 3kHz rauskommen... ich gehe aber davon 
aus, dass trotzdem tiefere Frequenzen entstehen. Aber wo kommen die her?

: Verschoben durch Admin
von Dergute W. (derguteweka)


Lesenswert?

Moin,

Bei 23 Speicherelementen koenntest du maximal 2^23-1 verschiedene 
Zustaende kriegen, also werden da Frequenzen mit f*N/(2^23-1) zu 
erwarten sein. Und ein bisschen DC, alldieweilen ja (je nach Bauart) die 
eine Kombi (alle 0 bzw. alle 1) nicht auftaucht.

Gruss
WK

von c-hater (Gast)


Lesenswert?

Michael R. schrieb:

> ich habe grad ein Verständnisproblem, was das angeblich "weiße Rauschen"
> eines LFSR (Linear rückgekoppeltes Schieberegister) betrifft.

Verständnisproblem? Eher: Denkfehler.

> Aber wie ist das mit der untersten Frequenz? Eine Sequenz von nur Nullen
> oder nur Einsen kann ja maximal eins weniger lang sein als die Anzahl
> der Schieberegister-Elemente.

Genau.

> ich gehe aber davon
> aus, dass trotzdem tiefere Frequenzen entstehen.

Das tun sie nicht. Das macht aber keinen Schlimmen. Keine reale 
Rauschquelle ist in der Lage, Frequenzen bis herunter zu Null zu 
erzeugen. f=0 ist eine Singularität. Man kann sich ihr beliebig weit 
nähern, aber man kann sie niemals erreichen, denn dazu würde man eine 
unendliche Zeit benötigen. Das sollte für jeden mit auch nur 
andeutungsweise wissenschaftlicher Bildung von vornherein klar sein...

Wenn man mit irgendwelchen realen Quellen bezüglich des "Weissen 
Rauschens" (oder auch irgendeiner anderen Färbung) hantiert, muss man 
natürlich immer ihre realen Einschränkungen berücksichtigen.

Das ist hier sehr einfach: rufe den Zufallsgenerator einfach niemals 
auf. dann hast du genau das, was bei f=0 zu erwarten ist. Und zwar schon 
heute und nicht erst in unendlich ferner Zukunft...

von Jochen F. (jamesy)


Lesenswert?

Mit einem guten Spektrumanalysator, wie etwa einem HP 3585A, lassen sich 
die einzelnen Anteile für die Teilfrequenzen ziemlich exakt extrahieren. 
Man könnte es auch in Matlab mit Fouriertransformation versuchen.

von c-hater (Gast)


Lesenswert?

Jochen F. schrieb:

> Mit einem guten Spektrumanalysator, wie etwa einem HP 3585A, lassen sich
> die einzelnen Anteile für die Teilfrequenzen ziemlich exakt extrahieren.
> Man könnte es auch in Matlab mit Fouriertransformation versuchen.

Und man könnte die Grenzen all dieser Werkzeuge berücksichtigen: In der 
Nähe von Singularitäten funktionieren sie schlicht nicht mehr...

Zu verstehen, wie weit man da rankommt, genau das gehört zur 
Beherrschung solcher Werkzeuge einfach dazu...

von Michael W. (Gast)


Lesenswert?

Dies sollte sich eigentlich theoretisch lösen lassen, denn:

Dergute W. schrieb:
> Bei 23 Speicherelementen koenntest du maximal 2^23-1 verschiedene
> Zustaende kriegen, also werden da Frequenzen mit f*N/(2^23-1) zu
> erwarten sein.

Bei einer Bandbreite von z.B. 1Hz bis 10MHz, was ich derzeit aufbauen 
möchte, wären nach der genannten Betrachung mindestens 10 Mio Zustände 
zu erzeugen und damit 24 bit. Ich habe einen 24 BIT LFSR laufen lassen 
und sehr eine sehr asymmetrische Verteilung des Spektrums. Ich gehe 
davon aus, dass man real ein sehr viel längeres Register und auch eine 
passende Zahl von Rückführungen benötigt, um das Spektrum gleichmäßig zu 
gestalten.

Siehe:
Beitrag "Welches LFSR für Weisses Rauschen?"

von Der Zahn der Zeit (🦷⏳) (Gast)


Lesenswert?

Michael R. schrieb:
> Eine Sequenz von nur Nullen
> oder nur Einsen kann ja maximal eins weniger lang sein als die Anzahl
> der Schieberegister-Elemente.
Richtig.

> Angenommen ich habe 23 Speicherelemente, und takte mit 65kHz. Dann kann
> doch nicht weniger als 65kHz/22 = 3kHz rauskommen...
Falsch. Das ist ja nur ein Sample, was aus maximal 22 gleichen Bits 
besteht, also die Spitzenamplitude (ein Pleonasmus?) des Signals.

Für eine tiefe Frequenz brauchst du aber viele Samples mit im Mittel(!) 
gleichem Vorzeichen. Das ist ganz etwas anderes. Die 2^23er-Sequenz 
wiederholt sich alle 2^23-1 Samples. Diese Dauer ist die Periodendauer 
der tiefsten Frequenz bzw. des Abstands der 2^22 Spektrallinien des 
Signals.

Die 2^22 aufeinander folgenden Samples, deren Mittelwert sich am meisten 
von den anderen 2^22 Samples unterscheidet, ergeben Betrag und Phase 
dieser tiefsten Frequenz.

von Chris (Gast)


Lesenswert?

I'm Prinzip hat man einen Glitsch wenn alles Einsen oder nuller 
ausgegeben wird welchen man hört oder bei dem Klartext übertragen wird. 
Bei Audio wird 32bit lsfr verwendet mit analoger Tiefpassfilterung. Um 
diesen Glitsch zu vermeiden wird abwechselnd ein 32bit und ein 22bit 
lsfr ausgegeben. Da dieses mischen ein rotes Tuch ist, tendiert man bei 
Satelliten ein langen lfsr zu verwenden und die Regionen mit alles 1 
oder null zu vermeiden, da die Transmission generell nicht so lange 
dauert und somit vermieden werden kann.

von Michael W. (Gast)


Lesenswert?

Der Zahn der Zeit (🦷⏳) schrieb:
>> Angenommen ich habe 23 Speicherelemente, und takte mit 65kHz. Dann kann
>> doch nicht weniger als 65kHz/22 = 3kHz rauskommen...
> Falsch. Das ist ja nur ein Sample, was aus maximal 22 gleichen Bits
> besteht, also die Spitzenamplitude (ein Pleonasmus?) des Signals.

Jetzt komme ich nicht mehr mit.

Auch wenn man weitere Samples hinzu nimmt und die parallel als Bits 
nutzt, bekommt man als tiefste Frequenz das Muster "permanent 0" und 
"permanent 1" bzw 50% high und 50% low.

Das ergibt für mich 2xf/N. Bei 65kHz und 23 Bit also etwa 3kHz.

von Egon D. (Gast)


Lesenswert?

Markus W. schrieb:

> Auch wenn man weitere Samples hinzu nimmt und die parallel
> als Bits nutzt, bekommt man als tiefste Frequenz das Muster
> "permanent 0" und "permanent 1" bzw 50% high und 50% low.

Nö.

Die tiefste Frequenz ist nicht die maximale LÄNGE der
konstanten 0- oder 1-Folgen, sondern der ABSTAND zweier
Wiederholungen derselben Folge, denn die Periodenlänge ist
definiert als die kleinste Verschiebung m, für die für alle
k gilt: f(k) = f(k+m).

Du vergisst, dass bei einem n-Bit-Schieberegister ALLE
(2^n)-1 Werte genau einmal benutzt werden müssen; das ist
aus mathematischen Gründen so. Der Zyklus KANN daher
nicht kürzer sein.

von chris_ (Gast)


Lesenswert?

Die Länge der Folge des LFSR gibt die untere Grenzfrequenz.

fGrenzeUnten=fs/N

Das merkt man ganz praktisch mit dem FY6800 Frequenzgenerator: Der hat 
nämlich nur 8182 Stützpunkte. Diese wiederholen sich immer und sind im 
Frequenzspektrum dann als unterste Frequenz sichtbar.

von foobar (Gast)


Lesenswert?

> Aber wie ist das mit der untersten Frequenz? Eine Sequenz von nur Nullen
> oder nur Einsen kann ja maximal eins weniger lang sein als die Anzahl
> der Schieberegister-Elemente.

Ist doch egal.  Dieses Sequenz (wie auch alle anderen Sequenzen) 
wiederholt sich schön periodisch alle 2^N-1 Takte - das ist die 
niedrigste Frequenz.  Du darfst nicht vergessen, dass viele Frequenzen 
zusammengemischt sind.  Eine Folge von vielen Einern/Nullern sagt nur, 
dass an der Stelle wenig hochfrequente Anteile vorhanden sind.  Kürzere 
Sequenzen kommen 2, 4, 8, ... mal innerhalb des Gesamtzykluses (an 
(pseudo)zufälligen Positionen) vor.  Kannst dir ja mal überlegen, was 
die für ein Spektrum erzeugen.

von Pandur S. (jetztnicht)


Lesenswert?

Und was soll weisses Rauschen ? Ein akademischer Furz. Was kann man 
damit machen ?
Die Eigenschaft von LFSR Signalen sind ganz anders...
1) repetitiv & vorhersagbar
2) es gibt mehrere Folgen, welche sich unterscheiden lassen

Man kann trotzdem Uebertragungsfunktionen messen.

von c-hater (Gast)


Lesenswert?

chris_ schrieb:

> fGrenzeUnten=fs/N

Ah, immerhin einer, der denken kann.

Und die Konsequenz ist: Erst die Extrapolation von N->∞ würde ein 
Spektrum liefern können, was wirklich bis 0 runter geht. Und natürlich: 
es würde das erst in unendlich ferner Zukunft liefern können.

von Michael W. (Gast)


Lesenswert?

Pandur S. schrieb:
> Und was soll weisses Rauschen ? Ein akademischer Furz. Was kann man
> damit machen ?
Die sind sehr einfach zu erzeugen. Und sie sind schnell. Bei vielen 
anderen Berechnungen braucht es mehr Aufwand.

c-hater schrieb:
> Und die Konsequenz ist: Erst die Extrapolation von N->∞ würde ein
> Spektrum liefern können, was wirklich bis 0 runter geht. Und natürlich:
> es würde das erst in unendlich ferner Zukunft liefern können.
Auch eine analoge Frequenz nach 0 würde man nur in unendlich langen 
Zeiträumen beobachten können. Da sehe ich keinen Unterschied. Diese ewig 
lange Welle fängt ja (wie die analoge) direkt mit dem ersten Bit an.

von Hochfrequenz-Theoretiker (Gast)


Lesenswert?

c-hater schrieb:
> Ah, immerhin einer, der denken kann.
Ein Satz, den man sich sparen sollte.

> Erst die Extrapolation von N->∞ würde ein
> Spektrum liefern können, was wirklich bis 0 runter geht. Und natürlich:
> es würde das erst in unendlich ferner Zukunft liefern können.

Das ist sehr theoratisch, weil dies kein Signal mehr darstellt und damit 
sich die Situation ergibt, dass alle Betrachtungen letztlich endlich 
sind, weil jedes AC-System eine untere GF haben MUSS.

von Ach Nüchterner haben Schnappsideen (Gast)


Lesenswert?

Michael R. schrieb:
> Aber wo kommen die her?

Vielleciht aus den Rechteckpulsen die ein LSFR ausspuckt?!

Und mal kurz nachgedacht was f=0 bedeudet - war da nicht was mit 
DC-Offset aka Gleichanteil?!?

von Michael W. (Gast)


Lesenswert?

Ach Nüchterner haben Schnappsideen schrieb:
> Und mal kurz nachgedacht was f=0 bedeudet - war da nicht was mit
> DC-Offset aka Gleichanteil?!?

Ja, und?

Wer benuzt den ein LFSR mit f=0? Wenn das feedback nicht verwendet wird, 
weil real nicht getaktet wird, wirkt keine Rückkoplung und es ist eine 
kombinatorische Schaltung mit einem statischen Pegel.

von Mark (Gast)


Angehängte Dateien:

Lesenswert?

foobar schrieb:
> Kannst dir ja mal überlegen, was
> die für ein Spektrum erzeugen.
Laut einer Publikation von TI haben die ein bogenförmiges Spektrum, wie 
das eines CIC-Filters, allerdings kann ich es nicht vollständig 
erklären. Es gab hier im Forum auch ein Beitragsstrang mit dem Thema, wo 
es Plots gab, finde ich aber spontan nicht.

Meine Frage wäre, ob sich das verbessern lässt, wenn man mehrere 
Rauschquellen versetzt überlagert?

von Gerhard H. (ghf)


Lesenswert?

Es ist jetzt schon nach Mitternacht hier und ich werde mich jetzt
nicht mehr durch den ganzen thread hirnen, aber es gibt ein
tolles Buch von Robert Dixon mit "applications to commercial systems"
im Titel. Da sind auch viele Spektren drinnen, und es wird diskutiert:
Mein spectrum sieht sooo aus - was hab' ich falsch gemacht?
Die Photos im Jim Williams-Stil mit alten TEKs. :-)
Hat mir durchaus geholfen.

Das mit dem Addieren von mehreren Folgen ist grundsätzlich gut.
Auch wenn das Spektrum einer Folge recht gleichmäßig aussieht, so
sind die aufeinanderfolgenden Samples doch ziemlich miteinander
korreliert; meistens verschieben sich ja nur ein paar Bits in eine
vorhersagbare Richtung.

Gerhard

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Gerhard H. schrieb:
> sind die aufeinanderfolgenden Samples doch ziemlich miteinander
> korreliert; meistens verschieben sich ja nur ein paar Bits in eine
> vorhersagbare Richtung.
Wenn man alle bits aus einem Schieberegister entnimmt, ja. Man kann auch 
unterschiedliche LFSRs laufen lassen und jedem Bit ein eigenes 
verpassen. Das kommt dann ansatzweise schon einer (gewichteten) Addition 
von Rauschspektren gleich.

Mark schrieb:
> Meine Frage wäre, ob sich das verbessern lässt, wenn man mehrere
> Rauschquellen versetzt überlagert?
Sicher, man muss aber wie angedeutet aufpassen, welche Spektren die 
haben und in welchem Rhythmus die Frequenzen auftauchen. Für 
nichtdeterministisches Rauschen hilft dann nur messen.

von Purzel H. (hacky)


Lesenswert?

Verbessern ? In welchem Sinne ? Die LFSR Folgen sind doch schon gut. Was 
will man mehr ? Weisses Rauschen ? Was will man damit ? Die Anwendung 
von LFSR ist explizit die Wiederholbarkeit.

Allenfalls sind die Vorteile einer deterministisch repetierten Folge aus 
einem LFSR nicht klar. Es geht gar nicht darum, ein weisses Rauschen 
haben zu wollen.

von Purzel H. (hacky)


Lesenswert?

Was kann man sinnvolles mit einer LFSR Folge anstellen ? zB ein Signal 
damit modulieren. Dabei wird das Spektrum des Signales ueber das 
Spektrum des LFSR verteilt. Allenfalls sogar unter den Rausch 
Untergrund. Beim Empfang braucht man nur wieder mit derselben Folge 
demodulieren, und kriegt so das Signal wieder aus dem Rauschen.
Sofern man N Folgen mit minimaler Kreuzkorrelation hat, kann man N 
Kanaele gleichzeitig in der selben Bandbreite uebertragen und wieder 
demodulieren.

Ich werf jetzt mal noch in die Runde, dass die Mobiltelephone am selben 
Mast auf derselben Frequenz durch verschiedene Folgen unterschieden 
werden koennen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Purzel H. schrieb:
> Verbessern ? In welchem Sinne ? Die LFSR Folgen sind doch schon gut.
Sie decken aber nicht jede Frequenz ab, sondern haben Lücken. Und der 
Amplitudenverlauf ist nicht konstant. Mit überlagerten Folgen lassen 
sich neutralere Spektren erzeugen. Einfachster Fall:

12-Kanal-TOS mit entsprechender Vervielfachung als Takt für eigene 
LFSR-Ketten und amplitudenrichtig addiert ergeben ein quasi perfektes 
Rosa Rauschen. In einer Anwendung habe ich einen auf 1/8-Ton genau -> 48 
Kanäle. Umschaltbar auf 1:1 deckt er ein komplettes Keyboard ab.

von Purzel H. (hacky)


Lesenswert?

Aeh, ja, beeindruckend.
Das ist nicht ganz der Standard Anwendungsfall von LFSR. LFSR sind 
Linear Feedback Shift Register, und bilden Polynome ab. Oft arbeitet man 
mit Maximum Length LFSR, bei welchen die Kreuzkorrelation minimal ist.
Wenn man mit der Clockfrequenz hoch geht geht die obere Granze des 
Spektrums hoch, und mit zunehmender Laenge der Register geht die untere 
Frequenz runter. Nun kann man sich auf den mittleren Teil des Spektrums 
fokusieren, welcher flacher ist, und den durch ein IIR, oder FIR lassen 
und die Anteile ausserhalb abschneiden.

von J. S. (engineer) Benutzerseite


Lesenswert?

Purzel H. schrieb:
> Aeh, ja, beeindruckend.
Ist das Sarkasmus, der mir da entgegen "purzelt"?

> Das ist nicht ganz der Standard Anwendungsfall von LFSR.
Deshalb habe ich es erwähnt.

> LFSR sind Linear Feedback Shift Register und bilden Polynome ab.
Der Ingenieur würde es umgekehrt schreiben: "Polynome bilden das 
Verhalten der LFSR ab". Was will ich damit sagen: Ausgehend von der 
Elektronik, HABEN wir die LFSR in realer Digitaltechnik in Massen 
vorhanden und fragen uns, was wir damit anstellen können. Die einfache 
und kostensparende Erstellung von Rauschgeneratoren ist ein 
Anwendungsfall.

> Oft arbeitet man
> mit Maximum Length LFSR, bei welchen die Kreuzkorrelation minimal ist.
Genau und diese taugen für ganz bestimmte Anwendungsfälle. Das von mir 
angerissene Thema "Audio" ist aber ein spezieller Anwendungsfall, wo das 
einfache LSFR nicht so ganz ausreicht. Auch nicht wenn man es 
bandbassfiltert:

> Wenn man mit der Clockfrequenz hoch geht geht die obere Granze des
> Spektrums hoch, und mit zunehmender Laenge der Register geht die untere
> Frequenz runter. Nun kann man sich auf den mittleren Teil des Spektrums
> fokusieren, welcher flacher ist
... um sich etwas zurecht zu biegen, ja. Das ist aber technisch und 
musikalisch noch lange nicht gut genug und es ist einfacher, die 
Tongeneratoren nicht mit Filtern zu verarbeiten, was aufwändig wird, 
wenn es gut sein soll, sondern mehrere zu bauen und zu überlagern.

Und mit Hinweis auf den Eingangssatz füge ich noch hinzu:

Wenn man nicht von der vorhandenen Elektronik startet, sondern der 
Mathematik, also die Polynome oder andere Algos umsetzen will und in der 
Wahl der Umsetzung frei ist, landet man nicht notwendigerweise bei LSFR, 
wenngleich manche das ja tun und just bei meiner Lösung landen:
http://stenzel.waldorfmusic.de/

von Georg A. (georga)


Lesenswert?

Purzel H. schrieb:
> Ich werf jetzt mal noch in die Runde, dass die Mobiltelephone am selben
> Mast auf derselben Frequenz durch verschiedene Folgen unterschieden
> werden koennen.

Das war doch nur bei CDMA (UMTS) so. Seit LTE gibts nur noch OFDM.

von Dogbert (Gast)


Lesenswert?

Jürgen S. schrieb:
> in der Wahl der Umsetzung frei ist, landet man nicht
> notwendigerweise bei LSFR, wenngleich manche das ja tun
> http://stenzel.waldorfmusic.de/
Das ist aber doch ein perfektes Beispiel, dass LFSR für Audio taugen, 
wenn sie gefiltert werden, oder nicht?

von J. S. (engineer) Benutzerseite


Lesenswert?

Dogbert schrieb:
> Das ist aber doch ein perfektes Beispiel, dass LFSR für Audio taugen,
> wenn sie gefiltert werden, oder nicht?
Ja und Nein, im erwähnten Beispiel werden ja mehrere parallele 
LFSR-Funktionen genutzt, die jeweils einzeln gefiltert und dann gemischt 
werden, weil eine Stufe aufgrund des Frequenzgangs eben nicht taugt.

Das kann man noch feiner aufgelöst machen, z.B. im Terzabstand statt 
Oktaven.

von Hp M. (nachtmix)


Lesenswert?

Michael R. schrieb:
> Angenommen ich habe 23 Speicherelemente, und takte mit 65kHz. Dann kann
> doch nicht weniger als 65kHz/22 = 3kHz rauskommen...

Nein, die Sequenz wiederholt sich erst nach 2^23 Takten, also etwa 8 
Millionen.
Zum Verschlüsseln sind solche Sequenzen trotzdem nicht tauglich, weil 
man nur zwei Durchgänge des Schieberegisters braucht, also 46 Takte, 
dann hat man den Aufbau des SR und kann alles weitere vorhersagen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Hp M. schrieb:
> Zum Verschlüsseln sind solche Sequenzen trotzdem nicht tauglich

.. und als weisses Rauschen, wie es der TO möchte, in der Regel auch 
nicht, weil das Spektrum "da unten" extrem löchrig ist. Am Besten schaut 
man sich mal das Spektrum eines kurzen LFSR im Analyzer an um ein Gefühl 
zu bekommen, wie das aussieht und sich bei höheren Auflösungen 
entwickelt. Die hier im Thread dargestellten Überlagerungen und 
Filterungen, wie sie auch hier vorgeschlagen werden 
Beitrag "Re: Denkfehler-Analyse: Spektrum eines LFSR", um das Spektrum zu 
tunen, ergeben sind dann mehr oder weniger zwangsläufig.

Es ist halt immer eine Frage der Ansprüche: Ein weisses Rauschen, mit 
dem man im hochfrequenten Bereich einer Signalkette für ein optimales 
Runden dithern kann, ist viel einfacher zu erzeugen, als ein nahezu 
perfektes Rauschen fürs Audio, das man später vielleicht noch noch mit 
EQs bearbeiten kann und das dann ein so gleichmäßiges Verhalten abgibt, 
dass man es als Tongenerator nutzen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.