aboutsummaryrefslogtreecommitdiffstats
path: root/gr-dtv/grc
diff options
context:
space:
mode:
authorRon Economos <w6rz@comcast.net>2015-03-23 14:28:17 -0700
committerRon Economos <w6rz@comcast.net>2015-03-23 14:28:17 -0700
commitea8988825f34ea10f56fa6c65a1877d415da508e (patch)
tree2f2a23edc49dee3f2c5f7e19dc957f591df79759 /gr-dtv/grc
parentMerge remote-tracking branch 'mbr0wn/modtool/cgran' (diff)
downloadgnuradio-ea8988825f34ea10f56fa6c65a1877d415da508e.tar.xz
gnuradio-ea8988825f34ea10f56fa6c65a1877d415da508e.zip
gr-dtv: Add DVB-S2 transmitter.
Diffstat (limited to 'gr-dtv/grc')
-rw-r--r--gr-dtv/grc/CMakeLists.txt3
-rw-r--r--gr-dtv/grc/dtv_block_tree.xml6
-rw-r--r--gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml220
-rw-r--r--gr-dtv/grc/dtv_dvbs2_modulator_bc.xml265
-rw-r--r--gr-dtv/grc/dtv_dvbs2_physical_cc.xml331
5 files changed, 825 insertions, 0 deletions
diff --git a/gr-dtv/grc/CMakeLists.txt b/gr-dtv/grc/CMakeLists.txt
index 93d6b5779..ce2d71883 100644
--- a/gr-dtv/grc/CMakeLists.txt
+++ b/gr-dtv/grc/CMakeLists.txt
@@ -49,6 +49,9 @@ install(FILES
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
DESTINATION ${GRC_BLOCKS_DIR}
COMPONENT "dtv_python"
)
diff --git a/gr-dtv/grc/dtv_block_tree.xml b/gr-dtv/grc/dtv_block_tree.xml
index ba7e3cac5..770b7ec0f 100644
--- a/gr-dtv/grc/dtv_block_tree.xml
+++ b/gr-dtv/grc/dtv_block_tree.xml
@@ -69,5 +69,11 @@
<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>
</cat>
diff --git a/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml b/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml
new file mode 100644
index 000000000..9a6d2ef37
--- /dev/null
+++ b/gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml
@@ -0,0 +1,220 @@
+<?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, $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>Other</name>
+ <key>C_OTHER</key>
+ <opt>val:dtv.C_OTHER</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>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>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>100/180</name>
+ <key>C100_180</key>
+ <opt>val:dtv.C100_180</opt>
+ </option>
+ <option>
+ <name>26/45</name>
+ <key>C26_45</key>
+ <opt>val:dtv.C26_45</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>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>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>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>32/45</name>
+ <key>C32_45</key>
+ <opt>val:dtv.C32_45</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>
+ </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.xml b/gr-dtv/grc/dtv_dvbs2_modulator_bc.xml
new file mode 100644
index 000000000..1f7fef09a
--- /dev/null
+++ b/gr-dtv/grc/dtv_dvbs2_modulator_bc.xml
@@ -0,0 +1,265 @@
+<?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, $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>Other</name>
+ <key>C_OTHER</key>
+ <opt>val:dtv.C_OTHER</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>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>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>
+ <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>32/45</name>
+ <key>C32_45</key>
+ <opt>val:dtv.C32_45</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+6+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>
+ </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.xml b/gr-dtv/grc/dtv_dvbs2_physical_cc.xml
new file mode 100644
index 000000000..ad9eb9ae0
--- /dev/null
+++ b/gr-dtv/grc/dtv_dvbs2_physical_cc.xml
@@ -0,0 +1,331 @@
+<?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, $rate.val, $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>
+ </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/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>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>
+ <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>32/45</name>
+ <key>C32_45</key>
+ <opt>val:dtv.C32_45</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+6+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>
+ </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>