discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] [GSoC2018][Standard FEC Decoders][Need Feedback]


From: Johannes Demel
Subject: Re: [Discuss-gnuradio] [GSoC2018][Standard FEC Decoders][Need Feedback]
Date: Mon, 26 Mar 2018 10:40:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

Hi Harshit,

some more comments on your proposal.
- be really specific about GR integration
- explain WHAT you want to implement.
- explain HOW you want to implement it.
- show us how you understand FECAPI.
- explain how you want to build on existing LDPC code in GR.

your deliverables are too vague. Tell us what you want to achieve. You want to implement a fast decoder, but you state you want to implement it mainly in Python. Also, you want to integrate your encoder/decoder into the FECAPI, which is a C++ API. You want to optimize your decoder with specific tools. Show us how you want to use those tools. Also, how do those tools fit into GR? And thus into your project.

Your timeline lacks measurable milestones. Also, keep in mind "It's the summer of CODE, not the summer of RESEARCH" (by Marcus Müller).

You want to focus on 5G LDPC codes. I'd recommend to go through the standard docs and map the description there to your LDPC theory.

Cheers
Johannes

On 25.03.2018 06:43, Harshit Gupta wrote:
Greetings,

Thanks Demel for the detailed feedback. I have updated most of the parts. Please have a look [0] and report for any ambiguity.

[0] https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf <https://rb.tc/344QC#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>


Best Regards,
Harshit Gupta

On Fri, Mar 23, 2018 at 10:06 AM, Johannes Demel <address@hidden <mailto:address@hidden>> wrote:

    Hi Harshit,

    I read your proposal and I have quite a few suggestions for improvement.

    General remarks
    Your references must be updated. They do not point to the actual
    sources but some general landing page. Also, I found at least one
    reference that points to an incorrect source.

    Introduction
    This section needs to be better structured. Give a brief analysis of
    the current state and what you want to achieve.
    e.g.: current GR codes. Why use LDPC? 5G standard. Overall goal.

    Features
    here you need to clearly state what you want to do. Which codes?
    What should they achieve? Tools? Language?

    LDPC code theory [missing]
    Discuss how LDPC codes are defined. This includes a short discussion
    on Gallager's and MacKay's work. Discuss how Tanner graphs work.
    Discuss known decoder algorithm.
    Also: http://www.inference.org.uk/mackay/codes/data.html
    <http://www.inference.org.uk/mackay/codes/data.html>

    Workflow
    Discuss the `gr-fec` interface for encoder and decoder objects. You
    want to integrate your work into GNU Radio. Show us how you want to
    achieve this. And show us that you worked through the FECAPI.
     From theory to practice:
    - Start with generic implementation of LDPC codes (Python?)
    - Work through 5G standard to learn the complete code space.
    - Start with one code and implement it in C++.
    - Discuss how you want to ensure code quality. i.e. unittests.

    You mention a GUI. I'd argue a GUI would be a distraction from your
    actual goal.

    Deliverables
    It is a difficult task to implement and optimize one code. Focus on
    LDPC codes. Drop the Turbo Code part. Also, be way more specific
    here. What will be the outcome of your project? Think of it in terms
    of milestones.
    Discuss which parts you want to implement how. Python/C++. Also,
    discuss SIMD if you want to use this. There are quite a few
    different approaches. OpenMP, AVX/SSE, Neon, etc. How are they
    related to Python/C++?

    This section should be accompanied by a detailed timeline. At least
    what you want to achieve each week. Show us how you envision your
    progress and what you want to do. Show us that you put some thought
    into this.
    Start with your timeline from now on. Show us how you want to become
    part of our community.

    Implementation
    Create your own figures. Show us how you understand things.
    There are good LaTeX tools to create Listings with C++ highlighting.
    Use them for your code example. So far your code example is very
    vague. I'd suggest you show us how you would implement a LDPC node.
    Or something similar.
    Keep in mind GNU Radio does generally target CPUs. Thus, your GPU
    implementation part seems to be out of place. Unless, you want to
    implement LDPC codes on GPUs. In this case discuss the technologies
    you want to use. And also, how do you want to integrate your work
    into GNU Radio in this case? I'd suggest to go for a CPU
    implementation, though.
    Do not copy code from other sources. Also, please do not copypasta
    equations into your proposal from other sources. Show us that you
    understand what you are talking about and make your proposal
    consistent. These suggestions apply to `algorithm 1` as well.

    3GPP 5G/Release 15 discussion
    Do not copy parts of the standard. Discuss the specifics of the LDPC
    codes in the standard and how they work. What are ptifalls?
    simplifications?

    License
    Do you want to publish all your code under GPLv3? Then state this.
    Also, discuss if you want to create an OOT or you want to merge your
    code into the main GNU Radio project. This would require a CLA I guess.

    Your background
    Please give us a short CV here and discuss your previous experience.

    All in all, I'm happy you want to pick up this project.

    Cheers
    Johannes


    On 22.03.2018 22:42, Harshit Gupta wrote:

        Greeting Mr Muller and community,

        I have made improvement in the proposal. Have a  glimpse of it,

        Some queries:
        What exactly should I include in 'Implementation'? I have put
        generic decoder code and sample code for optimal
        implementation of FEC codes.
        What can be the outcome of a specific process?

        Link to my git repo for proposal is [0].


        [0]
        
https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
        
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>
        
<https://rb.tc/33Z7W#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
        
<https://rb.tc/33Z7W#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>>






        On Thu, Mar 22, 2018 at 8:01 PM, Müller, Marcus (CEL)
        <address@hidden <mailto:address@hidden>
        <mailto:address@hidden <mailto:address@hidden>>> wrote:

             Hi Harshit Gupta,

             thanks for showing up and being interested in GNU Radio!
             I'm very happy that someone with an information theory
        background
             decided to give channel code implementations a try.

              From a quick scan of the proposal, I'd say that you have
        not adhered to
             all the mandatory things on our GSoCStudentInfo wiki page;
        doing so is
             mandatory, so please make sure to really check of *all* the
        items on
             that list, or your proposal might simply not be eligible.

             I'm missing a bit on your personal experience and
        background. You
             really don't seem to follow the "Background on yourself"
        section on the
             aforementioned Wiki page at all. Is this the first time you're
             implementing channel codes or using C++, do you have
        experience in
             optimizing existing code? Can you show us code you've
        written? I'm
             really excited about all the cool stuff that we could do if
        you did
             your GSoC on this, but we need to know who we're dealing
        with, and what
             the skills are that you bring to this very challenging
        proposal.

             You cite a lot from two papers, which is very fine by me,
        but doesn't
             really allow myself to understand what part you're
        expecting to have to
             implement yourself, and what part is existing code? If I
        understand
             your proposal correctly, you aim to do all en- and decoding
        on GPU, not
             CPU, which is cool, but also raises the question of your
        experience in
             that field, and access to hardware you have.

              From an aesthetic point of view, the citing/copying from
        different
             sources doesn't really make for a consistent flow while
        reading. This
             isn't top priority, but you might want to get your proposal
        as nice as
             you would want a job application to be by the moment you
        finally upload
             it.

             Best regards,
             Marcus

             On Thu, 2018-03-22 at 19:06 +0000, Harshit Gupta wrote:
             > Greetings,
             >
             > My name is Harshit Gupta, graduated in Electrical
        Engineering. Currently pursuing masters from Indian Institute of
        Technology, Delhi.  Having studied information theory in my
        post-graduate coursework, I can understand FEC codes in a better
        manner. I want to contribute to GNU Radio with my coding skills
        and knowledge of channel coding.
             >  I am very interested to work on FEC decoders
        particularly starting from LDPC decoders. GNU Radio would
        benefit from these integrations.
             >
             > The gr-fec API by GNU is an implementation of a few
        channel coding techniques but are quite slow to be used in high
        throughput applications. The current issue is to use
        standardized decoders in the coding techniques to make gr-fec
        API suitable for high-performance applications and integrate it
        with GNU radio.
             >
             > I went through some recent research paper like in
        QPP-Block-LDPC Codes which proposes new approaches to implement
        the existing codes. The relevant list can be found here[1].
             >
             > I went through gr::fec::code::cc_encoder Class and
        gr::fec::code::ccsds_encoder, which implements the above code
        that is more highly optimized for specific settings (rate 1/2,
        K=7, and polynomials [109, 79]).
             >
             > Also, I went through the application of LDPC. It seems 5G
        will greatly benefit from fast LDPC code. A project on fast
        implementation of LDPC code will be a good experience. I
        searched through 3GPP 38 series of documents [2] and found the
        used LDPC algorithm.
             > I have listed out steps for optimal implementation.
             >
             > My queries are:
             > 1. what kind of generic code for decoder I should add in
        my proposal?
             > 2.Please look at my draft proposal[3]. Is there any
        redundant information?
             > 3. Fast LDPC decoder and optimal implementation of 3GPP
        used LDPC codes Both are good but which to choose?
             >
             >
             > Deadline is quite near. Hence I am diligently working on
        the proposal
             >
             > Links:
             > [1] http://aff3ct.github.io/hof_ldpc.html
        <http://aff3ct.github.io/hof_ldpc.html>
             <http://aff3ct.github.io/hof_ldpc.html
        <http://aff3ct.github.io/hof_ldpc.html>>
             > [2] http://www.3gpp.org/DynaReport/38-series.htm
        <http://www.3gpp.org/DynaReport/38-series.htm>
             <http://www.3gpp.org/DynaReport/38-series.htm
        <http://www.3gpp.org/DynaReport/38-series.htm>>
             > [3]
        
https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
        
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
        
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>>
             >
             >
             > .
             >
             > Thank you,
             > Harshit Gupta
             >
             >
             >
              > _______________________________________________
              > Discuss-gnuradio mailing list
              > address@hidden
        <mailto:address@hidden>
        <mailto:address@hidden <mailto:address@hidden>>
              > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
        <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
             <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
        <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>>




        _______________________________________________
        Discuss-gnuradio mailing list
        address@hidden <mailto:address@hidden>
        https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
        <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>


    _______________________________________________
    Discuss-gnuradio mailing list
    address@hidden <mailto:address@hidden>
    https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
    <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>





reply via email to

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