[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 06/10: gr-fec: update/add documentation for
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 06/10: gr-fec: update/add documentation for LDPC GRC blocks. |
Date: |
Sun, 27 Mar 2016 13:57:57 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch maint
in repository gnuradio.
commit f91929b8fc88019e6143145fd5b0ead995d9215a
Author: tracierenea <address@hidden>
Date: Sun Mar 20 21:24:41 2016 -0500
gr-fec: update/add documentation for LDPC GRC blocks.
---
gr-fec/grc/ldpc_decoder_def_list.xml | 6 +++++-
gr-fec/grc/variable_ldpc_G_matrix_object.xml | 2 +-
gr-fec/grc/variable_ldpc_H_matrix_object.xml | 2 +-
gr-fec/grc/variable_ldpc_bit_flip_decoder.xml | 6 ++----
gr-fec/grc/variable_ldpc_encoder_G.xml | 7 ++++++-
gr-fec/grc/variable_ldpc_encoder_H.xml | 6 +++++-
6 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/gr-fec/grc/ldpc_decoder_def_list.xml
b/gr-fec/grc/ldpc_decoder_def_list.xml
index 8304e03..007f855 100644
--- a/gr-fec/grc/ldpc_decoder_def_list.xml
+++ b/gr-fec/grc/ldpc_decoder_def_list.xml
@@ -78,6 +78,10 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.ldpc_decoder.make($fil
</param>
<doc>
- This block does some kind of ldpc
+This is a soft-decision decoder that uses belief propagation (also known as
message passing) that is described at:
+
+www.cs.toronto.edu/~radford/ftp/LDPC-2012-02-11/decoding.html
+
+Designed for a memoryless AWGN channel, it assumes a noise variance of the
value specified for sigma.
</doc>
</block>
diff --git a/gr-fec/grc/variable_ldpc_G_matrix_object.xml
b/gr-fec/grc/variable_ldpc_G_matrix_object.xml
index cd6b02c..cd9360c 100644
--- a/gr-fec/grc/variable_ldpc_G_matrix_object.xml
+++ b/gr-fec/grc/variable_ldpc_G_matrix_object.xml
@@ -32,7 +32,7 @@
This block creates a LDPC Generator Matrix variable.
This variable can be used by:
- 1) LDPC Generator Matrix Encoder Definition block
+ 1) LDPC Encoder Definition (via Generator) block
2) LDPC Bit Flip Decoder Definition block
Provide an alist file, which contains a Generator matrix, G, in the standard
format G = [I P], where I is an identity matrix and P is the parity submatrix.
diff --git a/gr-fec/grc/variable_ldpc_H_matrix_object.xml
b/gr-fec/grc/variable_ldpc_H_matrix_object.xml
index 81476d6..1bfb6be 100644
--- a/gr-fec/grc/variable_ldpc_H_matrix_object.xml
+++ b/gr-fec/grc/variable_ldpc_H_matrix_object.xml
@@ -38,7 +38,7 @@
This block creates a FEC LDPC Parity Check Matrix variable.
This variable can be used by:
- 1) LDPC Encoder Definition block
+ 1) LDPC Encoder Definition (via Parity Check) block
2) LDPC Bit Flip Decoder Definition block
The format of alist files is described at:
diff --git a/gr-fec/grc/variable_ldpc_bit_flip_decoder.xml
b/gr-fec/grc/variable_ldpc_bit_flip_decoder.xml
index 2b407f3..dd9dabb 100644
--- a/gr-fec/grc/variable_ldpc_bit_flip_decoder.xml
+++ b/gr-fec/grc/variable_ldpc_bit_flip_decoder.xml
@@ -78,10 +78,8 @@ self.$(id) = $(id) = map((lambda b: map((lambda a:
fec.ldpc_bit_flip_decoder.mak
This block creates a LDPC Bit Flip Decoder Definition variable.
The decoder requires knowledge of the matrix used to create (encode) the
codewords. In the LDPC FEC Matrix ID field, input the ID of either a:
- 1) LDPC Matrix variable, or
- 2) LDPC R. U. Parity Check Matrix variable
-
-Be sure to specify the same matrix ID as the matrix that was used for encoding.
+ 1) LDPC Generator Matrix variable, or
+ 2) LDPC Parity Check Matrix variable
Max iterations may be increased from 100 for possibly better performance, but
significantly higher number of iterations may slow things down.
</doc>
diff --git a/gr-fec/grc/variable_ldpc_encoder_G.xml
b/gr-fec/grc/variable_ldpc_encoder_G.xml
index 74d95fa..d138fa3 100644
--- a/gr-fec/grc/variable_ldpc_encoder_G.xml
+++ b/gr-fec/grc/variable_ldpc_encoder_G.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
###################################################
-# FEC LDPC GENERATOR MATRIX ENCODER
+# FEC LDPC ENCODER DEFINITION (VIA GENERATOR)
###################################################
-->
@@ -69,4 +69,9 @@ self.$(id) = $(id) = map((lambda b: map((lambda a:
fec.ldpc_encoder_make($G)), r
<type>raw</type>
</param>
+ <doc>
+Given a generator matrix in systematic form, G = [I|P], where I is the
identity matrix and P is the parity submatrix, the information word s is
encoded into a codeword x via:
+
+x = G'*s
+ </doc>
</block>
diff --git a/gr-fec/grc/variable_ldpc_encoder_H.xml
b/gr-fec/grc/variable_ldpc_encoder_H.xml
index 403f809..555891b 100644
--- a/gr-fec/grc/variable_ldpc_encoder_H.xml
+++ b/gr-fec/grc/variable_ldpc_encoder_H.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
###################################################
-# FEC LDPC RICHARDSON URBANKE ENCODER
+# FEC LDPC ENCODER DEFINITION (PARITY CHECK)
###################################################
-->
<block>
@@ -67,5 +67,9 @@ self.$(id) = $(id) = map((lambda b: map((lambda a:
fec.ldpc_par_mtrx_encoder_mak
<value></value>
<type>raw</type>
</param>
+ <doc>
+This block creates a LDPC Encoder Definition variable.
+This encoder performs a reduced complexity algorithm described by Richardson
and Urbanke in Appendix A of their book: Modern Coding Theory. Compared to the
block "LDPC Encoder Definition (via Generator)," this encoder requires orders
of magnitude fewer operations to create each codeword. This is accomplished by
completing a significant amount of the complex matrix manipulation (including
inverse, multiplication, and Gaussian elimination operations) during
preprocessing. The disadvantage [...]
+ </doc>
</block>
- [Commit-gnuradio] [gnuradio] branch maint updated (0a1a76d -> 4ab650a), git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 03/10: ctrlport: gr-perf-monitorx: add small offset to avoid log(0) calls., git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 01/10: ctrlport: Some version issues for running gr-perf-monitorx, git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 04/10: pmt::is_dict() and is_pair() both return true for both dictionaries and pairs. This causes issues as one may believe they have a dictionary pmt and attempt to reference it's keys (which will throw an exception for a pair). This simply serves to document this behavior, git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 07/10: gr-fec: correcting function name in GRC xml, git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 02/10: ctrlport: gr-perf-monitorx - don't stash the canvas, ask the figure., git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 06/10: gr-fec: update/add documentation for LDPC GRC blocks.,
git <=
- [Commit-gnuradio] [gnuradio] 05/10: Merge remote-tracking branch 'jgilbert/pmt_doc_update' into maint, git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 10/10: gr-fec: Address make error when parallelism = 1 or 2., git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 09/10: gr-fec: Adding doc in BER Curve Gen. block re: parallelism., git, 2016/03/27
- [Commit-gnuradio] [gnuradio] 08/10: gr-fec: Address missing block error in example GRC file., git, 2016/03/27