discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Error in "Constellation Decoder" block


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Error in "Constellation Decoder" block
Date: Thu, 6 Mar 2014 10:54:08 -0500

On Wed, Mar 5, 2014 at 8:59 AM, Azza Ben Mosbah
<address@hidden> wrote:
> Tom,
>
>
> Thank you for the help. But, even that didn't work.
>
> I tried a different approach. I configured the "Constellation Object" block
> with the symbol map and the constellation points. Then, I called it in the
> argument of the "Constellation Decoder" block. And it worked.
>
> I am still wondering what is the right way to define a
> 'digital_constellation_sptr' type in the "Constellation Decoder" argument
> without passing by the "Constellation Object" block.
>
>
> Regards,
> Azza

Yes, that Constellation Object in GRC returns the .base()
automatically for you so that you can pass it to the Constellation
Decode/Receiver blocks easily.

You really should be able to use the .base() method of those
constellation blocks this way. Are you in GRC doing this or doing your
own Python? There could be some issues with GRC properly interpreting
your casting using base() (which is likely related to why the
Constellation Objects just return the.base() method for you).

Tom



> On Tue, Mar 4, 2014 at 5:16 PM, Tom Rondeau <address@hidden> wrote:
>>
>> On Tue, Mar 4, 2014 at 4:17 PM, Azza Ben Mosbah
>> <address@hidden> wrote:
>> > Hi All,
>> >
>> > I am manipulating GNU Radio Companion.
>> > While using the "Constellation Decoder" block, I have put
>> > digital.constellation_qpsk as a "Constellation Object" argument. But, I
>> > have
>> > found an error when I have executed the flow graph:
>> >
>> > Traceback (most recent call last):
>> >   File "/users/anb10/metrics/error_rate.py", line 342, in <module>
>> >     tb = error_rate()
>> >   File "/users/anb10/metrics/error_rate.py", line 225, in __init__
>> >     self.digital_constellation_decoder_cb_0 =
>> > digital.constellation_decoder_cb(digital.constellation_qpsk)
>> >   File
>> > "/usr/lib64/python2.6/site-packages/gnuradio/digital/digital_swig.py",
>> > line
>> > 3096, in constellation_decoder_cb
>> >     return _digital_swig.constellation_decoder_cb(*args, **kwargs)
>> > TypeError: in method 'constellation_decoder_cb', argument 1 of type
>> > 'digital_constellation_sptr'
>> >
>> > I don't know what went wrong. I have even tried
>> > digital.psk.psk_constellation(m=4,mod_code='gray'),
>> > digital.constellation_8psk and
>> > digital.psk.psk_constellation(m=8,mod_code='gray') as a "Constellation
>> > Object" argument.
>> >
>> > So, what is the proper way to define the argument (Constellation Object)
>> > in
>> > the "Constellation Decoder" block?
>> >
>> > I hope you can give me some ideas. Any help is appreciated. Thank you.
>> >
>> > Regards,
>> > Azza
>>
>> Azza,
>>
>> Check out the documentation page:
>>
>> http://gnuradio.org/doc/doxygen/classgr_1_1digital_1_1constellation__decoder__cb.html
>>
>> It's not entirely clear (unless you know to look for it). You want to
>> pass the constellation object using the base() parameter to get to the
>> parent class.  Basically, you'd call it:
>>
>> digital.constellation_decoder_cb(digital.constellation_qpsk.base())
>>
>> Tom
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]