LDPC Parity Check Matrix: Difference between revisions
Jump to navigation
Jump to search
(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...") |
|||
(One intermediate revision by one other user not shown) | |||
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 == | ||
This flowgraph can be found at [https://github.com/gnuradio/gnuradio/blob/master/gr-fec/examples/fecapi_ldpc_encoders.grc] | |||
[[File:Fecapi_ldpc_encoders_fg.png|800px]] | |||
== Source Files == | == Source Files == | ||
; 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] |
Latest revision as of 14:00, 3 December 2020
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
This flowgraph can be found at [6]
Source Files
- C++ files
- [7]
- Header files
- [8]
- Public header files
- [9]
- Block definition
- [10]