discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Softbits in gr-ieee 802.11 ?


From: sumit kumar
Subject: Re: [Discuss-gnuradio] Softbits in gr-ieee 802.11 ?
Date: Fri, 19 Jan 2018 14:43:50 +0100

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... 




On 18 January 2018 at 15:22, Bastian Bloessl <address@hidden> wrote:
I'm not sure if I understand you correctly, but you have to differentiate what performance you mean. IT++ might have better decoding performance (since it's using soft-bits), but the SIMD implementation has better computational performance (i.e., needs less CPU).

To be honest, I didn't do a lot of testing between IT++ and the current version. (I think I've seen a paper that compared soft-bits vs. hard-bits and there was a 2-3dB improvement, but you have to check). Since the decoder was a CPU bottleneck, I was more than happy to merge the SIMD implementation, which was developed by Gonzalo Arcos based on the gr-dtv decoder. See here

http://www.ccs-labs.org/bib/arcos2016accelerating/

Best,
Bastian

On 1/18/2018 13:41, sumit kumar wrote:
Thanks for confirming. I believe that IT++ version will work with corresponding GNU Radio version.

Also what do you think (since you have developed the code for long time :) ) : IT++ version will be as efficient as the current one? I mean the current version uses SIMD for Viterbi.
I have tested the current version for success rate. I can share the results(attached). Success rate mentioned is nothing but ratio of received to transmitted frame per second using a R&H VSG. The test was done over the air.



On 18 January 2018 at 13:06, Bastian Bloessl <address@hidden <mailto:address@hidden>> wrote:

    Hi,

    you are right. The current implementation does not use soft-bits but
    feeds hard bits into the decoder.

    In 2013, I used the soft-input Viterbi decoder from the IT++ library.

    http://itpp.sourceforge.net/4.3.1/convcode.html
    <http://itpp.sourceforge.net/4.3.1/convcode.html>

    Best,
    Bastian

    On 01/17/2018 11:36 AM, sumit kumar wrote:

        Hi,

        I am doing some proof of concept using gr-ieee 802.11.
        The paper by author [1] says that it uses softbits, however in
        the method

        *constellation::decision_maker(const gr_complex *sample)*, I see
        outputs as hardbits.
        Am I missing something here i.e. any particular commit or branch
        where the softbits implementation is there.

           Its very important for my algorithm to use softbits :-/

        [1]
        https://conferences.sigcomm.org/sigcomm/2013/papers/srif/p9.pdf
        <https://conferences.sigcomm.org/sigcomm/2013/papers/srif/p9.pdf>

        Sumit




--
Sumit Kumar





--
Sumit Kumar



reply via email to

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