I am trying to build a new signal processing block on the same lines as the existing block "gr_ofdm_mapper_bcv.cc" in "blks2impl" in an attempt to implement NC-OFDM. To start with, I just want it to take an additional parameter (std::string carrier_mask) through command line in options. To do this I made another class "gr_nc_ofdm_mapper_bcv.cc" with the additional parameter in its constructor. I added the corresponding .h and .i files to the folder and made entries in Makefile.am. make and make install succeed with no errors or warnings. When I run my script I get the following error:
address@hidden:~/GNU/gnuradio/gnuradio-examples/python/ofdm_srini$ ./nc_ofdm_tx.py -f 2.45G -i 64 --fft-length=512 --occupied-tones=100 -m bpsk --cp-length=32 --tx-gain=10 --tx-amplitude 0.9 --carrier-mask 3FFFFF0F0F0FE7F0F0F0FFFFFC -v
nc_ofdm: carrier_mask = 3FFFFF0F0F0FE7F0F0F0FFFFFC
Traceback (most recent call last):
File "./nc_ofdm_tx.py", line 147, in <module>
main()
File "./nc_ofdm_tx.py", line 109, in main
tb = my_top_block(options)
File "./nc_ofdm_tx.py", line 43, in __init__
self.txpath = usrp_transmit_path.usrp_transmit_path(options)
File "/home/winuser/GNU/gnuradio/gnuradio-examples/python/ofdm_srini/usrp_transmit_path.py", line 62, in __init__
tx_path = transmit_path.transmit_path(options)
File "/home/winuser/GNU/gnuradio/gnuradio-examples/python/ofdm_srini/transmit_path.py", line 51, in __init__
self.ofdm_tx = nc_ofdm.nc_ofdm_mod(options, msgq_limit=4, pad_for_usrp=False)
File "/home/winuser/GNU/gnuradio/gnuradio-examples/python/ofdm_srini/nc_ofdm.py", line 100, in __init__
self._pkt_input = gr.nc_ofdm_mapper_bcv(rotated_const, msgq_limit,
AttributeError: 'module' object has no attribute 'nc_ofdm_mapper_bcv'
I have been reffering to the "howto_square_ff.cc" example. It looks like my C++ block is not getting recognized by the python script at all. I tried to modify the existing class "gr_ofdm_mapper_bcv.cc" to take the additional parameter, but then I get a different error viz: "illegal instruction". I am not sure what I am missing ??
(P.S. attached tar file contains all the new files added.)
--
Srinivas,
WINLAB, Rutgers University
New Jersey