PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FMS Telegramm mit VB entschlüsseln



thomas_ke
29.09.2003, 13:44
Hi @ All

hat vielleicht jemand von euch Ahnung vom Programmieren und kann mir sagen , wie ich ein FMS Signal mit Visual Basic entschlüsseln kann??
Das es über die Soundkarte gehen muß sieht mann ja an anderen programmen, aber wie?????????

Christian
29.09.2003, 14:53
Hallo,

ich denke keiner der Programmierer wird Dir kostenlos seinen Algorithmus verraten. Dazu ist das wohl zuviel Aufwand. Ich kann Dir nur grob sagen wie das geht.

Das analoge Funksignal wird von der Soundkarte mittels A/D Wandler in ein digitales Signal umgewandelt. Bei FMS32 und BOSCONTROL wird immer ein Stück des Funksignals aufgeszeichnet und das Programm sucht nach dem Telegrammvorlauf und der Blocksychronisation (--> Aufbau FMS Telegramm siehe BOS-Funk Band 1 von Michael Marten) und die nachfolgeden Bits werden dann ausgewertet und an die Datenbank und an das Frontend weitergegeben. Danach wir der Block gelöscht. Änlich geht dass mit den ZVEI Folgen nur das es da keine Blocksynchronisation gibt...

thomas_ke
29.09.2003, 14:55
Danke, ich hatte gehofft, das vielleicht doch jemand so nett ist!!!

mgFO
01.10.2003, 11:26
moin,

den einzigen "offenen" algorithmus bzw. quellcode dafür bekommst du auf Markus Grohmann's Seite. Er hat einen FMS-ZVEI-POCSAG-Auswerter für Linux geschrieben. Konnte ihn aber leider noch nicht testen, da meine Soundkarte unter Linux nicht will :(
Aber da findest du Decoder-Routinen usw. im Quellcode.
http://home.t-online.de/home/markus.grohmann/mon/
Wird dir allerdings für VB alleine nix bringen, da es C-Code ist und außerdem wahrscheinlich nur mit größeren Änderungen unter Windows läuft.
Gibt hier übrigens auch ein Forum dazu, unter Weitere Online-Foren->Monitor.

Martin

Buebchen
01.10.2003, 20:35
Was den Algorithmus von monitor angeht, könnte ich sicherlich einige Tips geben, die ich den unter C++ auf Windows portiert habe.

Da ich sehr selten mit VB arbeite, kann ich dir dafür speziell nur wenig Hilfe geben.

Was Du brauchst, ist eigentlich einfach:

1: Du musst entweder selbst (winmm.dll) oder über irgendein Active-X Control die Daten von der Soundkarte bekommen. Das passiert üblicherweise in kleinen Happen von z.B. 0,5 Sekunden.

2: Über diese Samples läßt man dann die Analyse starten (Präambel erkennen, SYNC-Wort etc). Bis man am Ende des Puffers ist. Hat man etwas gefunden (z.B. Präambel) merkt man sich das halt und macht dann mit dem nächsten Puffer den man bekommt weiter, bis man das FMS Telegramm zusammen hat.

Der Haken ist, daß man sich erst mal sehr genau mit dem FMS Telegramm als solches auseinandersetzen muss.

Das nächste ( und Hauptproblem) ist dann die Synchronisation auf den Bit-Takt: Man muss aus den empfangenen Daten ermitteln, wann die einzelnen Bits anfangen. Da ein Bit mehrere Sample-Werte umfasst, ist das nicht so einfach, wie es im ersten Moment erscheint, denn das Programm muss lernen "Rauschen" und Daten zu unterscheiden.