diff options
Diffstat (limited to 'gr-dtv')
117 files changed, 3045 insertions, 8117 deletions
diff --git a/gr-dtv/examples/atsc_ctrlport_monitor.py b/gr-dtv/examples/atsc_ctrlport_monitor.py index 25c52afd61..5329da2d44 100755..100644 --- a/gr-dtv/examples/atsc_ctrlport_monitor.py +++ b/gr-dtv/examples/atsc_ctrlport_monitor.py @@ -18,6 +18,10 @@ # Boston, MA 02110-1301, USA. # +from __future__ import print_function +from __future__ import division +from __future__ import unicode_literals + import sys import matplotlib matplotlib.use("QT4Agg") @@ -37,12 +41,12 @@ the link quality. This also gets the equalizer taps of the receiver and displays the frequency response. """ -class atsc_ctrlport_monitor: +class atsc_ctrlport_monitor(object): def __init__(self, host, port): argv = [None, host, port] radiosys = GNURadioControlPortClient(argv=argv, rpcmethod='thrift') self.radio = radiosys.client - print self.radio + print(self.radio) vt_init_key = 'dtv_atsc_viterbi_decoder0::decoder_metrics' @@ -108,17 +112,17 @@ class atsc_ctrlport_monitor: ntaps = len(eqdata.value) taps.set_ydata(eqdata.value) - taps.set_xdata(xrange(ntaps)) + taps.set_xdata(list(range(ntaps))) self._sp0.set_xlim(0, ntaps) self._sp0.set_ylim(min(eqdata.value), max(eqdata.value)) fs = 6.25e6 - freq = scipy.linspace(-fs/2, fs/2, 10000) + freq = scipy.linspace(-fs / 2, fs / 2, 10000) H = fftpack.fftshift(fftpack.fft(eqdata.value, 10000)) HdB = 20.0*scipy.log10(abs(H)) psd.set_ydata(HdB) psd.set_xdata(freq) - self._sp1.set_xlim(0, fs/2) + self._sp1.set_xlim(0, fs / 2) self._sp1.set_ylim([min(HdB), max(HdB)]) self._sp1.set_yticks([min(HdB), max(HdB)]) self._sp1.set_yticklabels(["min", "max"]) diff --git a/gr-dtv/grc/CMakeLists.txt b/gr-dtv/grc/CMakeLists.txt index e226d09976..3ed47f2311 100644 --- a/gr-dtv/grc/CMakeLists.txt +++ b/gr-dtv/grc/CMakeLists.txt @@ -18,60 +18,59 @@ # Boston, MA 02110-1301, USA. install(FILES - dtv_atsc_deinterleaver.xml - dtv_atsc_depad.xml - dtv_atsc_derandomizer.xml - dtv_atsc_equalizer.xml - dtv_atsc_fpll.xml - dtv_atsc_fs_checker.xml - dtv_atsc_rs_decoder.xml - dtv_atsc_rx.xml - dtv_atsc_rx_filter.xml - dtv_atsc_sync.xml - dtv_atsc_viterbi_decoder.xml - dtv_block_tree.xml - dtv_atsc_pad.xml - dtv_atsc_randomizer.xml - dtv_atsc_rs_encoder.xml - dtv_atsc_interleaver.xml - dtv_atsc_trellis_encoder.xml - dtv_atsc_field_sync_mux.xml - dtv_dvb_bbheader_bb.xml - dtv_dvb_bbscrambler_bb.xml - dtv_dvb_bch_bb.xml - dtv_dvb_ldpc_bb.xml - dtv_dvbt2_interleaver_bb.xml - dtv_dvbt2_modulator_bc.xml - dtv_dvbt2_cellinterleaver_cc.xml - dtv_dvbt2_framemapper_cc.xml - dtv_dvbt2_freqinterleaver_cc.xml - dtv_dvbt2_pilotgenerator_cc.xml - dtv_dvbt2_paprtr_cc.xml - dtv_dvbt2_p1insertion_cc.xml - dtv_dvbt2_miso_cc.xml - dtv_dvbs2_interleaver_bb.xml - dtv_dvbs2_modulator_bc.xml - dtv_dvbs2_physical_cc.xml - dtv_dvbt_energy_dispersal.xml - dtv_dvbt_reed_solomon_enc.xml - dtv_dvbt_convolutional_interleaver.xml - dtv_dvbt_inner_coder.xml - dtv_dvbt_bit_inner_interleaver.xml - dtv_dvbt_symbol_inner_interleaver.xml - dtv_dvbt_map.xml - dtv_dvbt_reference_signals.xml - dtv_dvbt_ofdm_sym_acquisition.xml - dtv_dvbt_demod_reference_signals.xml - dtv_dvbt_demap.xml - dtv_dvbt_bit_inner_deinterleaver.xml - dtv_dvbt_viterbi_decoder.xml - dtv_dvbt_convolutional_deinterleaver.xml - dtv_dvbt_reed_solomon_dec.xml - dtv_dvbt_energy_descramble.xml - dtv_catv_transport_framing_enc_bb.xml - dtv_catv_reed_solomon_enc_bb.xml - dtv_catv_randomizer_bb.xml - dtv_catv_frame_sync_enc_bb.xml - dtv_catv_trellis_enc_bb.xml + dtv_atsc_deinterleaver.block.yml + dtv_atsc_depad.block.yml + dtv_atsc_derandomizer.block.yml + dtv_atsc_equalizer.block.yml + dtv_atsc_fpll.block.yml + dtv_atsc_fs_checker.block.yml + dtv_atsc_rs_decoder.block.yml + dtv_atsc_rx.block.yml + dtv_atsc_rx_filter.block.yml + dtv_atsc_sync.block.yml + dtv_atsc_viterbi_decoder.block.yml + dtv_atsc_pad.block.yml + dtv_atsc_randomizer.block.yml + dtv_atsc_rs_encoder.block.yml + dtv_atsc_interleaver.block.yml + dtv_atsc_trellis_encoder.block.yml + dtv_atsc_field_sync_mux.block.yml + dtv_dvb_bbheader_bb.block.yml + dtv_dvb_bbscrambler_bb.block.yml + dtv_dvb_bch_bb.block.yml + dtv_dvb_ldpc_bb.block.yml + dtv_dvbt2_interleaver_bb.block.yml + dtv_dvbt2_modulator_bc.block.yml + dtv_dvbt2_cellinterleaver_cc.block.yml + dtv_dvbt2_framemapper_cc.block.yml + dtv_dvbt2_freqinterleaver_cc.block.yml + dtv_dvbt2_pilotgenerator_cc.block.yml + dtv_dvbt2_paprtr_cc.block.yml + dtv_dvbt2_p1insertion_cc.block.yml + dtv_dvbt2_miso_cc.block.yml + dtv_dvbs2_interleaver_bb.block.yml + dtv_dvbs2_modulator_bc.block.yml + dtv_dvbs2_physical_cc.block.yml + dtv_dvbt_energy_dispersal.block.yml + dtv_dvbt_reed_solomon_enc.block.yml + dtv_dvbt_convolutional_interleaver.block.yml + dtv_dvbt_inner_coder.block.yml + dtv_dvbt_bit_inner_interleaver.block.yml + dtv_dvbt_symbol_inner_interleaver.block.yml + dtv_dvbt_map.block.yml + dtv_dvbt_reference_signals.block.yml + dtv_dvbt_ofdm_sym_acquisition.block.yml + dtv_dvbt_demod_reference_signals.block.yml + dtv_dvbt_demap.block.yml + dtv_dvbt_bit_inner_deinterleaver.block.yml + dtv_dvbt_viterbi_decoder.block.yml + dtv_dvbt_convolutional_deinterleaver.block.yml + dtv_dvbt_reed_solomon_dec.block.yml + dtv_dvbt_energy_descramble.block.yml + dtv_catv_transport_framing_enc_bb.block.yml + dtv_catv_reed_solomon_enc_bb.block.yml + dtv_catv_randomizer_bb.block.yml + dtv_catv_frame_sync_enc_bb.block.yml + dtv_catv_trellis_enc_bb.block.yml DESTINATION ${GRC_BLOCKS_DIR} ) diff --git a/gr-dtv/grc/dtv.tree.yml b/gr-dtv/grc/dtv.tree.yml new file mode 100644 index 0000000000..ad0b0cafb8 --- /dev/null +++ b/gr-dtv/grc/dtv.tree.yml @@ -0,0 +1,62 @@ +'[Core]': +- Digital Television: + - ATSC: + - dtv_atsc_deinterleaver + - dtv_atsc_depad + - dtv_atsc_derandomizer + - dtv_atsc_equalizer + - dtv_atsc_fpll + - dtv_atsc_fs_checker + - dtv_atsc_rs_decoder + - dtv_atsc_rx + - dtv_atsc_rx_filter + - dtv_atsc_sync + - dtv_atsc_viterbi_decoder + - dtv_atsc_pad + - dtv_atsc_randomizer + - dtv_atsc_rs_encoder + - dtv_atsc_interleaver + - dtv_atsc_trellis_encoder + - dtv_atsc_field_sync_mux + - DVB: + - dtv_dvb_bbheader_bb + - dtv_dvb_bbscrambler_bb + - dtv_dvb_bch_bb + - dtv_dvb_ldpc_bb + - DVB-T2: + - dtv_dvbt2_interleaver_bb + - dtv_dvbt2_modulator_bc + - dtv_dvbt2_cellinterleaver_cc + - dtv_dvbt2_framemapper_cc + - dtv_dvbt2_freqinterleaver_cc + - dtv_dvbt2_pilotgenerator_cc + - dtv_dvbt2_paprtr_cc + - dtv_dvbt2_p1insertion_cc + - dtv_dvbt2_miso_cc + - DVB-S2: + - dtv_dvbs2_interleaver_bb + - dtv_dvbs2_modulator_bc + - dtv_dvbs2_physical_cc + - DVB-T: + - dtv_dvbt_energy_dispersal + - dtv_dvbt_reed_solomon_enc + - dtv_dvbt_convolutional_interleaver + - dtv_dvbt_inner_coder + - dtv_dvbt_bit_inner_interleaver + - dtv_dvbt_symbol_inner_interleaver + - dtv_dvbt_map + - dtv_dvbt_reference_signals + - dtv_dvbt_ofdm_sym_acquisition + - dtv_dvbt_demod_reference_signals + - dtv_dvbt_demap + - dtv_dvbt_bit_inner_deinterleaver + - dtv_dvbt_viterbi_decoder + - dtv_dvbt_convolutional_deinterleaver + - dtv_dvbt_reed_solomon_dec + - dtv_dvbt_energy_descramble + - ITU-T J.83B: + - dtv_catv_transport_framing_enc_bb + - dtv_catv_reed_solomon_enc_bb + - dtv_catv_randomizer_bb + - dtv_catv_frame_sync_enc_bb + - dtv_catv_trellis_enc_bb diff --git a/gr-dtv/grc/dtv_atsc_deinterleaver.block.yml b/gr-dtv/grc/dtv_atsc_deinterleaver.block.yml new file mode 100644 index 0000000000..5384809778 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_deinterleaver.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_deinterleaver +label: ATSC Deinterleaver + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_deinterleaver() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_deinterleaver.xml b/gr-dtv/grc/dtv_atsc_deinterleaver.xml deleted file mode 100644 index 051ea77554..0000000000 --- a/gr-dtv/grc/dtv_atsc_deinterleaver.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Deinterleaver -################################################### - --> -<block> - <name>ATSC Deinterleaver</name> - <key>dtv_atsc_deinterleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_deinterleaver()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_depad.block.yml b/gr-dtv/grc/dtv_atsc_depad.block.yml new file mode 100644 index 0000000000..463de2018b --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_depad.block.yml @@ -0,0 +1,17 @@ +id: dtv_atsc_depad +label: ATSC Depad + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_depad() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_depad.xml b/gr-dtv/grc/dtv_atsc_depad.xml deleted file mode 100644 index 95a1380914..0000000000 --- a/gr-dtv/grc/dtv_atsc_depad.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Depad -################################################### - --> -<block> - <name>ATSC Depad</name> - <key>dtv_atsc_depad</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_depad()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_derandomizer.block.yml b/gr-dtv/grc/dtv_atsc_derandomizer.block.yml new file mode 100644 index 0000000000..c64e7032fe --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_derandomizer.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_derandomizer +label: ATSC Derandomizer + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_derandomizer() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_derandomizer.xml b/gr-dtv/grc/dtv_atsc_derandomizer.xml deleted file mode 100644 index 5473f47e8c..0000000000 --- a/gr-dtv/grc/dtv_atsc_derandomizer.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Derandomizer -################################################### - --> -<block> - <name>ATSC Derandomizer</name> - <key>dtv_atsc_derandomizer</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_derandomizer()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_equalizer.block.yml b/gr-dtv/grc/dtv_atsc_equalizer.block.yml new file mode 100644 index 0000000000..e6b5b3c032 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_equalizer.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_equalizer +label: ATSC Equalizer + +inputs: +- domain: stream + dtype: byte + vlen: 4096 + +outputs: +- domain: stream + dtype: byte + vlen: 4096 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_equalizer() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_equalizer.xml b/gr-dtv/grc/dtv_atsc_equalizer.xml deleted file mode 100644 index 7faf65fd22..0000000000 --- a/gr-dtv/grc/dtv_atsc_equalizer.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Equalizer -################################################### - --> -<block> - <name>ATSC Equalizer</name> - <key>dtv_atsc_equalizer</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_equalizer()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>4096</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>4096</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_field_sync_mux.block.yml b/gr-dtv/grc/dtv_atsc_field_sync_mux.block.yml new file mode 100644 index 0000000000..767d56d5d1 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_field_sync_mux.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_field_sync_mux +label: ATSC Field Sync Mux + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 1024 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_field_sync_mux() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_field_sync_mux.xml b/gr-dtv/grc/dtv_atsc_field_sync_mux.xml deleted file mode 100644 index 0037a9340e..0000000000 --- a/gr-dtv/grc/dtv_atsc_field_sync_mux.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Field Sync Mux -################################################### - --> -<block> - <name>ATSC Field Sync Mux</name> - <key>dtv_atsc_field_sync_mux</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_field_sync_mux()</make> - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>1024</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_fpll.block.yml b/gr-dtv/grc/dtv_atsc_fpll.block.yml new file mode 100644 index 0000000000..39568a8535 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_fpll.block.yml @@ -0,0 +1,21 @@ +id: dtv_atsc_fpll +label: ATSC Receiver FPLL + +parameters: +- id: rate + label: Sample Rate + dtype: float + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: float + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_fpll(${rate}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_fpll.xml b/gr-dtv/grc/dtv_atsc_fpll.xml deleted file mode 100644 index 00d28ce8b6..0000000000 --- a/gr-dtv/grc/dtv_atsc_fpll.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Receiver PLL -################################################### - --> -<block> - <name>ATSC Receiver FPLL</name> - <key>dtv_atsc_fpll</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_fpll($rate)</make> - - <param> - <name>Sample Rate</name> - <key>rate</key> - <type>float</type> - </param> - - <sink> - <name>in</name> - <type>complex</type> - </sink> - - <source> - <name>out</name> - <type>float</type> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_fs_checker.block.yml b/gr-dtv/grc/dtv_atsc_fs_checker.block.yml new file mode 100644 index 0000000000..fbf97a9255 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_fs_checker.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_fs_checker +label: ATSC Field Sync Checker + +inputs: +- domain: stream + dtype: byte + vlen: 4096 + +outputs: +- domain: stream + dtype: byte + vlen: 4096 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_fs_checker() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_fs_checker.xml b/gr-dtv/grc/dtv_atsc_fs_checker.xml deleted file mode 100644 index 4c733d53b9..0000000000 --- a/gr-dtv/grc/dtv_atsc_fs_checker.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Field Sync Checker -################################################### - --> -<block> - <name>ATSC Field Sync Checker</name> - <key>dtv_atsc_fs_checker</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_fs_checker()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>4096</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>4096</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_interleaver.block.yml b/gr-dtv/grc/dtv_atsc_interleaver.block.yml new file mode 100644 index 0000000000..65f769d0e6 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_interleaver.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_interleaver +label: ATSC Interleaver + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_interleaver() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_interleaver.xml b/gr-dtv/grc/dtv_atsc_interleaver.xml deleted file mode 100644 index 3b1045c580..0000000000 --- a/gr-dtv/grc/dtv_atsc_interleaver.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Interleaver -################################################### - --> -<block> - <name>ATSC Interleaver</name> - <key>dtv_atsc_interleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_interleaver()</make> - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_pad.block.yml b/gr-dtv/grc/dtv_atsc_pad.block.yml new file mode 100644 index 0000000000..a25d866f79 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_pad.block.yml @@ -0,0 +1,17 @@ +id: dtv_atsc_pad +label: ATSC Pad + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_pad() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_pad.xml b/gr-dtv/grc/dtv_atsc_pad.xml deleted file mode 100644 index 87b8921e35..0000000000 --- a/gr-dtv/grc/dtv_atsc_pad.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Pad -################################################### - --> -<block> - <name>ATSC Pad</name> - <key>dtv_atsc_pad</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_pad()</make> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_randomizer.block.yml b/gr-dtv/grc/dtv_atsc_randomizer.block.yml new file mode 100644 index 0000000000..909fad6ec3 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_randomizer.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_randomizer +label: ATSC Randomizer + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_randomizer() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_randomizer.xml b/gr-dtv/grc/dtv_atsc_randomizer.xml deleted file mode 100644 index 73c0991e1e..0000000000 --- a/gr-dtv/grc/dtv_atsc_randomizer.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Randomizer -################################################### - --> -<block> - <name>ATSC Randomizer</name> - <key>dtv_atsc_randomizer</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_randomizer()</make> - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_rs_decoder.block.yml b/gr-dtv/grc/dtv_atsc_rs_decoder.block.yml new file mode 100644 index 0000000000..b65eb33fca --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_rs_decoder.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_rs_decoder +label: "ATSC Reed\u2013Solomon Decoder" + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_rs_decoder() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_rs_decoder.xml b/gr-dtv/grc/dtv_atsc_rs_decoder.xml deleted file mode 100644 index 18a3053f00..0000000000 --- a/gr-dtv/grc/dtv_atsc_rs_decoder.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Reed–Solomon Decoder -################################################### - --> -<block> - <name>ATSC Reed–Solomon Decoder</name> - <key>dtv_atsc_rs_decoder</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_rs_decoder()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_rs_encoder.block.yml b/gr-dtv/grc/dtv_atsc_rs_encoder.block.yml new file mode 100644 index 0000000000..04d1ff3683 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_rs_encoder.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_rs_encoder +label: ATSC RS Encoder + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_rs_encoder() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_rs_encoder.xml b/gr-dtv/grc/dtv_atsc_rs_encoder.xml deleted file mode 100644 index af35523e05..0000000000 --- a/gr-dtv/grc/dtv_atsc_rs_encoder.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Reed-Solomom Encoder -################################################### - --> -<block> - <name>ATSC RS Encoder</name> - <key>dtv_atsc_rs_encoder</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_rs_encoder()</make> - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_rx.block.yml b/gr-dtv/grc/dtv_atsc_rx.block.yml new file mode 100644 index 0000000000..499c196e20 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_rx.block.yml @@ -0,0 +1,24 @@ +id: dtv_atsc_rx +label: ATSC Receive Pipeline + +parameters: +- id: rate + label: Input Rate + dtype: float +- id: sps + label: Oversampling Ratio + dtype: float + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_rx(${rate},${sps}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_rx.xml b/gr-dtv/grc/dtv_atsc_rx.xml deleted file mode 100644 index 900769609f..0000000000 --- a/gr-dtv/grc/dtv_atsc_rx.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Receive Pipeline -################################################### - --> -<block> - <name>ATSC Receive Pipeline</name> - <key>dtv_atsc_rx</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_rx($rate,$sps)</make> - - <param> - <name>Input Rate</name> - <key>rate</key> - <type>float</type> - </param> - - <param> - <name>Oversampling Ratio</name> - <key>sps</key> - <type>float</type> - </param> - - <sink> - <name>in</name> - <type>complex</type> - </sink> - - <source> - <name>out</name> - <type>byte</type> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_rx_filter.block.yml b/gr-dtv/grc/dtv_atsc_rx_filter.block.yml new file mode 100644 index 0000000000..0a352727ce --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_rx_filter.block.yml @@ -0,0 +1,24 @@ +id: dtv_atsc_rx_filter +label: ATSC RX Filter + +parameters: +- id: rate + label: Input Rate + dtype: float +- id: sps + label: Oversampling Ratio + dtype: float + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_rx_filter(${rate},${sps}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_rx_filter.xml b/gr-dtv/grc/dtv_atsc_rx_filter.xml deleted file mode 100644 index bc8bf0914a..0000000000 --- a/gr-dtv/grc/dtv_atsc_rx_filter.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC RX Filter -################################################### - --> -<block> - <name>ATSC RX Filter</name> - <key>dtv_atsc_rx_filter</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_rx_filter($rate,$sps)</make> - - <param> - <name>Input Rate</name> - <key>rate</key> - <type>float</type> - </param> - - <param> - <name>Oversampling Ratio</name> - <key>sps</key> - <type>float</type> - </param> - - <sink> - <name>in</name> - <type>complex</type> - </sink> - - <source> - <name>out</name> - <type>complex</type> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_sync.block.yml b/gr-dtv/grc/dtv_atsc_sync.block.yml new file mode 100644 index 0000000000..b4a3ac3d99 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_sync.block.yml @@ -0,0 +1,22 @@ +id: dtv_atsc_sync +label: ATSC Receiver SYNC + +parameters: +- id: rate + label: Sample Rate + dtype: float + +inputs: +- domain: stream + dtype: float + +outputs: +- domain: stream + dtype: byte + vlen: 4096 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_sync(${rate}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_sync.xml b/gr-dtv/grc/dtv_atsc_sync.xml deleted file mode 100644 index a9528f84a0..0000000000 --- a/gr-dtv/grc/dtv_atsc_sync.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Receiver Sync -################################################### - --> -<block> - <name>ATSC Receiver SYNC</name> - <key>dtv_atsc_sync</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_sync($rate)</make> - - <param> - <name>Sample Rate</name> - <key>rate</key> - <type>float</type> - </param> - - <sink> - <name>in</name> - <type>float</type> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>4096</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_atsc_trellis_encoder.block.yml b/gr-dtv/grc/dtv_atsc_trellis_encoder.block.yml new file mode 100644 index 0000000000..417e3f19d6 --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_trellis_encoder.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_trellis_encoder +label: ATSC Trellis Encoder + +inputs: +- domain: stream + dtype: byte + vlen: 256 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_trellis_encoder() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_trellis_encoder.xml b/gr-dtv/grc/dtv_atsc_trellis_encoder.xml deleted file mode 100644 index 2189075008..0000000000 --- a/gr-dtv/grc/dtv_atsc_trellis_encoder.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Trellis Encoder -################################################### - --> -<block> - <name>ATSC Trellis Encoder</name> - <key>dtv_atsc_trellis_encoder</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_trellis_encoder()</make> - <sink> - <name>in</name> - <type>byte</type> - <vlen>256</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_atsc_viterbi_decoder.block.yml b/gr-dtv/grc/dtv_atsc_viterbi_decoder.block.yml new file mode 100644 index 0000000000..bb77b072be --- /dev/null +++ b/gr-dtv/grc/dtv_atsc_viterbi_decoder.block.yml @@ -0,0 +1,18 @@ +id: dtv_atsc_viterbi_decoder +label: ATSC Viterbi Decoder + +inputs: +- domain: stream + dtype: byte + vlen: 4096 + +outputs: +- domain: stream + dtype: byte + vlen: 256 + +templates: + imports: from gnuradio import dtv + make: dtv.atsc_viterbi_decoder() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_atsc_viterbi_decoder.xml b/gr-dtv/grc/dtv_atsc_viterbi_decoder.xml deleted file mode 100644 index 23d58d08af..0000000000 --- a/gr-dtv/grc/dtv_atsc_viterbi_decoder.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## ATSC Equalizer -################################################### - --> -<block> - <name>ATSC Viterbi Decoder</name> - <key>dtv_atsc_viterbi_decoder</key> - <import>from gnuradio import dtv</import> - <make>dtv.atsc_viterbi_decoder()</make> - - <sink> - <name>in</name> - <type>byte</type> - <vlen>4096</vlen> - </sink> - - <source> - <name>out</name> - <type>byte</type> - <vlen>256</vlen> - </source> - -</block> diff --git a/gr-dtv/grc/dtv_block_tree.xml b/gr-dtv/grc/dtv_block_tree.xml deleted file mode 100644 index 8dcbd18127..0000000000 --- a/gr-dtv/grc/dtv_block_tree.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> - -<!-- - Copyright 2014,2015,2016 Free Software Foundation, Inc. - - This file is part of GNU Radio - - GNU Radio 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. - - GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, - Boston, MA 02110-1301, USA. ---> - -<!-- -################################################### -##Block Tree for GR DTV blocks. -################################################### - --> -<cat> - <name>[Core]</name> - <cat> - <name>Digital Television</name> - <cat> - <name>ATSC</name> - <block>dtv_atsc_deinterleaver</block> - <block>dtv_atsc_depad</block> - <block>dtv_atsc_derandomizer</block> - <block>dtv_atsc_equalizer</block> - <block>dtv_atsc_fpll</block> - <block>dtv_atsc_fs_checker</block> - <block>dtv_atsc_rs_decoder</block> - <block>dtv_atsc_rx</block> - <block>dtv_atsc_rx_filter</block> - <block>dtv_atsc_sync</block> - <block>dtv_atsc_viterbi_decoder</block> - <block>dtv_atsc_pad</block> - <block>dtv_atsc_randomizer</block> - <block>dtv_atsc_rs_encoder</block> - <block>dtv_atsc_interleaver</block> - <block>dtv_atsc_trellis_encoder</block> - <block>dtv_atsc_field_sync_mux</block> - </cat> - <cat> - <name>DVB</name> - <block>dtv_dvb_bbheader_bb</block> - <block>dtv_dvb_bbscrambler_bb</block> - <block>dtv_dvb_bch_bb</block> - <block>dtv_dvb_ldpc_bb</block> - </cat> - <cat> - <name>DVB-T2</name> - <block>dtv_dvbt2_interleaver_bb</block> - <block>dtv_dvbt2_modulator_bc</block> - <block>dtv_dvbt2_cellinterleaver_cc</block> - <block>dtv_dvbt2_framemapper_cc</block> - <block>dtv_dvbt2_freqinterleaver_cc</block> - <block>dtv_dvbt2_pilotgenerator_cc</block> - <block>dtv_dvbt2_paprtr_cc</block> - <block>dtv_dvbt2_p1insertion_cc</block> - <block>dtv_dvbt2_miso_cc</block> - </cat> - <cat> - <name>DVB-S2</name> - <block>dtv_dvbs2_interleaver_bb</block> - <block>dtv_dvbs2_modulator_bc</block> - <block>dtv_dvbs2_physical_cc</block> - </cat> - <cat> - <name>DVB-T</name> - <block>dtv_dvbt_energy_dispersal</block> - <block>dtv_dvbt_reed_solomon_enc</block> - <block>dtv_dvbt_convolutional_interleaver</block> - <block>dtv_dvbt_inner_coder</block> - <block>dtv_dvbt_bit_inner_interleaver</block> - <block>dtv_dvbt_symbol_inner_interleaver</block> - <block>dtv_dvbt_map</block> - <block>dtv_dvbt_reference_signals</block> - <block>dtv_dvbt_ofdm_sym_acquisition</block> - <block>dtv_dvbt_demod_reference_signals</block> - <block>dtv_dvbt_demap</block> - <block>dtv_dvbt_bit_inner_deinterleaver</block> - <block>dtv_dvbt_viterbi_decoder</block> - <block>dtv_dvbt_convolutional_deinterleaver</block> - <block>dtv_dvbt_reed_solomon_dec</block> - <block>dtv_dvbt_energy_descramble</block> - </cat> - <cat> - <name>ITU-T J.83B</name> - <block>dtv_catv_transport_framing_enc_bb</block> - <block>dtv_catv_reed_solomon_enc_bb</block> - <block>dtv_catv_randomizer_bb</block> - <block>dtv_catv_frame_sync_enc_bb</block> - <block>dtv_catv_trellis_enc_bb</block> - </cat> - </cat> -</cat> diff --git a/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.block.yml b/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.block.yml new file mode 100644 index 0000000000..d629a16694 --- /dev/null +++ b/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.block.yml @@ -0,0 +1,29 @@ +id: dtv_catv_frame_sync_enc_bb +label: Frame Sync Encoder + +parameters: +- id: constellation + label: Constellation + dtype: enum + options: [CATV_MOD_64QAM, CATV_MOD_256QAM] + option_labels: [64QAM, 256QAM] + option_attributes: + val: [dtv.CATV_MOD_64QAM, dtv.CATV_MOD_256QAM] +- id: ctrlword + label: Control Word + dtype: int + default: '6' + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.catv_frame_sync_enc_bb(${constellation.val}, ${ctrlword}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.xml b/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.xml deleted file mode 100644 index 11f05164b3..0000000000 --- a/gr-dtv/grc/dtv_catv_frame_sync_enc_bb.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Frame Sync Encoder -################################################### - --> -<block> - <name>Frame Sync Encoder</name> - <key>dtv_catv_frame_sync_enc_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.catv_frame_sync_enc_bb($constellation.val, $ctrlword)</make> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>64QAM</name> - <key>CATV_MOD_64QAM</key> - <opt>val:dtv.CATV_MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>CATV_MOD_256QAM</key> - <opt>val:dtv.CATV_MOD_256QAM</opt> - </option> - </param> - <param> - <name>Control Word</name> - <key>ctrlword</key> - <value>6</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_catv_randomizer_bb.block.yml b/gr-dtv/grc/dtv_catv_randomizer_bb.block.yml new file mode 100644 index 0000000000..1be423454d --- /dev/null +++ b/gr-dtv/grc/dtv_catv_randomizer_bb.block.yml @@ -0,0 +1,25 @@ +id: dtv_catv_randomizer_bb +label: Randomizer + +parameters: +- id: constellation + label: Constellation + dtype: enum + options: [CATV_MOD_64QAM, CATV_MOD_256QAM] + option_labels: [64QAM, 256QAM] + option_attributes: + val: [dtv.CATV_MOD_64QAM, dtv.CATV_MOD_256QAM] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.catv_randomizer_bb(${constellation.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_catv_randomizer_bb.xml b/gr-dtv/grc/dtv_catv_randomizer_bb.xml deleted file mode 100644 index d0da5a2516..0000000000 --- a/gr-dtv/grc/dtv_catv_randomizer_bb.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Randomizer -################################################### - --> -<block> - <name>Randomizer</name> - <key>dtv_catv_randomizer_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.catv_randomizer_bb($constellation.val)</make> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>64QAM</name> - <key>CATV_MOD_64QAM</key> - <opt>val:dtv.CATV_MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>CATV_MOD_256QAM</key> - <opt>val:dtv.CATV_MOD_256QAM</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.block.yml b/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.block.yml new file mode 100644 index 0000000000..fa51b3bab8 --- /dev/null +++ b/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.block.yml @@ -0,0 +1,16 @@ +id: dtv_catv_reed_solomon_enc_bb +label: Reed-Solomon Encoder + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.catv_reed_solomon_enc_bb() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.xml b/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.xml deleted file mode 100644 index a5dfdc2a5a..0000000000 --- a/gr-dtv/grc/dtv_catv_reed_solomon_enc_bb.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Reed Solomon Encoder -################################################### - --> -<block> - <name>Reed-Solomon Encoder</name> - <key>dtv_catv_reed_solomon_enc_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.catv_reed_solomon_enc_bb()</make> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.block.yml b/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.block.yml new file mode 100644 index 0000000000..3f269d1704 --- /dev/null +++ b/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.block.yml @@ -0,0 +1,16 @@ +id: dtv_catv_transport_framing_enc_bb +label: Transport Framing Encoder + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.catv_transport_framing_enc_bb() + +file_format: 1 diff --git a/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.xml b/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.xml deleted file mode 100644 index d0b6bf382b..0000000000 --- a/gr-dtv/grc/dtv_catv_transport_framing_enc_bb.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Transport Framing Encoder -################################################### - --> -<block> - <name>Transport Framing Encoder</name> - <key>dtv_catv_transport_framing_enc_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.catv_transport_framing_enc_bb()</make> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_catv_trellis_enc_bb.block.yml b/gr-dtv/grc/dtv_catv_trellis_enc_bb.block.yml new file mode 100644 index 0000000000..aafba8ed2d --- /dev/null +++ b/gr-dtv/grc/dtv_catv_trellis_enc_bb.block.yml @@ -0,0 +1,25 @@ +id: dtv_catv_trellis_enc_bb +label: Trellis Encoder + +parameters: +- id: constellation + label: Constellation + dtype: enum + options: [CATV_MOD_64QAM, CATV_MOD_256QAM] + option_labels: [64QAM, 256QAM] + option_attributes: + val: [dtv.CATV_MOD_64QAM, dtv.CATV_MOD_256QAM] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.catv_trellis_enc_bb(${constellation.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_catv_trellis_enc_bb.xml b/gr-dtv/grc/dtv_catv_trellis_enc_bb.xml deleted file mode 100644 index a1d2d4619c..0000000000 --- a/gr-dtv/grc/dtv_catv_trellis_enc_bb.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Trellis Encoder -################################################### - --> -<block> - <name>Trellis Encoder</name> - <key>dtv_catv_trellis_enc_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.catv_trellis_enc_bb($constellation.val)</make> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>64QAM</name> - <key>CATV_MOD_64QAM</key> - <opt>val:dtv.CATV_MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>CATV_MOD_256QAM</key> - <opt>val:dtv.CATV_MOD_256QAM</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvb_bbheader_bb.block.yml b/gr-dtv/grc/dtv_dvb_bbheader_bb.block.yml new file mode 100644 index 0000000000..7f51427af5 --- /dev/null +++ b/gr-dtv/grc/dtv_dvb_bbheader_bb.block.yml @@ -0,0 +1,154 @@ +id: dtv_dvb_bbheader_bb +label: BBheader + +parameters: +- id: standard + label: Standard + dtype: enum + options: [STANDARD_DVBS2, STANDARD_DVBT2] + option_labels: [DVB-S2, DVB-T2] + option_attributes: + hide_dvbs2: ['', all] + hide_dvbt2: [all, ''] + val: [dtv.STANDARD_DVBS2, dtv.STANDARD_DVBT2] +- id: framesize1 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + hide_medium: [all, all] + hide_normal: ['', all] + hide_short: [all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbt2 } +- id: framesize2 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbs2 } +- id: rate1 + label: Code rate + dtype: enum + options: [C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, dtv.C5_6] + hide: ${ (framesize1.hide_normal if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] + hide: ${ (framesize1.hide_short if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ (framesize2.hide_normal if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate4 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ (framesize2.hide_medium if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate5 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ (framesize2.hide_short if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rolloff + label: Rolloff factor + dtype: enum + options: [RO_0_35, RO_0_25, RO_0_20, RO_0_15, RO_0_10, RO_0_05] + option_labels: ['0.35', '0.25', '0.20', '0.15', '0.10', '0.05'] + option_attributes: + val: [dtv.RO_0_35, dtv.RO_0_25, dtv.RO_0_20, dtv.RO_0_15, dtv.RO_0_10, dtv.RO_0_05] + hide: ${ standard.hide_dvbs2 } +- id: mode + label: Baseband Framing Mode + dtype: enum + options: [INPUTMODE_NORMAL, INPUTMODE_HIEFF] + option_labels: [Normal, High Efficiency] + option_attributes: + val: [dtv.INPUTMODE_NORMAL, dtv.INPUTMODE_HIEFF] + hide: ${ standard.hide_dvbt2 } +- id: inband + label: In-band Signalling + dtype: enum + options: [INBAND_OFF, INBAND_ON] + option_labels: ['Off', Type B] + option_attributes: + hide_rate: [all, ''] + val: [dtv.INBAND_OFF, dtv.INBAND_ON] + hide: ${ standard.hide_dvbt2 } +- id: fecblocks + label: FEC blocks per frame + dtype: int + default: '168' + hide: ${ inband.hide_rate } +- id: tsrate + label: Transport Stream Rate + dtype: int + default: '4000000' + hide: ${ inband.hide_rate } + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: "dtv.dvb_bbheader_bb(${standard.val}, \n% if str(standard) == 'STANDARD_DVBT2':\n\ + ${framesize1.val}, \n% else:\n${framesize2.val}, \n% endif\n% if str(standard)\ + \ == 'STANDARD_DVBT2':\n% if str(framesize1) == 'FECFRAME_NORMAL':\n${rate1.val},\ + \ \n% else:\n${rate2.val}, \n% endif\n% else:\n% if str(framesize2) == 'FECFRAME_NORMAL':\n\ + ${rate3.val}, \n% elif str(framesize2) == 'FECFRAME_MEDIUM':\n${rate4.val},\ + \ \n% else:\n${rate5.val}, \n% endif\n% endif\n${rolloff.val}, ${mode.val},\ + \ ${inband.val}, ${fecblocks}, ${tsrate})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvb_bbheader_bb.xml b/gr-dtv/grc/dtv_dvb_bbheader_bb.xml deleted file mode 100644 index b18b87b604..0000000000 --- a/gr-dtv/grc/dtv_dvb_bbheader_bb.xml +++ /dev/null @@ -1,596 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB Baseband Header -################################################### - --> -<block> - <name>BBheader</name> - <key>dtv_dvb_bbheader_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvb_bbheader_bb($standard.val, #slurp -#if str($standard) == 'STANDARD_DVBT2' -$framesize1.val, #slurp -#else -$framesize2.val, #slurp -#end if -#if str($standard) == 'STANDARD_DVBT2' -#if str($framesize1) == 'FECFRAME_NORMAL' -$rate1.val, #slurp -#else -$rate2.val, #slurp -#end if -#else -#if str($framesize2) == 'FECFRAME_NORMAL' -$rate3.val, #slurp -#else if str($framesize2) == 'FECFRAME_MEDIUM' -$rate4.val, #slurp -#else -$rate5.val, #slurp -#end if -#end if -$rolloff.val, $mode.val, $inband.val, $fecblocks, $tsrate)</make> - <param> - <name>Standard</name> - <key>standard</key> - <type>enum</type> - <option> - <name>DVB-S2</name> - <key>STANDARD_DVBS2</key> - <opt>val:dtv.STANDARD_DVBS2</opt> - <opt>hide_dvbs2:</opt> - <opt>hide_dvbt2:all</opt> - </option> - <option> - <name>DVB-T2</name> - <key>STANDARD_DVBT2</key> - <opt>val:dtv.STANDARD_DVBT2</opt> - <opt>hide_dvbs2:all</opt> - <opt>hide_dvbt2:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize1</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize2</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_normal else 'all'</hide> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_short else 'all'</hide> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_normal else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate4</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_medium else 'all'</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate5</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_short else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <param> - <name>Rolloff factor</name> - <key>rolloff</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>0.35</name> - <key>RO_0_35</key> - <opt>val:dtv.RO_0_35</opt> - </option> - <option> - <name>0.25</name> - <key>RO_0_25</key> - <opt>val:dtv.RO_0_25</opt> - </option> - <option> - <name>0.20</name> - <key>RO_0_20</key> - <opt>val:dtv.RO_0_20</opt> - </option> - <option> - <name>0.15</name> - <key>RO_0_15</key> - <opt>val:dtv.RO_0_15</opt> - </option> - <option> - <name>0.10</name> - <key>RO_0_10</key> - <opt>val:dtv.RO_0_10</opt> - </option> - <option> - <name>0.05</name> - <key>RO_0_05</key> - <opt>val:dtv.RO_0_05</opt> - </option> - </param> - <param> - <name>Baseband Framing Mode</name> - <key>mode</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Normal</name> - <key>INPUTMODE_NORMAL</key> - <opt>val:dtv.INPUTMODE_NORMAL</opt> - </option> - <option> - <name>High Efficiency</name> - <key>INPUTMODE_HIEFF</key> - <opt>val:dtv.INPUTMODE_HIEFF</opt> - </option> - </param> - <param> - <name>In-band Signalling</name> - <key>inband</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Off</name> - <key>INBAND_OFF</key> - <opt>val:dtv.INBAND_OFF</opt> - <opt>hide_rate:all</opt> - </option> - <option> - <name>Type B</name> - <key>INBAND_ON</key> - <opt>val:dtv.INBAND_ON</opt> - <opt>hide_rate:</opt> - </option> - </param> - <param> - <name>FEC blocks per frame</name> - <key>fecblocks</key> - <value>168</value> - <type>int</type> - <hide>$inband.hide_rate</hide> - </param> - <param> - <name>Transport Stream Rate</name> - <key>tsrate</key> - <value>4000000</value> - <type>int</type> - <hide>$inband.hide_rate</hide> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvb_bbscrambler_bb.block.yml b/gr-dtv/grc/dtv_dvb_bbscrambler_bb.block.yml new file mode 100644 index 0000000000..c1e2a7685b --- /dev/null +++ b/gr-dtv/grc/dtv_dvb_bbscrambler_bb.block.yml @@ -0,0 +1,118 @@ +id: dtv_dvb_bbscrambler_bb +label: BBscrambler + +parameters: +- id: standard + label: Standard + dtype: enum + options: [STANDARD_DVBS2, STANDARD_DVBT2] + option_labels: [DVB-S2, DVB-T2] + option_attributes: + hide_dvbs2: ['', all] + hide_dvbt2: [all, ''] + val: [dtv.STANDARD_DVBS2, dtv.STANDARD_DVBT2] +- id: framesize1 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + hide_medium: [all, all] + hide_normal: ['', all] + hide_short: [all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbt2 } +- id: framesize2 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbs2 } +- id: rate1 + label: Code rate + dtype: enum + options: [C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, dtv.C5_6] + hide: ${ (framesize1.hide_normal if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] + hide: ${ (framesize1.hide_short if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ (framesize2.hide_normal if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate4 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ (framesize2.hide_medium if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate5 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ (framesize2.hide_short if str(standard) == 'STANDARD_DVBS2' else 'all') + } + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: "dtv.dvb_bbscrambler_bb(${standard.val}, \n% if str(standard) == 'STANDARD_DVBT2':\n\ + ${framesize1.val}, \n% else:\n${framesize2.val}, \n% endif\n% if str(standard)\ + \ == 'STANDARD_DVBT2':\n% if str(framesize1) == 'FECFRAME_NORMAL':\n${rate1.val}\n\ + % else:\n${rate2.val}\n% endif\n% else:\n% if str(framesize2) == 'FECFRAME_NORMAL':\n\ + ${rate3.val}\n% elif str(framesize2) == 'FECFRAME_MEDIUM':\n${rate4.val}\n\ + % else:\n${rate5.val}\n% endif\n% endif\n)" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvb_bbscrambler_bb.xml b/gr-dtv/grc/dtv_dvb_bbscrambler_bb.xml deleted file mode 100644 index 2fba572d39..0000000000 --- a/gr-dtv/grc/dtv_dvb_bbscrambler_bb.xml +++ /dev/null @@ -1,512 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB Baseband Scrambler -################################################### - --> -<block> - <name>BBscrambler</name> - <key>dtv_dvb_bbscrambler_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvb_bbscrambler_bb($standard.val, #slurp -#if str($standard) == 'STANDARD_DVBT2' -$framesize1.val, #slurp -#else -$framesize2.val, #slurp -#end if -#if str($standard) == 'STANDARD_DVBT2' -#if str($framesize1) == 'FECFRAME_NORMAL' -$rate1.val#slurp -#else -$rate2.val#slurp -#end if -#else -#if str($framesize2) == 'FECFRAME_NORMAL' -$rate3.val#slurp -#else if str($framesize2) == 'FECFRAME_MEDIUM' -$rate4.val#slurp -#else -$rate5.val#slurp -#end if -#end if -)</make> - <param> - <name>Standard</name> - <key>standard</key> - <type>enum</type> - <option> - <name>DVB-S2</name> - <key>STANDARD_DVBS2</key> - <opt>val:dtv.STANDARD_DVBS2</opt> - <opt>hide_dvbs2:</opt> - <opt>hide_dvbt2:all</opt> - </option> - <option> - <name>DVB-T2</name> - <key>STANDARD_DVBT2</key> - <opt>val:dtv.STANDARD_DVBT2</opt> - <opt>hide_dvbs2:all</opt> - <opt>hide_dvbt2:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize1</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize2</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_normal else 'all'</hide> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_short else 'all'</hide> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_normal else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate4</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_medium else 'all'</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate5</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_short else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvb_bch_bb.block.yml b/gr-dtv/grc/dtv_dvb_bch_bb.block.yml new file mode 100644 index 0000000000..bfde8654fa --- /dev/null +++ b/gr-dtv/grc/dtv_dvb_bch_bb.block.yml @@ -0,0 +1,118 @@ +id: dtv_dvb_bch_bb +label: BCH Encoder + +parameters: +- id: standard + label: Standard + dtype: enum + options: [STANDARD_DVBS2, STANDARD_DVBT2] + option_labels: [DVB-S2, DVB-T2] + option_attributes: + hide_dvbs2: ['', all] + hide_dvbt2: [all, ''] + val: [dtv.STANDARD_DVBS2, dtv.STANDARD_DVBT2] +- id: framesize1 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + hide_medium: [all, all] + hide_normal: ['', all] + hide_short: [all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbt2 } +- id: framesize2 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbs2 } +- id: rate1 + label: Code rate + dtype: enum + options: [C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, dtv.C5_6] + hide: ${ (framesize1.hide_normal if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] + hide: ${ (framesize1.hide_short if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ (framesize2.hide_normal if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate4 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ (framesize2.hide_medium if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate5 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ (framesize2.hide_short if str(standard) == 'STANDARD_DVBS2' else 'all') + } + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: "dtv.dvb_bch_bb(${standard.val}, \n% if str(standard) == 'STANDARD_DVBT2':\n\ + ${framesize1.val}, \n% else:\n${framesize2.val}, \n% endif\n% if str(standard)\ + \ == 'STANDARD_DVBT2':\n% if str(framesize1) == 'FECFRAME_NORMAL':\n${rate1.val}\n\ + % else:\n${rate2.val}\n% endif\n% else:\n% if str(framesize2) == 'FECFRAME_NORMAL':\n\ + ${rate3.val}\n% elif str(framesize2) == 'FECFRAME_MEDIUM':\n${rate4.val}\n\ + % else:\n${rate5.val}\n% endif\n% endif\n)" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvb_bch_bb.xml b/gr-dtv/grc/dtv_dvb_bch_bb.xml deleted file mode 100644 index 01b446b7ca..0000000000 --- a/gr-dtv/grc/dtv_dvb_bch_bb.xml +++ /dev/null @@ -1,512 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB BCH Encoder -################################################### - --> -<block> - <name>BCH Encoder</name> - <key>dtv_dvb_bch_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvb_bch_bb($standard.val, #slurp -#if str($standard) == 'STANDARD_DVBT2' -$framesize1.val, #slurp -#else -$framesize2.val, #slurp -#end if -#if str($standard) == 'STANDARD_DVBT2' -#if str($framesize1) == 'FECFRAME_NORMAL' -$rate1.val#slurp -#else -$rate2.val#slurp -#end if -#else -#if str($framesize2) == 'FECFRAME_NORMAL' -$rate3.val#slurp -#else if str($framesize2) == 'FECFRAME_MEDIUM' -$rate4.val#slurp -#else -$rate5.val#slurp -#end if -#end if -)</make> - <param> - <name>Standard</name> - <key>standard</key> - <type>enum</type> - <option> - <name>DVB-S2</name> - <key>STANDARD_DVBS2</key> - <opt>val:dtv.STANDARD_DVBS2</opt> - <opt>hide_dvbs2:</opt> - <opt>hide_dvbt2:all</opt> - </option> - <option> - <name>DVB-T2</name> - <key>STANDARD_DVBT2</key> - <opt>val:dtv.STANDARD_DVBT2</opt> - <opt>hide_dvbs2:all</opt> - <opt>hide_dvbt2:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize1</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize2</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_normal else 'all'</hide> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_short else 'all'</hide> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_normal else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate4</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_medium else 'all'</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate5</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_short else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvb_ldpc_bb.block.yml b/gr-dtv/grc/dtv_dvb_ldpc_bb.block.yml new file mode 100644 index 0000000000..435e039d51 --- /dev/null +++ b/gr-dtv/grc/dtv_dvb_ldpc_bb.block.yml @@ -0,0 +1,126 @@ +id: dtv_dvb_ldpc_bb +label: LDPC Encoder + +parameters: +- id: standard + label: Standard + dtype: enum + options: [STANDARD_DVBS2, STANDARD_DVBT2] + option_labels: [DVB-S2, DVB-T2] + option_attributes: + hide_dvbs2: ['', all] + hide_dvbt2: [all, ''] + val: [dtv.STANDARD_DVBS2, dtv.STANDARD_DVBT2] +- id: framesize1 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + hide_medium: [all, all] + hide_normal: ['', all] + hide_short: [all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbt2 } +- id: framesize2 + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] + hide: ${ standard.hide_dvbs2 } +- id: rate1 + label: Code rate + dtype: enum + options: [C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, dtv.C5_6] + hide: ${ (framesize1.hide_normal if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] + hide: ${ (framesize1.hide_short if str(standard) == 'STANDARD_DVBT2' else 'all') + } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ (framesize2.hide_normal if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate4 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ (framesize2.hide_medium if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: rate5 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ (framesize2.hide_short if str(standard) == 'STANDARD_DVBS2' else 'all') + } +- id: constellation + label: Constellation + dtype: enum + options: [MOD_OTHER, MOD_128APSK] + option_labels: [Other, 128APSK] + option_attributes: + val: [dtv.MOD_OTHER, dtv.MOD_128APSK] + hide: ${ standard.hide_dvbs2 } + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: "dtv.dvb_ldpc_bb(${standard.val}, \n% if str(standard) == 'STANDARD_DVBT2':\n\ + ${framesize1.val}, \n% else:\n${framesize2.val}, \n% endif\n% if str(standard)\ + \ == 'STANDARD_DVBT2':\n% if str(framesize1) == 'FECFRAME_NORMAL':\n${rate1.val},\ + \ \n% else:\n${rate2.val}, \n% endif\n% else:\n% if str(framesize2) == 'FECFRAME_NORMAL':\n\ + ${rate3.val}, \n% elif str(framesize2) == 'FECFRAME_MEDIUM':\n${rate4.val},\ + \ \n% else:\n${rate5.val}, \n% endif\n% endif\n${constellation.val})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvb_ldpc_bb.xml b/gr-dtv/grc/dtv_dvb_ldpc_bb.xml deleted file mode 100644 index f1cff16091..0000000000 --- a/gr-dtv/grc/dtv_dvb_ldpc_bb.xml +++ /dev/null @@ -1,528 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB LDPC Encoder -################################################### - --> -<block> - <name>LDPC Encoder</name> - <key>dtv_dvb_ldpc_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvb_ldpc_bb($standard.val, #slurp -#if str($standard) == 'STANDARD_DVBT2' -$framesize1.val, #slurp -#else -$framesize2.val, #slurp -#end if -#if str($standard) == 'STANDARD_DVBT2' -#if str($framesize1) == 'FECFRAME_NORMAL' -$rate1.val, #slurp -#else -$rate2.val, #slurp -#end if -#else -#if str($framesize2) == 'FECFRAME_NORMAL' -$rate3.val, #slurp -#else if str($framesize2) == 'FECFRAME_MEDIUM' -$rate4.val, #slurp -#else -$rate5.val, #slurp -#end if -#end if -$constellation.val)</make> - <param> - <name>Standard</name> - <key>standard</key> - <type>enum</type> - <option> - <name>DVB-S2</name> - <key>STANDARD_DVBS2</key> - <opt>val:dtv.STANDARD_DVBS2</opt> - <opt>hide_dvbs2:</opt> - <opt>hide_dvbt2:all</opt> - </option> - <option> - <name>DVB-T2</name> - <key>STANDARD_DVBT2</key> - <opt>val:dtv.STANDARD_DVBT2</opt> - <opt>hide_dvbs2:all</opt> - <opt>hide_dvbt2:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize1</key> - <type>enum</type> - <hide>$standard.hide_dvbt2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>FECFRAME size</name> - <key>framesize2</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_normal else 'all'</hide> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBT2' then $framesize1.hide_short else 'all'</hide> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_normal else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate4</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_medium else 'all'</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate5</key> - <type>enum</type> - <hide>#if str($standard) == 'STANDARD_DVBS2' then $framesize2.hide_short else 'all'</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <hide>$standard.hide_dvbs2</hide> - <option> - <name>Other</name> - <key>MOD_OTHER</key> - <opt>val:dtv.MOD_OTHER</opt> - </option> - <option> - <name>128APSK</name> - <key>MOD_128APSK</key> - <opt>val:dtv.MOD_128APSK</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbs2_interleaver_bb.block.yml b/gr-dtv/grc/dtv_dvbs2_interleaver_bb.block.yml new file mode 100644 index 0000000000..ad9c79c1b8 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbs2_interleaver_bb.block.yml @@ -0,0 +1,86 @@ +id: dtv_dvbs2_interleaver_bb +label: Interleaver + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] +- id: rate1 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ framesize.hide_normal } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ framesize.hide_medium } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ framesize.hide_short } +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_8PSK, MOD_8APSK, MOD_16APSK, MOD_8_8APSK, MOD_32APSK, + MOD_4_12_16APSK, MOD_4_8_4_16APSK, MOD_64APSK, MOD_8_16_20_20APSK, MOD_4_12_20_28APSK, + MOD_128APSK, MOD_256APSK, MOD_BPSK, MOD_BPSK_SF2] + option_labels: [QPSK, 8PSK, 8APSK, 16APSK, 8+8APSK, 32APSK, 4+12+16rbAPSK, 4+8+4+16APSK, + 64APSK, 8+16+20+20APSK, 4+12+20+28APSK, 128APSK, 256APSK, PI/2 BPSK, PI/2 + BPSK-SF2] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_8PSK, dtv.MOD_8APSK, dtv.MOD_16APSK, dtv.MOD_8_8APSK, + dtv.MOD_32APSK, dtv.MOD_4_12_16APSK, dtv.MOD_4_8_4_16APSK, dtv.MOD_64APSK, + dtv.MOD_8_16_20_20APSK, dtv.MOD_4_12_20_28APSK, dtv.MOD_128APSK, dtv.MOD_256APSK, + dtv.MOD_BPSK, dtv.MOD_BPSK_SF2] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbs2_interleaver_bb(${framesize.val}, \n% if str(framesize) == 'FECFRAME_NORMAL':\n\ + ${rate1.val}, \n% elif str(framesize) == 'FECFRAME_MEDIUM':\n${rate2.val},\ + \ \n% else:\n${rate3.val}, \n% endif\n${constellation.val})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml b/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml deleted file mode 100644 index 675f70d26a..0000000000 --- a/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml +++ /dev/null @@ -1,455 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-S2 Bit Interleaver -################################################### - --> -<block> - <name>Interleaver</name> - <key>dtv_dvbs2_interleaver_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbs2_interleaver_bb($framesize.val, #slurp -#if str($framesize) == 'FECFRAME_NORMAL' -$rate1.val, #slurp -#else if str($framesize) == 'FECFRAME_MEDIUM' -$rate2.val, #slurp -#else -$rate3.val, #slurp -#end if -$constellation.val)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>$framesize.hide_normal</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>$framesize.hide_medium</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>$framesize.hide_short</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>8PSK</name> - <key>MOD_8PSK</key> - <opt>val:dtv.MOD_8PSK</opt> - </option> - <option> - <name>8APSK</name> - <key>MOD_8APSK</key> - <opt>val:dtv.MOD_8APSK</opt> - </option> - <option> - <name>16APSK</name> - <key>MOD_16APSK</key> - <opt>val:dtv.MOD_16APSK</opt> - </option> - <option> - <name>8+8APSK</name> - <key>MOD_8_8APSK</key> - <opt>val:dtv.MOD_8_8APSK</opt> - </option> - <option> - <name>32APSK</name> - <key>MOD_32APSK</key> - <opt>val:dtv.MOD_32APSK</opt> - </option> - <option> - <name>4+12+16rbAPSK</name> - <key>MOD_4_12_16APSK</key> - <opt>val:dtv.MOD_4_12_16APSK</opt> - </option> - <option> - <name>4+8+4+16APSK</name> - <key>MOD_4_8_4_16APSK</key> - <opt>val:dtv.MOD_4_8_4_16APSK</opt> - </option> - <option> - <name>64APSK</name> - <key>MOD_64APSK</key> - <opt>val:dtv.MOD_64APSK</opt> - </option> - <option> - <name>8+16+20+20APSK</name> - <key>MOD_8_16_20_20APSK</key> - <opt>val:dtv.MOD_8_16_20_20APSK</opt> - </option> - <option> - <name>4+12+20+28APSK</name> - <key>MOD_4_12_20_28APSK</key> - <opt>val:dtv.MOD_4_12_20_28APSK</opt> - </option> - <option> - <name>128APSK</name> - <key>MOD_128APSK</key> - <opt>val:dtv.MOD_128APSK</opt> - </option> - <option> - <name>256APSK</name> - <key>MOD_256APSK</key> - <opt>val:dtv.MOD_256APSK</opt> - </option> - <option> - <name>PI/2 BPSK</name> - <key>MOD_BPSK</key> - <opt>val:dtv.MOD_BPSK</opt> - </option> - <option> - <name>PI/2 BPSK-SF2</name> - <key>MOD_BPSK_SF2</key> - <opt>val:dtv.MOD_BPSK_SF2</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbs2_modulator_bc.block.yml b/gr-dtv/grc/dtv_dvbs2_modulator_bc.block.yml new file mode 100644 index 0000000000..07d6cd58ff --- /dev/null +++ b/gr-dtv/grc/dtv_dvbs2_modulator_bc.block.yml @@ -0,0 +1,102 @@ +id: dtv_dvbs2_modulator_bc +label: DVB-S2X Modulator + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] + hide: ${ constellation.hide_dvb } +- id: rate1 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ (constellation.hide_dvb if str(constellation) == 'MOD_8VSB' or str(constellation) + == 'MOD_64QAM' or str(constellation) == 'MOD_256QAM' else framesize.hide_normal) + } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ (constellation.hide_dvb if str(constellation) == 'MOD_8VSB' or str(constellation) + == 'MOD_64QAM' or str(constellation) == 'MOD_256QAM' else framesize.hide_medium) + } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ (constellation.hide_dvb if str(constellation) == 'MOD_8VSB' or str(constellation) + == 'MOD_64QAM' or str(constellation) == 'MOD_256QAM' else framesize.hide_short) + } +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_8PSK, MOD_8APSK, MOD_16APSK, MOD_8_8APSK, MOD_32APSK, + MOD_4_12_16APSK, MOD_4_8_4_16APSK, MOD_64APSK, MOD_8_16_20_20APSK, MOD_4_12_20_28APSK, + MOD_128APSK, MOD_256APSK, MOD_64QAM, MOD_256QAM, MOD_BPSK, MOD_BPSK_SF2, MOD_8VSB] + option_labels: [QPSK, 8PSK, 8APSK, 16APSK, 8+8APSK, 32APSK, 4+12+16rbAPSK, 4+8+4+16APSK, + 64APSK, 8+16+20+20APSK, 4+12+20+28APSK, 128APSK, 256APSK, 64QAM (ITU-T J.83B), + 256QAM (ITU-T J.83B), PI/2 BPSK, PI/2 BPSK-SF2, 8VSB (ATSC)] + option_attributes: + hide_dvb: ['', '', '', '', '', '', '', '', '', '', '', '', '', all, all, '', + '', all] + val: [dtv.MOD_QPSK, dtv.MOD_8PSK, dtv.MOD_8APSK, dtv.MOD_16APSK, dtv.MOD_8_8APSK, + dtv.MOD_32APSK, dtv.MOD_4_12_16APSK, dtv.MOD_4_8_4_16APSK, dtv.MOD_64APSK, + dtv.MOD_8_16_20_20APSK, dtv.MOD_4_12_20_28APSK, dtv.MOD_128APSK, dtv.MOD_256APSK, + dtv.MOD_64QAM, dtv.MOD_256QAM, dtv.MOD_BPSK, dtv.MOD_BPSK_SF2, dtv.MOD_8VSB] +- id: interpolation + label: 2X Interpolation + dtype: enum + options: [INTERPOLATION_OFF, INTERPOLATION_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.INTERPOLATION_OFF, dtv.INTERPOLATION_ON] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbs2_modulator_bc(${framesize.val},\n% if str(framesize) == 'FECFRAME_NORMAL':\n\ + ${rate1.val}, \n% elif str(framesize) == 'FECFRAME_MEDIUM':\n${rate2.val},\ + \ \n% else:\n${rate3.val}, \n% endif\n${constellation.val}, ${interpolation.val})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbs2_modulator_bc.xml b/gr-dtv/grc/dtv_dvbs2_modulator_bc.xml deleted file mode 100644 index d6b9f10048..0000000000 --- a/gr-dtv/grc/dtv_dvbs2_modulator_bc.xml +++ /dev/null @@ -1,504 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-S2X Modulator -################################################### - --> -<block> - <name>DVB-S2X Modulator</name> - <key>dtv_dvbs2_modulator_bc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbs2_modulator_bc($framesize.val, -#if str($framesize) == 'FECFRAME_NORMAL' -$rate1.val, #slurp -#else if str($framesize) == 'FECFRAME_MEDIUM' -$rate2.val, #slurp -#else -$rate3.val, #slurp -#end if -$constellation.val, $interpolation.val)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <hide>$constellation.hide_dvb</hide> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>#if str($constellation) == 'MOD_8VSB' or str($constellation) == 'MOD_64QAM' or str($constellation) == 'MOD_256QAM' then $constellation.hide_dvb else $framesize.hide_normal</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>#if str($constellation) == 'MOD_8VSB' or str($constellation) == 'MOD_64QAM' or str($constellation) == 'MOD_256QAM' then $constellation.hide_dvb else $framesize.hide_medium</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>#if str($constellation) == 'MOD_8VSB' or str($constellation) == 'MOD_64QAM' or str($constellation) == 'MOD_256QAM' then $constellation.hide_dvb else $framesize.hide_short</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>8PSK</name> - <key>MOD_8PSK</key> - <opt>val:dtv.MOD_8PSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>8APSK</name> - <key>MOD_8APSK</key> - <opt>val:dtv.MOD_8APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>16APSK</name> - <key>MOD_16APSK</key> - <opt>val:dtv.MOD_16APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>8+8APSK</name> - <key>MOD_8_8APSK</key> - <opt>val:dtv.MOD_8_8APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>32APSK</name> - <key>MOD_32APSK</key> - <opt>val:dtv.MOD_32APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>4+12+16rbAPSK</name> - <key>MOD_4_12_16APSK</key> - <opt>val:dtv.MOD_4_12_16APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>4+8+4+16APSK</name> - <key>MOD_4_8_4_16APSK</key> - <opt>val:dtv.MOD_4_8_4_16APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>64APSK</name> - <key>MOD_64APSK</key> - <opt>val:dtv.MOD_64APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>8+16+20+20APSK</name> - <key>MOD_8_16_20_20APSK</key> - <opt>val:dtv.MOD_8_16_20_20APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>4+12+20+28APSK</name> - <key>MOD_4_12_20_28APSK</key> - <opt>val:dtv.MOD_4_12_20_28APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>128APSK</name> - <key>MOD_128APSK</key> - <opt>val:dtv.MOD_128APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>256APSK</name> - <key>MOD_256APSK</key> - <opt>val:dtv.MOD_256APSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>64QAM (ITU-T J.83B)</name> - <key>MOD_64QAM</key> - <opt>val:dtv.MOD_64QAM</opt> - <opt>hide_dvb:all</opt> - </option> - <option> - <name>256QAM (ITU-T J.83B)</name> - <key>MOD_256QAM</key> - <opt>val:dtv.MOD_256QAM</opt> - <opt>hide_dvb:all</opt> - </option> - <option> - <name>PI/2 BPSK</name> - <key>MOD_BPSK</key> - <opt>val:dtv.MOD_BPSK</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>PI/2 BPSK-SF2</name> - <key>MOD_BPSK_SF2</key> - <opt>val:dtv.MOD_BPSK_SF2</opt> - <opt>hide_dvb:</opt> - </option> - <option> - <name>8VSB (ATSC)</name> - <key>MOD_8VSB</key> - <opt>val:dtv.MOD_8VSB</opt> - <opt>hide_dvb:all</opt> - </option> - </param> - <param> - <name>2X Interpolation</name> - <key>interpolation</key> - <type>enum</type> - <option> - <name>Off</name> - <key>INTERPOLATION_OFF</key> - <opt>val:dtv.INTERPOLATION_OFF</opt> - </option> - <option> - <name>On</name> - <key>INTERPOLATION_ON</key> - <opt>val:dtv.INTERPOLATION_ON</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbs2_physical_cc.block.yml b/gr-dtv/grc/dtv_dvbs2_physical_cc.block.yml new file mode 100644 index 0000000000..261b2f6b06 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbs2_physical_cc.block.yml @@ -0,0 +1,98 @@ +id: dtv_dvbs2_physical_cc +label: Physical Layer Framer + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_MEDIUM, FECFRAME_SHORT] + option_labels: [Normal, Medium, Short] + option_attributes: + hide_medium: [all, '', all] + hide_normal: ['', all, all] + hide_short: [all, all, ''] + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_MEDIUM, dtv.FECFRAME_SHORT] +- id: rate1 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C9_10, C2_9_VLSNR, + C13_45, C9_20, C90_180, C96_180, C11_20, C100_180, C104_180, C26_45, C18_30, + C28_45, C23_36, C116_180, C20_30, C124_180, C25_36, C128_180, C13_18, C132_180, + C22_30, C135_180, C140_180, C7_9, C154_180] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 9/10, 2/9 VL-SNR, + 13/45, 9/20, 90/180, 96/180, 11/20, 100/180, 104/180, 26/45, 18/30, 28/45, + 23/36, 116/180, 20/30, 124/180, 25/36, 128/180, 13/18, 132/180, 22/30, 135/180, + 140/180, 7/9, 154/180] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C9_10, dtv.C2_9_VLSNR, dtv.C13_45, dtv.C9_20, + dtv.C90_180, dtv.C96_180, dtv.C11_20, dtv.C100_180, dtv.C104_180, dtv.C26_45, + dtv.C18_30, dtv.C28_45, dtv.C23_36, dtv.C116_180, dtv.C20_30, dtv.C124_180, + dtv.C25_36, dtv.C128_180, dtv.C13_18, dtv.C132_180, dtv.C22_30, dtv.C135_180, + dtv.C140_180, dtv.C7_9, dtv.C154_180] + hide: ${ framesize.hide_normal } +- id: rate2 + label: Code rate + dtype: enum + options: [C1_5_MEDIUM, C11_45_MEDIUM, C1_3_MEDIUM] + option_labels: [1/5, 11/45, 1/3] + option_attributes: + val: [dtv.C1_5_MEDIUM, dtv.C11_45_MEDIUM, dtv.C1_3_MEDIUM] + hide: ${ framesize.hide_medium } +- id: rate3 + label: Code rate + dtype: enum + options: [C1_4, C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6, C8_9, C11_45, + C4_15, C14_45, C7_15, C8_15, C26_45, C32_45, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, + C1_5_VLSNR, C4_15_VLSNR, C1_3_VLSNR] + option_labels: [1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, 11/45, 4/15, + 14/45, 7/15, 8/15, 26/45, 32/45, 1/5 VL-SNR SF2, 11/45 VL-SNR SF2, 1/5 VL-SNR, + 4/15 VL-SNR, 1/3 VL-SNR] + option_attributes: + val: [dtv.C1_4, dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, + dtv.C4_5, dtv.C5_6, dtv.C8_9, dtv.C11_45, dtv.C4_15, dtv.C14_45, dtv.C7_15, + dtv.C8_15, dtv.C26_45, dtv.C32_45, dtv.C1_5_VLSNR_SF2, dtv.C11_45_VLSNR_SF2, + dtv.C1_5_VLSNR, dtv.C4_15_VLSNR, dtv.C1_3_VLSNR] + hide: ${ framesize.hide_short } +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_8PSK, MOD_8APSK, MOD_16APSK, MOD_8_8APSK, MOD_32APSK, + MOD_4_12_16APSK, MOD_4_8_4_16APSK, MOD_64APSK, MOD_8_16_20_20APSK, MOD_4_12_20_28APSK, + MOD_128APSK, MOD_256APSK, MOD_BPSK, MOD_BPSK_SF2] + option_labels: [QPSK, 8PSK, 8APSK, 16APSK, 8+8APSK, 32APSK, 4+12+16rbAPSK, 4+8+4+16APSK, + 64APSK, 8+16+20+20APSK, 4+12+20+28APSK, 128APSK, 256APSK, PI/2 BPSK, PI/2 + BPSK-SF2] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_8PSK, dtv.MOD_8APSK, dtv.MOD_16APSK, dtv.MOD_8_8APSK, + dtv.MOD_32APSK, dtv.MOD_4_12_16APSK, dtv.MOD_4_8_4_16APSK, dtv.MOD_64APSK, + dtv.MOD_8_16_20_20APSK, dtv.MOD_4_12_20_28APSK, dtv.MOD_128APSK, dtv.MOD_256APSK, + dtv.MOD_BPSK, dtv.MOD_BPSK_SF2] +- id: pilots + label: Pilots + dtype: enum + options: [PILOTS_OFF, PILOTS_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.PILOTS_OFF, dtv.PILOTS_ON] +- id: goldcode + label: Gold Code + dtype: int + default: '0' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbs2_physical_cc(${framesize.val}, \n% if str(framesize) == 'FECFRAME_NORMAL':\n\ + ${rate1.val}, \n% elif str(framesize) == 'FECFRAME_MEDIUM':\n${rate2.val},\ + \ \n% else:\n${rate3.val}, \n% endif\n${constellation.val}, ${pilots.val},\ + \ ${goldcode})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbs2_physical_cc.xml b/gr-dtv/grc/dtv_dvbs2_physical_cc.xml deleted file mode 100644 index 91d03ae9ab..0000000000 --- a/gr-dtv/grc/dtv_dvbs2_physical_cc.xml +++ /dev/null @@ -1,476 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-S2 Physical Layer Framer -################################################### - --> -<block> - <name>Physical Layer Framer</name> - <key>dtv_dvbs2_physical_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbs2_physical_cc($framesize.val, #slurp -#if str($framesize) == 'FECFRAME_NORMAL' -$rate1.val, #slurp -#else if str($framesize) == 'FECFRAME_MEDIUM' -$rate2.val, #slurp -#else -$rate3.val, #slurp -#end if -$constellation.val, $pilots.val, $goldcode)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - <opt>hide_normal:</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Medium</name> - <key>FECFRAME_MEDIUM</key> - <opt>val:dtv.FECFRAME_MEDIUM</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:</opt> - <opt>hide_short:all</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - <opt>hide_normal:all</opt> - <opt>hide_medium:all</opt> - <opt>hide_short:</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate1</key> - <type>enum</type> - <hide>$framesize.hide_normal</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>9/10</name> - <key>C9_10</key> - <opt>val:dtv.C9_10</opt> - </option> - <option> - <name>2/9 VL-SNR</name> - <key>C2_9_VLSNR</key> - <opt>val:dtv.C2_9_VLSNR</opt> - </option> - <option> - <name>13/45</name> - <key>C13_45</key> - <opt>val:dtv.C13_45</opt> - </option> - <option> - <name>9/20</name> - <key>C9_20</key> - <opt>val:dtv.C9_20</opt> - </option> - <option> - <name>90/180</name> - <key>C90_180</key> - <opt>val:dtv.C90_180</opt> - </option> - <option> - <name>96/180</name> - <key>C96_180</key> - <opt>val:dtv.C96_180</opt> - </option> - <option> - <name>11/20</name> - <key>C11_20</key> - <opt>val:dtv.C11_20</opt> - </option> - <option> - <name>100/180</name> - <key>C100_180</key> - <opt>val:dtv.C100_180</opt> - </option> - <option> - <name>104/180</name> - <key>C104_180</key> - <opt>val:dtv.C104_180</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>18/30</name> - <key>C18_30</key> - <opt>val:dtv.C18_30</opt> - </option> - <option> - <name>28/45</name> - <key>C28_45</key> - <opt>val:dtv.C28_45</opt> - </option> - <option> - <name>23/36</name> - <key>C23_36</key> - <opt>val:dtv.C23_36</opt> - </option> - <option> - <name>116/180</name> - <key>C116_180</key> - <opt>val:dtv.C116_180</opt> - </option> - <option> - <name>20/30</name> - <key>C20_30</key> - <opt>val:dtv.C20_30</opt> - </option> - <option> - <name>124/180</name> - <key>C124_180</key> - <opt>val:dtv.C124_180</opt> - </option> - <option> - <name>25/36</name> - <key>C25_36</key> - <opt>val:dtv.C25_36</opt> - </option> - <option> - <name>128/180</name> - <key>C128_180</key> - <opt>val:dtv.C128_180</opt> - </option> - <option> - <name>13/18</name> - <key>C13_18</key> - <opt>val:dtv.C13_18</opt> - </option> - <option> - <name>132/180</name> - <key>C132_180</key> - <opt>val:dtv.C132_180</opt> - </option> - <option> - <name>22/30</name> - <key>C22_30</key> - <opt>val:dtv.C22_30</opt> - </option> - <option> - <name>135/180</name> - <key>C135_180</key> - <opt>val:dtv.C135_180</opt> - </option> - <option> - <name>140/180</name> - <key>C140_180</key> - <opt>val:dtv.C140_180</opt> - </option> - <option> - <name>7/9</name> - <key>C7_9</key> - <opt>val:dtv.C7_9</opt> - </option> - <option> - <name>154/180</name> - <key>C154_180</key> - <opt>val:dtv.C154_180</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate2</key> - <type>enum</type> - <hide>$framesize.hide_medium</hide> - <option> - <name>1/5</name> - <key>C1_5_MEDIUM</key> - <opt>val:dtv.C1_5_MEDIUM</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45_MEDIUM</key> - <opt>val:dtv.C11_45_MEDIUM</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3_MEDIUM</key> - <opt>val:dtv.C1_3_MEDIUM</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate3</key> - <type>enum</type> - <hide>$framesize.hide_short</hide> - <option> - <name>1/4</name> - <key>C1_4</key> - <opt>val:dtv.C1_4</opt> - </option> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>8/9</name> - <key>C8_9</key> - <opt>val:dtv.C8_9</opt> - </option> - <option> - <name>11/45</name> - <key>C11_45</key> - <opt>val:dtv.C11_45</opt> - </option> - <option> - <name>4/15</name> - <key>C4_15</key> - <opt>val:dtv.C4_15</opt> - </option> - <option> - <name>14/45</name> - <key>C14_45</key> - <opt>val:dtv.C14_45</opt> - </option> - <option> - <name>7/15</name> - <key>C7_15</key> - <opt>val:dtv.C7_15</opt> - </option> - <option> - <name>8/15</name> - <key>C8_15</key> - <opt>val:dtv.C8_15</opt> - </option> - <option> - <name>26/45</name> - <key>C26_45</key> - <opt>val:dtv.C26_45</opt> - </option> - <option> - <name>32/45</name> - <key>C32_45</key> - <opt>val:dtv.C32_45</opt> - </option> - <option> - <name>1/5 VL-SNR SF2</name> - <key>C1_5_VLSNR_SF2</key> - <opt>val:dtv.C1_5_VLSNR_SF2</opt> - </option> - <option> - <name>11/45 VL-SNR SF2</name> - <key>C11_45_VLSNR_SF2</key> - <opt>val:dtv.C11_45_VLSNR_SF2</opt> - </option> - <option> - <name>1/5 VL-SNR</name> - <key>C1_5_VLSNR</key> - <opt>val:dtv.C1_5_VLSNR</opt> - </option> - <option> - <name>4/15 VL-SNR</name> - <key>C4_15_VLSNR</key> - <opt>val:dtv.C4_15_VLSNR</opt> - </option> - <option> - <name>1/3 VL-SNR</name> - <key>C1_3_VLSNR</key> - <opt>val:dtv.C1_3_VLSNR</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>8PSK</name> - <key>MOD_8PSK</key> - <opt>val:dtv.MOD_8PSK</opt> - </option> - <option> - <name>8APSK</name> - <key>MOD_8APSK</key> - <opt>val:dtv.MOD_8APSK</opt> - </option> - <option> - <name>16APSK</name> - <key>MOD_16APSK</key> - <opt>val:dtv.MOD_16APSK</opt> - </option> - <option> - <name>8+8APSK</name> - <key>MOD_8_8APSK</key> - <opt>val:dtv.MOD_8_8APSK</opt> - </option> - <option> - <name>32APSK</name> - <key>MOD_32APSK</key> - <opt>val:dtv.MOD_32APSK</opt> - </option> - <option> - <name>4+12+16rbAPSK</name> - <key>MOD_4_12_16APSK</key> - <opt>val:dtv.MOD_4_12_16APSK</opt> - </option> - <option> - <name>4+8+4+16APSK</name> - <key>MOD_4_8_4_16APSK</key> - <opt>val:dtv.MOD_4_8_4_16APSK</opt> - </option> - <option> - <name>64APSK</name> - <key>MOD_64APSK</key> - <opt>val:dtv.MOD_64APSK</opt> - </option> - <option> - <name>8+16+20+20APSK</name> - <key>MOD_8_16_20_20APSK</key> - <opt>val:dtv.MOD_8_16_20_20APSK</opt> - </option> - <option> - <name>4+12+20+28APSK</name> - <key>MOD_4_12_20_28APSK</key> - <opt>val:dtv.MOD_4_12_20_28APSK</opt> - </option> - <option> - <name>128APSK</name> - <key>MOD_128APSK</key> - <opt>val:dtv.MOD_128APSK</opt> - </option> - <option> - <name>256APSK</name> - <key>MOD_256APSK</key> - <opt>val:dtv.MOD_256APSK</opt> - </option> - <option> - <name>PI/2 BPSK</name> - <key>MOD_BPSK</key> - <opt>val:dtv.MOD_BPSK</opt> - </option> - <option> - <name>PI/2 BPSK-SF2</name> - <key>MOD_BPSK_SF2</key> - <opt>val:dtv.MOD_BPSK_SF2</opt> - </option> - </param> - <param> - <name>Pilots</name> - <key>pilots</key> - <type>enum</type> - <option> - <name>Off</name> - <key>PILOTS_OFF</key> - <opt>val:dtv.PILOTS_OFF</opt> - </option> - <option> - <name>On</name> - <key>PILOTS_ON</key> - <opt>val:dtv.PILOTS_ON</opt> - </option> - </param> - <param> - <name>Gold Code</name> - <key>goldcode</key> - <value>0</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.block.yml new file mode 100644 index 0000000000..4f292fca08 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.block.yml @@ -0,0 +1,41 @@ +id: dtv_dvbt2_cellinterleaver_cc +label: Cell/Time Interleaver + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_16QAM, MOD_64QAM, MOD_256QAM] + option_labels: [QPSK, 16QAM, 64QAM, 256QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM, dtv.MOD_256QAM] +- id: fecblocks + label: FEC blocks per frame + dtype: int + default: '168' +- id: tiblocks + label: TI blocks per frame + dtype: int + default: '3' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt2_cellinterleaver_cc(${framesize.val}, ${constellation.val}, ${fecblocks}, + ${tiblocks}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.xml b/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.xml deleted file mode 100644 index 0f3aa76f5e..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_cellinterleaver_cc.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Cell and Time Interleaver -################################################### - --> -<block> - <name>Cell/Time Interleaver</name> - <key>dtv_dvbt2_cellinterleaver_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_cellinterleaver_cc($framesize.val, $constellation.val, $fecblocks, $tiblocks)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>MOD_16QAM</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>MOD_64QAM</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>MOD_256QAM</key> - <opt>val:dtv.MOD_256QAM</opt> - </option> - </param> - <param> - <name>FEC blocks per frame</name> - <key>fecblocks</key> - <value>168</value> - <type>int</type> - </param> - <param> - <name>TI blocks per frame</name> - <key>tiblocks</key> - <value>3</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_framemapper_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_framemapper_cc.block.yml new file mode 100644 index 0000000000..3459c13afb --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_framemapper_cc.block.yml @@ -0,0 +1,203 @@ +id: dtv_dvbt2_framemapper_cc +label: Frame Mapper + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] +- id: rate + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_16QAM, MOD_64QAM, MOD_256QAM] + option_labels: [QPSK, 16QAM, 64QAM, 256QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM, dtv.MOD_256QAM] +- id: rotation + label: Constellation rotation + dtype: enum + options: [ROTATION_OFF, ROTATION_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.ROTATION_OFF, dtv.ROTATION_ON] +- id: fecblocks + label: FEC blocks per frame + dtype: int + default: '168' +- id: tiblocks + label: TI blocks per frame + dtype: int + default: '3' +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize1 + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 32K, 32K DVB-T2 GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] + hide: ${ (preamble1.hide_base if str(version) == 'VERSION_111' else preamble2.hide_base) + } +- id: fftsize2 + label: FFT Size + dtype: enum + options: [FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, FFTSIZE_16K_T2GI] + option_labels: [2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI] + option_attributes: + val: [dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI] + hide: ${ (preamble1.hide_lite if str(version) == 'VERSION_111' else preamble2.hide_lite) + } +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: l1constellation + label: L1 Constellation + dtype: enum + options: [L1_MOD_BPSK, L1_MOD_QPSK, L1_MOD_16QAM, L1_MOD_64QAM] + option_labels: [BPSK, QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.L1_MOD_BPSK, dtv.L1_MOD_QPSK, dtv.L1_MOD_16QAM, dtv.L1_MOD_64QAM] +- id: pilotpattern + label: Pilot Pattern + dtype: enum + options: [PILOT_PP1, PILOT_PP2, PILOT_PP3, PILOT_PP4, PILOT_PP5, PILOT_PP6, PILOT_PP7, + PILOT_PP8] + option_labels: [PP1, PP2, PP3, PP4, PP5, PP6, PP7, PP8] + option_attributes: + val: [dtv.PILOT_PP1, dtv.PILOT_PP2, dtv.PILOT_PP3, dtv.PILOT_PP4, dtv.PILOT_PP5, + dtv.PILOT_PP6, dtv.PILOT_PP7, dtv.PILOT_PP8] +- id: t2frames + label: T2 Frames per Super-frame + dtype: int + default: '2' +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: paprmode1 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: ['Off', Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_111 } +- id: paprmode2 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: [P2 Only, Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_131 } +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] +- id: preamble1 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO] + option_labels: [T2 SISO, T2 MISO] + option_attributes: + hide_base: ['', ''] + hide_lite: [all, all] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO] + hide: ${ version.hide_111 } +- id: preamble2 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO, PREAMBLE_T2_LITE_SISO, PREAMBLE_T2_LITE_MISO] + option_labels: [T2 SISO, T2 MISO, T2-Lite SISO, T2-Lite MISO] + option_attributes: + hide_base: ['', '', all, all] + hide_lite: [all, all, '', ''] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO, dtv.PREAMBLE_T2_LITE_SISO, + dtv.PREAMBLE_T2_LITE_MISO] + hide: ${ version.hide_131 } +- id: inputmode + label: Baseband Framing Mode + dtype: enum + options: [INPUTMODE_NORMAL, INPUTMODE_HIEFF] + option_labels: [Normal, High Efficiency] + option_attributes: + val: [dtv.INPUTMODE_NORMAL, dtv.INPUTMODE_HIEFF] + hide: ${ version.hide_131 } +- id: reservedbiasbits + label: Reserved Bits Bias Balancing + dtype: enum + options: [RESERVED_OFF, RESERVED_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.RESERVED_OFF, dtv.RESERVED_ON] + hide: ${ version.hide_131 } +- id: l1scrambled + label: L1-post Scrambling + dtype: enum + options: [L1_SCRAMBLED_OFF, L1_SCRAMBLED_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.L1_SCRAMBLED_OFF, dtv.L1_SCRAMBLED_ON] + hide: ${ version.hide_131 } +- id: inband + label: In-band Signalling + dtype: enum + options: [INBAND_OFF, INBAND_ON] + option_labels: ['Off', Type B] + option_attributes: + val: [dtv.INBAND_OFF, dtv.INBAND_ON] + hide: ${ version.hide_131 } + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_framemapper_cc(${framesize.val}, ${rate.val}, ${constellation.val},\ + \ ${rotation.val}, ${fecblocks}, ${tiblocks}, ${carriermode.val}, \n% if str(version)\ + \ == 'VERSION_111':\n${fftsize1.val}, \n% else:\n% if str(preamble2) == 'PREAMBLE_T2_SISO'\ + \ or str(preamble2) == 'PREAMBLE_T2_MISO':\n${fftsize1.val}, \n% else:\n${fftsize2.val},\ + \ \n% endif\n% endif\n${guardinterval.val}, ${l1constellation.val}, ${pilotpattern.val},\ + \ ${t2frames}, ${numdatasyms}, \n% if str(version) == 'VERSION_111':\n${paprmode1.val},\ + \ \n% else:\n${paprmode2.val}, \n% endif\n${version.val}, \n% if str(version)\ + \ == 'VERSION_111':\n${preamble1.val}, \n% else:\n${preamble2.val}, \n% endif\n\ + ${inputmode.val}, ${reservedbiasbits.val}, ${l1scrambled.val}, ${inband.val})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml b/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml deleted file mode 100644 index e795c8a1dc..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml +++ /dev/null @@ -1,562 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Frame Mapper -################################################### - --> -<block> - <name>Frame Mapper</name> - <key>dtv_dvbt2_framemapper_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_framemapper_cc($framesize.val, $rate.val, $constellation.val, $rotation.val, $fecblocks, $tiblocks, $carriermode.val, #slurp -#if str($version) == 'VERSION_111' -$fftsize1.val, #slurp -#else -#if str($preamble2) == 'PREAMBLE_T2_SISO' or str($preamble2) == 'PREAMBLE_T2_MISO' -$fftsize1.val, #slurp -#else -$fftsize2.val, #slurp -#end if -#end if -$guardinterval.val, $l1constellation.val, $pilotpattern.val, $t2frames, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$paprmode1.val, #slurp -#else -$paprmode2.val, #slurp -#end if -$version.val, #slurp -#if str($version) == 'VERSION_111' -$preamble1.val, #slurp -#else -$preamble2.val, #slurp -#end if -$inputmode.val, $reservedbiasbits.val, $l1scrambled.val, $inband.val)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate</key> - <type>enum</type> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>MOD_16QAM</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>MOD_64QAM</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>MOD_256QAM</key> - <opt>val:dtv.MOD_256QAM</opt> - </option> - </param> - <param> - <name>Constellation rotation</name> - <key>rotation</key> - <type>enum</type> - <option> - <name>Off</name> - <key>ROTATION_OFF</key> - <opt>val:dtv.ROTATION_OFF</opt> - </option> - <option> - <name>On</name> - <key>ROTATION_ON</key> - <opt>val:dtv.ROTATION_ON</opt> - </option> - </param> - <param> - <name>FEC blocks per frame</name> - <key>fecblocks</key> - <value>168</value> - <type>int</type> - </param> - <param> - <name>TI blocks per frame</name> - <key>tiblocks</key> - <value>3</value> - <type>int</type> - </param> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize1</key> - <type>enum</type> - <hide>#if str($version) == 'VERSION_111' then $preamble1.hide_base else $preamble2.hide_base</hide> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize2</key> - <type>enum</type> - <hide>#if str($version) == 'VERSION_111' then $preamble1.hide_lite else $preamble2.hide_lite</hide> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>L1 Constellation</name> - <key>l1constellation</key> - <type>enum</type> - <option> - <name>BPSK</name> - <key>L1_MOD_BPSK</key> - <opt>val:dtv.L1_MOD_BPSK</opt> - </option> - <option> - <name>QPSK</name> - <key>L1_MOD_QPSK</key> - <opt>val:dtv.L1_MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>L1_MOD_16QAM</key> - <opt>val:dtv.L1_MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>L1_MOD_64QAM</key> - <opt>val:dtv.L1_MOD_64QAM</opt> - </option> - </param> - <param> - <name>Pilot Pattern</name> - <key>pilotpattern</key> - <type>enum</type> - <option> - <name>PP1</name> - <key>PILOT_PP1</key> - <opt>val:dtv.PILOT_PP1</opt> - </option> - <option> - <name>PP2</name> - <key>PILOT_PP2</key> - <opt>val:dtv.PILOT_PP2</opt> - </option> - <option> - <name>PP3</name> - <key>PILOT_PP3</key> - <opt>val:dtv.PILOT_PP3</opt> - </option> - <option> - <name>PP4</name> - <key>PILOT_PP4</key> - <opt>val:dtv.PILOT_PP4</opt> - </option> - <option> - <name>PP5</name> - <key>PILOT_PP5</key> - <opt>val:dtv.PILOT_PP5</opt> - </option> - <option> - <name>PP6</name> - <key>PILOT_PP6</key> - <opt>val:dtv.PILOT_PP6</opt> - </option> - <option> - <name>PP7</name> - <key>PILOT_PP7</key> - <opt>val:dtv.PILOT_PP7</opt> - </option> - <option> - <name>PP8</name> - <key>PILOT_PP8</key> - <opt>val:dtv.PILOT_PP8</opt> - </option> - </param> - <param> - <name>T2 Frames per Super-frame</name> - <key>t2frames</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>Off</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>P2 Only</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2-Lite SISO</name> - <key>PREAMBLE_T2_LITE_SISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_SISO</opt> - <opt>hide_lite:</opt> - <opt>hide_base:all</opt> - </option> - <option> - <name>T2-Lite MISO</name> - <key>PREAMBLE_T2_LITE_MISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_MISO</opt> - <opt>hide_lite:</opt> - <opt>hide_base:all</opt> - </option> - </param> - <param> - <name>Baseband Framing Mode</name> - <key>inputmode</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>Normal</name> - <key>INPUTMODE_NORMAL</key> - <opt>val:dtv.INPUTMODE_NORMAL</opt> - </option> - <option> - <name>High Efficiency</name> - <key>INPUTMODE_HIEFF</key> - <opt>val:dtv.INPUTMODE_HIEFF</opt> - </option> - </param> - <param> - <name>Reserved Bits Bias Balancing</name> - <key>reservedbiasbits</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>Off</name> - <key>RESERVED_OFF</key> - <opt>val:dtv.RESERVED_OFF</opt> - </option> - <option> - <name>On</name> - <key>RESERVED_ON</key> - <opt>val:dtv.RESERVED_ON</opt> - </option> - </param> - <param> - <name>L1-post Scrambling</name> - <key>l1scrambled</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>Off</name> - <key>L1_SCRAMBLED_OFF</key> - <opt>val:dtv.L1_SCRAMBLED_OFF</opt> - </option> - <option> - <name>On</name> - <key>L1_SCRAMBLED_ON</key> - <opt>val:dtv.L1_SCRAMBLED_ON</opt> - </option> - </param> - <param> - <name>In-band Signalling</name> - <key>inband</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>Off</name> - <key>INBAND_OFF</key> - <opt>val:dtv.INBAND_OFF</opt> - </option> - <option> - <name>Type B</name> - <key>INBAND_ON</key> - <opt>val:dtv.INBAND_ON</opt> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.block.yml new file mode 100644 index 0000000000..990d4b8002 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.block.yml @@ -0,0 +1,104 @@ +id: dtv_dvbt2_freqinterleaver_cc +label: Frequency Interleaver + +parameters: +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_16K_T2GI, FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI, 32K, 32K DVB-T2 + GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] +- id: pilotpattern + label: Pilot Pattern + dtype: enum + options: [PILOT_PP1, PILOT_PP2, PILOT_PP3, PILOT_PP4, PILOT_PP5, PILOT_PP6, PILOT_PP7, + PILOT_PP8] + option_labels: [PP1, PP2, PP3, PP4, PP5, PP6, PP7, PP8] + option_attributes: + val: [dtv.PILOT_PP1, dtv.PILOT_PP2, dtv.PILOT_PP3, dtv.PILOT_PP4, dtv.PILOT_PP5, + dtv.PILOT_PP6, dtv.PILOT_PP7, dtv.PILOT_PP8] +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: paprmode1 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: ['Off', Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_111 } +- id: paprmode2 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: [P2 Only, Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_131 } +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] +- id: preamble1 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO] + option_labels: [T2 SISO, T2 MISO] + option_attributes: + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO] + hide: ${ version.hide_111 } +- id: preamble2 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO, PREAMBLE_T2_LITE_SISO, PREAMBLE_T2_LITE_MISO] + option_labels: [T2 SISO, T2 MISO, T2-Lite SISO, T2-Lite MISO] + option_attributes: + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO, dtv.PREAMBLE_T2_LITE_SISO, + dtv.PREAMBLE_T2_LITE_MISO] + hide: ${ version.hide_131 } + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_freqinterleaver_cc(${carriermode.val}, ${fftsize.val}, ${pilotpattern.val},\ + \ ${guardinterval.val}, ${numdatasyms}, \n% if str(version) == 'VERSION_111':\n\ + ${paprmode1.val}, \n% else:\n${paprmode2.val}, \n% endif\n${version.val},\ + \ \n% if str(version) == 'VERSION_111':\n${preamble1.val}\n% else:\n${preamble2.val}\n\ + % endif\n)" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.xml b/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.xml deleted file mode 100644 index bd7ba2bbfa..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_freqinterleaver_cc.xml +++ /dev/null @@ -1,301 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Frequency Interleaver -################################################### - --> -<block> - <name>Frequency Interleaver</name> - <key>dtv_dvbt2_freqinterleaver_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_freqinterleaver_cc($carriermode.val, $fftsize.val, $pilotpattern.val, $guardinterval.val, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$paprmode1.val, #slurp -#else -$paprmode2.val, #slurp -#end if -$version.val, #slurp -#if str($version) == 'VERSION_111' -$preamble1.val#slurp -#else -$preamble2.val#slurp -#end if -)</make> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize</key> - <type>enum</type> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - </option> - </param> - <param> - <name>Pilot Pattern</name> - <key>pilotpattern</key> - <type>enum</type> - <option> - <name>PP1</name> - <key>PILOT_PP1</key> - <opt>val:dtv.PILOT_PP1</opt> - </option> - <option> - <name>PP2</name> - <key>PILOT_PP2</key> - <opt>val:dtv.PILOT_PP2</opt> - </option> - <option> - <name>PP3</name> - <key>PILOT_PP3</key> - <opt>val:dtv.PILOT_PP3</opt> - </option> - <option> - <name>PP4</name> - <key>PILOT_PP4</key> - <opt>val:dtv.PILOT_PP4</opt> - </option> - <option> - <name>PP5</name> - <key>PILOT_PP5</key> - <opt>val:dtv.PILOT_PP5</opt> - </option> - <option> - <name>PP6</name> - <key>PILOT_PP6</key> - <opt>val:dtv.PILOT_PP6</opt> - </option> - <option> - <name>PP7</name> - <key>PILOT_PP7</key> - <opt>val:dtv.PILOT_PP7</opt> - </option> - <option> - <name>PP8</name> - <key>PILOT_PP8</key> - <opt>val:dtv.PILOT_PP8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>Off</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>P2 Only</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - </option> - <option> - <name>T2-Lite SISO</name> - <key>PREAMBLE_T2_LITE_SISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_SISO</opt> - </option> - <option> - <name>T2-Lite MISO</name> - <key>PREAMBLE_T2_LITE_MISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_MISO</opt> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_interleaver_bb.block.yml b/gr-dtv/grc/dtv_dvbt2_interleaver_bb.block.yml new file mode 100644 index 0000000000..c7ca955996 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_interleaver_bb.block.yml @@ -0,0 +1,40 @@ +id: dtv_dvbt2_interleaver_bb +label: Bit Interleaver + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] +- id: rate + label: Code rate + dtype: enum + options: [C1_3, C2_5, C1_2, C3_5, C2_3, C3_4, C4_5, C5_6] + option_labels: [1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6] + option_attributes: + val: [dtv.C1_3, dtv.C2_5, dtv.C1_2, dtv.C3_5, dtv.C2_3, dtv.C3_4, dtv.C4_5, + dtv.C5_6] +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_16QAM, MOD_64QAM, MOD_256QAM] + option_labels: [QPSK, 16QAM, 64QAM, 256QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM, dtv.MOD_256QAM] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: byte + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt2_interleaver_bb(${framesize.val}, ${rate.val}, ${constellation.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_interleaver_bb.xml b/gr-dtv/grc/dtv_dvbt2_interleaver_bb.xml deleted file mode 100644 index 0e4e1eaf45..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_interleaver_bb.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Bit Interleaver -################################################### - --> -<block> - <name>Bit Interleaver</name> - <key>dtv_dvbt2_interleaver_bb</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_interleaver_bb($framesize.val, $rate.val, $constellation.val)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>rate</key> - <type>enum</type> - <option> - <name>1/3</name> - <key>C1_3</key> - <opt>val:dtv.C1_3</opt> - </option> - <option> - <name>2/5</name> - <key>C2_5</key> - <opt>val:dtv.C2_5</opt> - </option> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>3/5</name> - <key>C3_5</key> - <opt>val:dtv.C3_5</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>4/5</name> - <key>C4_5</key> - <opt>val:dtv.C4_5</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>MOD_16QAM</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>MOD_64QAM</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>MOD_256QAM</key> - <opt>val:dtv.MOD_256QAM</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_miso_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_miso_cc.block.yml new file mode 100644 index 0000000000..81550c9c1f --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_miso_cc.block.yml @@ -0,0 +1,86 @@ +id: dtv_dvbt2_miso_cc +label: MISO Processing + +parameters: +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_16K_T2GI, FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI, 32K, 32K DVB-T2 + GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] +- id: pilotpattern + label: Pilot Pattern + dtype: enum + options: [PILOT_PP1, PILOT_PP2, PILOT_PP3, PILOT_PP4, PILOT_PP5, PILOT_PP6, PILOT_PP7, + PILOT_PP8] + option_labels: [PP1, PP2, PP3, PP4, PP5, PP6, PP7, PP8] + option_attributes: + val: [dtv.PILOT_PP1, dtv.PILOT_PP2, dtv.PILOT_PP3, dtv.PILOT_PP4, dtv.PILOT_PP5, + dtv.PILOT_PP6, dtv.PILOT_PP7, dtv.PILOT_PP8] +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: paprmode1 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: ['Off', Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_111 } +- id: paprmode2 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: [P2 Only, Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_131 } +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + multiplicity: '2' + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_miso_cc(${carriermode.val}, ${fftsize.val}, ${pilotpattern.val},\ + \ ${guardinterval.val}, ${numdatasyms}, \n% if str(version) == 'VERSION_111':\n\ + ${paprmode1.val}, \n% else:\n${paprmode2.val}, \n% endif\n)" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_miso_cc.xml b/gr-dtv/grc/dtv_dvbt2_miso_cc.xml deleted file mode 100644 index 1ef4d2afc1..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_miso_cc.xml +++ /dev/null @@ -1,254 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 MISO Processing -################################################### - --> -<block> - <name>MISO Processing</name> - <key>dtv_dvbt2_miso_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_miso_cc($carriermode.val, $fftsize.val, $pilotpattern.val, $guardinterval.val, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$paprmode1.val, #slurp -#else -$paprmode2.val, #slurp -#end if -)</make> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize</key> - <type>enum</type> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - </option> - </param> - <param> - <name>Pilot Pattern</name> - <key>pilotpattern</key> - <type>enum</type> - <option> - <name>PP1</name> - <key>PILOT_PP1</key> - <opt>val:dtv.PILOT_PP1</opt> - </option> - <option> - <name>PP2</name> - <key>PILOT_PP2</key> - <opt>val:dtv.PILOT_PP2</opt> - </option> - <option> - <name>PP3</name> - <key>PILOT_PP3</key> - <opt>val:dtv.PILOT_PP3</opt> - </option> - <option> - <name>PP4</name> - <key>PILOT_PP4</key> - <opt>val:dtv.PILOT_PP4</opt> - </option> - <option> - <name>PP5</name> - <key>PILOT_PP5</key> - <opt>val:dtv.PILOT_PP5</opt> - </option> - <option> - <name>PP6</name> - <key>PILOT_PP6</key> - <opt>val:dtv.PILOT_PP6</opt> - </option> - <option> - <name>PP7</name> - <key>PILOT_PP7</key> - <opt>val:dtv.PILOT_PP7</opt> - </option> - <option> - <name>PP8</name> - <key>PILOT_PP8</key> - <opt>val:dtv.PILOT_PP8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>Off</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>P2 Only</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - <nports>2</nports> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_modulator_bc.block.yml b/gr-dtv/grc/dtv_dvbt2_modulator_bc.block.yml new file mode 100644 index 0000000000..5b1a9dd831 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_modulator_bc.block.yml @@ -0,0 +1,39 @@ +id: dtv_dvbt2_modulator_bc +label: DVB-T2 Modulator + +parameters: +- id: framesize + label: FECFRAME size + dtype: enum + options: [FECFRAME_NORMAL, FECFRAME_SHORT] + option_labels: [Normal, Short] + option_attributes: + val: [dtv.FECFRAME_NORMAL, dtv.FECFRAME_SHORT] +- id: constellation + label: Constellation + dtype: enum + options: [MOD_QPSK, MOD_16QAM, MOD_64QAM, MOD_256QAM] + option_labels: [QPSK, 16QAM, 64QAM, 256QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM, dtv.MOD_256QAM] +- id: rotation + label: Constellation rotation + dtype: enum + options: [ROTATION_OFF, ROTATION_ON] + option_labels: ['Off', 'On'] + option_attributes: + val: [dtv.ROTATION_OFF, dtv.ROTATION_ON] + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt2_modulator_bc(${framesize.val}, ${constellation.val}, ${rotation.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_modulator_bc.xml b/gr-dtv/grc/dtv_dvbt2_modulator_bc.xml deleted file mode 100644 index 6bf17b831d..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_modulator_bc.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 QPSK/QAM Modulator -################################################### - --> -<block> - <name>DVB-T2 Modulator</name> - <key>dtv_dvbt2_modulator_bc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_modulator_bc($framesize.val, $constellation.val, $rotation.val)</make> - <param> - <name>FECFRAME size</name> - <key>framesize</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>FECFRAME_NORMAL</key> - <opt>val:dtv.FECFRAME_NORMAL</opt> - </option> - <option> - <name>Short</name> - <key>FECFRAME_SHORT</key> - <opt>val:dtv.FECFRAME_SHORT</opt> - </option> - </param> - <param> - <name>Constellation</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>MOD_QPSK</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>MOD_16QAM</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>MOD_64QAM</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - <option> - <name>256QAM</name> - <key>MOD_256QAM</key> - <opt>val:dtv.MOD_256QAM</opt> - </option> - </param> - <param> - <name>Constellation rotation</name> - <key>rotation</key> - <type>enum</type> - <option> - <name>Off</name> - <key>ROTATION_OFF</key> - <opt>val:dtv.ROTATION_OFF</opt> - </option> - <option> - <name>On</name> - <key>ROTATION_ON</key> - <opt>val:dtv.ROTATION_ON</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.block.yml new file mode 100644 index 0000000000..ad9ab8519d --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.block.yml @@ -0,0 +1,106 @@ +id: dtv_dvbt2_p1insertion_cc +label: P1 Symbol Insertion + +parameters: +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize1 + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 32K, 32K DVB-T2 GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] + hide: ${ (preamble1.hide_base if str(version) == 'VERSION_111' else preamble2.hide_base) + } +- id: fftsize2 + label: FFT Size + dtype: enum + options: [FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, FFTSIZE_16K_T2GI] + option_labels: [2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI] + option_attributes: + val: [dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI] + hide: ${ (preamble1.hide_lite if str(version) == 'VERSION_111' else preamble2.hide_lite) + } +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] +- id: preamble1 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO] + option_labels: [T2 SISO, T2 MISO] + option_attributes: + hide_base: ['', ''] + hide_lite: [all, all] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO] + hide: ${ version.hide_111 } +- id: preamble2 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO, PREAMBLE_T2_LITE_SISO, PREAMBLE_T2_LITE_MISO] + option_labels: [T2 SISO, T2 MISO, T2-Lite SISO, T2-Lite MISO] + option_attributes: + hide_base: ['', '', all, all] + hide_lite: [all, all, '', ''] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO, dtv.PREAMBLE_T2_LITE_SISO, + dtv.PREAMBLE_T2_LITE_MISO] + hide: ${ version.hide_131 } +- id: showlevels + label: Show Peak IQ Levels + dtype: enum + options: [SHOWLEVELS_OFF, SHOWLEVELS_ON] + option_labels: ['Off', 'On'] + option_attributes: + hide_vclip: [all, ''] + val: [dtv.SHOWLEVELS_OFF, dtv.SHOWLEVELS_ON] +- id: vclip + label: Vclip + dtype: float + default: '3.3' + hide: ${ showlevels.hide_vclip } + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_p1insertion_cc(${carriermode.val}, \n% if str(version) == 'VERSION_111':\n\ + ${fftsize1.val}, \n% else:\n% if str(preamble2) == 'PREAMBLE_T2_SISO' or str(preamble2)\ + \ == 'PREAMBLE_T2_MISO':\n${fftsize1.val}, \n% else:\n${fftsize2.val}, \n\ + % endif\n% endif\n${guardinterval.val}, ${numdatasyms}, \n% if str(version)\ + \ == 'VERSION_111':\n${preamble1.val}, \n% else:\n${preamble2.val}, \n% endif\n\ + ${showlevels.val}, ${vclip})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.xml b/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.xml deleted file mode 100644 index c73cf72ae0..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_p1insertion_cc.xml +++ /dev/null @@ -1,276 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 P1 Symbol Insertion -################################################### - --> -<block> - <name>P1 Symbol Insertion</name> - <key>dtv_dvbt2_p1insertion_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_p1insertion_cc($carriermode.val, #slurp -#if str($version) == 'VERSION_111' -$fftsize1.val, #slurp -#else -#if str($preamble2) == 'PREAMBLE_T2_SISO' or str($preamble2) == 'PREAMBLE_T2_MISO' -$fftsize1.val, #slurp -#else -$fftsize2.val, #slurp -#end if -#end if -$guardinterval.val, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$preamble1.val, #slurp -#else -$preamble2.val, #slurp -#end if -$showlevels.val, $vclip)</make> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize1</key> - <type>enum</type> - <hide>#if str($version) == 'VERSION_111' then $preamble1.hide_base else $preamble2.hide_base</hide> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize2</key> - <type>enum</type> - <hide>#if str($version) == 'VERSION_111' then $preamble1.hide_lite else $preamble2.hide_lite</hide> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_lite:all</opt> - <opt>hide_base:</opt> - </option> - <option> - <name>T2-Lite SISO</name> - <key>PREAMBLE_T2_LITE_SISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_SISO</opt> - <opt>hide_lite:</opt> - <opt>hide_base:all</opt> - </option> - <option> - <name>T2-Lite MISO</name> - <key>PREAMBLE_T2_LITE_MISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_MISO</opt> - <opt>hide_lite:</opt> - <opt>hide_base:all</opt> - </option> - </param> - <param> - <name>Show Peak IQ Levels</name> - <key>showlevels</key> - <type>enum</type> - <option> - <name>Off</name> - <key>SHOWLEVELS_OFF</key> - <opt>val:dtv.SHOWLEVELS_OFF</opt> - <opt>hide_vclip:all</opt> - </option> - <option> - <name>On</name> - <key>SHOWLEVELS_ON</key> - <opt>val:dtv.SHOWLEVELS_ON</opt> - <opt>hide_vclip:</opt> - </option> - </param> - <param> - <name>Vclip</name> - <key>vclip</key> - <value>3.3</value> - <type>float</type> - <hide>$showlevels.hide_vclip</hide> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_paprtr_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_paprtr_cc.block.yml new file mode 100644 index 0000000000..0e1d6c285d --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_paprtr_cc.block.yml @@ -0,0 +1,105 @@ +id: dtv_dvbt2_paprtr_cc +label: Tone Reservation PAPR + +parameters: +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_16K_T2GI, FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI, 32K, 32K DVB-T2 + GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] + vlength: ['1024', '2048', '4096', '8192', '8192', '16384', '16384', '32768', + '32768'] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: pilotpattern + label: Pilot Pattern + dtype: enum + options: [PILOT_PP1, PILOT_PP2, PILOT_PP3, PILOT_PP4, PILOT_PP5, PILOT_PP6, PILOT_PP7, + PILOT_PP8] + option_labels: [PP1, PP2, PP3, PP4, PP5, PP6, PP7, PP8] + option_attributes: + val: [dtv.PILOT_PP1, dtv.PILOT_PP2, dtv.PILOT_PP3, dtv.PILOT_PP4, dtv.PILOT_PP5, + dtv.PILOT_PP6, dtv.PILOT_PP7, dtv.PILOT_PP8] +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: paprmode1 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: ['Off', Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + hide_vclip: [all, all, '', ''] + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_111 } +- id: paprmode2 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: [P2 Only, Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + hide_vclip: [all, all, '', ''] + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_131 } +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] +- id: vclip + label: Vclip + dtype: float + default: '3.3' + hide: ${ (paprmode1.hide_vclip if str(version) == 'VERSION_111' else paprmode2.hide_vclip) + } +- id: iterations + label: Iterations + dtype: int + default: '10' + hide: ${ (paprmode1.hide_vclip if str(version) == 'VERSION_111' else paprmode2.hide_vclip) + } + +inputs: +- domain: stream + dtype: complex + vlen: ${ fftsize.vlength } + +outputs: +- domain: stream + dtype: complex + vlen: ${ fftsize.vlength } + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_paprtr_cc(${carriermode.val}, ${fftsize.val}, ${pilotpattern.val},\ + \ ${guardinterval.val}, ${numdatasyms}, \n% if str(version) == 'VERSION_111':\n\ + ${paprmode1.val}, \n% else:\n${paprmode2.val}, \n% endif\n${version.val},\ + \ ${vclip}, ${iterations}, ${fftsize.vlength})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_paprtr_cc.xml b/gr-dtv/grc/dtv_dvbt2_paprtr_cc.xml deleted file mode 100644 index 4fa37ef5b8..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_paprtr_cc.xml +++ /dev/null @@ -1,286 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Tone Reservation PAPR -################################################### - --> -<block> - <name>Tone Reservation PAPR</name> - <key>dtv_dvbt2_paprtr_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_paprtr_cc($carriermode.val, $fftsize.val, $pilotpattern.val, $guardinterval.val, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$paprmode1.val, #slurp -#else -$paprmode2.val, #slurp -#end if -$version.val, $vclip, $iterations, $fftsize.vlength)</make> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize</key> - <type>enum</type> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - <opt>vlength:1024</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - <opt>vlength:2048</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - <opt>vlength:4096</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - <opt>vlength:8192</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - <opt>vlength:8192</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - <opt>vlength:16384</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - <opt>vlength:16384</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - <opt>vlength:32768</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - <opt>vlength:32768</opt> - </option> - </param> - <param> - <name>Pilot Pattern</name> - <key>pilotpattern</key> - <type>enum</type> - <option> - <name>PP1</name> - <key>PILOT_PP1</key> - <opt>val:dtv.PILOT_PP1</opt> - </option> - <option> - <name>PP2</name> - <key>PILOT_PP2</key> - <opt>val:dtv.PILOT_PP2</opt> - </option> - <option> - <name>PP3</name> - <key>PILOT_PP3</key> - <opt>val:dtv.PILOT_PP3</opt> - </option> - <option> - <name>PP4</name> - <key>PILOT_PP4</key> - <opt>val:dtv.PILOT_PP4</opt> - </option> - <option> - <name>PP5</name> - <key>PILOT_PP5</key> - <opt>val:dtv.PILOT_PP5</opt> - </option> - <option> - <name>PP6</name> - <key>PILOT_PP6</key> - <opt>val:dtv.PILOT_PP6</opt> - </option> - <option> - <name>PP7</name> - <key>PILOT_PP7</key> - <opt>val:dtv.PILOT_PP7</opt> - </option> - <option> - <name>PP8</name> - <key>PILOT_PP8</key> - <opt>val:dtv.PILOT_PP8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>Off</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - <opt>hide_vclip:all</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - <opt>hide_vclip:all</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - <opt>hide_vclip:</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - <opt>hide_vclip:</opt> - </option> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>P2 Only</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - <opt>hide_vclip:all</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - <opt>hide_vclip:all</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - <opt>hide_vclip:</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - <opt>hide_vclip:</opt> - </option> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <param> - <name>Vclip</name> - <key>vclip</key> - <value>3.3</value> - <type>float</type> - <hide>#if str($version) == 'VERSION_111' then $paprmode1.hide_vclip else $paprmode2.hide_vclip</hide> - </param> - <param> - <name>Iterations</name> - <key>iterations</key> - <value>10</value> - <type>int</type> - <hide>#if str($version) == 'VERSION_111' then $paprmode1.hide_vclip else $paprmode2.hide_vclip</hide> - </param> - <sink> - <name>in</name> - <type>complex</type> - <vlen>$fftsize.vlength</vlen> - </sink> - <source> - <name>out</name> - <type>complex</type> - <vlen>$fftsize.vlength</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.block.yml b/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.block.yml new file mode 100644 index 0000000000..083b86056c --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.block.yml @@ -0,0 +1,137 @@ +id: dtv_dvbt2_pilotgenerator_cc +label: Pilot Generator and IFFT + +parameters: +- id: carriermode + label: Extended Carrier Mode + dtype: enum + options: [CARRIERS_NORMAL, CARRIERS_EXTENDED] + option_labels: [Normal, Extended] + option_attributes: + val: [dtv.CARRIERS_NORMAL, dtv.CARRIERS_EXTENDED] +- id: fftsize + label: FFT Size + dtype: enum + options: [FFTSIZE_1K, FFTSIZE_2K, FFTSIZE_4K, FFTSIZE_8K, FFTSIZE_8K_T2GI, FFTSIZE_16K, + FFTSIZE_16K_T2GI, FFTSIZE_32K, FFTSIZE_32K_T2GI] + option_labels: [1K, 2K, 4K, 8K, 8K DVB-T2 GI, 16K, 16K DVB-T2 GI, 32K, 32K DVB-T2 + GI] + option_attributes: + val: [dtv.FFTSIZE_1K, dtv.FFTSIZE_2K, dtv.FFTSIZE_4K, dtv.FFTSIZE_8K, dtv.FFTSIZE_8K_T2GI, + dtv.FFTSIZE_16K, dtv.FFTSIZE_16K_T2GI, dtv.FFTSIZE_32K, dtv.FFTSIZE_32K_T2GI] + vlength: ['1024', '2048', '4096', '8192', '8192', '16384', '16384', '32768', + '32768'] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: pilotpattern + label: Pilot Pattern + dtype: enum + options: [PILOT_PP1, PILOT_PP2, PILOT_PP3, PILOT_PP4, PILOT_PP5, PILOT_PP6, PILOT_PP7, + PILOT_PP8] + option_labels: [PP1, PP2, PP3, PP4, PP5, PP6, PP7, PP8] + option_attributes: + val: [dtv.PILOT_PP1, dtv.PILOT_PP2, dtv.PILOT_PP3, dtv.PILOT_PP4, dtv.PILOT_PP5, + dtv.PILOT_PP6, dtv.PILOT_PP7, dtv.PILOT_PP8] +- id: guardinterval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_1_128, GI_19_128, GI_19_256] + option_labels: [1/32, 1/16, 1/8, 1/4, 1/128, 19/128, 19/256] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4, dtv.GI_1_128, dtv.GI_19_128, + dtv.GI_19_256] +- id: numdatasyms + label: Number of Data Symbols + dtype: int + default: '100' +- id: paprmode1 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: ['Off', Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_111 } +- id: paprmode2 + label: PAPR Mode + dtype: enum + options: [PAPR_OFF, PAPR_ACE, PAPR_TR, PAPR_BOTH] + option_labels: [P2 Only, Active Constellation Extension, Tone Reservation, Both + ACE and TR] + option_attributes: + val: [dtv.PAPR_OFF, dtv.PAPR_ACE, dtv.PAPR_TR, dtv.PAPR_BOTH] + hide: ${ version.hide_131 } +- id: version + label: Specification Version + dtype: enum + options: [VERSION_111, VERSION_131] + option_labels: [1.1.1, 1.3.1] + option_attributes: + hide_111: ['', all] + hide_131: [all, ''] + val: [dtv.VERSION_111, dtv.VERSION_131] +- id: preamble1 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO] + option_labels: [T2 SISO, T2 MISO] + option_attributes: + hide_miso: [all, ''] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO] + hide: ${ version.hide_111 } +- id: preamble2 + label: Preamble + dtype: enum + options: [PREAMBLE_T2_SISO, PREAMBLE_T2_MISO, PREAMBLE_T2_LITE_SISO, PREAMBLE_T2_LITE_MISO] + option_labels: [T2 SISO, T2 MISO, T2-Lite SISO, T2-Lite MISO] + option_attributes: + hide_miso: [all, '', all, ''] + val: [dtv.PREAMBLE_T2_SISO, dtv.PREAMBLE_T2_MISO, dtv.PREAMBLE_T2_LITE_SISO, + dtv.PREAMBLE_T2_LITE_MISO] + hide: ${ version.hide_131 } +- id: misogroup + label: MISO Group + dtype: enum + options: [MISO_TX1, MISO_TX2] + option_labels: [TX1, TX2] + option_attributes: + val: [dtv.MISO_TX1, dtv.MISO_TX2] + hide: ${ (preamble1.hide_miso if str(version) == 'VERSION_111' else preamble2.hide_miso) + } +- id: equalization + label: Sin(x)/x Equalization + dtype: enum + options: [EQUALIZATION_OFF, EQUALIZATION_ON] + option_labels: ['Off', 'On'] + option_attributes: + hide_bandwidth: [all, ''] + val: [dtv.EQUALIZATION_OFF, dtv.EQUALIZATION_ON] +- id: bandwidth + label: Bandwidth + dtype: enum + options: [BANDWIDTH_1_7_MHZ, BANDWIDTH_5_0_MHZ, BANDWIDTH_6_0_MHZ, BANDWIDTH_7_0_MHZ, + BANDWIDTH_8_0_MHZ, BANDWIDTH_10_0_MHZ] + option_labels: [1.7 MHz, 5 MHz, 6 MHz, 7 MHz, 8 MHz, 10 MHz] + option_attributes: + val: [dtv.BANDWIDTH_1_7_MHZ, dtv.BANDWIDTH_5_0_MHZ, dtv.BANDWIDTH_6_0_MHZ, + dtv.BANDWIDTH_7_0_MHZ, dtv.BANDWIDTH_8_0_MHZ, dtv.BANDWIDTH_10_0_MHZ] + hide: ${ equalization.hide_bandwidth } + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: complex + vlen: ${ fftsize.vlength } + +templates: + imports: from gnuradio import dtv + make: "dtv.dvbt2_pilotgenerator_cc(${carriermode.val}, ${fftsize.val}, ${pilotpattern.val},\ + \ ${guardinterval.val}, ${numdatasyms}, \n% if str(version) == 'VERSION_111':\n\ + ${paprmode1.val}, \n% else:\n${paprmode2.val}, \n% endif\n${version.val},\ + \ \n% if str(version) == 'VERSION_111':\n${preamble1.val}, \n% else:\n${preamble2.val},\ + \ \n% endif\n${misogroup.val}, ${equalization.val}, ${bandwidth.val}, ${fftsize.vlength})" + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.xml b/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.xml deleted file mode 100644 index fdcac6489d..0000000000 --- a/gr-dtv/grc/dtv_dvbt2_pilotgenerator_cc.xml +++ /dev/null @@ -1,386 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T2 Pilot Generator -################################################### - --> -<block> - <name>Pilot Generator and IFFT</name> - <key>dtv_dvbt2_pilotgenerator_cc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt2_pilotgenerator_cc($carriermode.val, $fftsize.val, $pilotpattern.val, $guardinterval.val, $numdatasyms, #slurp -#if str($version) == 'VERSION_111' -$paprmode1.val, #slurp -#else -$paprmode2.val, #slurp -#end if -$version.val, #slurp -#if str($version) == 'VERSION_111' -$preamble1.val, #slurp -#else -$preamble2.val, #slurp -#end if -$misogroup.val, $equalization.val, $bandwidth.val, $fftsize.vlength)</make> - <param> - <name>Extended Carrier Mode</name> - <key>carriermode</key> - <type>enum</type> - <option> - <name>Normal</name> - <key>CARRIERS_NORMAL</key> - <opt>val:dtv.CARRIERS_NORMAL</opt> - </option> - <option> - <name>Extended</name> - <key>CARRIERS_EXTENDED</key> - <opt>val:dtv.CARRIERS_EXTENDED</opt> - </option> - </param> - <param> - <name>FFT Size</name> - <key>fftsize</key> - <type>enum</type> - <option> - <name>1K</name> - <key>FFTSIZE_1K</key> - <opt>val:dtv.FFTSIZE_1K</opt> - <opt>vlength:1024</opt> - </option> - <option> - <name>2K</name> - <key>FFTSIZE_2K</key> - <opt>val:dtv.FFTSIZE_2K</opt> - <opt>vlength:2048</opt> - </option> - <option> - <name>4K</name> - <key>FFTSIZE_4K</key> - <opt>val:dtv.FFTSIZE_4K</opt> - <opt>vlength:4096</opt> - </option> - <option> - <name>8K</name> - <key>FFTSIZE_8K</key> - <opt>val:dtv.FFTSIZE_8K</opt> - <opt>vlength:8192</opt> - </option> - <option> - <name>8K DVB-T2 GI</name> - <key>FFTSIZE_8K_T2GI</key> - <opt>val:dtv.FFTSIZE_8K_T2GI</opt> - <opt>vlength:8192</opt> - </option> - <option> - <name>16K</name> - <key>FFTSIZE_16K</key> - <opt>val:dtv.FFTSIZE_16K</opt> - <opt>vlength:16384</opt> - </option> - <option> - <name>16K DVB-T2 GI</name> - <key>FFTSIZE_16K_T2GI</key> - <opt>val:dtv.FFTSIZE_16K_T2GI</opt> - <opt>vlength:16384</opt> - </option> - <option> - <name>32K</name> - <key>FFTSIZE_32K</key> - <opt>val:dtv.FFTSIZE_32K</opt> - <opt>vlength:32768</opt> - </option> - <option> - <name>32K DVB-T2 GI</name> - <key>FFTSIZE_32K_T2GI</key> - <opt>val:dtv.FFTSIZE_32K_T2GI</opt> - <opt>vlength:32768</opt> - </option> - </param> - <param> - <name>Pilot Pattern</name> - <key>pilotpattern</key> - <type>enum</type> - <option> - <name>PP1</name> - <key>PILOT_PP1</key> - <opt>val:dtv.PILOT_PP1</opt> - </option> - <option> - <name>PP2</name> - <key>PILOT_PP2</key> - <opt>val:dtv.PILOT_PP2</opt> - </option> - <option> - <name>PP3</name> - <key>PILOT_PP3</key> - <opt>val:dtv.PILOT_PP3</opt> - </option> - <option> - <name>PP4</name> - <key>PILOT_PP4</key> - <opt>val:dtv.PILOT_PP4</opt> - </option> - <option> - <name>PP5</name> - <key>PILOT_PP5</key> - <opt>val:dtv.PILOT_PP5</opt> - </option> - <option> - <name>PP6</name> - <key>PILOT_PP6</key> - <opt>val:dtv.PILOT_PP6</opt> - </option> - <option> - <name>PP7</name> - <key>PILOT_PP7</key> - <opt>val:dtv.PILOT_PP7</opt> - </option> - <option> - <name>PP8</name> - <key>PILOT_PP8</key> - <opt>val:dtv.PILOT_PP8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guardinterval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - <option> - <name>1/128</name> - <key>GI_1_128</key> - <opt>val:dtv.GI_1_128</opt> - </option> - <option> - <name>19/128</name> - <key>GI_19_128</key> - <opt>val:dtv.GI_19_128</opt> - </option> - <option> - <name>19/256</name> - <key>GI_19_256</key> - <opt>val:dtv.GI_19_256</opt> - </option> - </param> - <param> - <name>Number of Data Symbols</name> - <key>numdatasyms</key> - <value>100</value> - <type>int</type> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>Off</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>PAPR Mode</name> - <key>paprmode2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>P2 Only</name> - <key>PAPR_OFF</key> - <opt>val:dtv.PAPR_OFF</opt> - </option> - <option> - <name>Active Constellation Extension</name> - <key>PAPR_ACE</key> - <opt>val:dtv.PAPR_ACE</opt> - </option> - <option> - <name>Tone Reservation</name> - <key>PAPR_TR</key> - <opt>val:dtv.PAPR_TR</opt> - </option> - <option> - <name>Both ACE and TR</name> - <key>PAPR_BOTH</key> - <opt>val:dtv.PAPR_BOTH</opt> - </option> - </param> - <param> - <name>Specification Version</name> - <key>version</key> - <type>enum</type> - <option> - <name>1.1.1</name> - <key>VERSION_111</key> - <opt>val:dtv.VERSION_111</opt> - <opt>hide_111:</opt> - <opt>hide_131:all</opt> - </option> - <option> - <name>1.3.1</name> - <key>VERSION_131</key> - <opt>val:dtv.VERSION_131</opt> - <opt>hide_111:all</opt> - <opt>hide_131:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble1</key> - <type>enum</type> - <hide>$version.hide_111</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_miso:all</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_miso:</opt> - </option> - </param> - <param> - <name>Preamble</name> - <key>preamble2</key> - <type>enum</type> - <hide>$version.hide_131</hide> - <option> - <name>T2 SISO</name> - <key>PREAMBLE_T2_SISO</key> - <opt>val:dtv.PREAMBLE_T2_SISO</opt> - <opt>hide_miso:all</opt> - </option> - <option> - <name>T2 MISO</name> - <key>PREAMBLE_T2_MISO</key> - <opt>val:dtv.PREAMBLE_T2_MISO</opt> - <opt>hide_miso:</opt> - </option> - <option> - <name>T2-Lite SISO</name> - <key>PREAMBLE_T2_LITE_SISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_SISO</opt> - <opt>hide_miso:all</opt> - </option> - <option> - <name>T2-Lite MISO</name> - <key>PREAMBLE_T2_LITE_MISO</key> - <opt>val:dtv.PREAMBLE_T2_LITE_MISO</opt> - <opt>hide_miso:</opt> - </option> - </param> - <param> - <name>MISO Group</name> - <key>misogroup</key> - <type>enum</type> - <hide>#if str($version) == 'VERSION_111' then $preamble1.hide_miso else $preamble2.hide_miso</hide> - <option> - <name>TX1</name> - <key>MISO_TX1</key> - <opt>val:dtv.MISO_TX1</opt> - </option> - <option> - <name>TX2</name> - <key>MISO_TX2</key> - <opt>val:dtv.MISO_TX2</opt> - </option> - </param> - <param> - <name>Sin(x)/x Equalization</name> - <key>equalization</key> - <type>enum</type> - <option> - <name>Off</name> - <key>EQUALIZATION_OFF</key> - <opt>val:dtv.EQUALIZATION_OFF</opt> - <opt>hide_bandwidth:all</opt> - </option> - <option> - <name>On</name> - <key>EQUALIZATION_ON</key> - <opt>val:dtv.EQUALIZATION_ON</opt> - <opt>hide_bandwidth:</opt> - </option> - </param> - <param> - <name>Bandwidth</name> - <key>bandwidth</key> - <type>enum</type> - <hide>$equalization.hide_bandwidth</hide> - <option> - <name>1.7 MHz</name> - <key>BANDWIDTH_1_7_MHZ</key> - <opt>val:dtv.BANDWIDTH_1_7_MHZ</opt> - </option> - <option> - <name>5 MHz</name> - <key>BANDWIDTH_5_0_MHZ</key> - <opt>val:dtv.BANDWIDTH_5_0_MHZ</opt> - </option> - <option> - <name>6 MHz</name> - <key>BANDWIDTH_6_0_MHZ</key> - <opt>val:dtv.BANDWIDTH_6_0_MHZ</opt> - </option> - <option> - <name>7 MHz</name> - <key>BANDWIDTH_7_0_MHZ</key> - <opt>val:dtv.BANDWIDTH_7_0_MHZ</opt> - </option> - <option> - <name>8 MHz</name> - <key>BANDWIDTH_8_0_MHZ</key> - <opt>val:dtv.BANDWIDTH_8_0_MHZ</opt> - </option> - <option> - <name>10 MHz</name> - <key>BANDWIDTH_10_0_MHZ</key> - <opt>val:dtv.BANDWIDTH_10_0_MHZ</opt> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - <vlen>$fftsize.vlength</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.block.yml b/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.block.yml new file mode 100644 index 0000000000..0431f30881 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.block.yml @@ -0,0 +1,47 @@ +id: dtv_dvbt_bit_inner_deinterleaver +label: Bit Inner Deinterleaver + +parameters: +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + num_streams: ['1', '2', '2', '2'] + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] + hide: part +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } + +inputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +outputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + multiplicity: ${ hierarchy.num_streams } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_bit_inner_deinterleaver(${transmission_mode.payload_length}, ${constellation.val}, + ${hierarchy.val}, ${transmission_mode.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.xml b/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.xml deleted file mode 100644 index ff338d2118..0000000000 --- a/gr-dtv/grc/dtv_dvbt_bit_inner_deinterleaver.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Bit Inner Deinterleaver -################################################### - --> -<block> - <name>Bit Inner Deinterleaver</name> - <key>dtv_dvbt_bit_inner_deinterleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_bit_inner_deinterleaver($transmission_mode.payload_length, $constellation.val, $hierarchy.val, $transmission_mode.val)</make> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - <opt>num_streams:1</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - <opt>num_streams:2</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - <opt>num_streams:2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - <opt>num_streams:2</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - <nports>$hierarchy.num_streams</nports> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.block.yml b/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.block.yml new file mode 100644 index 0000000000..1d9b40473f --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.block.yml @@ -0,0 +1,47 @@ +id: dtv_dvbt_bit_inner_interleaver +label: Bit Inner Interleaver + +parameters: +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + num_streams: ['1', '2', '2', '2'] + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] + hide: part +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } + +inputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + multiplicity: ${ hierarchy.num_streams } + +outputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_bit_inner_interleaver(${transmission_mode.payload_length}, ${constellation.val}, + ${hierarchy.val}, ${transmission_mode.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.xml b/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.xml deleted file mode 100644 index 31f1c2cfa5..0000000000 --- a/gr-dtv/grc/dtv_dvbt_bit_inner_interleaver.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Bit Inner Interleaver -################################################### - --> -<block> - <name>Bit Inner Interleaver</name> - <key>dtv_dvbt_bit_inner_interleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_bit_inner_interleaver($transmission_mode.payload_length, $constellation.val, $hierarchy.val, $transmission_mode.val)</make> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - <opt>num_streams:1</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - <opt>num_streams:2</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - <opt>num_streams:2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - <opt>num_streams:2</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - <nports>$hierarchy.num_streams</nports> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.block.yml b/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.block.yml new file mode 100644 index 0000000000..b4b5708bcc --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.block.yml @@ -0,0 +1,39 @@ +id: dtv_dvbt_convolutional_deinterleaver +label: Convolutional Deinterleaver + +parameters: +- id: blocks + label: Blocks (12 Bytes) + dtype: int + default: '136' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: I + label: Number of Shift registers + dtype: int + default: '12' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: M + label: Depth of shift registers + dtype: int + default: '17' + +inputs: +- domain: stream + dtype: byte + vlen: 1 + +outputs: +- domain: stream + dtype: byte + vlen: ${ blocks*I } + +asserts: +- ${ blocks > 0 } +- ${ I > 0 } +- ${ M > 0 } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_convolutional_deinterleaver(${blocks}, ${I}, ${M}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.xml b/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.xml deleted file mode 100644 index 315920bd42..0000000000 --- a/gr-dtv/grc/dtv_dvbt_convolutional_deinterleaver.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Convolutional Deinterleaver -################################################### - --> -<block> - <name>Convolutional Deinterleaver</name> - <key>dtv_dvbt_convolutional_deinterleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_convolutional_deinterleaver($blocks, $I, $M)</make> - <param> - <name>Blocks (12 Bytes)</name> - <key>blocks</key> - <value>136</value> - <type>int</type> - </param> - <param> - <name>Number of Shift registers</name> - <key>I</key> - <value>12</value> - <type>int</type> - </param> - <param> - <name>Depth of shift registers</name> - <key>M</key> - <value>17</value> - <type>int</type> - </param> - <check>$blocks > 0</check> - <check>$I > 0</check> - <check>$M > 0</check> - <sink> - <name>in</name> - <type>byte</type> - <vlen>1</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$blocks*$I</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.block.yml b/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.block.yml new file mode 100644 index 0000000000..e47f1d09e9 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.block.yml @@ -0,0 +1,39 @@ +id: dtv_dvbt_convolutional_interleaver +label: Convolutional Interleaver + +parameters: +- id: blocks + label: Blocks (12 Bytes) + dtype: int + default: '136' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: I + label: Number of Shift registers + dtype: int + default: '12' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: M + label: Depth of shift registers + dtype: int + default: '17' + +inputs: +- domain: stream + dtype: byte + vlen: ${ blocks*I } + +outputs: +- domain: stream + dtype: byte + vlen: 1 + +asserts: +- ${ blocks > 0 } +- ${ I > 0 } +- ${ M > 0 } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_convolutional_interleaver(${blocks}, ${I}, ${M}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.xml b/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.xml deleted file mode 100644 index 04518dd622..0000000000 --- a/gr-dtv/grc/dtv_dvbt_convolutional_interleaver.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Convolutional Interleaver -################################################### - --> -<block> - <name>Convolutional Interleaver</name> - <key>dtv_dvbt_convolutional_interleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_convolutional_interleaver($blocks, $I, $M)</make> - <param> - <name>Blocks (12 Bytes)</name> - <key>blocks</key> - <value>136</value> - <type>int</type> - </param> - <param> - <name>Number of Shift registers</name> - <key>I</key> - <value>12</value> - <type>int</type> - </param> - <param> - <name>Depth of shift registers</name> - <key>M</key> - <value>17</value> - <type>int</type> - </param> - <check>$blocks > 0</check> - <check>$I > 0</check> - <check>$M > 0</check> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$blocks*$I</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>1</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_demap.block.yml b/gr-dtv/grc/dtv_dvbt_demap.block.yml new file mode 100644 index 0000000000..857bcf3463 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_demap.block.yml @@ -0,0 +1,48 @@ +id: dtv_dvbt_demap +label: DVB-T Demap + +parameters: +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: gain + label: Gain + dtype: complex + default: '1' + +inputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.payload_length } + +outputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_demap(${transmission_mode.payload_length}, ${constellation.val}, + ${hierarchy.val}, ${transmission_mode.val}, ${gain}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_demap.xml b/gr-dtv/grc/dtv_dvbt_demap.xml deleted file mode 100644 index 2268ed7cf5..0000000000 --- a/gr-dtv/grc/dtv_dvbt_demap.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Demap -################################################### - --> -<block> - <name>DVB-T Demap</name> - <key>dtv_dvbt_demap</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_demap($transmission_mode.payload_length, $constellation.val, $hierarchy.val, $transmission_mode.val, $gain)</make> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <param> - <name>Gain</name> - <key>gain</key> - <value>1</value> - <type>complex</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - <vlen>$transmission_mode.payload_length</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_demod_reference_signals.block.yml b/gr-dtv/grc/dtv_dvbt_demod_reference_signals.block.yml new file mode 100644 index 0000000000..a700f54eb6 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_demod_reference_signals.block.yml @@ -0,0 +1,86 @@ +id: dtv_dvbt_demod_reference_signals +label: Demod Reference Signals + +parameters: +- id: type + label: IO Type + dtype: enum + options: [complex, float, int, short, byte] + option_attributes: + size: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short, + gr.sizeof_char] +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: code_rate_hp + label: Code rate HP + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] +- id: code_rate_lp + label: Code rate LP + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] +- id: guard_interval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4] + option_labels: [1/32, 1/16, 1/8, 1/4] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4] +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + fft_length: ['2048', '8192'] + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: include_cell_id + label: Include Cell ID + dtype: enum + options: [call_id_yes, cell_id_no] + option_labels: ['Yes', 'No'] + option_attributes: + val: ['1', '0'] +- id: cell_id + label: Cell Id + dtype: int + default: '0' + +inputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.fft_length } + +outputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.payload_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_demod_reference_signals(${type.size}, ${transmission_mode.fft_length}, + ${transmission_mode.payload_length}, ${constellation.val}, ${hierarchy.val}, + ${code_rate_hp.val}, ${code_rate_lp.val}, ${guard_interval.val}, ${transmission_mode.val}, + ${include_cell_id.val}, ${cell_id}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_demod_reference_signals.xml b/gr-dtv/grc/dtv_dvbt_demod_reference_signals.xml deleted file mode 100644 index f92469b7e6..0000000000 --- a/gr-dtv/grc/dtv_dvbt_demod_reference_signals.xml +++ /dev/null @@ -1,222 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Demod Reference Signals -################################################### - --> -<block> - <name>Demod Reference Signals</name> - <key>dtv_dvbt_demod_reference_signals</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_demod_reference_signals($type.size, $transmission_mode.fft_length, $transmission_mode.payload_length, $constellation.val, $hierarchy.val, $code_rate_hp.val, $code_rate_lp.val, $guard_interval.val, $transmission_mode.val, $include_cell_id.val, $cell_id)</make> - <param> - <name>IO Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>size:gr.sizeof_gr_complex</opt> - </option> - <option> - <name>Float</name> - <key>float</key> - <opt>size:gr.sizeof_float</opt> - </option> - <option> - <name>Int</name> - <key>int</key> - <opt>size:gr.sizeof_int</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>size:gr.sizeof_short</opt> - </option> - <option> - <name>Byte</name> - <key>byte</key> - <opt>size:gr.sizeof_char</opt> - </option> - </param> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Code rate HP</name> - <key>code_rate_hp</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <param> - <name>Code rate LP</name> - <key>code_rate_lp</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guard_interval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>fft_length:2048</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>fft_length:8192</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <param> - <name>Include Cell ID</name> - <key>include_cell_id</key> - <type>enum</type> - <option> - <name>Yes</name> - <key>call_id_yes</key> - <opt>val:1</opt> - </option> - <option> - <name>No</name> - <key>cell_id_no</key> - <opt>val:0</opt> - </option> - </param> - <param> - <name>Cell Id</name> - <key>cell_id</key> - <value>0</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - <vlen>$transmission_mode.fft_length</vlen> - </sink> - <source> - <name>out</name> - <type>complex</type> - <vlen>$transmission_mode.payload_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_energy_descramble.block.yml b/gr-dtv/grc/dtv_dvbt_energy_descramble.block.yml new file mode 100644 index 0000000000..9ca3fee196 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_energy_descramble.block.yml @@ -0,0 +1,27 @@ +id: dtv_dvbt_energy_descramble +label: Energy Descramble + +parameters: +- id: nsize + label: Blocks(188 Bytes) + dtype: int + default: '8' + +inputs: +- domain: stream + dtype: byte + vlen: 188*8 + +outputs: +- domain: stream + dtype: byte + vlen: 1 + +asserts: +- ${ nsize > 0 } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_energy_descramble(${nsize}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_energy_descramble.xml b/gr-dtv/grc/dtv_dvbt_energy_descramble.xml deleted file mode 100644 index 689f85424f..0000000000 --- a/gr-dtv/grc/dtv_dvbt_energy_descramble.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Energy Descramble -################################################### - --> -<block> - <name>Energy Descramble</name> - <key>dtv_dvbt_energy_descramble</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_energy_descramble($nsize)</make> - <param> - <name>Blocks(188 Bytes)</name> - <key>nsize</key> - <value>8</value> - <type>int</type> - </param> - <check>$nsize > 0</check> - <sink> - <name>in</name> - <type>byte</type> - <vlen>188*8</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>1</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_energy_dispersal.block.yml b/gr-dtv/grc/dtv_dvbt_energy_dispersal.block.yml new file mode 100644 index 0000000000..1b7628fb65 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_energy_dispersal.block.yml @@ -0,0 +1,28 @@ +id: dtv_dvbt_energy_dispersal +label: Energy Dispersal + +parameters: +- id: nsize + label: Blocks(1504 Bytes) + dtype: int + default: '8' + hide: ${ 'part' if vlen == 1 else 'none' } + +inputs: +- domain: stream + dtype: byte + vlen: 1 + +outputs: +- domain: stream + dtype: byte + vlen: ${ 1504*nsize } + +asserts: +- ${ nsize > 0 } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_energy_dispersal(${nsize}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_energy_dispersal.xml b/gr-dtv/grc/dtv_dvbt_energy_dispersal.xml deleted file mode 100644 index 50746c8e4d..0000000000 --- a/gr-dtv/grc/dtv_dvbt_energy_dispersal.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Energy Dispersal -################################################### - --> -<block> - <name>Energy Dispersal</name> - <key>dtv_dvbt_energy_dispersal</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_energy_dispersal($nsize)</make> - <param> - <name>Blocks(1504 Bytes)</name> - <key>nsize</key> - <value>8</value> - <type>int</type> - </param> - <check>$nsize > 0</check> - <sink> - <name>in</name> - <type>byte</type> - <vlen>1</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>1504*$nsize</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_inner_coder.block.yml b/gr-dtv/grc/dtv_dvbt_inner_coder.block.yml new file mode 100644 index 0000000000..ca9c2eda4a --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_inner_coder.block.yml @@ -0,0 +1,57 @@ +id: dtv_dvbt_inner_coder +label: Inner Coder + +parameters: +- id: ninput + label: Input length + dtype: int + default: '1' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: noutput + label: Output length + dtype: int + default: '1512' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: code_rate + label: Code rate + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] + +inputs: +- domain: stream + dtype: byte + vlen: ${ ninput } + +outputs: +- domain: stream + dtype: byte + vlen: ${ noutput } + +asserts: +- ${ ninput > 0 } +- ${ noutput > 0 } +- ${ noutput >= ninput } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_inner_coder(${ninput}, ${noutput}, ${constellation.val}, ${hierarchy.val}, + ${code_rate.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_inner_coder.xml b/gr-dtv/grc/dtv_dvbt_inner_coder.xml deleted file mode 100644 index 4751065dd1..0000000000 --- a/gr-dtv/grc/dtv_dvbt_inner_coder.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Inner Coder -################################################### - --> -<block> - <name>Inner Coder</name> - <key>dtv_dvbt_inner_coder</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_inner_coder($ninput, $noutput, $constellation.val, $hierarchy.val, $code_rate.val)</make> - <param> - <name>Input length</name> - <key>ninput</key> - <value>1</value> - <type>int</type> - </param> - <param> - <name>Output length</name> - <key>noutput</key> - <value>1512</value> - <type>int</type> - </param> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>code_rate</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <check>$ninput > 0</check> - <check>$noutput > 0</check> - <check>$noutput >= $ninput</check> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$ninput</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$noutput</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_map.block.yml b/gr-dtv/grc/dtv_dvbt_map.block.yml new file mode 100644 index 0000000000..76ffa0400b --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_map.block.yml @@ -0,0 +1,48 @@ +id: dtv_dvbt_map +label: DVB-T Map + +parameters: +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: gain + label: Gain + dtype: complex + default: '1' + +inputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +outputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.payload_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_map(${transmission_mode.payload_length}, ${constellation.val}, + ${hierarchy.val}, ${transmission_mode.val}, ${gain}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_map.xml b/gr-dtv/grc/dtv_dvbt_map.xml deleted file mode 100644 index 705a508033..0000000000 --- a/gr-dtv/grc/dtv_dvbt_map.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Map -################################################### - --> -<block> - <name>DVB-T Map</name> - <key>dtv_dvbt_map</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_map($transmission_mode.payload_length, $constellation.val, $hierarchy.val, $transmission_mode.val, $gain)</make> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <param> - <name>Gain</name> - <key>gain</key> - <value>1</value> - <type>complex</type> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </sink> - <source> - <name>out</name> - <type>complex</type> - <vlen>$transmission_mode.payload_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.block.yml b/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.block.yml new file mode 100644 index 0000000000..fc00654488 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.block.yml @@ -0,0 +1,45 @@ +id: dtv_dvbt_ofdm_sym_acquisition +label: OFDM Symbol Acquisition + +parameters: +- id: type + label: Output Type + dtype: enum + default: float + options: [complex, float, int, short, byte] + option_attributes: + fcn: [c, f, i, s, b] + hide: part +- id: fft_length + label: FFT Length + dtype: int + default: '2048' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: occupied_tones + label: Occupied Tones + dtype: int + default: '1705' +- id: cp_length + label: Cyclic Prefix Length + dtype: int + default: '64' +- id: snr + label: SNR + dtype: real + default: '10' + +inputs: +- domain: stream + dtype: complex + +outputs: +- domain: stream + dtype: ${ type } + vlen: ${ fft_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_ofdm_sym_acquisition(1, ${fft_length}, ${occupied_tones}, ${cp_length}, + ${snr}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.xml b/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.xml deleted file mode 100644 index a75dcc02c3..0000000000 --- a/gr-dtv/grc/dtv_dvbt_ofdm_sym_acquisition.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## OFDM Symbol Acquisition -################################################### - --> -<block> - <name>OFDM Symbol Acquisition</name> - <key>dtv_dvbt_ofdm_sym_acquisition</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_ofdm_sym_acquisition(1, $fft_length, $occupied_tones, $cp_length, $snr)</make> - <param> - <name>Output Type</name> - <key>type</key> - <value>float</value> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Float</name> - <key>float</key> - <opt>fcn:f</opt> - </option> - <option> - <name>Int</name> - <key>int</key> - <opt>fcn:i</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - <option> - <name>Byte</name> - <key>byte</key> - <opt>fcn:b</opt> - </option> - </param> - <param> - <name>FFT Length</name> - <key>fft_length</key> - <value>2048</value> - <type>int</type> - </param> - <param> - <name>Occupied Tones</name> - <key>occupied_tones</key> - <value>1705</value> - <type>int</type> - </param> - <param> - <name>Cyclic Prefix Length</name> - <key>cp_length</key> - <value>64</value> - <type>int</type> - </param> - <param> - <name>SNR</name> - <key>snr</key> - <value>10</value> - <type>real</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>$type</type> - <vlen>$fft_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.block.yml b/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.block.yml new file mode 100644 index 0000000000..e037c42e08 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.block.yml @@ -0,0 +1,57 @@ +id: dtv_dvbt_reed_solomon_dec +label: Reed-Solomon Decoder + +parameters: +- id: p + label: p + dtype: int + default: '2' +- id: m + label: m + dtype: int + default: '8' +- id: gfpoly + label: GF polynomial + dtype: raw + default: '0x11d' +- id: n + label: N + dtype: int + default: '255' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: k + label: K + dtype: int + default: '239' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: t + label: t + dtype: int + default: '8' +- id: s + label: Shortening size + dtype: int + default: '51' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: blocks + label: Blocks + dtype: int + default: '8' + hide: ${ 'part' if vlen == 1 else 'none' } + +inputs: +- domain: stream + dtype: byte + vlen: ${ blocks*(n-s) } + +outputs: +- domain: stream + dtype: byte + vlen: ${ blocks*(k-s) } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_reed_solomon_dec(${p}, ${m}, ${gfpoly}, ${n}, ${k}, ${t}, ${s}, + ${blocks}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.xml b/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.xml deleted file mode 100644 index 798a6d40f8..0000000000 --- a/gr-dtv/grc/dtv_dvbt_reed_solomon_dec.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Reed Solomon Decoder -################################################### - --> -<block> - <name>Reed-Solomon Decoder</name> - <key>dtv_dvbt_reed_solomon_dec</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_reed_solomon_dec($p, $m, $gfpoly, $n, $k, $t, $s, $blocks)</make> - <param> - <name>p</name> - <key>p</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>m</name> - <key>m</key> - <value>8</value> - <type>int</type> - </param> - <param> - <name>GF polynomial</name> - <key>gfpoly</key> - <value>0x11d</value> - <type>raw</type> - </param> - <param> - <name>N</name> - <key>n</key> - <value>255</value> - <type>int</type> - </param> - <param> - <name>K</name> - <key>k</key> - <value>239</value> - <type>int</type> - </param> - <param> - <name>t</name> - <key>t</key> - <value>8</value> - <type>int</type> - </param> - <param> - <name>Shortening size</name> - <key>s</key> - <value>51</value> - <type>int</type> - </param> - <param> - <name>Blocks</name> - <key>blocks</key> - <value>8</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$blocks*($n-$s)</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$blocks*($k-$s)</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.block.yml b/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.block.yml new file mode 100644 index 0000000000..af463cad4e --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.block.yml @@ -0,0 +1,57 @@ +id: dtv_dvbt_reed_solomon_enc +label: Reed-Solomon Encoder + +parameters: +- id: p + label: p + dtype: int + default: '2' +- id: m + label: m + dtype: int + default: '8' +- id: gfpoly + label: GF polynomial + dtype: raw + default: '0x11d' +- id: n + label: N + dtype: int + default: '255' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: k + label: K + dtype: int + default: '239' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: t + label: t + dtype: int + default: '8' +- id: s + label: Shortening size + dtype: int + default: '51' + hide: ${ 'part' if vlen == 1 else 'none' } +- id: blocks + label: Blocks + dtype: int + default: '8' + hide: ${ 'part' if vlen == 1 else 'none' } + +inputs: +- domain: stream + dtype: byte + vlen: ${ blocks*(k-s) } + +outputs: +- domain: stream + dtype: byte + vlen: ${ blocks*(n-s) } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_reed_solomon_enc(${p}, ${m}, ${gfpoly}, ${n}, ${k}, ${t}, ${s}, + ${blocks}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.xml b/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.xml deleted file mode 100644 index 3dd57a7df0..0000000000 --- a/gr-dtv/grc/dtv_dvbt_reed_solomon_enc.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Reed Solomon Encoder -################################################### - --> -<block> - <name>Reed-Solomon Encoder</name> - <key>dtv_dvbt_reed_solomon_enc</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_reed_solomon_enc($p, $m, $gfpoly, $n, $k, $t, $s, $blocks)</make> - <param> - <name>p</name> - <key>p</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>m</name> - <key>m</key> - <value>8</value> - <type>int</type> - </param> - <param> - <name>GF polynomial</name> - <key>gfpoly</key> - <value>0x11d</value> - <type>raw</type> - </param> - <param> - <name>N</name> - <key>n</key> - <value>255</value> - <type>int</type> - </param> - <param> - <name>K</name> - <key>k</key> - <value>239</value> - <type>int</type> - </param> - <param> - <name>t</name> - <key>t</key> - <value>8</value> - <type>int</type> - </param> - <param> - <name>Shortening size</name> - <key>s</key> - <value>51</value> - <type>int</type> - </param> - <param> - <name>Blocks</name> - <key>blocks</key> - <value>8</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$blocks*($k-$s)</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$blocks*($n-$s)</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_reference_signals.block.yml b/gr-dtv/grc/dtv_dvbt_reference_signals.block.yml new file mode 100644 index 0000000000..d693b5ae10 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_reference_signals.block.yml @@ -0,0 +1,86 @@ +id: dtv_dvbt_reference_signals +label: Reference Signals + +parameters: +- id: type + label: IO Type + dtype: enum + options: [complex, float, int, short, byte] + option_attributes: + size: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short, + gr.sizeof_char] +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: code_rate_hp + label: Code rate HP + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] +- id: code_rate_lp + label: Code rate LP + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] +- id: guard_interval + label: Guard Interval + dtype: enum + options: [GI_1_32, GI_1_16, GI_1_8, GI_1_4] + option_labels: [1/32, 1/16, 1/8, 1/4] + option_attributes: + val: [dtv.GI_1_32, dtv.GI_1_16, dtv.GI_1_8, dtv.GI_1_4] +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + fft_length: ['2048', '8192'] + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: include_cell_id + label: Include Cell ID + dtype: enum + options: [call_id_yes, cell_id_no] + option_labels: ['Yes', 'No'] + option_attributes: + val: ['1', '0'] +- id: cell_id + label: Cell Id + dtype: int + default: '0' + +inputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.payload_length } + +outputs: +- domain: stream + dtype: complex + vlen: ${ transmission_mode.fft_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_reference_signals(${type.size}, ${transmission_mode.payload_length}, + ${transmission_mode.fft_length}, ${constellation.val}, ${hierarchy.val}, ${code_rate_hp.val}, + ${code_rate_lp.val}, ${guard_interval.val}, ${transmission_mode.val}, ${include_cell_id.val}, + ${cell_id}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_reference_signals.xml b/gr-dtv/grc/dtv_dvbt_reference_signals.xml deleted file mode 100644 index 3a4282cc50..0000000000 --- a/gr-dtv/grc/dtv_dvbt_reference_signals.xml +++ /dev/null @@ -1,222 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## Reference Signals -################################################### - --> -<block> - <name>Reference Signals</name> - <key>dtv_dvbt_reference_signals</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_reference_signals($type.size, $transmission_mode.payload_length, $transmission_mode.fft_length, $constellation.val, $hierarchy.val, $code_rate_hp.val, $code_rate_lp.val, $guard_interval.val, $transmission_mode.val, $include_cell_id.val, $cell_id)</make> - <param> - <name>IO Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>size:gr.sizeof_gr_complex</opt> - </option> - <option> - <name>Float</name> - <key>float</key> - <opt>size:gr.sizeof_float</opt> - </option> - <option> - <name>Int</name> - <key>int</key> - <opt>size:gr.sizeof_int</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>size:gr.sizeof_short</opt> - </option> - <option> - <name>Byte</name> - <key>byte</key> - <opt>size:gr.sizeof_char</opt> - </option> - </param> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Code rate HP</name> - <key>code_rate_hp</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <param> - <name>Code rate LP</name> - <key>code_rate_lp</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <param> - <name>Guard Interval</name> - <key>guard_interval</key> - <type>enum</type> - <option> - <name>1/32</name> - <key>GI_1_32</key> - <opt>val:dtv.GI_1_32</opt> - </option> - <option> - <name>1/16</name> - <key>GI_1_16</key> - <opt>val:dtv.GI_1_16</opt> - </option> - <option> - <name>1/8</name> - <key>GI_1_8</key> - <opt>val:dtv.GI_1_8</opt> - </option> - <option> - <name>1/4</name> - <key>GI_1_4</key> - <opt>val:dtv.GI_1_4</opt> - </option> - </param> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>fft_length:2048</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>fft_length:8192</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <param> - <name>Include Cell ID</name> - <key>include_cell_id</key> - <type>enum</type> - <option> - <name>Yes</name> - <key>call_id_yes</key> - <opt>val:1</opt> - </option> - <option> - <name>No</name> - <key>cell_id_no</key> - <opt>val:0</opt> - </option> - </param> - <param> - <name>Cell Id</name> - <key>cell_id</key> - <value>0</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - <vlen>$transmission_mode.payload_length</vlen> - </sink> - <source> - <name>out</name> - <type>complex</type> - <vlen>$transmission_mode.fft_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.block.yml b/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.block.yml new file mode 100644 index 0000000000..d516f0ec7a --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.block.yml @@ -0,0 +1,37 @@ +id: dtv_dvbt_symbol_inner_interleaver +label: Symbol Inner Interleaver + +parameters: +- id: transmission_mode + label: Transmission Mode + dtype: enum + options: [T2k, T8k] + option_labels: [2K, 8K] + option_attributes: + fft_length: ['2048', '8192'] + payload_length: ['1512', '6048'] + val: [dtv.T2k, dtv.T8k] + hide: ${ 'part' if vlen == 1 else 'none' } +- id: direction + label: Direction + dtype: enum + options: [Interleave, Deinterleave] + option_attributes: + val: ['1', '0'] + +inputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +outputs: +- domain: stream + dtype: byte + vlen: ${ transmission_mode.payload_length } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_symbol_inner_interleaver(${transmission_mode.payload_length}, ${transmission_mode.val}, + ${direction.val}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.xml b/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.xml deleted file mode 100644 index f440769a46..0000000000 --- a/gr-dtv/grc/dtv_dvbt_symbol_inner_interleaver.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Symbol Inner Interleaver -################################################### - --> -<block> - <name>Symbol Inner Interleaver</name> - <key>dtv_dvbt_symbol_inner_interleaver</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_symbol_inner_interleaver($transmission_mode.payload_length, $transmission_mode.val, $direction.val)</make> - <param> - <name>Transmission Mode</name> - <key>transmission_mode</key> - <type>enum</type> - <option> - <name>2K</name> - <key>T2k</key> - <opt>val:dtv.T2k</opt> - <opt>fft_length:2048</opt> - <opt>payload_length:1512</opt> - </option> - <option> - <name>8K</name> - <key>T8k</key> - <opt>val:dtv.T8k</opt> - <opt>fft_length:8192</opt> - <opt>payload_length:6048</opt> - </option> - </param> - <param> - <name>Direction</name> - <key>direction</key> - <type>enum</type> - <option> - <name>Interleave</name> - <key>Interleave</key> - <opt>val:1</opt> - </option> - <option> - <name>Deinterleave</name> - <key>Deinterleave</key> - <opt>val:0</opt> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </sink> - <source> - <name>out</name> - <type>byte</type> - <vlen>$transmission_mode.payload_length</vlen> - </source> -</block> diff --git a/gr-dtv/grc/dtv_dvbt_viterbi_decoder.block.yml b/gr-dtv/grc/dtv_dvbt_viterbi_decoder.block.yml new file mode 100644 index 0000000000..367b581014 --- /dev/null +++ b/gr-dtv/grc/dtv_dvbt_viterbi_decoder.block.yml @@ -0,0 +1,51 @@ +id: dtv_dvbt_viterbi_decoder +label: Viterbi Decoder + +parameters: +- id: constellation + label: Constellation Type + dtype: enum + options: [qpsk, 16qam, 64qam] + option_labels: [QPSK, 16QAM, 64QAM] + option_attributes: + val: [dtv.MOD_QPSK, dtv.MOD_16QAM, dtv.MOD_64QAM] +- id: hierarchy + label: Hierarchy Type + dtype: enum + options: [nh, alpha1, alpha2, alpha4] + option_labels: [Non Hierarchical, Alpha 1, Alpha 2, Alpha 4] + option_attributes: + val: [dtv.NH, dtv.ALPHA1, dtv.ALPHA2, dtv.ALPHA4] +- id: code_rate + label: Code rate + dtype: enum + options: [C1_2, C2_3, C3_4, C5_6, C7_8] + option_labels: [1/2, 2/3, 3/4, 5/6, 7/8] + option_attributes: + val: [dtv.C1_2, dtv.C2_3, dtv.C3_4, dtv.C5_6, dtv.C7_8] +- id: type + label: Type + dtype: enum + options: [i, s, b] + option_labels: [Int, Short, Byte] + option_attributes: + io: [int, short, byte] + hide: part +- id: block_size + label: Block Size + dtype: int + +inputs: +- domain: stream + dtype: byte + +outputs: +- domain: stream + dtype: ${ type.io } + +templates: + imports: from gnuradio import dtv + make: dtv.dvbt_viterbi_decoder(${constellation.val}, ${hierarchy.val}, ${code_rate.val}, + ${block_size}) + +file_format: 1 diff --git a/gr-dtv/grc/dtv_dvbt_viterbi_decoder.xml b/gr-dtv/grc/dtv_dvbt_viterbi_decoder.xml deleted file mode 100644 index 1dde80c281..0000000000 --- a/gr-dtv/grc/dtv_dvbt_viterbi_decoder.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## DVB-T Viterbi Decoder -################################################### - --> -<block> - <name>Viterbi Decoder</name> - <key>dtv_dvbt_viterbi_decoder</key> - <import>from gnuradio import dtv</import> - <make>dtv.dvbt_viterbi_decoder($constellation.val, $hierarchy.val, $code_rate.val, $block_size)</make> - <param> - <name>Constellation Type</name> - <key>constellation</key> - <type>enum</type> - <option> - <name>QPSK</name> - <key>qpsk</key> - <opt>val:dtv.MOD_QPSK</opt> - </option> - <option> - <name>16QAM</name> - <key>16qam</key> - <opt>val:dtv.MOD_16QAM</opt> - </option> - <option> - <name>64QAM</name> - <key>64qam</key> - <opt>val:dtv.MOD_64QAM</opt> - </option> - </param> - <param> - <name>Hierarchy Type</name> - <key>hierarchy</key> - <type>enum</type> - <option> - <name>Non Hierarchical</name> - <key>nh</key> - <opt>val:dtv.NH</opt> - </option> - <option> - <name>Alpha 1</name> - <key>alpha1</key> - <opt>val:dtv.ALPHA1</opt> - </option> - <option> - <name>Alpha 2</name> - <key>alpha2</key> - <opt>val:dtv.ALPHA2</opt> - </option> - <option> - <name>Alpha 4</name> - <key>alpha4</key> - <opt>val:dtv.ALPHA4</opt> - </option> - </param> - <param> - <name>Code rate</name> - <key>code_rate</key> - <type>enum</type> - <option> - <name>1/2</name> - <key>C1_2</key> - <opt>val:dtv.C1_2</opt> - </option> - <option> - <name>2/3</name> - <key>C2_3</key> - <opt>val:dtv.C2_3</opt> - </option> - <option> - <name>3/4</name> - <key>C3_4</key> - <opt>val:dtv.C3_4</opt> - </option> - <option> - <name>5/6</name> - <key>C5_6</key> - <opt>val:dtv.C5_6</opt> - </option> - <option> - <name>7/8</name> - <key>C7_8</key> - <opt>val:dtv.C7_8</opt> - </option> - </param> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Int</name> - <key>i</key> - <opt>io:int</opt> - </option> - <option> - <name>Short</name> - <key>s</key> - <opt>io:short</opt> - </option> - <option> - <name>Byte</name> - <key>b</key> - <opt>io:byte</opt> - </option> - </param> - <param> - <name>Block Size</name> - <key>block_size</key> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>$type.io</type> - </source> -</block> diff --git a/gr-dtv/python/dtv/CMakeLists.txt b/gr-dtv/python/dtv/CMakeLists.txt index e39b21cbb9..caf19d8d97 100644 --- a/gr-dtv/python/dtv/CMakeLists.txt +++ b/gr-dtv/python/dtv/CMakeLists.txt @@ -44,6 +44,6 @@ if(ENABLE_TESTING) file(GLOB py_qa_test_files "qa_*.py") foreach(py_qa_test_file ${py_qa_test_files}) get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE) - GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${py_qa_test_file}) + GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} -B ${py_qa_test_file}) endforeach(py_qa_test_file) endif(ENABLE_TESTING) diff --git a/gr-dtv/python/dtv/__init__.py b/gr-dtv/python/dtv/__init__.py index 8d2b8bfbcf..82bd562117 100644 --- a/gr-dtv/python/dtv/__init__.py +++ b/gr-dtv/python/dtv/__init__.py @@ -24,14 +24,17 @@ ''' Blocks and utilities for digital TV module. ''' +from __future__ import absolute_import +from __future__ import unicode_literals + import os try: - from dtv_swig import * + from .dtv_swig import * except ImportError: dirname, filename = os.path.split(os.path.abspath(__file__)) __path__.append(os.path.join(dirname, "..", "..", "swig")) - from dtv_swig import * + from .dtv_swig import * # Import pure python code here -from atsc_rx import * +from .atsc_rx import * diff --git a/gr-dtv/python/dtv/atsc_rx.py b/gr-dtv/python/dtv/atsc_rx.py index 75c61f43ff..d728f0945e 100644 --- a/gr-dtv/python/dtv/atsc_rx.py +++ b/gr-dtv/python/dtv/atsc_rx.py @@ -19,8 +19,10 @@ # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. +from __future__ import absolute_import +from __future__ import unicode_literals from gnuradio import gr, filter, analog -from atsc_rx_filter import * +from .atsc_rx_filter import * class atsc_rx(gr.hier_block2): def __init__(self, input_rate, sps): @@ -53,17 +55,17 @@ class atsc_rx(gr.hier_block2): # Remove convolutional trellis coding vit = dtv.atsc_viterbi_decoder() - # Remove convolutional interleaving - dei = dtv.atsc_deinterleaver() + # Remove convolutional interleaving + dei = dtv.atsc_deinterleaver() - # Reed-Solomon decode - rsd = dtv.atsc_rs_decoder() + # Reed-Solomon decode + rsd = dtv.atsc_rs_decoder() - # Derandomize MPEG2-TS packet - der = dtv.atsc_derandomizer() + # Derandomize MPEG2-TS packet + der = dtv.atsc_derandomizer() - # Remove padding from packet - dep = dtv.atsc_depad() + # Remove padding from packet + dep = dtv.atsc_depad() # Connect pipeline self.connect(self, rx_filt, pll, dcr, agc, btl, fsc, equ) diff --git a/gr-dtv/python/dtv/atsc_rx_filter.py b/gr-dtv/python/dtv/atsc_rx_filter.py index e860fa265a..b5df161a59 100644 --- a/gr-dtv/python/dtv/atsc_rx_filter.py +++ b/gr-dtv/python/dtv/atsc_rx_filter.py @@ -19,8 +19,10 @@ # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. +from __future__ import division +from __future__ import unicode_literals from gnuradio import gr, filter -import dtv_swig as dtv +from . import dtv_swig as dtv # FIXME move these into separate constants module ATSC_CHANNEL_BW = 6.0e6 @@ -38,10 +40,10 @@ class atsc_rx_filter(gr.hier_block2): nfilts = 16 output_rate = ATSC_SYMBOL_RATE*sps # Desired oversampled sample rate filter_rate = input_rate*nfilts - symbol_rate = ATSC_SYMBOL_RATE/2.0 # One-sided bandwidth of sideband + symbol_rate = ATSC_SYMBOL_RATE / 2.0 # One-sided bandwidth of sideband excess_bw = 0.1152 #1.0-(0.5*ATSC_SYMBOL_RATE/ATSC_CHANNEL_BW) # ~10.3% ntaps = int((2*ATSC_RRC_SYMS+1)*sps*nfilts) - interp = output_rate/input_rate + interp = output_rate / input_rate gain = nfilts*symbol_rate/filter_rate rrc_taps = filter.firdes.root_raised_cosine(gain, # Filter gain filter_rate, # PFB filter prototype rate diff --git a/gr-dtv/python/dtv/qa_dtv.py b/gr-dtv/python/dtv/qa_dtv.py index a0f6edf801..cebdeb5959 100755..100644 --- a/gr-dtv/python/dtv/qa_dtv.py +++ b/gr-dtv/python/dtv/qa_dtv.py @@ -20,6 +20,7 @@ # Boston, MA 02110-1301, USA. # + from gnuradio import gr, gr_unittest, dtv class test_dtv(gr_unittest.TestCase): |