The CW to Symbol block tries to translate the input signal into Morse symbols. The input signal should have been already properly filtered and processed. A possible DSP on the input signal may be the squared magnitude or the amplitude of the autocorrelation. Proper filtering that take cares possible spikes may drastically increase the performance of this block.
More...
#include <cw_to_symbol.h>
|
static cw_to_symbol::sptr | make (double sampling_rate, float threshold, float conf_level=0.9, size_t wpm=20, size_t hysteresis=0) |
|
The CW to Symbol block tries to translate the input signal into Morse symbols. The input signal should have been already properly filtered and processed. A possible DSP on the input signal may be the squared magnitude or the amplitude of the autocorrelation. Proper filtering that take cares possible spikes may drastically increase the performance of this block.
◆ sptr
◆ make()
static cw_to_symbol::sptr gr::satnogs::cw_to_symbol::make |
( |
double |
sampling_rate, |
|
|
float |
threshold, |
|
|
float |
conf_level = 0.9 , |
|
|
size_t |
wpm = 20 , |
|
|
size_t |
hysteresis = 0 |
|
) |
| |
|
static |
The CW to Symbol block tries to translate the received signal power time-series into Morse symbols.
The input stream is the energy of the signal in the time domain. For best results, a proper moving average filter should be applied before.
Upon a successful recovery of a symbol it produces an appropriate asynchronous message that can directly be used by the Morse decoder block.
- Parameters
-
sampling_rate | the sampling rate of the signal |
threshold | the activation threshold |
conf_level | the confidence level, for the decisions made by the decoder. Higher values, means that the decoder would be more conservative, whereas lower may help in noisy environments but may trigger false alarms too, especially for the case of short pauses symbols |
wpm | Morse code Words per Minute |
hysteresis | this value represents the hysteresis of a possible filter used before the CW to Symbol block. For example if there is a moving average filter with x taps, the full power of the signal will be available after x samples. The total length of samples with maximum power will be 2*x less. Because the block searches for plateaus with proper durations, this filtering hysteresis should be known. If no such a filter is used, the hysteresis value should be set to zero. |
◆ set_act_threshold()
virtual void gr::satnogs::cw_to_symbol::set_act_threshold |
( |
float |
thrld | ) |
|
|
pure virtual |
The documentation for this class was generated from the following file: