21#ifndef INCLUDED_SATNOGS_CW_DECODER_H
22#define INCLUDED_SATNOGS_CW_DECODER_H
24#include <gnuradio/fft/fft.h>
44 using sptr = std::shared_ptr<cw_decoder>;
50 float confidence = 0.9,
52 size_t min_frame_size = 5,
53 size_t max_frame_size = 256);
62 size_t min_frame_size,
63 size_t max_frame_size);
74 const double d_samp_rate;
76 const int d_overlapping;
79 const float d_confidence;
80 const size_t d_min_frame_size;
81 const int d_new_samples;
82 const int d_shift_len;
83 const float d_fft_duration;
84 const size_t d_dot_duration;
86 int d_channel_carriers;
87 int d_nf_est_remaining;
89 std::vector<cw_decoder_priv*> d_decoders;
90 gr::fft::fft_complex_fwd* d_fft;
91 gr_complex* d_tmp_buf;
94 std::deque<decoder_status_t> d_frames;
98 void process_windows();
#define SATNOGS_API
Definition: api.h:19
CW decoder based on overlapping FFT.
Definition: cw_decoder.h:42
static sptr make(double samp_rate, int fft_len, int overlapping, float wpm=22.0, float snr=10.0, float confidence=0.9, size_t channels=16, size_t min_frame_size=5, size_t max_frame_size=256)
decoder_status_t decode(const void *in, int len)
std::shared_ptr< cw_decoder > sptr
Definition: cw_decoder.h:44
size_t input_multiple() const
cw_decoder(double samp_rate, int fft_len, int overlapping, float wpm, float snr, float confidence, size_t channels, size_t min_frame_size, size_t max_frame_size)
Abstract class that provided the API for the c decoders.
Definition: decoder.h:71
class decoder_status decoder_status_t
Definition: decoder.h:56
Definition: amsat_duv_decoder.h:29