Guten Tag,
ich möchte Morse-Code (Continous Wave) aus I/Q Samples
demodulieren/dekodieren. Zum Auslesen der (digitalen Basisband) I/Q
Samples nutze ich einen RTL SDR DVB-T USB-Stick mit einem Up-Converter.
Leider fehlt mir das Verständnis, wie analoge Signale (CW) aus den I/Q
Samples extrahiert werden können.
Das Prinzip einer digitalen Datenübertragung mit bspw. Phasenumtastung
ist bekannt. Durch Manipulation der Amplituden I und Q des sich in
Quadratur befindenden Cos- und Sinus-Signals und anschließender Addition
entsteht ein Phasenwechsel des resultierenden Signals. Jeder Phase wird
ein Symbol mit Bits zugeordnet. Der Informationsgehalt der Übertragung
steckt dann in den Phasen(-wechseln) des Signals über der Zeit
aufgetragen.
Aber wie verhält es sich, wenn rein analoge CW-Signale mit einem SDR
Stick empfangen und in digitale I/Q Samples importiert werden. Wie kann
ich das ursprüngliche Tastsignal aus diesen I/Q Samples
wiederherstellen?
Danke & beste Grüße
Vielen Dank, aber warum ist das so?
Kann jemand den mathematischen Hintergrund des RTL-SDR's beim Empfang/
Konvertierung eines analogen Morse-Signals (CW) in digitale Basisband
I/Q Samples beschreiben?
P. M. schrieb:> Leider fehlt mir das Verständnis, wie analoge Signale (CW) aus den I/Q> Samples extrahiert werden können.
Bei CW (A1A) wird des Trägersignal im Takt der Zeichen an- und
abgeschaltet.
Hi,
P. M. schrieb:> ich möchte Morse-Code (Continous Wave) aus I/Q Samples> demodulieren/dekodieren.
Vorsicht!
"CodeWork (CW)" = Morsen und "Continous Wave (CW)" =
Dauerstrichleistung/umodulierter Träger werden zwar beide mit CW
abgekürzt, aber das CW für Continous Wave beschreibt so ziemlich das
genaue Gegenteil von einer HF Aussendung in der
Betriebsart/Modulationsart CW (für CodeWork)
Man muss deshalb bei Abkürzungen stehts auf den genauen Kontext schauen
Die abkürzung CW für Continous Wave findet man dabei oft in den
technischen Daten von z.B. Hochfrequenzgeneratoren (auch als Teil
komplexer Geräte wie NetworkAnalyzer, SpektrumAnalyzer mit Tracking
generator oder integrierten Funkmessplätzen Analog/Digital) wo dies als
Angabe für die mögliche Ausgangsleistung der Generatoreinheit Gerätes
verwendet wird.
Dieses CW meint dabei den unmodulierten Träger mit demzufolge konstanter
Amplitude. Bei der Modulationsart CW wird der Träger, wie Wolfgang schon
schrieb, zur Tastung komplett Ein/Ausgeschaltet.
WEnn man die Begriffe mischt und dann bei der Suche nach Informationen
mal Informationen zum einen und dann wieder zum anderen findet dann
kommt man natürlich auf keinen grünen Zweig.
Zur Auswertung der Modulationsart CW:
Wie geschrieben ist "Code Work" im Prinzip als eine Amplitudenmodulation
mit 100% Modulationsgrad anzusehen die nur zwei Lautstärkestufen (Volle
Pulle und Lautlos) kennt.
Es gibt somit kein wirkliches IQ moduliertes Signal sondern es muss über
den Umweg der IQ Daten ein Rückschluss auf die Amplitudeninformation des
Signals getroffen werden. Die Phaseninformation interessiert dich im
Ergebnis dann überhaupt nicht mehr.
Vereinfacht und mathematisch recht schludrig gesagt:
Du musst die reine Amplitudeninformation bestimmen in dem du den als
kartesische Koordinate vorliegenden Wert (I+Q) in seine Polarform
umrechnest und dann nur seine Zeigerlänge weiterverarbeitest, während du
die Winkelinformation komplett verwirfst.
Siehe dazu auch aus Martins ersten Link die 1. Darstellung unter "Some
Examples"
Gruß
Carsten
Die Momentanamplitude A eines IQ-Signals ist A=sqrt(I^2+Q^2).
Multipliziert man ein 1 kHz Signal mit A kann man das Morsen als 1 kHz
Morsesignal hören.
Carsten S. schrieb:> aber das CW für Continous Wave beschreibt so ziemlich das genaue> Gegenteil von einer HF Aussendung
Diese Benennung hat historische Ursachen, sie steht (stand) tatsächlich
für eine "Continuous Wave". Damit grenzte sie sich von den abklingenden,
eher "chaotischen" Schwingungen der Funkensender ab, denen wir im
Deutschen auch heute noch die Benennung als "Funk" verdanken. ;-)
Dass man diese kontinuierliche Welle dann bewusst ein- und ausschaltet
(im Gegensatz zu den systembedingten Diskontinuitäten der Funkensender),
tat wohl aus Sicht der damligen Bezeichnung der Sache keinen Abbruch,
und so hat sich die Bezeichnung bis heute für die Morsetelegrafie
erhalten.
CW steht alternativlos für continous wave. "Code work" ist in diesem
Zusammenhang ein Backronym. Ich lese das hier zum ersten Mal.
Zum Dekodieren: Wenn das Basisband noch ein Vielfaches des "Nutzkanals"
breit ist, muss erst der Nutzkanal herausgefiltert werden. Für CW wären
das einige 10 Hz bis vielleicht 500 Hz. Dort kann quick & dirty die
Amplitude ermittelt werden, die Wurzelfunktion bei der Betragsbildung
kann man vorerst auslassen (linear muss es erstmal nicht sein; später
ggf. logarithmisch, dann wird aus der Wurzel ein Faktor 0,5).
Um auf On und Off zu kommen, benötigt man einen Schwellwert, den man
irgendwo knapp unterhalb der (im Zeitbereich geglätteten)
Maximalamplitude festlegt, um auch schwache Signale lesen zu können. Das
muss dynamisch erfolgen, um Signalstärkeschwankungen abzufangen
(Schwundregelung). Dann kann im Zeitbereich CW alias Morsen dekodiert
werden.
Zum SSB-Empfang muss immer die fehlende Trägerfrequenz irgendwie
zugefügt werden. Üblicherweise macht man das nach Gehör.
Eine automatische Rückgewinnung aus dem Signal ist nur unvollkommen
möglich, man müsste das Niederfrequenzspektrum analysieren und Annahmen
über dessen Verteilung machen, z.B. gleichmäßig zwischen 300 und 3000 Hz
neben dem Träger.
CW ist weniger kritisch, man stellt etwa die genannten 800 Hz ein.
Zur Demodulation muss eines der beiden (I/Q)-Signale breitbandig um 90
Grad phasenverschoben werden, danach addiert oder subtrahiert man die
beiden, je nach gewünschtem Seitenband. Das andere Seitenband wird dabei
unterdrückt.
Da die Amplitude des Empfangssignals um viele dB schwanken kann, muss
auch noch eine AGC oder Lautstärkeregelung erfolgen.
Christoph db1uq K. schrieb:> Eine automatische Rückgewinnung aus dem Signal ist nur unvollkommen> möglich, man müsste das Niederfrequenzspektrum analysieren und Annahmen> über dessen Verteilung machen, z.B. gleichmäßig zwischen 300 und 3000 Hz> neben dem Träger.
Auf 50/60 Hz Netzbrumm rasten ;-)
Christoph db1uq K. schrieb:> CW ist weniger kritisch, man stellt etwa die genannten 800 Hz ein.
Zum Hören macht das Sinn. Man kann aber auch eine Lampe im Rhythmus ein-
und ausschalten oder einen CW-Dekoder ansteuern, der den fertigen Text
liefert. Dazu braucht es nur die Amplitudeninformation und keine 800 Hz.
>nur die Amplitudeninformation
Das würde eigentlich einen echten Direktmischer auf Null Hertz herunter
bedeuten, dessen LO mit der Empfangsfrequenz identisch ist. Die meisten
SDR haben bei Null eine Lücke.