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.bastibl.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...
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to