GNU Radio's DVBS2RX Package
bch_decoder_bb_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2018 Ahmet Inan, Ron Economos.
4 *
5 * This file is part of gr-dvbs2rx.
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_DVBS2RX_BCH_DECODER_BB_IMPL_H
11#define INCLUDED_DVBS2RX_BCH_DECODER_BB_IMPL_H
12
13#include "bch.h"
15#include <memory>
16
17namespace gr {
18namespace dvbs2rx {
19
21{
22private:
23 const int d_debug_level;
24 unsigned int d_k_bytes; // message length in bytes
25 unsigned int d_n_bytes; // codeword length in bytes
26 std::unique_ptr<galois_field<uint32_t>> d_gf;
27 std::unique_ptr<bch_codec<uint32_t, bitset256_t>> d_codec;
28 uint64_t d_frame_cnt;
29 uint64_t d_frame_error_cnt;
30
31public:
33 dvb_framesize_t framesize,
34 dvb_code_rate_t rate,
35 dvb_outputmode_t outputmode,
36 int debug_level);
38
39 void forecast(int noutput_items, gr_vector_int& ninput_items_required);
40
41 int general_work(int noutput_items,
42 gr_vector_int& ninput_items,
43 gr_vector_const_void_star& input_items,
44 gr_vector_void_star& output_items);
45
46 uint64_t get_frame_count() { return d_frame_cnt; }
47 uint64_t get_error_count() { return d_frame_error_cnt; }
48};
49
50} // namespace dvbs2rx
51} // namespace gr
52
53#endif /* INCLUDED_DVBS2RX_BCH_DECODER_BB_IMPL_H */
Definition bch_decoder_bb_impl.h:21
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
bch_decoder_bb_impl(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvb_outputmode_t outputmode, int debug_level)
uint64_t get_error_count()
Get count of FECFRAMEs output with residual uncorrected errors.
Definition bch_decoder_bb_impl.h:47
uint64_t get_frame_count()
Get count of processed FECFRAMEs.
Definition bch_decoder_bb_impl.h:46
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
<+description of block+>
Definition bch_decoder_bb.h:27
dvb_framesize_t
Definition dvb_config.h:74
dvb_outputmode_t
Definition dvb_config.h:113
dvb_code_rate_t
Definition dvb_config.h:20
dvb_standard_t
Definition dvb_config.h:15
Fixed-length double-ended queue with contiguous volk-aligned elements.
Definition gr_bch.h:22