Updated description wrt decoding
This commit is contained in:
parent
0c4efc2d87
commit
5de7436d87
1 changed files with 10 additions and 11 deletions
21
README.md
21
README.md
|
@ -1,12 +1,12 @@
|
||||||
# FT8 library
|
# FT8 library
|
||||||
|
|
||||||
A C++ implementation of FT8 protocol, mostly intended for experimental use on microcontrollers. At the moment only encoding is implemented.
|
A C++ implementation of FT8 protocol, mostly intended for experimental use on microcontrollers.
|
||||||
|
|
||||||
The encoding process is relatively light on resources, and an Arduino should be perfectly capable of running this code.
|
|
||||||
|
|
||||||
The intent of this library is to foster experimentation with e.g. automated beacons. For example, FT8 supports free-text messages and raw telemetry data (71 bits).
|
The intent of this library is to foster experimentation with e.g. automated beacons. For example, FT8 supports free-text messages and raw telemetry data (71 bits).
|
||||||
|
|
||||||
Work is in progress (possibly taking forever) to explore decoding options. On a fast 32-bit microcontroller decoding might be possible, perhaps with some tradeoffs.
|
The encoding process is relatively light on resources, and an Arduino should be perfectly capable of running this code.
|
||||||
|
|
||||||
|
Decoding is is still work in progress. So far a 15-second WAV file can be decoded on a desktop machine or SBC, and the routines are somewhat ready for a fast microcontroller, perhaps with some tradeoffs. One definite limitation is the necessity to store the whole 15-second window in some representation (either waveform or DFT spectrum) for decoding at the end of the time slot. The current implementation uses about 200 KB of RAM for that purpose.
|
||||||
|
|
||||||
# What works
|
# What works
|
||||||
|
|
||||||
|
@ -15,19 +15,18 @@ Currently the basic message set of the revised FT8 protocol with 77-bit payload
|
||||||
* CQ {xy} {call} {grid}, e.g. CQ JA CA0LL GG77
|
* CQ {xy} {call} {grid}, e.g. CQ JA CA0LL GG77
|
||||||
* {call} {call} {report}, e.g. CA0LL OT7ER R-07
|
* {call} {call} {report}, e.g. CA0LL OT7ER R-07
|
||||||
* {call} {call} 73/RRR/RR73, e.g. OT7ER CA0LL 73
|
* {call} {call} 73/RRR/RR73, e.g. OT7ER CA0LL 73
|
||||||
|
* Free-text messages (up to 13 characters from a limited alphabet) (decoding only, untested)
|
||||||
|
* Telemetry data (71 bits as 18 hex symbols)
|
||||||
|
|
||||||
So far only encoding is implemented. There is historical code that supports the same set of FT8 version 1 (75-bit) messages plus free-text messages.
|
There is historical code that supports the same set of FT8 version 1 (75-bit) messages minus telemetry data.
|
||||||
|
|
||||||
# What doesn't
|
# What doesn't
|
||||||
|
|
||||||
I'm currently working on these features:
|
I'm currently working on decoding, which still needs refactoring. The code is not yet really a library, rather a collection of routines and example code.
|
||||||
* Encoding free-text messages (up to 13 characters from a limited alphabet)
|
|
||||||
* Encoding telemetry data
|
|
||||||
* Decoding
|
|
||||||
|
|
||||||
These features are low on my priority list:
|
These features are low on my priority list:
|
||||||
* Encoding contest mode messages
|
* Contest modes
|
||||||
* Encoding compound callsigns with country prefixes and mode suffixes
|
* Compound callsigns with country prefixes and special callsigns
|
||||||
|
|
||||||
# What to do with it
|
# What to do with it
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue