diff options
author | Ron Economos <w6rz@comcast.net> | 2015-02-20 16:31:55 -0800 |
---|---|---|
committer | Ron Economos <w6rz@comcast.net> | 2015-02-20 16:31:55 -0800 |
commit | 1c75d25b1e6fb3aaa265303a723ec0cffd92ce8c (patch) | |
tree | e97f4163ffacb48a6e0397f1e164f1d20fc320ca | |
parent | 0b01346bd36151e4b5f880a87ba7f391c2784e69 (diff) |
gr-dtv: Add code review updates.
-rw-r--r-- | gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h | 18 | ||||
-rw-r--r-- | gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h | 11 | ||||
-rw-r--r-- | gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h | 11 | ||||
-rw-r--r-- | gr-dtv/include/gnuradio/dtv/dvb_config.h | 34 | ||||
-rw-r--r-- | gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h | 11 | ||||
-rw-r--r-- | gr-dtv/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bbheader_bb_impl.cc) | 0 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bbheader_bb_impl.h) | 1 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc) | 0 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h) | 1 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bch_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bch_bb_impl.cc) | 0 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_bch_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bch_bb_impl.h) | 1 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_defines.h | 59 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_ldpc_bb_impl.cc) | 0 | ||||
-rw-r--r-- | gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h (renamed from gr-dtv/lib/common/dvb_ldpc_bb_impl.h) | 1 |
15 files changed, 110 insertions, 46 deletions
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h index ca1f27e700..48b6b4c5e0 100644 --- a/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h +++ b/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h @@ -31,9 +31,14 @@ namespace gr { namespace dtv { /*! - * \brief <+description of block+> + * \brief Formats MPEG-2 Transport Stream packets into FEC baseband frames + * and adds a 10-byte header. * \ingroup dtv * + * \details + * Input: 188-byte MPEG-2 Transport Stream packets. + * Output: Variable length FEC baseband frames (BBFRAME). The output frame + * length is based on the FEC rate. */ class DTV_API dvb_bbheader_bb : virtual public gr::block { @@ -41,7 +46,16 @@ namespace gr { typedef boost::shared_ptr<dvb_bbheader_bb> sptr; /*! - * \brief Return a shared_ptr to a new instance of dtv::dvb_bbheader_bb. + * \brief Create a baseband header formatter. + * + * \param standard DVB standard (DVB-S2 or DVB-T2). + * \param framesize FEC frame size (normal or short). + * \param rate FEC code rate. + * \param rolloff DVB-S2 root-raised-cosine filter roll-off. + * \param mode DVB-T2 input processing mode. + * \param inband DVB-T2 Type B in-band signalling. + * \param fecblocks DVB-T2 number of FEC block for in-band signalling. + * \param tsrate DVB-T2 Transport Stream rate for in-band signalling. */ static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvbs2_rolloff_factor_t rolloff, dvbt2_inputmode_t mode, dvbt2_inband_t inband, int fecblocks, int tsrate); }; diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h index 39fadab012..dc14f55186 100644 --- a/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h +++ b/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h @@ -29,9 +29,12 @@ namespace gr { namespace dtv { /*! - * \brief <+description of block+> + * \brief Scrambles FEC baseband frames with a PRBS encoder. * \ingroup dtv * + * \details + * Input: Variable length FEC baseband frames (BBFRAME). + * Output: Scrambled variable length FEC baseband frames (BBFRAME). */ class DTV_API dvb_bbscrambler_bb : virtual public gr::sync_block { @@ -39,7 +42,11 @@ namespace gr { typedef boost::shared_ptr<dvb_bbscrambler_bb> sptr; /*! - * \brief Return a shared_ptr to a new instance of dtv::dvb_bbscrambler_bb. + * \brief Create a baseband frame scrambler. + * + * \param standard DVB standard (DVB-S2 or DVB-T2). + * \param framesize FEC frame size (normal or short). + * \param rate FEC code rate. */ static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate); }; diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h index 9cb7735cee..31dff47268 100644 --- a/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h +++ b/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h @@ -30,9 +30,12 @@ namespace gr { namespace dtv { /*! - * \brief <+description of block+> + * \brief Encodes a BCH ((Bose, Chaudhuri, Hocquenghem) FEC. * \ingroup dtv * + * \details + * Input: Variable length FEC baseband frames (BBFRAME). + * Output: Variable length FEC baseband frames with appended BCH (BCHFEC). */ class DTV_API dvb_bch_bb : virtual public gr::block { @@ -40,7 +43,11 @@ namespace gr { typedef boost::shared_ptr<dvb_bch_bb> sptr; /*! - * \brief Return a shared_ptr to a new instance of dtv::dvb_bch_bb. + * \brief Create a baseband frame BCH encoder. + * + * \param standard DVB standard (DVB-S2 or DVB-T2). + * \param framesize FEC frame size (normal or short). + * \param rate FEC code rate. */ static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate); }; diff --git a/gr-dtv/include/gnuradio/dtv/dvb_config.h b/gr-dtv/include/gnuradio/dtv/dvb_config.h index 40907d1484..d08c9c882e 100644 --- a/gr-dtv/include/gnuradio/dtv/dvb_config.h +++ b/gr-dtv/include/gnuradio/dtv/dvb_config.h @@ -21,40 +21,6 @@ #ifndef INCLUDED_DTV_DVB_CONFIG_H #define INCLUDED_DTV_DVB_CONFIG_H -#define TRUE 1 -#define FALSE 0 - -#define BB_HEADER_LENGTH_BITS 72 - -// BB HEADER fields -#define TS_GS_TRANSPORT 3 -#define TS_GS_GENERIC_PACKETIZED 0 -#define TS_GS_GENERIC_CONTINUOUS 1 -#define TS_GS_RESERVED 2 - -#define SIS_MIS_SINGLE 1 -#define SIS_MIS_MULTIPLE 0 - -#define CCM 1 -#define ACM 0 - -#define ISSYI_ACTIVE 1 -#define ISSYI_NOT_ACTIVE 0 - -#define NPD_ACTIVE 1 -#define NPD_NOT_ACTIVE 0 - -#define FRAME_SIZE_NORMAL 64800 -#define FRAME_SIZE_SHORT 16200 - -// BCH Code -#define BCH_CODE_N8 0 -#define BCH_CODE_N10 1 -#define BCH_CODE_N12 2 -#define BCH_CODE_S12 3 - -#define LDPC_ENCODE_TABLE_LENGTH (FRAME_SIZE_NORMAL * 10) - namespace gr { namespace dtv { enum dvb_standard_t { diff --git a/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h index b8a059c63d..76923a80b1 100644 --- a/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h +++ b/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h @@ -29,9 +29,11 @@ namespace gr { namespace dtv { /*! - * \brief <+description of block+> + * \brief Encodes a LDPC (Low-Density Parity-Check) FEC. * \ingroup dtv * + * Input: Variable length FEC baseband frames with appended BCH (BCHFEC). + * Output: Normal or short FEC baseband frames with appended LPDC (LDPCFEC). */ class DTV_API dvb_ldpc_bb : virtual public gr::block { @@ -39,7 +41,12 @@ namespace gr { typedef boost::shared_ptr<dvb_ldpc_bb> sptr; /*! - * \brief Return a shared_ptr to a new instance of dtv::dvb_ldpc_bb. + * \brief Create a baseband frame LDPC encoder. + * + * \param standard DVB standard (DVB-S2 or DVB-T2). + * \param framesize FEC frame size (normal or short). + * \param rate FEC code rate. + * \param constellation DVB-S2 constellation. */ static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvb_constellation_t constellation); }; diff --git a/gr-dtv/lib/CMakeLists.txt b/gr-dtv/lib/CMakeLists.txt index ed158a703e..a17a0fba7a 100644 --- a/gr-dtv/lib/CMakeLists.txt +++ b/gr-dtv/lib/CMakeLists.txt @@ -77,10 +77,10 @@ list(APPEND dtv_sources atsc/atsc_basic_trellis_encoder.cc atsc/atsc_trellis_encoder_impl.cc atsc/atsc_field_sync_mux_impl.cc - common/dvb_bbheader_bb_impl.cc - common/dvb_bbscrambler_bb_impl.cc - common/dvb_bch_bb_impl.cc - common/dvb_ldpc_bb_impl.cc + dvb/dvb_bbheader_bb_impl.cc + dvb/dvb_bbscrambler_bb_impl.cc + dvb/dvb_bch_bb_impl.cc + dvb/dvb_ldpc_bb_impl.cc ) if(ENABLE_GR_CTRLPORT) diff --git a/gr-dtv/lib/common/dvb_bbheader_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc index e0c80ea304..e0c80ea304 100644 --- a/gr-dtv/lib/common/dvb_bbheader_bb_impl.cc +++ b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc diff --git a/gr-dtv/lib/common/dvb_bbheader_bb_impl.h b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h index 89bd37b713..97e0751757 100644 --- a/gr-dtv/lib/common/dvb_bbheader_bb_impl.h +++ b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h @@ -22,6 +22,7 @@ #define INCLUDED_DTV_DVB_BBHEADER_BB_IMPL_H #include <gnuradio/dtv/dvb_bbheader_bb.h> +#include "dvb_defines.h" typedef struct{ int ts_gs; diff --git a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc index 46a8d78976..46a8d78976 100644 --- a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc +++ b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc diff --git a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h index b31fbf1753..d717731502 100644 --- a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h +++ b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h @@ -22,6 +22,7 @@ #define INCLUDED_DTV_DVB_BBSCRAMBLER_BB_IMPL_H #include <gnuradio/dtv/dvb_bbscrambler_bb.h> +#include "dvb_defines.h" namespace gr { namespace dtv { diff --git a/gr-dtv/lib/common/dvb_bch_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bch_bb_impl.cc index f035750f3c..f035750f3c 100644 --- a/gr-dtv/lib/common/dvb_bch_bb_impl.cc +++ b/gr-dtv/lib/dvb/dvb_bch_bb_impl.cc diff --git a/gr-dtv/lib/common/dvb_bch_bb_impl.h b/gr-dtv/lib/dvb/dvb_bch_bb_impl.h index ef06b4fbcf..5cba0a10ff 100644 --- a/gr-dtv/lib/common/dvb_bch_bb_impl.h +++ b/gr-dtv/lib/dvb/dvb_bch_bb_impl.h @@ -22,6 +22,7 @@ #define INCLUDED_DTV_DVB_BCH_BB_IMPL_H #include <gnuradio/dtv/dvb_bch_bb.h> +#include "dvb_defines.h" namespace gr { namespace dtv { diff --git a/gr-dtv/lib/dvb/dvb_defines.h b/gr-dtv/lib/dvb/dvb_defines.h new file mode 100644 index 0000000000..2c2603af6a --- /dev/null +++ b/gr-dtv/lib/dvb/dvb_defines.h @@ -0,0 +1,59 @@ +/* -*- c++ -*- */ +/* + * Copyright 2015 Free Software Foundation, Inc. + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_DTV_DVB_DEFINES_H +#define INCLUDED_DTV_DVB_DEFINES_H + +#define TRUE 1 +#define FALSE 0 + +#define BB_HEADER_LENGTH_BITS 72 + +// BB HEADER fields +#define TS_GS_TRANSPORT 3 +#define TS_GS_GENERIC_PACKETIZED 0 +#define TS_GS_GENERIC_CONTINUOUS 1 +#define TS_GS_RESERVED 2 + +#define SIS_MIS_SINGLE 1 +#define SIS_MIS_MULTIPLE 0 + +#define CCM 1 +#define ACM 0 + +#define ISSYI_ACTIVE 1 +#define ISSYI_NOT_ACTIVE 0 + +#define NPD_ACTIVE 1 +#define NPD_NOT_ACTIVE 0 + +#define FRAME_SIZE_NORMAL 64800 +#define FRAME_SIZE_SHORT 16200 + +// BCH Code +#define BCH_CODE_N8 0 +#define BCH_CODE_N10 1 +#define BCH_CODE_N12 2 +#define BCH_CODE_S12 3 + +#define LDPC_ENCODE_TABLE_LENGTH (FRAME_SIZE_NORMAL * 10) + +#endif /* INCLUDED_DTV_DVB_DEFINES_H */ + diff --git a/gr-dtv/lib/common/dvb_ldpc_bb_impl.cc b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc index c1738e1245..c1738e1245 100644 --- a/gr-dtv/lib/common/dvb_ldpc_bb_impl.cc +++ b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc diff --git a/gr-dtv/lib/common/dvb_ldpc_bb_impl.h b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h index 510fb2dd3b..3510ddf083 100644 --- a/gr-dtv/lib/common/dvb_ldpc_bb_impl.h +++ b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h @@ -22,6 +22,7 @@ #define INCLUDED_DTV_DVB_LDPC_BB_IMPL_H #include <gnuradio/dtv/dvb_ldpc_bb.h> +#include "dvb_defines.h" typedef struct{ int table_length; |