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
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://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) <muel...@kit.edu
<mailto:muel...@kit.edu>> 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>
> [2] 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>
>
>
> .
>
> Thank you,
> Harshit Gupta
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio