Tongenerator / POCSAG Encoder

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von FormFollowsFunction.

    Tongenerator / POCSAG Encoder

    Einen wunderschönen guten Tag an die Community.

    Aktuell bin ich dabei einen POCSAG Encoder für meinen Pager zu schreiben, scheitere aber leider an der Umsetzung der Tongenerierung. Ich habe bereits viel gegoogelt sowie andere Beiträge in diesem Forum gelesen, komme aber dennoch leider zu keinem Ergebnis. Unteranderem habe ich es mit Code:

    VB.NET-Quellcode

    1. Console.Beep(_Frequenz, _Dauer)

    ausprobiert, doch leider gehen da bei der hohen Erzeugungsgeschwindigeit sehr viele Töne unter.

    Kurz für die, die es nicht wissen: "Radio-paging code No. 1" (Umgangssprachlich POCSAG -> Post Office Code Standard Advisory Group) ist ein Funkrufprotokoll was heute oft bei der Alarmierung jeglicher Behörden und Organisationen mit Sicherheitsaufgaben (BOS) verwendet wird. Dabei handelt es sich um einen langen Binärcode (0100101101...), der mittels eines hohen Ton (=0) und einen tiefen Ton (=1) übertragen wird. Die geschieht meist mit einer Übertragungsrate von 512,1200 oder 2400 Baud (Zeichen pro Sekunde). Und genau da liegt mein Problem.

    Ich habe gelesen, dass der Ton über die Soundkarte generiert werden muss, habe aber dennoch keinen Lösungsweg für dessen Umsetzung gefunden. Mir ist bewusst, dass es bereits ein Programm dafür gibt (soRFmon), dieses ist allerdings kostenpflichtig und bietet trotzdem nur einen eingeschränkten Anwendungsbereich. Es gib zwar eine kostenlose Demoversion, in dieser kann allerdings kein Wunschtext eingegeben sowie eine andere Baudrate ausgewählt werden.

    Ich würde mich freuen, wenn sich ein paar Leute finden, die mir bei diesem Projekt etwas behilflich sein könnten.
    LG ^^
    @STGW Willkommen im Forum. :thumbup:
    Ich hoffe mal, dass hier kein Weihnachtsmann kommt und Dir den fertigen Code schenkt, unser Anliegen liegt in der Hilfe zur Selbsthilfe.
    Also:
    Du bekommst welchen Input und sollst daraus welchen Output generieren?
    Dabei gibt es folgende Parameter: a, b, c
    und folgende Möglichkeiten: x, y, z.
    Wie äußert sich die Übertragungsrate?
    Was bekomme ich da zu hören?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Doch Doch, der Weihnachtsmann ist doch immer gerne gesehen ;) :P .

    Nein also:
    Der zusendende Text sowie die RIC-Adresse wird mittels mehrerer Verfahren (Unteranderem mit 7-bit ASCII) aufgeteilt, codiert und in einen langen Binärcode umgewandelt. Der Binärcode ist dann quasi der INPUT.
    Der Output soll dann im etwa so klingen: AUDIO (Achtung Laut!).

    Bei einer höheren Übertragungsrate (Baud) sind die Frequenzen für 0 und 1 (Hoch und Tief) andere und klingen anders.

    STGW schrieb:

    Der Output soll dann im etwa so klingen
    Etwa so, nur ganz anders, klang einst ein Programm von ZX-81.
    Was passiert mit dieser Audio-Nicht-Information?
    Du kannst mir sehr einfachen Mitteln eine WAVE-Datei generieren, die Deinen Input wiedergibt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    petaod schrieb:

    Hast du mal BosMon getestet?

    Also meines Wissens nach, kann BosMon POCSAG ausschließlich Dekodieren. Bitte belehre mich eines besseren, wenn ich mich Irre. Denn so genau habe ich mich mit BosMon noch nicht beschäftigt :) .


    RodFromGermany schrieb:

    Was passiert mit dieser Audio-Nicht-Information?
    Du kannst mir sehr einfachen Mitteln eine WAVE-Datei generieren, die Deinen Input wiedergibt.

    Naja, diese Audio wird auf dem Frequenzbereich der Pager gesendet. Diese "hören" quasi zu und dekodieren die Mitteilung. Wenn die RIC-Adresse in der Nachricht die selbe ist wie im Pager einprogrammiert, lösen diese den Alarm aus und zeigen den gesendeten und dekodierten Text auf dem Display an.

    Einfache Mittel und ein WAVE-Datei generieren. Das klingt doch schonmal sehr interessant ^^. Hast Du eventuell dafür eine schnelle und einfache Lösung parat? Ich habe zwar schon viel Erfahrung gesammelt im Bereich der Programmierung, aber mit so etwas habe ich mich tatsächlich noch nicht beschäftigt :D .

    STGW schrieb:

    Diese "hören" quasi zu und dekodieren die Mitteilung.
    Jetzt hab ich das verstanden.
    Auch wenn das C++ ist: c-plusplus.net/forum/topic/286…i-aus-messdaten-erstellen
    de.wikipedia.org/wiki/RIFF_WAVE
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    STGW schrieb:

    allerdings benötige ich da eine Lösung für VB...
    Dann poste doch einfach mal im Unterforum vb-paradise.de/index.php/Board/931-marktplatz-jobboerse/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!