| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
The help/docstring for this function was misleading and confusing even to myself!
|
|
|
|
|
|
|
|
|
| |
Minor fix to address this error:
Traceback (most recent call last):
File "Generate_LDPC_matrix.py", line 78, in <module>
parity_check_matrix.write_alist_file(alist_filename,bestH)
AttributeError: LDPC_matrix instance has no attribute 'write_alist_file'
|
|
|
|
|
|
|
|
|
|
|
| |
Minor fix to address this error:
Traceback (most recent call last):
File "Generate_LDPC_matrix.py", line 63, in <module>
[bestH,g] = get_best_matrix(newH,100)
File "/home/tracie/pybombs/src/gnuradio/gr-fec/python/fec/LDPC/Generate_LDPC_matrix_functions.py", line 616, in get_best_matrix
[betterH, gap, t]
NameError: global name 'betterH' is not defined
|
|
|
|
|
|
|
|
| |
Adding verbosity as an argument to this function, to address this error:
File "/home/tracie/pybombs/src/gnuradio/gr-fec/python/fec/LDPC/Generate_LDPC_matrix_functions.py", line 478, in inv_mod2
if verbose:
NameError: global name 'verbose' is not defined
|
|
|
|
| |
Adding documentation regarding parallelism configuration requirements for using the BER Curve Gen. block. Also adding a FIXME note so that we can better address this in the future. These notes are my understanding after getting clarification from Tom on how the parallelism feature behaves in this case.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
gr-fec/grc/fec_block_tree.xml
gr-fec/include/gnuradio/fec/CMakeLists.txt
gr-fec/swig/fec_swig.i
|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
gr-fec/grc/fec_block_tree.xml
gr-fec/include/gnuradio/fec/CMakeLists.txt
gr-fec/swig/fec_swig.i
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Conflicts:
gr-fec/python/fec/polar/channel_construction_bec.py
|
| | |
|
|/ |
|
|
|
|
| |
Make it so that we don't require matplotlib just to run QA tests.
|
| |
|
| |
|
|
|
|
|
| |
We can't use a raw pointer, so using a shared_ptr to the base class,
instead, from the H and G matrices.
|
|
|
|
|
| |
Reintroduced original ldpc_encoder for compatibility. Renamed new
version to ldpc_par_mtrx_encoder.
|
| |
|
|
|
|
|
|
|
|
|
| |
Squashed a number of commits to get to this point. Separated the H and
G matrix concepts, make two different encoders and two different
decoders. Removed gsl from API; now only an internal dep that we can
replace more easily later.
Working examples.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
example.
Moved the LDPC alist files from the python and examples directories,
installed them into $prefix/share/gnuradio/fec/ldpc. Updated
CMakeLists.txt files accordingly.
Consequently, updated the GRC LDPC example, which uses 2 of these
files. I used the approach of gr-trellis where the path to the
installed alist files is set by cmake.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adding new LDPC classes and example to doc
- Editing the ldpc_gen_mtrx class to accept either a generator
matrix (G) or a parity check matrix (H).
- Renamed class from ldpc_gen_mtrx to ldpc_HorG_mtrx
- Updated XML blocks and their documentation accordingly.
- Deleting a matrix from examples dir that isn't use in any example.
- Adding a simple matrix to example dir that is used in example.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- separating LDPC BER curve stuff out from ber_curve_gen and making
it a separate example (ber_curve_gen_ldpc.grc)
- specifying that many functions are const - trying to be careful
about the encoder/decoder classes not being able to modify the
matrix objects
- adding a get_base_ptr() function to the matrix child classes as a
workout for swig and GRC. Issue described at:
http://lists.gnu.org/archive/html/discuss-gnuradio/2015-02/msg00246.html
|
|
|
|
|
|
|
|
|
| |
To indicate that this matrix has a specific format, designed for use
with the ldpc_R_U_encoder, renaming this class from ldpc_par_chk_mtrx
to ldpc_R_U_mtrx.
Also putting the memory free calls in the correct place in the bit
flip decoder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The 6 alist files are just being re-pushed. git is saying they were
modified on the remote but I didn't modify them, and couldn't solve
that mystery.
- CMakeLists.txt being updated to install the python script that
generates matrices for use with LDPC encoder. Also it copies the
alist files to python2.7/dist-packages/gnuradio/fec/LDPC
- Adding the LDPC encoder/decoder to the ber_curve_gen.grc
example. Note: the resulting plot shows LDPC performance as worse
than the dummy encoder/decoder; so, still more work to do....
- Slight mod to the bit flip decoder to convert incoming floats to 0s
and 1s, in the same manner as the repetition decoder.
|
|
|
|
|
|
|
|
| |
Adding python scripts which generate parity check matrices for use
with the LDPC Richardson Urbanke encoder. A significant amount of
matrix manipulation is required, so this process should be done before
using the encoder at run time. For large matrices, it will take quite
a while.
|
|
|
|
|
|
|
|
|
|
| |
Adding qa file - pretty much copied the structure of the dummy
encoder/decoder qa file.
Adding a small library of alist files, which are LDPC parity check
matrix files that can be used with the Richardson Urbanke
encoder. They have different rates and work with codeword lengths
ranging between 100 and 1800 bits.
|
|
|
|
|
|
|
|
|
|
| |
The maximum transmission unit (MTU, in bytes) sets up the encoders and
decoders with enough internal buffer space to accommodate frames of
varying sizes up to the MTU. Proections placed to make sure incoming
tagged streams and PDUs don't exceed this.
This also fixes a bug in the tagged stream encoder and decoder blocks
to properly use calculate_output_stream_length.
|
|
|
|
| |
Also some minor formatting.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Conflicts:
volk
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
satisfy get_output_conversion() = unpack behaviour
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
call to VOLK's popcount.
Added QA for ber_bf block and provided documentation for it.
|
|
|
|
| |
capillary threaded encoders and decoders check to make sure dimension is a power of 2 for proper threading.
|
| |
|
|
|
|
| |
not quite working yet, needs work on the message-passing hier_block and added async puncturing block.
|
| |
|