| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
RS test codes were using random() instead of rand(), which is now fixed.
|
| |
|
| |
|
|
|
|
| |
As `erf` is required in <cmath> since C++11
|
|
|
|
|
|
| |
* Addresses Coverity 1375145, 1375144, and 1375140.
Signed-off-by: Philip Balister <philip@balister.org>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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!
|
| | |
|
| |\
| | |
| | |
| | | |
https://github.com/noc0lour/gnuradio into noc0lour-fix_cmake_cxx_standard
|
| | | |
|
| | | |
|
| |/
| |
| |
| | |
VOLK kernel polarbutterfly has an updated API. This patch updates the corresponding call into VOLK.
|
| |\ |
|
| |\ \ |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
gr-wxgui/lib/CMakeLists.txt
|
| |\ \ \ \ |
|
| |\ \ \ \ \ |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
gr-vocoder/CMakeLists.txt
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
CPack is not used, unmaintaned, and broken.
This does not eliminate any MSVC build functionality.
|
| |/ / / / / / |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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!
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
VOLK kernel polarbutterfly has an updated API. This patch updates the corresponding call into VOLK.
VOLK submodule update: v1.4
|
| | | | | | | |
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | | |
dependent in-trees
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
Luzpaz went ahead and found typos using `codespell -q 3`.
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| |_|/
|/| | |
|
| |/
|/| |
|
|/
|
|
| |
Class constants need to be defined in the C++ source or linker issues occur.
|
|
|
|
| |
Replace these lines using GSL to perform the matrix multiplication with a call to the mult_matrices_mod2 function, just to be concise.
|
| |
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Keep the original API for this class in 3.7. We should convert this to
gr::fec::code in 3.8.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
class.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|