Hey GNU Radio'ers! another week has passed. So it's time for a project update. This week was dedicated to channel construction. Finally, all channel construction algorithms work. I added a couple of convenience functions too. First, there's a command line tool 'polar_channel_construction' which will do channel construction according to the parameters you'll pass to it. Secondly, there's a GRC block which takes all the parameters and returns a dictionary with the desired parameters. Most importantly, <variable_name>['positions'] and <variable_name>['values'] contain the Numpy arrays of interest. I hope they're self-explanatory. For all channels but BEC, channel construction is quite a computationally heavy task. Thus, Z-parameters which are generated once for a user are saved in '~/.gnuradio/polar'. Afterwards they are available. If a new set of parameters is encountered, the corresponding z-parameters will be calculated automatically. There's a progress bar and everything. So you can keep track of construction progress. Z-parameters are saved in text files. A header holds all the info on construction parameters and. I worked on further integrating polar codes into FECAPI. So, now you can just open an example flowgraph and another flowgraph generates BER curves for SC decoder and SC list decoder and for comparability a convolutional code. One odd thing about FECAPI, that I noticed, is bit-to-symbol mapping. As far as I've seen it so far, most applications map 1 -> -1 and 0 -> 1, or 2 * bit - 1. FECAPI handles this the other way round. At least 'BER curve generator' behaves this way, so I assume that the other decoder blocks expect the same mapping.
That's it for the week. So far, I've dealt with all aspects of polar codes. Now it's time to focus on VOLK optimization and algorithmic optimization. A little goodie at the end [3]. I uploaded a BER comparison pic to imgur. Be careful with absolute values though. I doubt Es/N0 is accurate. But it gives you an impression. 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 [3] http://i.imgur.com/QXWdSPj.jpg _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
