Commit Graph

14 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
Manolis Surligas 40a645f355 Fix boost `common_factor` deprecation warning 2018-11-24 00:43:21 +02:00
Manolis Surligas 2de1d91fae Improve the CW decoder flowgraph 2017-11-01 22:04:56 +02:00
Manolis Surligas 5d7af423a8 Window number to dot duration should be sufficient enough 2017-11-01 22:04:56 +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 94eef1463c Improve CW decoding performance and complexity 2017-11-01 22:04:56 +02:00
Manolis Surligas 5d9fc19e3b Simplify CW decoding 2017-11-01 22:04:56 +02:00
Manolis Surligas ea5a5632f5 Add CW decoder
* Filtering and decimation stages tested for USRP
* TODO: Test filtering for the rest of the SDR devices
2017-11-01 22:04:56 +02:00
Manolis Surligas 76c28b0b21 Change the pmt::to_float() to pmt::to_double() for compatibility 2016-05-09 20:56:44 +03:00
Manolis Surligas e9c6f36f86 Improve the Morse decoder block
The Morse decoding block has now the configuration parameter that
enables an automatic estimation of the dot duration. Based on this
estimation all other symbol durations are computed.
2016-02-28 00:45:41 +02:00
Manolis Surligas 67eb17908e Add various setters at the Morse decoding related blocks
New setters (frequency, thresholds) accessible from both GRC callbacks
and async messages.
2016-02-17 03:16:18 +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 f8b847077e CW signal to Morse Symbol decoding block
The CW symbol decoder block takes as input the power of the processed
signal and tries to identify the dot and dash symbols. It produces
asynchronous messages containing the decoded symbols. The output
messages can be directly used by the Morse code decoder block, in order
to retrieve the clear text message.

There are some few thing that need to be done for the block to be fully
operational.
2016-01-27 22:57:53 +02:00