Ok, so shall I do like this :
In the file /gnuradio/gr-digital/include/gnuradio/digital/constellations.h
under public section I declare my function as follows
*class DIGITAL_API constellation*
* : public boost::enable_shared_from_this<constellation>*
* {*
* public:*
*float decision_maker_soft(const gr_complex *sample) = 0;*
*}*
and In the file /gnuradio/gr-digital/lib/constellations.cc I add this
* float*
* constellation_bpsk::decision_maker_soft(const gr_complex *sample)*
* {*
* return (-4*real(*sample)); // LLR for BPSK*
* }*
After this I recompile gnuradio and then recompile gr-ieee-80211.. right ?
On 19 January 2018 at 14:51, Michael Dickens <[email protected]>
wrote:
> The GR constellation programming uses a base class that defines the API
> that will be SWIG-ified back into Python. So the base class must contain
> your "*decision_maker_soft" *method. Then you overload it for any
> inheriting class such as "constellation_bpsk". Hope this helps! - MLD
>
> On Fri, Jan 19, 2018, at 8:43 AM, sumit kumar wrote:
>
> Actually I have to test it in a interference limited environment, I guess
> the soft demodulate will be needed. I saw your blog post about how you
> cleverly used your won constellations https://www.bas
> tibl.net/constellation-objects/
>
> However when I try doing something like that, I get errors.
>
> For example, I defined my own function decision_maker_soft inside
> constellations_impl.h as follows
>
> class constellation_bpsk_impl : public constellation_bpsk
> {
> public:
> constellation_bpsk_impl();
> ~constellation_bpsk_impl();
>
> unsigned int decision_maker(const gr_complex *sample);
> *float decision_maker_soft(const gr_complex *sample);*
> };
>
> and then defined it in constellation_impl.cc as
>
> float
> constellation_bpsk_impl::decision_maker_soft(const gr_complex *sample) {
> return (-4*real(*sample));
> }
>
> But when I call my function like this
>
> mod->decision_maker_soft from ls.cc (least square equalizer cc file), it
> says mod object has no member decision_maker_soft
>
> Why does *mod* object not look my decision_maker_soft as it is a method
> of constellation_bpsk_impl ??
>
> What am I missing here ?
>
> I thought that mod object is looking your decision_maker inside
> constellations_impl, it shud see mine too...
>
>
>
--
Sumit Kumar
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio