Ergebnis 1 bis 13 von 13

Thema: Grundlagen FMS im Zeitbereich

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    28.01.2011
    Beiträge
    5

    Grundlagen FMS im Zeitbereich

    Hallo,

    aus intresse wollte ich einmal wissen wie ein FMS Telegramm im Zeitbereich aussieht. Dazu habe ich meinen Scanner an den Mikrofoneingang angeschlossen und mit dem Soundkarten-Oszillograph einen Single-Shot gemacht.







    Es handelt sich dreimal um das gleiche Telegramm nur mit verschiedenen Zeitablenkungen.

    Das Signal entspricht halbwegs meinen Erwartungen. Ich gehe davon aus, dass ein Bit einer Wellenlänge entspricht. Dann zähle ich zwöf Einsen zu Beginn (Telegramm-Vorlauf) gefolgt von vier Nullen. Soweit korrekt?

    Die vier Nullen decken sich aber schon nicht mehr mit der erwarteten Block-Synchronisation (0001 1010).

    Kann mir jemand bei der Interpretation der Bilder helfen? Sind meine Ansätze korrekt?

    Grüße

  2. #2
    Registriert seit
    21.09.2009
    Beiträge
    2.679
    Hallo!

    Zitat Zitat von julian_xv Beitrag anzeigen
    aus intresse wollte ich einmal wissen wie ein FMS Telegramm im Zeitbereich aussieht. Dazu habe ich meinen Scanner an den Mikrofoneingang angeschlossen und mit dem Soundkarten-Oszillograph einen Single-Shot gemacht.
    Guter Ansatz.
    Aber wenn du sowas häufiger machen möchtest, nimm besser ein Soundbearbeitungsprogramm welches dir die gesampelten Daten in beliebigen Größen anzeigen kann. Ich persönlich verwende dafür gerne Wavelab von Steinberg (komerziell, teuer), gibt da aber auch reichlich andere Lösungen als Share- oder Freeware.
    Dann mit möglichst hoher Samplingrate arbeiten.
    Denn wenn man ein komplettes FSK oder FFSK-Paket "zufuß" decodieren und bewerten will, geht nix mehr auf Augen und Konzentration, als eckig abgestufte Signalverläufe.
    Arbeite bei 1200bps gerne mit übertriebenen 44,1kHz oder 48kHz Sampling, weil das Signal dann wesentlich sinusförmiger aussieht und mehr Feinheiten erkennen lässt.

    Zitat Zitat von julian_xv Beitrag anzeigen
    Das Signal entspricht halbwegs meinen Erwartungen. Ich gehe davon aus, dass ein Bit einer Wellenlänge entspricht. Dann zähle ich zwöf Einsen zu Beginn (Telegramm-Vorlauf) gefolgt von vier Nullen. Soweit korrekt?
    Nein, falsch:
    Es wäre weitestgehend richtig, wenn es sich um FSK bzw. AFSK handeln würde.
    Wird heute aber nur noch (aus historischen Kompatibilitätsgründen) im Amateurfunk (1200bps Packet Radio, sowie APRS) sowie auf Kurzwelle (RTTY und so) verwendet.

    FMS sowie gut 90% aller anderen professionellen Datenprotokolle im Sprechfunkbereich, arbeiten aber mit phasenkohärenter Umschaltung, da sie deutlich effizienter aus zu werten ist.

    Bei FFSK braucht man zwei ganz bestimmte und exakte Töne die zur exakten Bitrate passen.
    Denn eine logische 1 wird übertragen durch eine komplette Periode der tieferen Frequenz, und eine logische 0 wird übertragen durch 1,5 Perioden.

    Für 1200bps also...:

    Logisch 1 = 1,0 Perioden 1200Hz
    Logisch 0 = 1,5 Perioden 1800Hz

    Der Hauptvorteil liegt darin, das wärend der Übertragung beide logische Zustände in exakt gleicher Zeit übertragen werden - bei (A)FSK wäre die "0" ja deutlich kürzer als die "1".
    Das führt zu unsicherheiten bei der Decodierung, weil die Gesamtgeschwindigkeit sowie die Gesamtdauer eines Paketes plötzlich davon abhängt, wie häufig die "0" darin vor kommt.

    Bei FFSK kann der Decoder sich wärend der Bitsynchronisation auf das Timing eines empfangenden Paketes einschießen und sich seine Zeitmaske zurechtschieben.

    Ich habe dir das dritte Bild mal zufuß decodiert und angehängt.
    Kleiner Tip zum selber machen:
    Da Anfänge und Enden von FFSK-Paketen generell "wirsch" sind (PLL-Einschwingphase, Leistungsabfall am Ende) fängt man zufuß immer an einer markanten Stelle an die man zweifelsfrei erkennt:
    Der Nulldurchgang zwischen dem ersten 1/0-Wechsel.
    Im Angehängten Bild war mein Startpunkt also beim ersten Nulldurchgang rechts deiner rechten roten Linie.

    Und immer exakt im Nulldurchgang abgrenzen.
    eine Periode (1200Hz) besteht aus einer positiven und einer Negativen Halbwellen, also 3 Nulldurchgängen.
    Eineinhalb Perioden (1800Hz) besteht aus drei Halbwellen, zwei oben eine unten, oder umgekehrt - und somit aus 5 Nulldurchgängen.

    Edit: Nicht nur kompletter Telegrammvorlauf und Blocksynchronisatzion passen.
    Und die vier letzten bits sagen "Rettungsdienst"...stimmt's?

    Grüße aus Dortmund

    Jürgen Hüser
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	FFSK.jpg 
Hits:	224 
Größe:	147,0 KB 
ID:	12768  
    Geändert von DG7GJ (04.05.2011 um 12:34 Uhr)

  3. #3
    Registriert seit
    28.01.2011
    Beiträge
    5
    Zitat Zitat von DG7GJ Beitrag anzeigen
    Aber wenn du sowas häufiger machen möchtest, nimm besser ein Soundbearbeitungsprogramm welches dir die gesampelten Daten in beliebigen Größen anzeigen kann.
    Danke für den Tip. Auf die Idee kam ich später auch, aber hab mich dann erstmal auf das bereits aufgenomme Signal mit dem Soundkarten Oszi konzentriert.


    Zitat Zitat von DG7GJ Beitrag anzeigen
    Bei FFSK braucht man zwei ganz bestimmte und exakte Töne die zur exakten Bitrate passen.
    Denn eine logische 1 wird übertragen durch eine komplette Periode der tieferen Frequenz, und eine logische 0 wird übertragen durch 1,5 Perioden.

    Für 1200bps also...:

    Logisch 1 = 1,0 Perioden 1200Hz
    Logisch 0 = 1,5 Perioden 1800Hz

    Der Hauptvorteil liegt darin, das wärend der Übertragung beide logische Zustände in exakt gleicher Zeit übertragen werden - bei (A)FSK wäre die "0" ja deutlich kürzer als die "1".
    Das führt zu unsicherheiten bei der Decodierung, weil die Gesamtgeschwindigkeit sowie die Gesamtdauer eines Paketes plötzlich davon abhängt, wie häufig die "0" darin vor kommt.
    Danke dafür das macht es jetzt klar.


    Zitat Zitat von DG7GJ Beitrag anzeigen
    eine Periode (1200Hz) besteht aus einer positiven und einer Negativen Halbwellen, also 3 Nulldurchgängen.
    Eineinhalb Perioden (1800Hz) besteht aus drei Halbwellen, zwei oben eine unten, oder umgekehrt - und somit aus 5 Nulldurchgängen.
    Sind es bei eineinhalb Perioden dann nicht 4? Siehe Anhang.


    Zitat Zitat von DG7GJ Beitrag anzeigen
    Edit: Nicht nur kompletter Telegrammvorlauf und Blocksynchronisatzion passen.
    Und die vier letzten bits sagen "Rettungsdienst"...stimmt's?
    Habe das Signal nicht parallel nicht mit einem Programm ausgewertet. Es gibt aber hier Fahrzeuge die als Org-Kenner "Rettungsdienst" haben von daher wäre es möglich.


    Vielen Dank für den äußerst hilfreichen Beitrag.

    Grüße nach Dortmund
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	nullstellen.jpg 
Hits:	150 
Größe:	47,4 KB 
ID:	12769  

  4. #4
    Registriert seit
    09.04.2005
    Beiträge
    664
    ich weiß ja nicht, auf was dieser Thread hier genau raus will, überlege aber gerade (rein theoretisch), wie ein Mikrocontroller programmiert werden müsste, der die NF abtastet um daraus die Statusmeldungen zu decodieren. Der fertige Chip dafür ist ja leider nicht mehr so gut erhältlich.

    Hat jemand Ideen dazu?
    mein Name ist Programm

  5. #5
    Registriert seit
    28.01.2011
    Beiträge
    5
    Zitat Zitat von DME-Murxer Beitrag anzeigen
    ich weiß ja nicht, auf was dieser Thread hier genau raus will, überlege aber gerade (rein theoretisch), wie ein Mikrocontroller programmiert werden müsste, der die NF abtastet um daraus die Statusmeldungen zu decodieren. Der fertige Chip dafür ist ja leider nicht mehr so gut erhältlich.

    Hat jemand Ideen dazu?
    Du wirst lachen. Genau das ist meine Intention. Ich werde mal kurz schreiben was ich mir gedacht habe.

    Ich gebe das Sinussignal auf einen Komparator und forme mir damit ein Rechtecksignal. Nun beginne ich mit der ersten Flanke in gleichen Abständen abzutasten und zähle die Nulldurchgänge dazwischen.

    Da ich nicht glaube es zu schaffen genau auf einem Nulldurchgang abzutasten* würde ich jeweils kurz vor einem Nulldurchgang abtasten und dann wieder kurz dahinter. Ich habe das mal an einer Sinusschwingung im Anhang markiert. Die rosa sowie grünen Abstände sind immer gleich. Die logische "1" (1,2kHz) könnte man nun durch einen Nulldurchgang identifizieren und die logische "0" (1,8kHz) durch zwei Nulldurchgänge.

    Ich bitte um Kritik und gute Ideen.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	abtasten.jpg 
Hits:	184 
Größe:	79,5 KB 
ID:	12773  

  6. #6
    Registriert seit
    09.04.2005
    Beiträge
    664
    So in dieser Richtung mit Komparator und Nulldurchgängen habe ich auch gedacht.
    Nur für das Auswerten erschließen sich für mich 2 Lösungsansätze:

    1.
    3fache Abtastung (3600/sec) während der Rauschphase, bis der Telegrammanfang gefunden wird, so dass ab dann Phasensynchron mit 1200/sec. abgetastet werden kann.
    Der Abtastzeitpunkt kann dann genau zu dem Zeitpunkt erfolgen, bei dem sich eine 1200Hz-Impuls von einem 1800Hz Impuls unterscheidet.

    2.
    3 fache Abtastung über den gesamten Zeitraum, so dass ständig nach den beiden Frequenzen gesucht werden muss.


    Mit was für einen uC arbeitest du?
    mein Name ist Programm

  7. #7
    Registriert seit
    21.09.2009
    Beiträge
    2.679
    Hallo!

    Zitat Zitat von DME-Murxer Beitrag anzeigen
    ich weiß ja nicht, auf was dieser Thread hier genau raus will, überlege aber gerade (rein theoretisch), wie ein Mikrocontroller programmiert werden müsste, der die NF abtastet um daraus die Statusmeldungen zu decodieren. Der fertige Chip dafür ist ja leider nicht mehr so gut erhältlich.
    Hmm...freilich kann man eine handvoll OP's an einem µC hängen und den Rest per Software zurecht biegen.
    Aber was meinst du für einen "fertigen Chip" der "nicht mehr so gut erhältlich" ist?
    Des FM63...äh...weisnicht...das dumme aus metusalem-Zeiten?

    Nixda, gibt's alles noch, nur halt zusammen mit fielen anderen Funktionen, die man immer mal in Funkgeräten brauchen tut.
    Da wäre z.B. der CMX881:
    http://www.cmlmicro.com/products/dat...s/cmx881ds.PDF

    Empfängt das Teilchen Daten, klingelt es an nem Interrupt-Pin des µC's, der sich die Daten dann einfach per SPI aus dem Chip zieht.

    Habe hier noch ein paar davon im Schrank, weil ich damit auch mal was mit nem ATMega16 stricken wollte, aber bis heute nicht dazu kam.

    Gibt da aber noch mehrere vom Spezialisten CML:
    http://www.cmlmicro.com/products/ind...earch=features

    Grüße aus Dortmund

    Jürgen Hüser

  8. #8
    Registriert seit
    09.04.2005
    Beiträge
    664
    @julian_xv: Das mit den Bandpässen wird nicht klappen, da die Frequenz zu kurz anliegt. Jeder Filter hat ein Einschwingverhalten!


    Zitat Zitat von DG7GJ Beitrag anzeigen
    Hallo!



    Hmm...freilich kann man eine handvoll OP's an einem µC hängen und den Rest per Software zurecht biegen.
    Aber was meinst du für einen "fertigen Chip" der "nicht mehr so gut erhältlich" ist?
    Des FM63...äh...weisnicht...das dumme aus metusalem-Zeiten?

    Nixda, gibt's alles noch, nur halt zusammen mit fielen anderen Funktionen, die man immer mal in Funkgeräten brauchen tut.
    Da wäre z.B. der CMX881:
    http://www.cmlmicro.com/products/dat...s/cmx881ds.PDF

    Empfängt das Teilchen Daten, klingelt es an nem Interrupt-Pin des µC's, der sich die Daten dann einfach per SPI aus dem Chip zieht.

    Habe hier noch ein paar davon im Schrank, weil ich damit auch mal was mit nem ATMega16 stricken wollte, aber bis heute nicht dazu kam.

    Gibt da aber noch mehrere vom Spezialisten CML:
    http://www.cmlmicro.com/products/ind...earch=features

    Grüße aus Dortmund

    Jürgen Hüser

    Der CMX881 ist noch erhältlich?
    Mal abgesehen davon dass du noch ein paar in deinem Schrank liegen hast; wer vertreibt die in geringen Stückzahlen für Endabnehmer?

    Grüße vom Murxer
    mein Name ist Programm

  9. #9
    Registriert seit
    21.09.2009
    Beiträge
    2.679
    Hallo!

    Zitat Zitat von julian_xv Beitrag anzeigen
    Sind es bei eineinhalb Perioden dann nicht 4? Siehe Anhang.
    *Stirnklatsch*...hast recht!

    Grüße aus Dortmund

    Jürgen Hüser

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
  •