summaryrefslogtreecommitdiff
path: root/gr-fec/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* fec: build reed solomon object with fPICAndrej Rode2019-03-041-0/+6
|
* fec: Suppress warnings in Reed-Solomon test codeRon Economos2019-01-142-5/+5
| | | | RS test codes were using random() instead of rand(), which is now fixed.
* includes: use quotes for local includesAndrej Rode2019-01-074-6/+6
|
* Fix compiler warnings about unsigned / signed comparisonsVolker Schroer2018-11-241-1/+1
|
* gr-fec: remove erf redefinition in metrics.cAndrej Rode2018-11-152-19/+3
| | | | As `erf` is required in <cmath> since C++11
* polar_decoder_sc_systematic.cc: Fix memory leak.Philip Balister2018-10-051-0/+3
| | | | | | * Addresses Coverity 1375145, 1375144, and 1375140. Signed-off-by: Philip Balister <philip@balister.org>
* Merge remote-tracking branch 'origin/next' into merge_nextMarcus Müller2018-08-3125-361/+329
|\
| * Fix vector out of bound accessesMarcus Müller2018-07-121-4/+3
| | | | | | | | | | | | | | | | Unless most of the other #1776-related fixes, this actually was an effect of reading from unitialized memory. I'm surprised this worked as intended! Needs content-wise review from @jdemel!
| * Clean-up: Remove unused private variables (Issue #1621, #1622, #1624)andriy gelman2018-04-2813-23/+3
| |
| * Merge branch 'fix_cmake_cxx_standard' of ↵Marcus Müller2018-03-228-320/+322
| |\ | | | | | | | | | https://github.com/noc0lour/gnuradio into noc0lour-fix_cmake_cxx_standard
| | * fixup! fec: convert viterbi sub-library to valid C++ in correct namespaceAndrej Rode2018-02-171-2/+2
| | |
| | * fec: convert viterbi sub-library to valid C++ in correct namespaceAndrej Rode2018-02-078-318/+320
| | |
| * | fec: update VOLK API callJohannes Demel2018-03-011-1/+1
| |/ | | | | | | VOLK kernel polarbutterfly has an updated API. This patch updates the corresponding call into VOLK.
| * Merge branch 'master' into nextMartin Braun2018-02-034-6/+6
| |\
| * \ Merge branch 'master' into nextJohnathan Corgan2017-08-141-2/+2
| |\ \
| * \ \ Merge branch 'master' into nextJohnathan Corgan2017-03-221-5/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: gr-wxgui/lib/CMakeLists.txt
| * \ \ \ Merge branch 'master' into nextJohnathan Corgan2016-10-131-0/+3
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into nextJohnathan Corgan2016-08-161-0/+2
| |\ \ \ \ \
| * \ \ \ \ \ Merge remote-tracking branch 'github/nuke-cpack' into nextJohnathan Corgan2016-08-033-4/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gr-vocoder/CMakeLists.txt
| | * | | | | | cmake: nuke cpack from existenceJohnathan Corgan2016-08-033-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPack is not used, unmaintaned, and broken. This does not eliminate any MSVC build functionality.
| * | | | | | | cmake: remove ENABLE_GR_LOG and require log4cppJohnathan Corgan2016-06-262-14/+2
| |/ / / / / /
* | | | | | | Convert set_relative_rate(double) to the new integer or receiprocal callAndy Walls2018-08-235-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mass conversion of existing set_relative_rate(double) calls to either the set_relative_rate(uint64_t, uint64_t) or set_inverse_relative_rate(double) calls, where ever easily possible and appropriate, to improve tag propagation precision for fixed relative rates.
* | | | | | | Fix vector out of bound accessesMarcus Müller2018-07-091-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unless most of the other #1776-related fixes, this actually was an effect of reading from unitialized memory. I'm surprised this worked as intended! Needs content-wise review from @jdemel!
* | | | | | | fix incorrect strings passed to the log console appenderCate2018-06-282-4/+4
| | | | | | |
* | | | | | | fec: update VOLK API callJohannes Demel2018-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VOLK kernel polarbutterfly has an updated API. This patch updates the corresponding call into VOLK. VOLK submodule update: v1.4
* | | | | | | fec: remove runtime pmt::intern'ing when asking for iterationsMarcus Müller2018-02-231-1/+2
| | | | | | |
* | | | | | | [gr-fec] include GSL_LDFLAGS in CMakeLists to avoid linking errors inSebastian Müller2018-02-031-1/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | dependent in-trees
* | | | | | Comment typo fixing.luz.paz2018-02-034-6/+6
| |_|_|_|/ |/| | | | | | | | | | | | | | Luzpaz went ahead and found typos using `codespell -q 3`.
* | | | | Support negative polynomials in cc_encoderDaniel Estévez2017-08-021-2/+2
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | Negative polynomials are already supported in cc_decoder. Inverting the sign of the polynomial in a convolutional code is just a convention to invert the output bit corresponding to that polynomial.
* | | | cmake: add log4cpp to runtime includesBastian Bloessl2017-03-221-3/+0
| | | |
* | | | cmake: clean upBastian Bloessl2017-03-221-2/+2
| |_|/ |/| |
* | | Throw an exception if the given K and R are not supported.Clayton Smith2016-10-131-0/+3
| |/ |/|
* | move fec polar decoder D_LLR_FACTOR into cppJosh Blum2016-08-061-0/+2
|/ | | | Class constants need to be defined in the C++ source or linker issues occur.
* gr-fec, LDPC: use mult_matrices_mod2 functiontracierenea2016-04-071-11/+2
| | | | Replace these lines using GSL to perform the matrix multiplication with a call to the mult_matrices_mod2 function, just to be concise.
* gr-fec: free memory used for the LDPC H matrix in the destructortracierenea2016-04-071-0/+2
|
* gr-fec: free memory for info word in LDPC gen mtrx encodertracierenea2016-04-061-0/+1
|
* gr-fec: free memory for G matrix at end of constructortracierenea2016-04-062-8/+6
| | | | There's no reason to make the G matrix a data member of this class and keep it around in memory. It's not used for encoding or decoding, so once we've used G to get G' and H, we can free that memory.
* gr-fec: Fix memory allocation issue during encoding.tracierenea2016-03-282-39/+48
| | | | | | | | | | I think that declaring these temporary matrix variables in the header (and then allocating memory for them in the constructor) is problematic when using parallelism = 1 or 2, as is the case when using the BER Curve Gen./Sink blocks. When parallelism is in effect, there are multiple "sub" flowgraphs in process and therefore multiple, probably very-close-to-simultaneous, calls to encode(). I think what's happening is that these temp matrices are being overwritten in memory by the next call to encode() before the current call to encode() is done with them. I know that such repeated allocate/free calls in the encode() function is not ideal or efficient, I can't think of a better way to do this (for now) and allow for parallelism. With this change, these matrices are no longer member variables of the class, so I've removed the "d_" prefix from the variable names.
* polar: systematic decoder addedJohannes Demel2015-12-072-0/+102
| | | | | | | Conflicts: gr-fec/grc/fec_block_tree.xml gr-fec/include/gnuradio/fec/CMakeLists.txt gr-fec/swig/fec_swig.i
* polar: sytematic encoder addedJohannes Demel2015-12-074-42/+134
| | | | | | | Conflicts: gr-fec/grc/fec_block_tree.xml gr-fec/include/gnuradio/fec/CMakeLists.txt gr-fec/swig/fec_swig.i
* fec: LDPC: patch for issue #847.Tom Rondeau2015-10-292-4/+9
| | | | | | | | GSL didn't introduce gsl_matrix_equal until 1.15 and GNU Radio only requires 1.10. This is an attempt to calculate if the two matrices are equal by subtracting one from the other and seeing if the max element is greater than 0 (all elements should be 0 if they are the same matrix).
* fec: LDPC: fixed issue with bit_flip_decoder.Tom Rondeau2015-10-157-26/+17
| | | | | We can't use a raw pointer, so using a shared_ptr to the base class, instead, from the H and G matrices.
* fec: LDPC: reworking code to make sure API is ok.Tom Rondeau2015-10-156-80/+229
| | | | | Reintroduced original ldpc_encoder for compatibility. Renamed new version to ldpc_par_mtrx_encoder.
* fec: LDPC: changing namespace of ldpc_encoder back.Tom Rondeau2015-10-152-96/+91
| | | | | Keep the original API for this class in 3.7. We should convert this to gr::fec::code in 3.8.
* fec: LDPC: massive code clean up and change.Tom Rondeau2015-10-1522-1423/+2095
| | | | | | | | | 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.
* fec: LDPC: Setting copyright date to current year.tracierenea2015-10-159-9/+9
|
* fec: LDPC: Adding capability to provide H matrix for encoding/decoding.tracierenea2015-10-155-164/+266
| | | | | | | | | | | | | - 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.
* fec: LDPC: Finishing encoder's work() function and updating matrixtracierenea2015-10-152-13/+38
| | | | class.
* fec: LDPC: Updating decoder to handle parity bits either first ortracierenea2015-10-153-5/+24
| | | | | | | | | last. The convention (I hear) is that parity bits come last, at the end of the codeword. Richarson/Urbanke's encoding method has them first though. So, adding flexibility to handle either case; default is parity bits expected last.
* fec: LDPC: Workaround for swig issues, updating examples.tracierenea2015-10-159-24/+51
| | | | | | | | | | | | | - 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