Milestones

The following tasks define my project during GSoC. They were defined together with my mentors and any changes will be discussed with them. A more detailed description of the mentioned features can be found in my GSoC proposal.

In order to keep my work transparent and my state of progress up to date, I use GitHub milestones based on the following list of deliverable features:

Phase 1:

  • Diversity Combiners
    • Implement diversity combining block in C++; complex input/output.
    • Options: number of inputs, combining technique (Selection combining, Maximum-ratio combining).
    • Add QA test in python.
  • Alamouti Code
    • Implement encoder block in C++; complex input/output.
    • Implement decoder block in C++; complex input/output and channel state information (CSI) via Stream Tags.
    • Add QA test and loopback test (with known CSI at RX) in python.
  • Differential Space-time block-code
    • Implement encoder and decoder block in C++; complex input/output.
    • Add QA test and loopback test (with known CSI at RX) in python.

Phase 2:

  • Vertical Bell Labs Layered Space Time Architecture (V-BLAST)
    • Implement encoder block in C++; complex input/output.
    • Implement decoder block in C++ with options Zero Forcing (ZF) and Minimum Mean Square Error (MMSE); complex input/output and CSI in Stream Tags.
    • Add QA test and loopback test (with known CSI at RX) in python.

Phase 3:

  • OFDM Integration
    • Build MIMO-OFDM TX and RX hierarchical blocks.
      • Build a MIMO hierarchical python block which comprises all the implemented MIMO features from Phase 1 and 2.
      • Expand the OFDM hierarchical blocks with the (optional) MIMO structure.
    • Add loopback test (with known CSI at RX) in python.
    • Add a MIMO pilot generation to the MIMO-OFDM transmitter.
    • Add a MIMO CSI estimation Tagged Stream block to the MIMO-OFDM receiver.
    • Create over-the-air test and ready-to-use example flowgraph for GRC.

 

A detailed documentation is an essential requirement especially for a project that is likely to be merged in the GNU Radio tree. Gr-digital is documented with Doxygen which I am planning to continue by adding extensive documentation to every block I write. I am going to make the code itself comprehensive and readable by commenting it in-line.
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. I am
therefore planning to additionally write a little in-tree top-level documentation.

Advertisements