Hallo!
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.
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