diff options
author | 2015-03-23 14:28:17 -0700 | |
---|---|---|
committer | 2015-03-23 14:28:17 -0700 | |
commit | ea8988825f34ea10f56fa6c65a1877d415da508e (patch) | |
tree | 2f2a23edc49dee3f2c5f7e19dc957f591df79759 /gr-dtv/grc | |
parent | Merge remote-tracking branch 'mbr0wn/modtool/cgran' (diff) | |
download | gnuradio-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.txt | 3 | ||||
-rw-r--r-- | gr-dtv/grc/dtv_block_tree.xml | 6 | ||||
-rw-r--r-- | gr-dtv/grc/dtv_dvbs2_interleaver_bb.xml | 220 | ||||
-rw-r--r-- | gr-dtv/grc/dtv_dvbs2_modulator_bc.xml | 265 | ||||
-rw-r--r-- | gr-dtv/grc/dtv_dvbs2_physical_cc.xml | 331 |
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> |