LDPC Parity Check Matrix: Difference between revisions
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Block Docs]] | [[Category:Block Docs]] | ||
This block creates a FEC LDPC Parity Check Matrix variable. | |||
This | |||
This variable can be used by: | |||
1) LDPC Encoder Definition (via Parity Check) block | |||
2) LDPC Bit Flip Decoder Definition block | |||
The format of alist files is described at: | |||
[http://www.inference.phy.cam.ac.uk/mackay/codes/alist.html] | |||
The specific format of this parity check matrix is described by Richardson and Urbanke in Appendix A of their book: Modern Coding Theory (ISBN 978-0-521-85229-6). | |||
As an example, see the file [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/ldpc_alist/n_1800_k_0902_gap_28.alist]], which is used by the FEC example flowgraph [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/examples/ber_curve_gen_ldpc.grc]. | |||
There is a small library of encoding-ready alist files at [https://github.com/gnuradio/gnuradio/tree/master/gr-fec/ldpc_alist@]. | |||
To convert a parity check matrix to the appropriate format required for this encoder, use the python functions in [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/python/fec/LDPC/Generate_LDPC_matrix.py]. | |||
== Parameters == | == Parameters == | ||
; | ; File | ||
: | : Name of an alist file to use. | ||
; | ; Gap | ||
: | : A property of the matrix being used. For alist files distributed with GNU Radio, this value is specified in the alist filename. The gap is found during the matrix preprocessing algorithm. It is equal to the number of rows in submatrices E, C and D. | ||
== Example Flowgraph == | == Example Flowgraph == | ||
Line 21: | Line 32: | ||
; C++ files | ; C++ files | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/lib/ldpc_H_matrix_impl.cc] | ||
; Header files | ; Header files | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/lib/ldpc_H_matrix_impl.h] | ||
; Public header files | ; Public header files | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/include/gnuradio/fec/ldpc_H_matrix.h] | ||
; Block definition | ; Block definition | ||
: [https://github.com/gnuradio/gnuradio | : [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/grc/variable_ldpc_H_matrix_object.block.yml] |
Revision as of 14:00, 5 September 2019
This block creates a FEC LDPC Parity Check Matrix variable.
This variable can be used by:
1) LDPC Encoder Definition (via Parity Check) block 2) LDPC Bit Flip Decoder Definition block
The format of alist files is described at: [1]
The specific format of this parity check matrix is described by Richardson and Urbanke in Appendix A of their book: Modern Coding Theory (ISBN 978-0-521-85229-6).
As an example, see the file [2]], which is used by the FEC example flowgraph [3].
There is a small library of encoding-ready alist files at [4].
To convert a parity check matrix to the appropriate format required for this encoder, use the python functions in [5].
Parameters
- File
- Name of an alist file to use.
- Gap
- A property of the matrix being used. For alist files distributed with GNU Radio, this value is specified in the alist filename. The gap is found during the matrix preprocessing algorithm. It is equal to the number of rows in submatrices E, C and D.
Example Flowgraph
Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
Source Files
- C++ files
- [6]
- Header files
- [7]
- Public header files
- [8]
- Block definition
- [9]