Abramson/BCH-Code |
16.07.2012, 11:15 | Asna | Auf diesen Beitrag antworten » | ||
Abramson/BCH-Code Die einzige Lösung die ich im Internet finden konnte ist leider so unhandlich, dass ich mir nicht vorstellen kann, dass es die "einzig wahre Lösung ist" Aufgabe: Es wird ein Kodierer benutzt, der mit g(x) einen zykl. ABRAMSON-Code erzeugt: Prüfen Sie folgende empfangene Binärfolgen, ob diese korrekt übertragen worden sind: zb: Die Vorgehensweise die ich im Netz finden konnte, ist: (1) (2) [fehlerfrei] (2) [fehler] Lösung: |
||||
16.07.2012, 12:33 | Captain Kirk | Auf diesen Beitrag antworten » | ||
Hallo, vorab: ich kenne Abramson-Codes nicht im Speziellen, aber das von dir angesprochene Verfahren funktioniert bei allen zyklischen Codes. (1) ist die Bestimmung des Kontrollpolynoms h. (Definiert über ) Wie mit Generator/Kontrollmatrizen ist ein Vektor x ein Codewort (richtig codiert) falls Hx=0 (H Kontrollmatrix), analog hier: (2) Man kann das Ganze auch wieder in Matrizen übersetzen, aber in dieser Form gent's deutlich einfacher.
Es gibt sehr selten "einzig wahre Lösungen", sehe aber nicht wirllich vorstellen was hier so unhandlich ist. Die Multplikation der Vektoren (es ist eigentlich Polynommultiplikation) ist meines Erachtens einfacher als Matrizenmultiplikation, hier wäre g z.B. eine 15x10-Matrix. Damit zu rechnen fände ich wirklich unangenehm. P.S. Im Körper mit zwei Elementen kann und sollte man immer + statt - schreiben. |
||||
16.07.2012, 12:42 | Asna | Auf diesen Beitrag antworten » | ||
Hallo, Danke erstmal für die Antwort! Das ist schon mal beruhigend zu hören, dass die Vorgehensweise so passt. [Bisher hatte die Kontrollgleichung bisher nur als Kontrollmatrix gesehen.] [ABRAMSON ist ja im Grunde nur ein Spezialfall von BCH- bzw zyklischen Kodes.] Das "anstrengende" hier ist wie du schon vermutet hast: Matrixmultiplikation mit so vielen Stellen und die PolyDivi, wobei ich die noch i.O. finde. Gibt es einen Trick für die Matrixmultipl. im Körper GF2 den Taschenrechner (nichtprogrammierbar) zu Hilfe zu nehmen? Bei 10100000000000000000011 * 1110110001 kommt halt dann eine gekürzte Variante ala raus, also kann man hierraus nur wenige Stellen lesen. |
||||
16.07.2012, 13:29 | Captain Kirk | Auf diesen Beitrag antworten » | ||
-Keine Ahnung was du da eingetippt hast. Zehnerpotenzen haben hier aber gar nichts zu suchen. -Der erste Vektor ist deutlich zu lang, da kann man jeden Vektor auf höchsten eine Länge von 15 kürzen. Solange eine der beiden zu multiplizierenden Zahlen weniger als 10 Einser hat kann man einen normalen Taschenrechner der im standardmäßigen dekadischen System arbeitet missbrauchen: Bsp. 101*111=11211 Unser Ergebnis (jede Ziffer mod 2): 11011 Warum geht das? Betrachte die 10 als X: 101=1*10²+1=X²+1 Wenn aber beide zu multiplizierende Zahlen mehr als 10 Ziffern hat kann es bei der Mult. vorkommen, dass ein Koeffizient 10 oder größer wird, was im dekadischen System zu Übertragen führt, nicht aber bei der Polynommult. Ansonsten bleibt nur die aus der Grundschule bekannte schriftliche Multiplikation, nur in diesem fall deutlich einfacher. |
||||
16.07.2012, 13:48 | Asna | Auf diesen Beitrag antworten » | ||
Also im normalen COMP Modus erhalte ich diese gekürzte Variante: aber genauer bekomm ich das aus dem Rechner nicht heraus =( Ich habe gerade noch einen BINÄREN Modus gefunden: SETUP -> BASE_N -> grüne BIN Taste Jedoch kann ich da nur Multiplikationen bis 1111111 x 111111 [7x6 Stelllen] rechnen. *EDIT* Und ich sehe gerade, der rechnet was ganz anderes -> Also wäre ich einfach nur happy wenn mir mein TR bei 11011001010*1110100101 sowas wie 12223313332003441044 oder ähnlich herausbringt, damit ich 2, 3, 4 mit 0, 1, 0 ersetzen kann. |
||||
16.07.2012, 14:13 | Captain Kirk | Auf diesen Beitrag antworten » | ||
Bei weiterer Handhabung von TR steige ich aus (ich hab selber nur einen fast 20 Jahre alten) Im Zweifelsfall: Schriftliches Multiplizieren. |
||||
Anzeige | ||||
|
||||
16.07.2012, 14:40 | Asna | Auf diesen Beitrag antworten » | ||
Danke, nachdem ich das ganze noch 3x durchgerechnet habe, habe ich den Fehler gefunden, hatte bei h(x) eine 0 mit 1 vertauscht :-( Ich freu mich scho auf die Klausur ;D Danke Kirk für die Hilfe !! *closed* |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|