suche Lookup Tabelle (asm) weises rauschen

Gast #1198923
Lesenswert?

Hallo egberto

muste erstmal andere stoßdämpfer in mein auto einbauen.
Tüv meinte die alten seien undicht.

Zurück zum thema
Bauen will ich ein DDS Generator mit dem AD9835(siehe ELV).
Nur bei all den DDS s die es da gibt fehlt ein zusätzlicher interner 
Generator für die AM Modulation.
Meine idee war diese mit einem ATmega48 (klein,preiswert,20MHZ)zur 
erzeuegen.
Sinus,Dreieck,Sägezahn vorwärts & rückwärts läuft soweit.Rechteck mit 
einstellbaren puls/pausen verhältnis kommt noch.
Vll nen Timer vom ATMega48 nehmen oder so.

Wozu das rauschen?
Ganz einfach ich möchte in nächster zeit mich mit PSK modulation 
beschätigen
und dabei die auswirkungen des rauschens auf den empfänger testen.

Ich hätte noch ca 40% im AT48 frei für das rauschen als lookup.
Theoretiker bin ich auch nicht aber ich denk mal der pseudo generator 
wird zufälliger sein als eine 8bit lookup tabelle mit 256 werten
#1198940
Lesenswert?

Im Attachment 2 LFSRs für WinAVG GCC. Der eine ist ein 32Bit LFSR mit 
einstellbarem Polynom. Der andere ist ein SG-LFSR mit einstellbaren 
Polynomen  und hat eine garantiert maximale Periode von 2^63-2 wenn man 
als Polynome diejenigen des Includes benutzt (Liste aus 1000 nicht 
reduzierbaren Polynomen). Mit 2^63-2 Bits Periode hast du dein 
technisches weißes Rauschen.

Im Grunde basieren beide Implementierungen auf einander. Zu Fuß könnte 
man den LSFR im Ordner SG-LFSR auch aus dem im Ordner LFSR bauen. Sie 
basieren beide auf 32Bit.

Lookup Tabelle ist also unnötig und sie wäre im Vergleich riesig.

Gruß hagen
Angehängte Dateien:
#1199312
Lesenswert?

Ist ein LCG und der hat wesentlich schlechtere statistische 
EIgenschaften, gerade wenn es um weißes Rauschen geht.

Wenn du einen LCG nimmst und dessen Bit Output in eine Monochrome Bitmap 
umwandelst und dann die Zeilen pixelweise zueinander verschiebst wirst 
du irgendwann ein schönes wiederkehrendes Muster erkennnen. Das wirst du 
mit LFSRs nicht finden.

Gruß Hagen
Moderator (Firma: Titel) Persönliche Seite #1199671
Lesenswert?

> Output in eine Monochrome Bitmap umwandelst und dann die Zeilen
> pixelweise zueinander verschiebst wirst du irgendwann ein schönes
> wiederkehrendes Muster erkennnen. Das wirst du mit LFSRs nicht finden.
Diese Behauptung finde ich gewagt.
Wenn du z.B. schlechte/ungeeignete Taps beim LFSR hast, nutzt du nur 
einen kleinen Teil der möglichen Kombinationen aus. Und ein zu kurzes 
LFSR wird dir genausolche Muster wie ein zu schmaler LCG bescheren.
#1199716
Lesenswert?

Ich beziehe mich auf LCG nd LFSRs mit gleicher und maximaler Periode. 
Dh. bei den LFSRs sind es immer MLS = Maximum Length Sequence und somit 
math. schon korrekt gewählt. Das bei einem LCG und/oder LFSR mit sehr 
kurzer Periode dieses Verhalten bei beiden auftritt ist klar es tritt 
aber bei LCGs auch bei längen Perioden auf. Deshalb gelten ja LCGs als 
statistisch betrachtet nicht als die bessere Wahl.

Gruß hagen
#1199719
Lesenswert?

>@Hagen was hast du mit LFSRs schon gemacht?

Einiges, sie laufen dir ja auch überall über den Weg. Im 
kryptographischen Sinne habe ich mit ihnen am meisten beschäftigt sowohl 
in der Theorie und Praxis. Zb. eben die BasicCards, programmierbare 
Chipkarten benutzten solche LFSRs. Damals ging es darum zu beweisen das 
deren Benutzung zum Schutz der BasicCard vor "illegaler" Benutzung nicht 
ausreichend ist. Kurz: ich habe den Updateschutz der BasicCards v3.x 
geknackt und konnte so die eingebauten Sperren gegen 
seblstmodifizierenden Code aushebeln, eg. jeden beliebigen Maschiencode 
über die BasicCard Software einspielen.
Parallel dazu habe ich das DEC = Delphi Encryption Compendium 
geschrieben, bei dem es auch in kleinen Teilen um LFSRs ging. 
Hauptsächlich "spare LFSRs" mit sehr großen Perioden von 2^128-1 bis 
2^2038-1 Bits.
Naja, und ansonsten trifft man ja auch in vielen anderen Breichen auf 
GF(x) Arithmetik zb. eben CRCs oder Elliptische Kurven Kryptographie in 
GF(m^n) auf MCUs. Ist letzendlich immer die gleiche Mathematik dahinter.
Im Hobby habe ich diese LFSRs auf allen AVR Projekten benutzt die einen 
RNG brauchten, siehe hier in der CodeLib meine Nokia6100 GCLD oder das 
Glühwürmchen Projekt.

Du wählst einfach eines der 32Bit Polynome aus LFSR.inc und schon ist 
die maximale Periode mathematisch garantiert. Falls du noch mehr solcher 
Polynome brauchst so könnte ich den Code auf meiner HD raussuchen und 
weitere berechnen. Ürbigens der Einwand von Lothar ist berechtigt unter 
der Annahme das man eben keine nicht reduzierbaren Polynome für LFSRs 
benutzt, aber das ist eben bei meinen Aussagen nicht der Fall. Alle 
Polynome in LFSR.inc sind nicht reduzierbare Polynome und erzeugen als 
LFSRs MLS. Die effiziente Berechnung solcher Polynome ist ja das worum 
es letzendlich ging bei meiner Arbeit. Und wenn ich LFSRs meine dann 
immer die mit maximaler Länge.

Gruß Hagen
#1199720
Lesenswert?

@Lothar:

ürbigens diese Muster der LCGs sind nicht 1 zu 1 sich wiederholende 
Muster, logisch dann wäre es kein LCG mit maximaler Periode. Aber es 
sind definitiv leicht erkennbare und zyklische Muster die man so bei 
LFSRs mit maximaler Periode garantiert nicht finden wird. Konkret ging 
es um 32Bit LFSRs und LCGs bei meinen Untersuchungen. Die Bitmap größe 
schwankte von 512x512 bis 1024x1024 Pixel, also nur ein kleiner 
Ausschnitt des Bit Stromes dieser RNGs.

Gruß Hagen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren