Commit Graph

10 Commits

Author SHA1 Message Date
Manolis Surligas 553898f61b Improve CW decoding
* Introduce the hysteresis option, in order the CW demodulator to adjust
properly the plateau length based on the WPM and any filtering that can
be used before

* Instead for a frame per word, now the CW decoder waits for 10 long
spaces before it commits a frame. With this way many words are placed on
the same frame telemetry decoding is easier
2019-01-06 20:14:32 +02:00
Nikos Karamolegkos 12a2aa0090 Add minimum frame length on the morse decoder 2018-02-01 21:59:45 +02:00
Manolis Surligas f560f16af3 Improve CW decoding process
Our approach exploits the autocorrelation properties of the CW signal.
Thus low, high or band pass filtering greatly affects the performance of
the algorithm, because they introduce autocorrelation.
2017-11-01 22:04:56 +02:00
Manolis Surligas 52efa4c8bd Finish the CW encoder
The CW encoder is a debug block that can be used to check the
performance of the CW decoder of gr-satnogs module under different RF
conditions. It can also serve as a perfect debug tool for sattelite
missions.
2017-11-01 22:04:56 +02:00
Manolis Surligas d07fd19285 Fix CW decoder issue
The CW decoder was wrongly producing a Short Pause symbol instead of a
dot symbol. With this fix the decoder can now reconstruct the initial
text sequence sent.

Also the CW matched filter now can directly produce the power of the
filtered samples. This is very handy in order to get rid off an
additional multiply block, saving vital resources especially for
embedded platforms.

For testing and demonstration purposes the morse_decoding_flowgraph can
be used. The word sequence is the `HELLO WORLD`.
2016-02-01 22:04:27 +02:00
Manolis Surligas 1e210087f3 Improved Morse decoding
The AGC block in the Morse decoding flowgraph is placed now at the
proper position. The output of the matched filter produces now a clear
and distinguishable signal during the presence of a pulse. This makes
the work for the signal to symbol decoder more easy.
2016-01-30 21:37:36 +02:00
Manolis Surligas 5d4884cf0d Add a generic clear text message sink.
For now the generic clear text message sink just prints the decoded
clear text messages in the stdout. In the future and depending the needs
of the project, the clear text messages can be forwarded at other
services on the same host or via the network.

Also the debug message source block now supports injection of artificial
errors, for more robust decoding of the Morse decoder block.
2016-01-24 21:43:17 +02:00
Manolis Surligas 52411357a7 Fix bug at Morse debug source block
The Morse decoder seems that works properly now. However, there is no
recovery strategy yet from undecodeable symbol sequences.
2016-01-23 22:23:19 +02:00
Manolis Surligas ebd07215d0 Add Morse code debug source block
Now, with the Morse code debug source block the testing of the decoder
can begin.

Add at the examples directory a small flowgraph that connects the debug
source block with the decoder.
2016-01-22 22:10:06 +02:00
Manolis Surligas d307d6ac34 Morse tree traversal is working
Depending the received symbol the tree is traversed towards the leafs.
At each step the corresponding decode-able character is appended at a
string buffer. 

TODOs: 
* Add logic in the decoder to retrieve the decoded words from the tree
* Create a debug source block
2016-01-21 21:33:08 +02:00