Hey community, It is time for another project update. So here it is. This week I dived into C++ and FECAPI. I implemented a polar encoder for FECAPI. Of course this includes all the necessary tests. I decided to go with packed bits in the encoder definition. Though I implemented a mode which deals with unpacked bits too. I did some rough performance tests. Just set up a flowgraph with a head block and let 2^32 unpacked bytes go through. Then I measured the time it needed to process all those samples. For a first implementation with unpacked bits I could achieve a throughput of about 60Mbit/s. This goes up to 280Mbit/s for unpacked bits which are packed internally and then encoded then unpacked again. And roughly 350Mbit/s for packed bits. Those are just rough tests and may be biased. It should serve as a first impression. Also, some profiling revealed that the computationally intensive part is moving info bits to the correct position. Rougly three times more time is spent on this than on the actual encoding procedure. I had some thoughts on how I could interweave this with encoding in the hope that this would save some time. But I haven't found a solution for that yet. It always interferes with encoding too deeply. FECAPI is very convenient when it comes to code implementation. It just takes care of everything around your code implementation. Also, I worked on a decoder. But it is not yet completed. I intend to have at least two different ones. A simple successive cancellation decoder which shall serve as a reference and a more sophisticated successive cancellation list decoder. According to some papers, they perform very well in terms of error rate.
For the upcoming week my focus will be on decoders. I will implement them in C++ and do all the necessary testing. I am curious how well they will perform. More info and current project progress can be found in [1] and [2]. Cheers Johannes [1] https://github.com/jdemel/gnuradio [2] https://github.com/jdemel/socis-proposal _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio