Ergebnis 1 bis 5 von 5

Thema: POCSAG Protokoll Prüfsumme bilden

  1. #1
    Registriert seit
    07.01.2004
    Beiträge
    199

    POCSAG Protokoll Prüfsumme bilden

    Moin zusammen,

    ich schreibe gerade an einer Software für AVR-Microkontroller in C, mit der POCSAG-Signale erzeug, also encodiert werden können.
    Ich habe mich bisher an diese Protokollbeschreibung gehalten:
    http://www.mikrocontroller.net/attac...POCSAG_eng.pdf

    Nun zu meiner Frage an euch bzw. zu meinem Problem:
    Aktuell schreibe ich die Funktion, die die Codewörter generiert, was mir auf den ersten Blick nach einer 45min-Aufgabe aussah. Für Bit 1-21 ist das auch alles kein Problem, allerdings Bit 22-31!
    Mir fehlen mathematische Kenntnisse um die Prüfsummenberechnung anhand der gelieferten Informationen nachzuvollziehen. Kann mich hier jemand unterstützen und mir das anhand von 2-3 Beispielcodewörtern mal auf einfache Weise erklären? Das Idle-CW wäre schonmal ein Anfang.
    Mit Onkel google habe ich nach Stunden leider nur ein einziges Beispiel gefunden, was ich ebenfalls nicht nachvollziehen konnte.

  2. #2
    Registriert seit
    06.12.2008
    Beiträge
    990
    Willst du das aus Ehrgeiz selber machen sonst könnte ich dir was komplett fertiges empfehlen was allerdings original mal für einen AT90 2313 geschrieben wurde.

  3. #3
    Registriert seit
    07.01.2004
    Beiträge
    199
    Ehrgeiz ist dabei eher relativ. Wenns was fertiges gibt würde ich mir da erstmal die Prüfsummenberechnung anschauen und gegebenen Falls übernehmen. Aber verstehen wie das funktioniert möchte ich dann schon.
    Ich hätte am Anfang auch ne fertige C-Lib benutzt, wenn ich einge gefunden hätte.
    Nachdem ich auch durch intensives Suchen nur Code in Assembler gefunden hatte, dachte ich mir was soll's - so schlimm sieht das alles nicht aus, kannste das auch selbst schreiben.
    Der Meinung bin ich eigentlich auch immernoch. Das Protokoll ansich ist ja recht einfach aufgebaut und bis auf die Berechnung des 31:21 BCH stellen sich mir da momentan keine großen Schwierigkeiten dar.

    Also Interesse an dem Code für den AT90 habe ich erstmal auf jeden Fall, erstrecht wenn es C-Code sein sollte.

  4. #4
    Registriert seit
    07.01.2004
    Beiträge
    199
    Um das Ganze mal fortzuführen.... ich habe mich mal etwas intensiver in die Materie eingelesen soweit mein Verständnis bei mir war.
    Da ich erstmal klein anfangen wollte, habe ich mir bei Wikipedia die Beispiele reingezogen und versucht die nachzuvollziehen, woran ich bisher kläglich gescheitert bin. Vielleicht kann mir einer von euch einfach mal auf die Sprünge helfen: http://de.wikipedia.org/wiki/BCH-Cod...tionsverfahren (ich weiss, das ich für POCSAG das Divisionsverfahren brauche, wollte aber vorher mal das Multiplikationsverfahren rechnen).

    Nun ist dort gegeben das Quellkodewort a* = 1001011, Generatorpolynom g = 111010001 und der Typ des BCH-Codes mit (15,7). Soweit leuchtet mir das alles total ein.
    Aber nun wird das kodierte Kanalkodewort berechnet mit a = a* x g = 1001011 x 111010001 = 111100010111011 - und da ists bei mir erstmal vorbei mit der Logik!
    Ich nehme mir den Windows Taschenrechner und stelle den auf binär - oder auch ein Blatt Papier und einen Bleistift und multipliziere a* mit g und bekomme 1000100000111011 dabei raus. Kann mir einer erklären wo da bei mir das Problem liegt?

    Wenn ich mir dann mal das Divisionsverfahren ansehe, was ich für POCSAG bräuchte, kann ich das auch nicht nachvollziehen (wobei ich mir da natürlich noch unsicherer bin ob ich das richtig versuche zu rechnen).
    Gegeben ist a = a* x x(k) - (a* x x(k))mod g mit den gleichen Zahlen wie vorher.
    Wenn ich anfange die Klammer aufzulösen, bekomme ich 100101100000000 raus, was wiederum mit modulo(111010001) bei mir 10000111 ergibt.
    Subtrahiere ich das wieder von 100101100000000, erhalte ich 100101001111001 als codiertes Kodewort, was ebenfalls nicht mit dem Beispiel übereinpasst.

    So langsam zweifle ich wirklich an mir selbst. Leider habe ich noch keine wirklich hübsche Beschreibung zur Berechnung gefunden.
    Also falls jemand noch gutes Infomaterial oder einen heissen Tipp zum Fehler in meiner Berechnung hat - gerne her damit.

  5. #5
    Registriert seit
    05.01.2004
    Beiträge
    757
    Hallo,

    ich hoffe ich kann dir heute Abend meinen Code zuschicken...

    Aber vielleicht hilft dir solange diese Seite hier weiter: http://www.qsl.net/db0avh/code.html

    Darin war das bilden der Checksume ganz gut erklärt...

    Bis dann friend112
    Wer suchet, der findet!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •