Forum: GNU Radio About setting the GRC block properties.

Fd1f8185374d1d555ff52c5b7995e695?d=identicon&s=25 Kevin (Guest)
on 2013-09-17 21:52
(Received via mailing list)
Hello,

According to the website, http://gnuradio.org/doc/doxygen/page_ofdm.html
I would like to realize the transmit part.
However, when I tried to execute it, there is error on "
ofdm_carrier_allocator<http://gnuradio.org/doc/doxygen/classgr_1_1digital...
"

-------------------------------------------------------------------------------------------------------------------------------

Using Volk machine: sse4_1_64_orc

Traceback (most recent call last):

 File "/home/TX-test/top_block.py", line 106, in <module>

   tb = top_block()

 File "/home/TX-test/top_block.py", line 59, in __init__

   self.digital_ofdm_carrier_allocator_cvc_1 =
digital.ofdm_carrier_allocator_cvc(fft_len, (-30,-29,-28, -27, -26, -25,
-24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11,
-10,
-9, -8 , -7, -6, -5, -4, -3, -2, -1,1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12,
13, 14, 15, 16, 17, 18, 19, 20, 21,22,23,24,25,26,27,28,29,
30,31),(-30,-29,-28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18,
-17,
-16, -15, -14, -13, -12, -11, -10, -9, -8 , -7, -6, -5, -4, -3, -2,
-1,1,2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21,22,23,24,25,26,27,28,29, 30,31), ((-31),(-31)), ((1),(1j)), (0,0),
"packet_len")

 File
"/usr/local/lib/python2.7/dist-packages/gnuradio/digital/digital_swig.py",
line 4268, in make

   return _digital_swig.ofdm_carrier_allocator_cvc_make(*args, **kwargs)

TypeError: in method 'ofdm_carrier_allocator_cvc_make', argument 2 of
type
'std::vector< std::vector< int,std::allocator< int > >,std::allocator<
std::vector< int,std::allocator< int > > > > const &'
------------------------------------------------------------------------------------------------------

I think I set something wrong on this block, is there any place which
contain all the documentation about how to set the parameters?

also, I am confused on the "Virtual source" block, it shows "pre-ofdm"
how can I create and make this?
Should I generate the "random source", make "ofdm Mod", and create the"
virtual sink called pre-ofdm"?

Thanks

Kevin
Ad80d352eb445a3d7dccd5a779db0e43?d=identicon&s=25 Martin Braun (CEL) (Guest)
on 2013-09-19 07:40
(Received via mailing list)
On Tue, Sep 17, 2013 at 02:50:33PM -0500, Kevin wrote:
>    self.digital_ofdm_carrier_allocator_cvc_1 =
> digital.ofdm_carrier_allocator_cvc(fft_len, (-30,-29,-28, -27, -26, -25, -24,
> -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8 ,
> -7, -6, -5, -4, -3, -2, -1,1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
> 16, 17, 18, 19, 20, 21,22,23,24,25,26,27,28,29, 30,31),(-30,-29,-28, -27, -26,
> -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10,
> -9, -8 , -7, -6, -5, -4, -3, -2, -1,1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> 14, 15, 16, 17, 18, 19, 20, 21,22,23,24,25,26,27,28,29, 30,31), ((-31),(-31)),
> ((1),(1j)), (0,0), "packet_len")

I think you just need brackets around the carrier allocation table.
Also, use Python's range() to make stuff more readable.

> all the documentation about how to set the parameters?
Yeah, of course: http://gnuradio.org/doc/doxygen/group__ofdm__blk.html
It's in the manual.

> also, I am confused on the "Virtual source" block, it shows "pre-ofdm"
>
> how can I create and make this? 

This is unclear. Perhaps you can explain what you're trying to do?

MB

--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
Fd1f8185374d1d555ff52c5b7995e695?d=identicon&s=25 Kevin (Guest)
on 2013-09-20 20:47
(Received via mailing list)
Thanks for reply,

Because in this site, http://gnuradio.org/doc/doxygen/page_ofdm.html
The figure in transmitting part,
http://gnuradio.org/doc/doxygen/ofdm_tx_core.png
"Virtual source" block shows "pre-ofdm", which means I need to create
some
blocks like "Virtual sink" labeled "pre-ofdm" before this?
if yes, I am thinking to create the blocks like

     "Random Source -> OFDM Mod -> Virtual sink"

I am not sure if

    "OFDM carrier allocator, FFT, and OFDM cyclic prefixer" are doing
the
same thing with "OFDM Mod"

Or should I change the

    "OFDM Mod" block into like "PSK Mod"?

And about the error,
You were saying

    "I think you just need brackets around the carrier allocation table.
    Also, use Python's range() to make stuff more readable."

Can you explain it more specifically?
bracket at which section?
"python's range()" I have no idea what this is?


Thanks

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Using Volk machine: sse4_1_64_orc

Traceback (most recent call last):

 File "/home/TX-test/top_block.py", line 106, in <module>

   tb = top_block()

 File "/home/TX-test/top_block.py", line 59, in __init__

   self.digital_ofdm_carrier_allocator_cvc_1 =
digital.ofdm_carrier_allocator_cvc(fft_len, (-30,-29,-28, -27, -26, -25,
-24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11,
-10,
-9, -8 , -7, -6, -5, -4, -3, -2, -1,1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12,
13, 14, 15, 16, 17, 18, 19, 20, 21,22,23,24,25,26,27,28,29,
30,31),(-30,-29,-28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18,
-17,
-16, -15, -14, -13, -12, -11, -10, -9, -8 , -7, -6, -5, -4, -3, -2,
-1,1,2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21,22,23,24,25,26,27,28,29, 30,31), ((-31),(-31)), ((1),(1j)), (0,0),
"packet_len")

 File
"/usr/local/lib/python2.7/dist-packages/gnuradio/digital/digital_swig.py",
line 4268, in make

   return _digital_swig.ofdm_carrier_allocator_cvc_make(*args, **kwargs)

TypeError: in method 'ofdm_carrier_allocator_cvc_make', argument 2 of
type
'std::vector< std::vector< int,std::allocator< int > >,std::allocator<
std::vector< int,std::allocator< int > > > > const &'
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



On Thu, Sep 19, 2013 at 12:21 AM, Martin Braun (CEL)
Ad80d352eb445a3d7dccd5a779db0e43?d=identicon&s=25 Martin Braun (CEL) (Guest)
on 2013-09-21 01:10
(Received via mailing list)
On Fri, Sep 20, 2013 at 01:45:46PM -0500, Kevin wrote:
> "Virtual source" block shows "pre-ofdm", which means I need to create some
> blocks like "Virtual sink" labeled "pre-ofdm" before this?

Don't worry about these blocks, they are just to make the Figures look
complete (or rather, to label the inputs).

>     "I think you just need brackets around the carrier allocation table.
>     Also, use Python's range() to make stuff more readable."
>
>
> Can you explain it more specifically?  
>
> bracket at which section?  

You need more (). The carrier tables are vectors of vectors ((...),
...).
>
> "python's range()" I have no idea what this is? 

Look up the range() function in Python.

MB

--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
Fd1f8185374d1d555ff52c5b7995e695?d=identicon&s=25 Kevin (Guest)
on 2013-09-25 18:06
(Received via mailing list)
Morning,

Sorry for taking so long to reply.

I have one question,
the block, "OFDM Mod"   <----->      and these three, "OFDM Carrier
Allocator, FFT, OFDM Cyclic Prefixer",
shown on the website, http://gnuradio.org/doc/doxygen/ofdm_tx_core.png

Are they doing the same thing?

Thanks






---------- Forwarded message ----------
From: Martin Braun (CEL) <martin.braun@kit.edu>
Date: Fri, Sep 20, 2013 at 6:08 PM
Subject: Re: [Discuss-gnuradio] About setting the GRC block properties.
To: GNURadio Discussion List <discuss-gnuradio@gnu.org>


On Fri, Sep 20, 2013 at 01:45:46PM -0500, Kevin wrote:
> "Virtual source" block shows "pre-ofdm", which means I need to create some
> blocks like "Virtual sink" labeled "pre-ofdm" before this?

Don't worry about these blocks, they are just to make the Figures look
complete (or rather, to label the inputs).

>     "I think you just need brackets around the carrier allocation table.
>     Also, use Python's range() to make stuff more readable."
>
>
> Can you explain it more specifically?
>
> bracket at which section?

You need more (). The carrier tables are vectors of vectors ((...),
...).
>
> "python's range()" I have no idea what this is?

Look up the range() function in Python.

MB

--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstrae 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Wrttemberg and
National Laboratory of the Helmholtz Association
7d89a70df32c0ae27c1235016f9e5441?d=identicon&s=25 "Marcus Müller" <marcus@hostalia.de> (Guest)
on 2013-09-25 18:47
(Received via mailing list)
Hi Kevin,

no, they are not the same.
In the ofdm mod XML file (gr-digital/grc/digital_ofdm_mod.xml), the make
element is:
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,
)

So, OFDM mod is basically a packet encoder, which internally is a
message queue based approach to managing packets.
This is nice, because internally digital.ofdm_mod has a send_pkt method
that encodes your message, enabling it to work asynchronously, it
generates a sync-friendly, preambling, data-encoding framework,
so it's a user-friendly data->symbols->preamble+symbols->ifft->cyclic
prefixer->normalizer hier block,
while ofdm_tx_core.png only shows the very basic princible of generating
OFDM signals in GNU Radio.

Hope I was of a little assistance,
Marcus
Fd1f8185374d1d555ff52c5b7995e695?d=identicon&s=25 Kevin (Guest)
on 2013-09-25 20:40
(Received via mailing list)
Thanks Marcus,

I am thinking to use "Random source" generating 010101......as source.
If I wanna modify the transmit diagram based on
http://gnuradio.org/doc/doxygen/ofdm_tx_core.pn<ht...
g
What would you suggest? Can you show me the block diagrams
for me to create the blocks before ofdm_rx_core.png, "Virtual source ->
OFDM Carrier Allocator -> FFT -> OFDM Cyclic Prefixer"
Am I right like creating "Random Source -> OFDM Mod -> Virtual sink"
Will it conflict between "OFDM Mod" and "Cyclic Prefixer"?
Or my thought is totally wrong!


Sincerely,
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.