diff options
Diffstat (limited to 'gr-digital/grc')
27 files changed, 2052 insertions, 0 deletions
diff --git a/gr-digital/grc/.gitignore b/gr-digital/grc/.gitignore new file mode 100644 index 000000000..3dda72986 --- /dev/null +++ b/gr-digital/grc/.gitignore @@ -0,0 +1,2 @@ +Makefile.in +Makefile diff --git a/gr-digital/grc/CMakeLists.txt b/gr-digital/grc/CMakeLists.txt new file mode 100644 index 000000000..330098539 --- /dev/null +++ b/gr-digital/grc/CMakeLists.txt @@ -0,0 +1,47 @@ +# Copyright 2011 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. + +install(FILES + digital_block_tree.xml + digital_binary_slicer_fb.xml + digital_clock_recovery_mm_xx.xml + digital_constellation_decoder_cb.xml + digital_correlate_access_code_bb.xml + digital_costas_loop_cc.xml + digital_cma_equalizer_cc.xml + digital_fll_band_edge_cc.xml + digital_kurtotic_equalizer_cc.xml + digital_lms_dd_equalizer_cc.xml + digital_mpsk_receiver_cc.xml + digital_dxpsk_mod.xml + digital_dxpsk_demod.xml + digital_psk_mod.xml + digital_psk_demod.xml + digital_qam_mod.xml + digital_qam_demod.xml + digital_ofdm_mod.xml + digital_ofdm_demod.xml + digital_ofdm_cyclic_prefixer.xml + digital_ofdm_frame_acquisition.xml + digital_ofdm_insert_preamble.xml + digital_ofdm_sampler.xml + digital_ofdm_sync_pn.xml + DESTINATION ${GRC_BLOCKS_DIR} + COMPONENT "digital_python" +) diff --git a/gr-digital/grc/Makefile.am b/gr-digital/grc/Makefile.am new file mode 100644 index 000000000..ef4e38600 --- /dev/null +++ b/gr-digital/grc/Makefile.am @@ -0,0 +1,50 @@ +# +# Copyright 2011 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. +# + +include $(top_srcdir)/Makefile.common + +grcblocksdir = $(grc_blocksdir) + +dist_grcblocks_DATA = \ + digital_block_tree.xml \ + digital_binary_slicer_fb.xml \ + digital_clock_recovery_mm_xx.xml \ + digital_constellation_decoder_cb.xml \ + digital_correlate_access_code_bb.xml \ + digital_costas_loop_cc.xml \ + digital_cma_equalizer_cc.xml \ + digital_fll_band_edge_cc.xml \ + digital_kurtotic_equalizer_cc.xml \ + digital_lms_dd_equalizer_cc.xml \ + digital_mpsk_receiver_cc.xml \ + digital_dxpsk_mod.xml \ + digital_dxpsk_demod.xml \ + digital_psk_mod.xml \ + digital_psk_demod.xml \ + digital_qam_mod.xml \ + digital_qam_demod.xml \ + digital_ofdm_mod.xml \ + digital_ofdm_demod.xml \ + digital_ofdm_cyclic_prefixer.xml \ + digital_ofdm_frame_acquisition.xml \ + digital_ofdm_insert_preamble.xml \ + digital_ofdm_sampler.xml \ + digital_ofdm_sync_pn.xml diff --git a/gr-digital/grc/digital_binary_slicer_fb.xml b/gr-digital/grc/digital_binary_slicer_fb.xml new file mode 100644 index 000000000..3187d13f9 --- /dev/null +++ b/gr-digital/grc/digital_binary_slicer_fb.xml @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Binary Slicer +################################################### + --> +<block> + <name>Binary Slicer</name> + <key>digital_binary_slicer_fb</key> + <import>from gnuradio import digital</import> + <make>digital.binary_slicer_fb()</make> + <sink> + <name>in</name> + <type>float</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_block_tree.xml b/gr-digital/grc/digital_block_tree.xml new file mode 100644 index 000000000..816df7f45 --- /dev/null +++ b/gr-digital/grc/digital_block_tree.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2011 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 Digital blocks. +################################################### + --> +<cat> + <name></name> <!-- Blank for Root Name --> + <cat> + <name>Digital</name> + <block>digital_binary_slicer_fb</block> + <block>digital_clock_recovery_mm_xx</block> + <block>digital_cma_equalizer_cc</block> + <block>digital_constellation_decoder_cb</block> + <block>digital_correlate_access_code_bb</block> + <block>digital_costas_loop_cc</block> + <block>digital_fll_band_edge_cc</block> + <block>digital_kurtotic_equalizer_cc</block> + <block>digital_lms_dd_equalizer_cc</block> + <block>digital_mpsk_receiver_cc</block> + </cat> + <cat> + <name>Digital Modulators</name> + <block>digital_dxpsk_mod</block> + <block>digital_dxpsk_demod</block> + <block>digital_psk_mod</block> + <block>digital_psk_demod</block> + <block>digital_qam_mod</block> + <block>digital_qam_demod</block> + </cat> + <cat> + <name>OFDM</name> + <block>digital_ofdm_mod</block> + <block>digital_ofdm_demod</block> + <block>digital_ofdm_cyclic_prefixer</block> + <block>digital_ofdm_frame_acquisition</block> + <block>digital_ofdm_insert_preamble</block> + <block>digital_ofdm_sampler</block> + <block>digital_ofdm_sync_pn</block> + </cat> +</cat> diff --git a/gr-digital/grc/digital_clock_recovery_mm_xx.xml b/gr-digital/grc/digital_clock_recovery_mm_xx.xml new file mode 100644 index 000000000..d9c5ea4ff --- /dev/null +++ b/gr-digital/grc/digital_clock_recovery_mm_xx.xml @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Clock Recovery MM +################################################### + --> +<block> + <name>Clock Recovery MM</name> + <key>digital_clock_recovery_mm_xx</key> + <import>from gnuradio import digital</import> + <make>digital.clock_recovery_mm_$(type.fcn)($omega, $gain_omega, $mu, $gain_mu, $omega_relative_limit)</make> + <callback>set_omega($omega)</callback> + <callback>set_gain_omega($gain_omega)</callback> + <callback>set_mu($mu)</callback> + <callback>set_gain_mu($gain_mu)</callback> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Complex</name> + <key>complex</key> + <opt>fcn:cc</opt> + </option> + <option> + <name>Float</name> + <key>float</key> + <opt>fcn:ff</opt> + </option> + </param> + <param> + <name>Omega</name> + <key>omega</key> + <type>real</type> + </param> + <param> + <name>Gain Omega</name> + <key>gain_omega</key> + <type>real</type> + </param> + <param> + <name>Mu</name> + <key>mu</key> + <type>real</type> + </param> + <param> + <name>Gain Mu</name> + <key>gain_mu</key> + <type>real</type> + </param> + <param> + <name>Omega Relative Limit</name> + <key>omega_relative_limit</key> + <type>real</type> + </param> + <sink> + <name>in</name> + <type>$type</type> + </sink> + <source> + <name>out</name> + <type>$type</type> + </source> +</block> diff --git a/gr-digital/grc/digital_cma_equalizer_cc.xml b/gr-digital/grc/digital_cma_equalizer_cc.xml new file mode 100644 index 000000000..118c18e29 --- /dev/null +++ b/gr-digital/grc/digital_cma_equalizer_cc.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<!-- +################################################### +## CMA Equalizer +################################################### + --> +<block> + <name>CMA Equalizer</name> + <key>digital_cma_equalizer_cc</key> + <import>from gnuradio import digital</import> + <make>digital.cma_equalizer_cc($num_taps, $modulus, $mu, $sps)</make> + <callback>set_gain($mu)</callback> + <callback>set_modulus($modulus)</callback> + <param> + <name>Num. Taps</name> + <key>num_taps</key> + <type>int</type> + </param> + <param> + <name>Modulus</name> + <key>modulus</key> + <type>real</type> + </param> + <param> + <name>Gain</name> + <key>mu</key> + <type>real</type> + </param> + <param> + <name>Samples per Symbol</name> + <key>sps</key> + <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-digital/grc/digital_constellation_decoder_cb.xml b/gr-digital/grc/digital_constellation_decoder_cb.xml new file mode 100644 index 000000000..c7353e288 --- /dev/null +++ b/gr-digital/grc/digital_constellation_decoder_cb.xml @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Constellation Decoder +################################################### + --> +<block> + <name>Constellation Decoder</name> + <key>digital_constellation_decoder_cb</key> + <import>from gnuradio import digital</import> + <make>digital.constellation_decoder_cb($constellation)</make> + <param> + <name>Constellation Object</name> + <key>constellation</key> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_correlate_access_code_bb.xml b/gr-digital/grc/digital_correlate_access_code_bb.xml new file mode 100644 index 000000000..3941834c4 --- /dev/null +++ b/gr-digital/grc/digital_correlate_access_code_bb.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Correlate Access Code +################################################### + --> +<block> + <name>Correlate Access Code</name> + <key>digital_correlate_access_code_bb</key> + <import>from gnuradio import digital</import> + <make>digital.correlate_access_code_bb($access_code, $threshold)</make> + <param> + <name>Access Code</name> + <key>access_code</key> + <value>101010</value> + <type>string</type> + </param> + <param> + <name>Threshold</name> + <key>threshold</key> + <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-digital/grc/digital_costas_loop_cc.xml b/gr-digital/grc/digital_costas_loop_cc.xml new file mode 100644 index 000000000..668c43dec --- /dev/null +++ b/gr-digital/grc/digital_costas_loop_cc.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Costas Loop +################################################### + --> +<block> + <name>Costas Loop</name> + <key>digital_costas_loop_cc</key> + <import>from gnuradio import digital</import> + <make>digital.costas_loop_cc($w, $order)</make> + <callback>set_loop_bandwidth($w)</callback> + <param> + <name>Loop Bandwidth</name> + <key>w</key> + <type>real</type> + </param> + <param> + <name>Order</name> + <key>order</key> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> + + <!-- Optional Outputs --> + <source> + <name>frequency</name> + <type>float</type> + <optional>1</optional> + </source> +</block> diff --git a/gr-digital/grc/digital_dxpsk_demod.xml b/gr-digital/grc/digital_dxpsk_demod.xml new file mode 100644 index 000000000..d5e742097 --- /dev/null +++ b/gr-digital/grc/digital_dxpsk_demod.xml @@ -0,0 +1,153 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +##DPSK2 Mod - 2, 4, 8 +################################################### + --> +<block> + <name>DPSK Demod</name> + <key>digital_dxpsk_demod</key> + <import>from gnuradio import digital</import> + <make>digital.$(type)_demod( + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + phase_bw=$phase_bw, + timing_bw=$timing_bw, + gray_coded=$gray_coded, + verbose=$verbose, + log=$log +)</make> + <callback>clock_recov.set_loop_bandwidth($phase_bw)</callback> + <callback>time_recov.set_loop_bandwidth($timing_bw)</callback> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>DBPSK</name> + <key>dbpsk</key> + </option> + <option> + <name>DQPSK</name> + <key>dqpsk</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Phase Loop Bandwidth</name> + <key>phase_bw</key> + <value>6.28/100.0</value> + <type>real</type> + </param> + <param> + <name>Timing Bandwidth</name> + <key>timing_bw</key> + <value>6.28/100.0</value> + <type>real</type> + </param> + <param> + <name>Omega Relative Limit</name> + <key>omega_relative_limit</key> + <value>0.005</value> + <type>real</type> + </param> + <param> + <name>Gray Code</name> + <key>gray_coded</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Sync Out</name> + <key>sync_out</key> + <value>False</value> + <type>bool</type> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_dxpsk_mod.xml b/gr-digital/grc/digital_dxpsk_mod.xml new file mode 100644 index 000000000..fbda9fb1f --- /dev/null +++ b/gr-digital/grc/digital_dxpsk_mod.xml @@ -0,0 +1,121 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +## DPSK Mod - 2, 4, 8 +################################################### + --> +<block> + <name>DPSK Mod</name> + <key>digital_dxpsk_mod</key> + <import>from gnuradio import digital</import> + <make>digital.$(type)_mod( + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + gray_coded=$gray_coded, + verbose=$verbose, + log=$log) + </make> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>DBPSK</name> + <key>dbpsk</key> + </option> + <option> + <name>DQPSK</name> + <key>dqpsk</key> + </option> + <option> + <name>D8PSK</name> + <key>d8psk</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Gray Code</name> + <key>gray_coded</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_fll_band_edge_cc.xml b/gr-digital/grc/digital_fll_band_edge_cc.xml new file mode 100644 index 000000000..e4da773db --- /dev/null +++ b/gr-digital/grc/digital_fll_band_edge_cc.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<!-- +################################################### +## FLL using Band-Edge Filters +################################################### + --> +<block> + <name>FLL Band-Edge</name> + <key>digital_fll_band_edge_cc</key> + <import>from gnuradio import digital</import> + <make>digital.fll_band_edge_cc($samps_per_sym, $rolloff, $filter_size, $w)</make> + <callback>set_loop_bandwidth($w)</callback> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Complex->Complex</name> + <key>cc</key> + <opt>input:complex</opt> + <opt>output:complex</opt> + </option> + </param> + + <param> + <name>Samples Per Symbol</name> + <key>samps_per_sym</key> + <type>real</type> + </param> + <param> + <name>Filter Rolloff Factor</name> + <key>rolloff</key> + <type>real</type> + </param> + <param> + <name>Prototype Filter Size</name> + <key>filter_size</key> + <type>int</type> + </param> + + <param> + <name>Loop Bandwidth</name> + <key>w</key> + <type>real</type> + </param> + + <sink> + <name>in</name> + <type>$type.input</type> + </sink> + <source> + <name>out</name> + <type>$type.output</type> + </source> + <source> + <name>freq</name> + <type>float</type> + <optional>1</optional> + </source> + <source> + <name>phase</name> + <type>float</type> + <optional>1</optional> + </source> + <source> + <name>error</name> + <type>float</type> + <optional>1</optional> + </source> +</block> diff --git a/gr-digital/grc/digital_kurtotic_equalizer_cc.xml b/gr-digital/grc/digital_kurtotic_equalizer_cc.xml new file mode 100644 index 000000000..8c4a2012d --- /dev/null +++ b/gr-digital/grc/digital_kurtotic_equalizer_cc.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!-- +################################################### +## Kurtotic Equalizer +################################################### + --> +<block> + <name>Kurtotic Equalizer</name> + <key>digital_kurtotic_equalizer_cc</key> + <import>from gnuradio import digital</import> + <make>digital.kurtotic_equalizer_cc($num_taps, $mu)</make> + <callback>set_gain($mu)</callback> + <param> + <name>Num. Taps</name> + <key>num_taps</key> + <type>int</type> + </param> + <param> + <name>Mu</name> + <key>mu</key> + <type>real</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_lms_dd_equalizer_cc.xml b/gr-digital/grc/digital_lms_dd_equalizer_cc.xml new file mode 100644 index 000000000..0fd7d523b --- /dev/null +++ b/gr-digital/grc/digital_lms_dd_equalizer_cc.xml @@ -0,0 +1,41 @@ +<?xml version="1.0"?> +<!-- +################################################### +## LMS DD Equalizer +################################################### + --> +<block> + <name>LMS DD Equalizer</name> + <key>digital_lms_dd_equalizer_cc</key> + <import>from gnuradio import digital</import> + <make>digital.lms_dd_equalizer_cc($num_taps, $mu, $sps, $cnst)</make> + <callback>set_gain($mu)</callback> + <param> + <name>Gain</name> + <key>mu</key> + <type>real</type> + </param> + <param> + <name>Num. Taps</name> + <key>num_taps</key> + <type>int</type> + </param> + <param> + <name>Samples per Symbol</name> + <key>sps</key> + <type>int</type> + </param> + <param> + <name>Constellation Object</name> + <key>cnst</key> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_mpsk_receiver_cc.xml b/gr-digital/grc/digital_mpsk_receiver_cc.xml new file mode 100644 index 000000000..ab7e5c209 --- /dev/null +++ b/gr-digital/grc/digital_mpsk_receiver_cc.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- +################################################### +##MPSK Receiver +################################################### + --> +<block> + <name>MPSK Receiver</name> + <key>digital_mpsk_receiver_cc</key> + <import>from gnuradio import digital</import> + <make>digital.mpsk_receiver_cc($M, $theta, $w, $fmin, $fmax, $mu, $gain_mu, $omega, $gain_omega, $omega_relative_limit)</make> + <callback>set_loop_bandwidth($w)</callback> + <callback>set_mu($mu)</callback> + <callback>set_gain_mu($gain_mu)</callback> + <callback>set_omega($omega)</callback> + <callback>set_gain_omega($gain_omega)</callback> + <param> + <name>M</name> + <key>M</key> + <type>int</type> + </param> + <param> + <name>Theta</name> + <key>theta</key> + <type>real</type> + </param> + <param> + <name>Loop Bandwidth</name> + <key>w</key> + <type>real</type> + </param> + <param> + <name>Min Freq</name> + <key>fmin</key> + <type>real</type> + </param> + <param> + <name>Max Freq</name> + <key>fmax</key> + <type>real</type> + </param> + <param> + <name>Mu</name> + <key>mu</key> + <type>real</type> + </param> + <param> + <name>Gain Mu</name> + <key>gain_mu</key> + <type>real</type> + </param> + <param> + <name>Omega</name> + <key>omega</key> + <type>real</type> + </param> + <param> + <name>Gain Omega</name> + <key>gain_omega</key> + <type>real</type> + </param> + <param> + <name>Omega Relative Limit</name> + <key>omega_relative_limit</key> + <type>real</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml b/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml new file mode 100644 index 000000000..d5e5d3894 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_cyclic_prefixer.xml @@ -0,0 +1,52 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Cyclic Prefixer +################################################### + --> +<block> + <name>OFDM Cyclic Prefixer</name> + <key>digital_ofdm_cyclic_prefixer</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_cyclic_prefixer($input_size, $output_size)</make> + <param> + <name>Input Size</name> + <key>input_size</key> + <type>int</type> + </param> + <param> + <name>Output Size</name> + <key>output_size</key> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + <vlen>$input_size</vlen> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_demod.xml b/gr-digital/grc/digital_ofdm_demod.xml new file mode 100644 index 000000000..9f3a83715 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_demod.xml @@ -0,0 +1,143 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Demod +################################################### + --> +<block> + <name>OFDM Demod</name> + <key>digital_ofdm_demod</key> + <import>from grc_gnuradio import blks2 as grc_blks2</import> + <import>from gnuradio import digital</import> + <make>grc_blks2.packet_demod_$(type.fcn)(digital.ofdm_demod( + options=grc_blks2.options( + modulation="$modulation", + fft_length=$fft_length, + occupied_tones=$occupied_tones, + cp_length=$cp_length, + snr=$snr, + log=None, + verbose=None, + ), + callback=lambda ok, payload: self.$(id).recv_pkt(ok, payload), + ), +)</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>Modulation</name> + <key>modulation</key> + <type>enum</type> + <option> + <name>BPSK</name> + <key>bpsk</key> + </option> + <option> + <name>QPSK</name> + <key>qpsk</key> + </option> + <option> + <name>8PSK</name> + <key>8psk</key> + </option> + <option> + <name>QAM8</name> + <key>qam8</key> + </option> + <option> + <name>QAM16</name> + <key>qam16</key> + </option> + <option> + <name>QAM64</name> + <key>qam64</key> + </option> + <option> + <name>QAM256</name> + <key>qam256</key> + </option> + </param> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <value>512</value> + <type>int</type> + </param> + <param> + <name>Occupied Tones</name> + <key>occupied_tones</key> + <value>200</value> + <type>int</type> + </param> + <param> + <name>Cyclic Prefix Length</name> + <key>cp_length</key> + <value>128</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> + </source> + <doc>Payload Length: 0 for automatic.</doc> +</block> diff --git a/gr-digital/grc/digital_ofdm_frame_acquisition.xml b/gr-digital/grc/digital_ofdm_frame_acquisition.xml new file mode 100644 index 000000000..2545f18e6 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_frame_acquisition.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Frame Acquisition +################################################### + --> +<block> + <name>OFDM Frame Acquisition</name> + <key>digital_ofdm_frame_acquisition</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_frame_acquisition($occupied_carriers, $fft_length, $cplen, $known_symbol, $max_fft_shift_len)</make> + <param> + <name>Occupied Carriers</name> + <key>occupied_carriers</key> + <type>int</type> + </param> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <type>int</type> + </param> + <param> + <name>CP Length</name> + <key>cplen</key> + <type>int</type> + </param> + <param> + <name>Preamble</name> + <key>known_symbol</key> + <type>complex_vector</type> + </param> + <param> + <name>Max FFT Shift</name> + <key>max_fft_shift_len</key> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + <vlen>$fft_length</vlen> + </sink> + <sink> + <name>flag</name> + <type>byte</type> + <vlen>$fft_length</vlen> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>$occupied_carriers</vlen> + </source> + <source> + <name>flag</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_insert_preamble.xml b/gr-digital/grc/digital_ofdm_insert_preamble.xml new file mode 100644 index 000000000..33a93058f --- /dev/null +++ b/gr-digital/grc/digital_ofdm_insert_preamble.xml @@ -0,0 +1,57 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Insert Preamble +################################################### + --> +<block> + <name>OFDM Insert Preamble</name> + <key>digital_ofdm_insert_preamble</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_insert_preamble($fft_length, $preamble)</make> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <type>int</type> + </param> + <param> + <name>Preamble</name> + <key>preamble</key> + <type>raw</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + <vlen>$fft_length</vlen> + </sink> + <sink> + <name>flag</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>$fft_length</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_mod.xml b/gr-digital/grc/digital_ofdm_mod.xml new file mode 100644 index 000000000..24cb2aa33 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_mod.xml @@ -0,0 +1,156 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Mod +################################################### + --> +<block> + <name>OFDM Mod</name> + <key>digital_ofdm_mod</key> + <import>from grc_gnuradio import blks2 as grc_blks2</import> + <import>from gnuradio import digital</import> + <make>grc_blks2.packet_mod_$(type.fcn)(digital.ofdm_mod( + options=grc_blks2.options( + modulation="$modulation", + fft_length=$fft_length, + occupied_tones=$occupied_tones, + cp_length=$cp_length, + pad_for_usrp=$pad_for_usrp, + log=None, + verbose=None, + ), + ), + payload_length=$payload_length, +)</make> + <param> + <name>Input 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>Modulation</name> + <key>modulation</key> + <type>enum</type> + <option> + <name>BPSK</name> + <key>bpsk</key> + </option> + <option> + <name>QPSK</name> + <key>qpsk</key> + </option> + <option> + <name>8PSK</name> + <key>8psk</key> + </option> + <option> + <name>QAM8</name> + <key>qam8</key> + </option> + <option> + <name>QAM16</name> + <key>qam16</key> + </option> + <option> + <name>QAM64</name> + <key>qam64</key> + </option> + <option> + <name>QAM256</name> + <key>qam256</key> + </option> + </param> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <value>512</value> + <type>int</type> + </param> + <param> + <name>Occupied Tones</name> + <key>occupied_tones</key> + <value>200</value> + <type>int</type> + </param> + <param> + <name>Cyclic Prefix Length</name> + <key>cp_length</key> + <value>128</value> + <type>int</type> + </param> + <param> + <name>Pad for USRP</name> + <key>pad_for_usrp</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Payload Length</name> + <key>payload_length</key> + <value>0</value> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>$type</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> + <doc>Payload Length: 0 for automatic.</doc> +</block> diff --git a/gr-digital/grc/digital_ofdm_sampler.xml b/gr-digital/grc/digital_ofdm_sampler.xml new file mode 100644 index 000000000..f3d5c85f3 --- /dev/null +++ b/gr-digital/grc/digital_ofdm_sampler.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Sampler +################################################### + --> +<block> + <name>OFDM Sampler</name> + <key>digital_ofdm_sampler</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_sampler($fft_length, $symbol_length, $timeout)</make> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <type>int</type> + </param> + <param> + <name>Symbol Length</name> + <key>symbol_length</key> + <type>int</type> + </param> + <param> + <name>Timeout</name> + <key>timeout</key> + <value>1000</value> + <type>int</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <sink> + <name>flag</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + <vlen>$fft_length</vlen> + </source> + <source> + <name>flag</name> + <type>byte</type> + <vlen>$fft_length</vlen> + </source> +</block> diff --git a/gr-digital/grc/digital_ofdm_sync_pn.xml b/gr-digital/grc/digital_ofdm_sync_pn.xml new file mode 100644 index 000000000..7a05f394d --- /dev/null +++ b/gr-digital/grc/digital_ofdm_sync_pn.xml @@ -0,0 +1,61 @@ +<?xml version="1.0"?> +<!-- + Copyright 2011 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. +--> + +<!-- +################################################### +##OFDM Synchronizer - PN based +################################################### + --> +<block> + <name>OFDM Sync PN</name> + <key>digital_ofdm_sync_pn</key> + <import>from gnuradio import digital</import> + <make>digital.ofdm_sync_pn($fft_length, $cp_length, $logging)</make> + <param> + <name>FFT Length</name> + <key>fft_length</key> + <type>int</type> + </param> + <param> + <name>CP Length</name> + <key>cp_length</key> + <type>int</type> + </param> + <param> + <name>Logging</name> + <key>logging</key> + <value>False</value> + <type>bool</type> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>fine freq</name> + <type>float</type> + </source> + <source> + <name>timing sig</name> + <type>byte</type> + </source> +</block> diff --git a/gr-digital/grc/digital_psk_demod.xml b/gr-digital/grc/digital_psk_demod.xml new file mode 100644 index 000000000..b2628ac88 --- /dev/null +++ b/gr-digital/grc/digital_psk_demod.xml @@ -0,0 +1,158 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +##PSK Demod +################################################### + --> +<block> + <name>PSK Demod</name> + <key>digital_psk_demod</key> + <import>from gnuradio import digital</import> + <make>digital.psk.psk_demod( + constellation_points=$constellation_points, + mod_code=$mod_code, + differential=$differential, + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + freq_alpha=$freq_alpha, + timing_alpha=$timing_alpha, + timing_max_dev=$timing_max_dev, + phase_alpha=$phase_alpha, + verbose=$verbose, + log=$log, + )</make> + <param> + <name>Number of Constellation Points</name> + <key>constellation_points</key> + <value>8</value> + <type>int</type> + </param> + <param> + <name>Gray Code</name> + <key>mod_code</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>gray</key> + </option> + <option> + <name>No</name> + <key>none</key> + </option> + </param> + <param> + <name>Differential Encoding</name> + <key>differential</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Frequency Alpha</name> + <key>freq_alpha</key> + <value>0.01</value> + <type>real</type> + </param> + <param> + <name>Timing Alpha</name> + <key>timing_alpha</key> + <value>0.100</value> + <type>real</type> + </param> + <param> + <name>Timing Max Dev</name> + <key>timing_max_dev</key> + <value>1.5</value> + <type>real</type> + </param> + <param> + <name>Phase Alpha</name> + <key>phase_alpha</key> + <value>0.1</value> + <type>real</type> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> + <source> + <name>sync</name> + <type>complex</type> + <optional>1</optional> + </source> +</block> diff --git a/gr-digital/grc/digital_psk_mod.xml b/gr-digital/grc/digital_psk_mod.xml new file mode 100644 index 000000000..cafcf4e50 --- /dev/null +++ b/gr-digital/grc/digital_psk_mod.xml @@ -0,0 +1,125 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +##PSK Mod +################################################### + --> +<block> + <name>PSK Mod</name> + <key>digital_psk_mod</key> + <import>from gnuradio import digital</import> + <make>digital.psk.psk_mod( + constellation_points=$constellation_points, + mod_code=$mod_code, + differential=$differential, + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + verbose=$verbose, + log=$log, + )</make> + <param> + <name>Number of Constellation Points</name> + <key>constellation_points</key> + <value>8</value> + <type>int</type> + </param> + <param> + <name>Gray Code</name> + <key>mod_code</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>"gray"</key> + </option> + <option> + <name>No</name> + <key>"none"</key> + </option> + </param> + <param> + <name>Differential Encoding</name> + <key>differential</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> diff --git a/gr-digital/grc/digital_qam_demod.xml b/gr-digital/grc/digital_qam_demod.xml new file mode 100644 index 000000000..88b20293e --- /dev/null +++ b/gr-digital/grc/digital_qam_demod.xml @@ -0,0 +1,158 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +##QAM Demod +################################################### + --> +<block> + <name>QAM Demod</name> + <key>digital_qam_demod</key> + <import>from gnuradio import digital</import> + <make>digital.qam.qam_demod( + constellation_points=$constellation_points, + mod_code=$mod_code, + differential=$differential, + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + freq_alpha=$freq_alpha, + timing_alpha=$timing_alpha, + timing_max_dev=$timing_max_dev, + phase_alpha=$phase_alpha, + verbose=$verbose, + log=$log, + )</make> + <param> + <name>Number of Constellation Points</name> + <key>constellation_points</key> + <value>16</value> + <type>int</type> + </param> + <param> + <name>Gray Code</name> + <key>mod_code</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>gray</key> + </option> + <option> + <name>No</name> + <key>none</key> + </option> + </param> + <param> + <name>Differential Encoding</name> + <key>differential</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Frequency Alpha</name> + <key>freq_alpha</key> + <value>0.01</value> + <type>real</type> + </param> + <param> + <name>Timing Alpha</name> + <key>timing_alpha</key> + <value>0.100</value> + <type>real</type> + </param> + <param> + <name>Timing Max Dev</name> + <key>timing_max_dev</key> + <value>1.5</value> + <type>real</type> + </param> + <param> + <name>Phase Alpha</name> + <key>phase_alpha</key> + <value>0.1</value> + <type>real</type> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>complex</type> + </sink> + <source> + <name>out</name> + <type>byte</type> + </source> + <source> + <name>sync</name> + <type>complex</type> + <optional>1</optional> + </source> +</block> diff --git a/gr-digital/grc/digital_qam_mod.xml b/gr-digital/grc/digital_qam_mod.xml new file mode 100644 index 000000000..4d73d9a68 --- /dev/null +++ b/gr-digital/grc/digital_qam_mod.xml @@ -0,0 +1,125 @@ +<?xml version="1.0"?> + +<!-- + Copyright 2009,2010,2011 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. +--> + +<!-- +################################################### +##QAM Mod +################################################### + --> +<block> + <name>QAM Mod</name> + <key>digital_qam_mod</key> + <import>from gnuradio import digital</import> + <make>digital.qam.qam_mod( + constellation_points=$constellation_points, + mod_code=$mod_code, + differential=$differential, + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + verbose=$verbose, + log=$log, + )</make> + <param> + <name>Number of Constellation Points</name> + <key>constellation_points</key> + <value>16</value> + <type>int</type> + </param> + <param> + <name>Gray Code</name> + <key>mod_code</key> + <type>enum</type> + <option> + <name>Yes</name> + <key>"gray"</key> + </option> + <option> + <name>No</name> + <key>"none"</key> + </option> + </param> + <param> + <name>Differential Encoding</name> + <key>differential</key> + <value>True</value> + <type>bool</type> + <option> + <name>Yes</name> + <key>True</key> + </option> + <option> + <name>No</name> + <key>False</key> + </option> + </param> + <param> + <name>Samples/Symbol</name> + <key>samples_per_symbol</key> + <value>2</value> + <type>int</type> + </param> + <param> + <name>Excess BW</name> + <key>excess_bw</key> + <value>0.35</value> + <type>real</type> + </param> + <param> + <name>Verbose</name> + <key>verbose</key> + <value>False</value> + <type>bool</type> + <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <param> + <name>Logging</name> + <key>log</key> + <value>False</value> + <type>bool</type> + <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> + <option> + <name>On</name> + <key>True</key> + </option> + <option> + <name>Off</name> + <key>False</key> + </option> + </param> + <sink> + <name>in</name> + <type>byte</type> + </sink> + <source> + <name>out</name> + <type>complex</type> + </source> +</block> |