Hallo, hat hier jemand vielleicht einen Beispielcode in C für einen Scrambler? Ich möchte gerne eine ungleichmässige Verteilung von Nullen und Einsen eines Datenstreams mittels Scrambler ausgleichen lg
Hallo, es soll nichts verschlüsselt werden, ich möchte nur eine gleichmässige Verteilung der Nullen und Einsen haben.
jimbo schrieb: > Hallo, > es soll nichts verschlüsselt werden, ich möchte nur eine gleichmässige > Verteilung der Nullen und Einsen haben. Mir ist jetzt aber nicht wirklich klar, wie das bei beliebigen Daten gehen soll. Es sei denn du teilst jedes Byte in 2 Nibbles und bläst jedes Nibble für sich wieder auf 8 Bit auf indem du nach jedem 0 Bit ein 1 Bit einfügst und nach jedem 1 Bit im Original ein 0 Bit. Das garantiert dir gleich viele 1-en wie 0-en, bläst aber das zu übertragende Datenvolumen auf das doppelte auf. Die Implementierung wäre allerdings trivial.
Das hab ich nicht gesagt, ich möchte sowas wie eine manchestercodierung haben und dachte das würde mit einem scrambler gehen
Dann nimm halt Manchester-Codierung... verdoppelt deine Bit-Anzahl. Wenn's nur so auf ungefähres Ausgleichen der 1er und 0er ankommt, eignet sich auch eine Komprimierung. Dann werdens sogar weniger Bits zum übertragen.
jimbo schrieb: > Das hab ich nicht gesagt, > ich möchte sowas wie eine manchestercodierung haben Na dann mach sie doch. Das was ich beschrieben habe, macht genau eine Manchestercodierung
Vielen Dank Karl Heinz und Ernst für die Infos... Habt ihr vielleicht ein bisschen Beispielcode für mich? lg
jimbo schrieb: > Vielen Dank Karl Heinz und Ernst für die Infos... > Habt ihr vielleicht ein bisschen Beispielcode für mich? Ach komm. Das ist doch trivial. Ein Byte in 2 Nibbles aufteilen. Mit jedem Nibble in eine Tabelle gehen und sich daraus das gecodede Byte holen. Gibt ja nur 16 Möglichkeiten. Beide Bytes (für jedes Nibble eines) in die weitere Verarbeitung einschleusen. Fertig. Wenn das ganze auf einem Pin rausgetaktet werden soll, gehts sogar noch einfacher. Denn dort muss es sowieso eine Bitzerlegung geben und die ergänzt man: Wurde ein 1 Bit ausgegeben, dann schiebt man ein 0 Bit hinterher, wurde ein 0 Bit ausgegen, schiebt man ein 1 Bit hinterher. Ebenfalls fertig.
ok und vielen dank.... dann muss ich mir mal überlegen wie ich das schreibe lg
jimbo schrieb: > ok und vielen dank.... > dann muss ich mir mal überlegen wie ich das schreibe Wird wohl das beste sein erst mal ein C-Buch zu kaufen und zumindest die ersten paar Kapitel ruchzumachen, wenn du da groß überlegen musst.
Vielleicht hilft dir das Stichwort 4B5B Code bzw 8b10b code weiter. -> Google
@ Karl heinz Buchegger Buch... Immer das böse Wort. Kann man das nicht weniger abschreckend formulieren?
Eine andere Moeglichkeit ist mit einer Pseudozufallsfolge zu multipliziern. Sowas macht man mit rueckgekoppelten Schieberegistern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.