Forum: GNU Radio Using OFDM

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Jérémy Skelton (Guest)
on 2008-12-10 02:05
(Received via mailing list)

I was trying to use OFDM from gnuradio. I made my own .xml to handle
it in GRC and it is designed to make a call like this :
  self.blks2_ofdm_mod_0 = blks2.ofdm_mod(
    options=my_utils.make_ofdm_options(mod="qpsk", fft=512, cp=128,
tones=200, verbose=True, log=False),
where make_ofdm_options() builds a namedtuple object containing the

I only obtain this error and I really don't know what I made wrong.

OFDM Modulator:
Modulation Type: qpsk
FFT length:      512
Occupied Tones:  200
CP length:       128
 >>> gr_fir_ccf: using SSE
 >>> gr_fir_ccc: using SSE
Traceback (most recent call last):
   File "./", line 120, in <module>
     tb = ofdm_full()
   File "./", line 84, in __init__
     self.connect((self.gr_file_source_0, 0), (self.blks2_ofdm_mod_0,
   File "/usr/local/lib/python2.5/site-packages/gnuradio/gr/", line 99, in connect
     self._connect(points[i-1], points[i])
   File "/usr/local/lib/python2.5/site-packages/gnuradio/gr/", line 105, in _connect
     dst_block.basic_block(), dst_port)
   File "/usr/local/lib/python2.5/site-packages/gnuradio/gr/", line 1469, in connect
     return _gnuradio_swig_py_runtime.gr_top_block_sptr_connect(*args)
ValueError: port number 0 exceeds max of (none)

Any idea ?

Josh B. (Guest)
on 2008-12-10 18:48
(Received via mailing list)
My guess is that the ofdm mod has 1 output port, but no input ports.
That is why you get the error for port number 0 exceeds... The input to
the ofdm modulator is actually a python function called send_packet (or
something similar).

The blks2 pkt mod and demod blocks have the same "issue". To use them in
GRC, i basically made custom blocks that have actual inputs and outputs.
Between the inputs and outputs is a thread that reads the input, calls
the packet framer or correlator function, and writes to output.

I was planning to do a similar custom wrapper for ofdm blocks in GRC,
whenever their api stabilizes... has it?

Should the input and output of gnuradio blocks be python functions?
Probably not. Is this were mblocks have a use? Maybe.

This topic is locked and can not be replied to.