Hello,

I am trying to implement OFDM on E310 using RFNoC. My software versions:

UHD: v3.14.0.0-rc1

gnuradio: 3.7.13.4

gr-ettus: master branch

FPGA: e57dfe0

I followed the FG in below that shown in GRCon15.

https://static1.squarespace.com/static/543ae9afe4b0c3b808d72acd/t/55f85aaee4b02e1b84d8ff51/1442339502956/7-pendlum_johathan-OFDM_RFNoC-2015-08-27.pdf

But FPGA of E310 is small so i just can place 3 RFNoC blocks in it. I thought using some blocks from RFNoC and others from GNURadio.

Q1. Can you suggest a way to implement OFDM in E310? (Because i could not find a OFDM implementation that includes both RFNoC and gnuradio blocks. There is a example in gr-ettus which is rfnoc_ofdm, but its OFDM receiver is also done with full of RFNoC blocks.)

Q2. For example, i can compile FPGA image using eq, schmidl_cox and constellation_demap blocks. ( FFT dont fit) So i thought using FFT from gnuradio. I created a FG which includes;

RFNoC: Radio --> RFNoC: OFDM Sync --> FFT --> RFNoC: OFDM Eq --> RFNoC: OFDM constellation demap --> File Sink

When i run this it gives that error;

root@ettus-e3xx-sg3:~# ./rfnoc_ofdm_test.py
[INFO] [UHD] linux; GNU C++ version 4.9.2; Boost_105700; UHD_3.14.0.HEAD-0-gc7941e05 [INFO] [E300] Loading FPGA image: /home/root/usrp_e310_eq_sch_const_RFNOC_sg3.bit...
[INFO] [E300] FPGA image loaded
[INFO] [E300] Initializing core control (global registers)...

[INFO] [E300] Performing register loopback test...
[INFO] [E300] Register loopback test passed
[INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000000)
[WARNING] [RFNOC] Can't find a block controller for key OFDMEq, using default block controller!
[INFO] [0/OFDMEq_0] Initializing block control (NOC ID: 0xFF42000000000000)
[WARNING] [RFNOC] Can't find a block controller for key OFDMDemap, using default block controller! [INFO] [0/OFDMDemap_0] Initializing block control (NOC ID: 0x0FCD000000000000) [WARNING] [RFNOC] Can't find a block controller for key SchmidlCox, using default block controller! [INFO] [0/SchmidlCox_0] Initializing block control (NOC ID: 0x5CC0000000000000)
Traceback (most recent call last):
  File "./rfnoc_ofdm_test.py", line 184, in <module>
    main()
  File "./rfnoc_ofdm_test.py", line 173, in main
    tb = top_block_cls()
  File "./rfnoc_ofdm_test.py", line 129, in __init__
    self.connect((self.uhd_rfnoc_ofdm_demap_0, 0), (self.blocks_file_sink_0, 0))   File "/home/root/localinstall/usr/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 47, in wrapped
    func(self, src, src_port, dst, dst_port)
  File "/home/root/localinstall/usr/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 110, in connect
    self.primitive_connect(*args)
  File "/home/root/localinstall/usr/lib/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 3482, in primitive_connect
    return _runtime_swig.top_block_sptr_primitive_connect(self, *args)
ValueError: itemsize mismatch: uhd_rfnoc_OFDMDemap0:0 using 8, file_sink0:0 using 64 [INFO] [E300] Loading FPGA image: /home/root/localinstall/usr/share/uhd/images/usrp_e3xx_fpga_idle_sg3.bit...
[INFO] [E300] FPGA image loaded

What is the problem in there?


Best regards.

Ramazan

<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.13'?>
<flow_graph>
  <timestamp>Fri Nov  7 10:40:33 2014</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>author</key>
      <value></value>
    </param>
    <param>
      <key>window_size</key>
      <value>1280, 1024</value>
    </param>
    <param>
      <key>category</key>
      <value>Custom</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>description</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 4)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>generate_options</key>
      <value>no_gui</value>
    </param>
    <param>
      <key>hier_block_src_path</key>
      <value>.:</value>
    </param>
    <param>
      <key>id</key>
      <value>rfnoc_ofdm_test</value>
    </param>
    <param>
      <key>max_nouts</key>
      <value>0</value>
    </param>
    <param>
      <key>qt_qss_theme</key>
      <value></value>
    </param>
    <param>
      <key>realtime_scheduling</key>
      <value></value>
    </param>
    <param>
      <key>run_command</key>
      <value>{python} -u {filename}</value>
    </param>
    <param>
      <key>run_options</key>
      <value>prompt</value>
    </param>
    <param>
      <key>run</key>
      <value>True</value>
    </param>
    <param>
      <key>sizing_mode</key>
      <value>fixed</value>
    </param>
    <param>
      <key>thread_safe_setters</key>
      <value></value>
    </param>
    <param>
      <key>title</key>
      <value></value>
    </param>
    <param>
      <key>placement</key>
      <value>(0,0)</value>
    </param>
  </block>
  <block>
    <key>variable_uhd_device3</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>dev_addr</key>
      <value>type=e3x0</value>
    </param>
    <param>
      <key>dev_args</key>
      <value>"fpga=/home/root/usrp_e310_eq_sch_const_RFNOC_sg3.bit"</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(200, 12)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>device3</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(104, 75)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>fft_len</value>
    </param>
    <param>
      <key>value</key>
      <value>64</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(176, 92)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>rx_freq</value>
    </param>
    <param>
      <key>value</key>
      <value>2150e6</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(272, 92)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>rx_gain</value>
    </param>
    <param>
      <key>value</key>
      <value>10</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 75)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>value</key>
      <value>1e6</value>
    </param>
  </block>
  <block>
    <key>blocks_file_sink</key>
    <param>
      <key>append</key>
      <value>False</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>file</key>
      <value>/home/root/ofdm_rx.bin</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(936, 452)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_file_sink_0</value>
    </param>
    <param>
      <key>type</key>
      <value>byte</value>
    </param>
    <param>
      <key>unbuffered</key>
      <value>False</value>
    </param>
    <param>
      <key>vlen</key>
      <value>fft_len</value>
    </param>
  </block>
  <block>
    <key>fft_vxx</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>fft_len</value>
    </param>
    <param>
      <key>forward</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(504, 228)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>fft_vxx_0_0</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>nthreads</key>
      <value>1</value>
    </param>
    <param>
      <key>shift</key>
      <value>True</value>
    </param>
    <param>
      <key>window</key>
      <value>()</value>
    </param>
  </block>
  <block>
    <key>uhd_rfnoc_ofdm_demap</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>block_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>64</value>
    </param>
    <param>
      <key>fpga_module_name</key>
      <value>noc_block_ofdmdemap</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(968, 252)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>uhd_rfnoc_ofdm_demap_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>mod_order</key>
      <value>4</value>
    </param>
    <param>
      <key>output_type</key>
      <value>0</value>
    </param>
    <param>
      <key>scaling</key>
      <value>1.4142135623730951/2.0</value>
    </param>
  </block>
  <block>
    <key>uhd_rfnoc_ofdm_eq</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>block_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>64</value>
    </param>
    <param>
      <key>fpga_module_name</key>
      <value>noc_block_ofdmequ</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(752, 268)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>uhd_rfnoc_ofdm_eq_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>uhd_rfnoc_ofdm_schmidlcox</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>block_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>cp_len</key>
      <value>16</value>
    </param>
    <param>
      <key>device_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>fft_size</key>
      <value>64</value>
    </param>
    <param>
      <key>fpga_module_name</key>
      <value>noc_block_schmidl_cox</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(288, 228)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>uhd_rfnoc_ofdm_schmidlcox_0</value>
    </param>
    <param>
      <key>max_num_symbols</key>
      <value>12</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>threshold</key>
      <value>0.9</value>
    </param>
    <param>
      <key>delay</key>
      <value>fft_len+fft_len/4</value>
    </param>
  </block>
  <block>
    <key>uhd_rfnoc_streamer_radio</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>rx_bandwidth0</key>
      <value>56e6</value>
    </param>
    <param>
      <key>ant0</key>
      <value>"RX2"</value>
    </param>
    <param>
      <key>freq0</key>
      <value>rx_freq</value>
    </param>
    <param>
      <key>dcenable0</key>
      <value>True</value>
    </param>
    <param>
      <key>gain0</key>
      <value>rx_gain</value>
    </param>
    <param>
      <key>lo_export0</key>
      <value>False</value>
    </param>
    <param>
      <key>lo_source0</key>
      <value>"internal"</value>
    </param>
    <param>
      <key>rx_bandwidth1</key>
      <value>56e6</value>
    </param>
    <param>
      <key>ant1</key>
      <value></value>
    </param>
    <param>
      <key>freq1</key>
      <value>1.982e9</value>
    </param>
    <param>
      <key>dcenable1</key>
      <value>True</value>
    </param>
    <param>
      <key>gain1</key>
      <value>20</value>
    </param>
    <param>
      <key>lo_export1</key>
      <value>False</value>
    </param>
    <param>
      <key>lo_source1</key>
      <value>"internal"</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>otw_format</key>
      <value>sc16</value>
    </param>
    <param>
      <key>device_index</key>
      <value>-1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>1</value>
    </param>
    <param>
      <key>grvlen</key>
      <value>fft_len</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 268)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>cpu_format</key>
      <value>fc32</value>
    </param>
    <param>
      <key>id</key>
      <value>uhd_rfnoc_streamer_radio_0</value>
    </param>
    <param>
      <key>source</key>
      <value>"internal"</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>direction</key>
      <value>rx</value>
    </param>
    <param>
      <key>num_channels</key>
      <value>1</value>
    </param>
    <param>
      <key>radio_index</key>
      <value>0</value>
    </param>
    <param>
      <key>rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>hide_lo_controls</key>
      <value>True</value>
    </param>
    <param>
      <key>stream_args</key>
      <value></value>
    </param>
  </block>
  <connection>
    <source_block_id>fft_vxx_0_0</source_block_id>
    <sink_block_id>uhd_rfnoc_ofdm_eq_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>uhd_rfnoc_ofdm_demap_0</source_block_id>
    <sink_block_id>blocks_file_sink_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>uhd_rfnoc_ofdm_eq_0</source_block_id>
    <sink_block_id>uhd_rfnoc_ofdm_demap_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>uhd_rfnoc_ofdm_schmidlcox_0</source_block_id>
    <sink_block_id>fft_vxx_0_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>uhd_rfnoc_streamer_radio_0</source_block_id>
    <sink_block_id>uhd_rfnoc_ofdm_schmidlcox_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
</flow_graph>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to