GSoC 2018 gr-modtool - Week 6 - Modify API, Add logger
As planned for Week 6, the modtool tests have been added in-tree and all the print statements have been replaced by the logger.
As planned for Week 6, the modtool tests have been added in-tree and all the print statements have been replaced by the logger.
I expanded the 2×2 V-BLAST zero-forcing scheme to a general MxM scheme. For a general MxM matrix, the inverse cannot be precalculated by hand as I did for the 1×1 and 2×2 scheme. The inversion of a possibly large channel matrix can quickly get a very complex problem which needs a lot of computation power, especially if it is recalculated frequently, for example each micro second when assuming a coherence time of 1μs and therefore a CSI update rate of 1MHz.
Last week, I implemented a V-BLAST encoder which demultiplexes a data stream into M parallel streams that are simultaneously sent through the same channel. This was a really simple task which granted us a data rate increase of factor M without the need of a complex transmitter complexity.
The Core and the CLI splits!
At the first half of the week, I finished the doxygen documentation for the already implemented MIMO modules. I have now completed all milestones of the first coding period
The first major pull request!
I think about the proposed MIMO feature not just as a functioning tool but as well as an instructive and attractive feature for GNU Radio beginners to understand MIMO. Therefore, I started to write a little in-tree top-level documentation which includes both, an introduction to the theoretical background of MIMO and a practical usage manual of all the GNU Radio blocks which are included in the section MIMO.
The awesome week with lots of learning experience.
I implemented a differential STBC as another useful MIMO scheme for GNU Radio.