Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transmit Free text and other modes #2

Open
F5OEO opened this issue Jan 7, 2019 · 9 comments
Open

Transmit Free text and other modes #2

F5OEO opened this issue Jan 7, 2019 · 9 comments

Comments

@F5OEO
Copy link

F5OEO commented Jan 7, 2019

Standard messages work well and I could make a complete QSO using it. Wondering how to contribute to allow free text or telemetry. Do you have any "understable" link which describe the 13 characters protocol in order to add other modes (pack.cpp related) ?

@kgoba
Copy link
Owner

kgoba commented Jan 8, 2019

The good news is that I had already implemented the free text encoding (see packtext77()), but hadn't added it to the pack77() routine. Didn't test too much, but seems to work now. Check dd6599b

Telemetry is still pending, I have written the decoding routine, so it's just a matter of taking my time.

@kgoba
Copy link
Owner

kgoba commented Jan 8, 2019

Also congrats of completing a QSO! That makes me proud as well :)

@F5OEO
Copy link
Author

F5OEO commented Jan 8, 2019

Thx, latest commit is working and decoded by WSJT-X. A lot of good feedbacks on twitter when announced transmitting with raspberry using ft8_lib. A great thanks as main work is yours. Plan to use rtlsdr dongle to demodulate baseband and send to decodeft8 in a near future.

@drf5n
Copy link
Contributor

drf5n commented Nov 8, 2019

Does free text decoding work?

I get:

$ ./gen_ft8 "123456789ABCD" junk.wav && ./decode_ft8 junk.wav 
Packed data: 06 c6 35 75 bb 05 c6 80 30 00 
FSK tones: 3140652016520462622650641600040012273140652547510161532200133002154440523140652
92 blocks, 960 bins
N_FFT = 3840
FFT work area = 38688
Max magnitude: -8.6 dB
000000  69  1.6 1034 ~               
000000 252  1.1 1000 ~  FATLRR47NP8SS
Decoded 2 messages

@kgoba
Copy link
Owner

kgoba commented Nov 8, 2019

Hi drf5n, you're right, I am seeing the same behaviour. I will investigate. By the look it seems it understands it's a free-text message but either encoding or decoding is off by some value. It has been implemented, I remember testing it, but then again I still don't have a robust test suite for this library.

@drf5n
Copy link
Contributor

drf5n commented Nov 8, 2019

Perhaps good test sets for free text might be these:


CQ RU KF1ABC FN42
KF1ABC WA9XYZ 579 WI
WA9XYZ KF1ABC R 589 MA
   KF1ABC WA9XYZ RR73 
   KF1ABC GM1AAA 559 0013
WA9XYZ KF1ABC 73
   KF1ABC GM1AAA 559 0013
GM1AAA KA1ABC R 569 MA
   KF1ABC GM1AAA RR73
GM1AAA KA1ABC 73

-- from the Jan 2019 article http://physics.princeton.edu/pulsar/k1jt/FT8_RTTY_Roundup.pdf

with

TNX ROBERT 73
5W VERT 73 GL 

from http://physics.princeton.edu/pulsar/k1jt/wsjtx-doc/wsjtx-main-1.7.1-devel.html

or

CHK TX AF LVL
CHK UR CLOCK
G4IFB.COM 73
NO DECODE SRI
OUCH LOUD 73
PLS EMAIL ME
QRM PLS QSY
SRI FINGR TRBL
TNX NEW 1 73
TNX GRID 73
TNX QRX 73
TRY HOLDTX 73
TU LOGGED 73
UPD8 WSJTX 73

from https://www.physics.princeton.edu/pulsar/K1JT/FT8_Operating_Tips.pdf

@drf5n
Copy link
Contributor

drf5n commented Nov 9, 2019

Adding a frequency option with #6 might help with creating tests.

@kgoba
Copy link
Owner

kgoba commented Nov 9, 2019

Thanks, David, I will check it out, but for now I think I have fixed the free-text issue. There was a bug in the decoding process.

By the way, WSJT-X accepts WAV files generated by gen_ft8, so you can check for correctness that way as well. It's hiding under "File/Open".

@drf5n
Copy link
Contributor

drf5n commented Nov 9, 2019

Yep. It works fine with a generated 50Hz separation, 14 message, 50 Hz separation wav file:

$ ./decode_ft8 mixed.wav |sort -n -k 4
92 blocks, 960 bins
N_FFT = 3840
FFT work area = 38688
Max magnitude: -30.2 dB
Decoded 14 messages
000000 176  1.0  197 ~  CHK TX AF LVL
000000 178  1.0  250 ~  CHK UR CLOCK 
000000 171  1.0  297 ~  G4IFB.COM 73 
000000 177  1.0  350 ~  NO DECODE SRI
000000 171  1.0  397 ~  OUCH LOUD 73 
000000 169  1.0  447 ~  PLS EMAIL ME 
000000 169  1.0  497 ~  QRM PLS QSY  
000000 174  1.0  547 ~  SRI FINGR TRB
000000 164  1.0  597 ~  TNX NEW 1 73 
000000 180  1.0  650 ~  TNX GRID 73  
000000 167  1.0  697 ~  TNX QRX 73   
000000 256  1.1  750 ~  TRY HOLDTX 73
000000 169  1.0  797 ~  TRY LOGGED 73
000000 270  1.1  850 ~  UPD8 WSJTX 73

And in WSJT:

image

Wave file generated from this bash script using the frequency patch:

./gen_ft8   "CHK TX AF LVL"       001.wav  200
./gen_ft8   "CHK UR CLOCK"        002.wav  250
./gen_ft8   "G4IFB.COM 73"        003.wav  300
./gen_ft8   "NO DECODE SRI"       004.wav  350
./gen_ft8   "OUCH LOUD 73"        005.wav  400
./gen_ft8   "PLS EMAIL ME"        006.wav  450
./gen_ft8   "QRM PLS QSY"         007.wav  500
./gen_ft8   "SRI FINGR TRBL"      008.wav  550
./gen_ft8   "TNX NEW 1 73"        009.wav  600
./gen_ft8   "TNX GRID 73"         00a.wav  650
./gen_ft8   "TNX QRX 73"          00b.wav  700
./gen_ft8   "TRY HOLDTX 73"       00c.wav  750
./gen_ft8   "TRY LOGGED 73"       00d.wav  800
./gen_ft8   "UPD8 WSJTX 73"       00e.wav  850

sox -m 0*.wav mixed.wav

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants