summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau2011-10-17 20:16:33 -0700
committerTom Rondeau2011-10-17 20:16:33 -0700
commit6fcf521394ed256f4e75d52e986e63e38f2ec56b (patch)
treea2045f09cd92989090ea3f2bf5c79b67bb581e1b
parent58f6261298a2f7dbf4c798f2dbaac0022f3f89ba (diff)
downloadgnuradio-6fcf521394ed256f4e75d52e986e63e38f2ec56b.tar.gz
gnuradio-6fcf521394ed256f4e75d52e986e63e38f2ec56b.tar.bz2
gnuradio-6fcf521394ed256f4e75d52e986e63e38f2ec56b.zip
digital: adding OFDM GRC blocks to gr-digital.
-rw-r--r--gr-digital/grc/Makefile.am9
-rw-r--r--gr-digital/grc/digital_block_tree.xml10
-rw-r--r--gr-digital/grc/digital_ofdm_cyclic_prefixer.xml52
-rw-r--r--gr-digital/grc/digital_ofdm_demod.xml (renamed from grc/blocks/blks2_ofdm_demod.xml)27
-rw-r--r--gr-digital/grc/digital_ofdm_frame_acquisition.xml77
-rw-r--r--gr-digital/grc/digital_ofdm_insert_preamble.xml57
-rw-r--r--gr-digital/grc/digital_ofdm_mod.xml (renamed from grc/blocks/blks2_ofdm_mod.xml)27
-rw-r--r--gr-digital/grc/digital_ofdm_sampler.xml67
-rw-r--r--gr-digital/grc/digital_ofdm_sync_pn.xml61
-rw-r--r--grc/blocks/Makefile.am2
-rw-r--r--grc/blocks/block_tree.xml3
11 files changed, 380 insertions, 12 deletions
diff --git a/gr-digital/grc/Makefile.am b/gr-digital/grc/Makefile.am
index e4426e721..ef4e38600 100644
--- a/gr-digital/grc/Makefile.am
+++ b/gr-digital/grc/Makefile.am
@@ -40,4 +40,11 @@ dist_grcblocks_DATA = \
digital_psk_mod.xml \
digital_psk_demod.xml \
digital_qam_mod.xml \
- digital_qam_demod.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_block_tree.xml b/gr-digital/grc/digital_block_tree.xml
index 088fe1c10..816df7f45 100644
--- a/gr-digital/grc/digital_block_tree.xml
+++ b/gr-digital/grc/digital_block_tree.xml
@@ -50,4 +50,14 @@
<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_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/grc/blocks/blks2_ofdm_demod.xml b/gr-digital/grc/digital_ofdm_demod.xml
index ac5ee4795..9f3a83715 100644
--- a/grc/blocks/blks2_ofdm_demod.xml
+++ b/gr-digital/grc/digital_ofdm_demod.xml
@@ -1,15 +1,36 @@
<?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>blks2_ofdm_demod</key>
+ <key>digital_ofdm_demod</key>
<import>from grc_gnuradio import blks2 as grc_blks2</import>
- <import>from gnuradio import blks2</import>
- <make>grc_blks2.packet_demod_$(type.fcn)(blks2.ofdm_demod(
+ <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,
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/grc/blocks/blks2_ofdm_mod.xml b/gr-digital/grc/digital_ofdm_mod.xml
index 2c54d10f4..24cb2aa33 100644
--- a/grc/blocks/blks2_ofdm_mod.xml
+++ b/gr-digital/grc/digital_ofdm_mod.xml
@@ -1,15 +1,36 @@
<?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>blks2_ofdm_mod</key>
+ <key>digital_ofdm_mod</key>
<import>from grc_gnuradio import blks2 as grc_blks2</import>
- <import>from gnuradio import blks2</import>
- <make>grc_blks2.packet_mod_$(type.fcn)(blks2.ofdm_mod(
+ <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,
diff --git a/gr-digital/grc/digital_ofdm_sampler.xml b/gr-digital/grc/digital_ofdm_sampler.xml
new file mode 100644
index 000000000..1be0d11f3
--- /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>
+ <type>int</type>
+ <value>1000</value>
+ </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..ac0bbfe88
--- /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>
+ <type>bool</type>
+ <value>False</value>
+ </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/grc/blocks/Makefile.am b/grc/blocks/Makefile.am
index 9813154bd..5fff38f1f 100644
--- a/grc/blocks/Makefile.am
+++ b/grc/blocks/Makefile.am
@@ -39,8 +39,6 @@ dist_ourdata_DATA = \
blks2_logpwrfft_x.xml \
blks2_nbfm_rx.xml \
blks2_nbfm_tx.xml \
- blks2_ofdm_demod.xml \
- blks2_ofdm_mod.xml \
blks2_packet_decoder.xml \
blks2_packet_encoder.xml \
blks2_pfb_arb_resampler.xml \
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index ea7d744d4..a7a90c4ac 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -215,9 +215,6 @@
<block>blks2_qamx_mod</block>
<block>blks2_qamx_demod</block>
-
- <block>blks2_ofdm_mod</block>
- <block>blks2_ofdm_demod</block>
</cat>
<cat>
<name>Error Correction</name>