summaryrefslogtreecommitdiff
path: root/gr-digital/lib
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Replace boost::any with std::any"Josh Morman2021-11-061-3/+5
| | | | This reverts commit ccd28dfbb1504fdc29db267acd8aa3354fe10cd2.
* Replace boost::any with std::anyMarcus Müller2021-10-281-5/+3
| | | | | | | | This is a modernization possible through C++17 Fixes #4780 Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: Replace stdio logging with loggerDavid Winter2021-10-212-20/+22
| | | | | | | This commit replaces many uses of std::c{out,err} and printf with the appropriate GR_LOG_* directives. Signed-off-by: David Winter <david.winter@analog.com>
* runtime: unused remove misc.h/ccJosh Morman2021-10-141-1/+0
| | | | | | | | | misc.h in the public header is not implemented misc.h in the lib/ dir is implemented but not used Appears that all the misc can go without affecting API Signed-off-by: Josh Morman <jmorman@peratonlabs.com>
* gr-digital: Fix constellation normalization by average powerDavid Pi2021-09-071-15/+12
| | | | | | | Correct power normalization calculation. Add a qa test for amplitude and power normalization. Signed-off-by: David Pi <david.pinho@gmail.com>
* IWYU: iomanip, iostream, sstreamMarcus Müller2021-09-071-0/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* modules: include boost/format where usedMarcus Müller2021-09-076-0/+6
| | | | | | | | | | | | | | | | | | | in the classic modules: audio blocks digital dtv fec fft filter qtgui trellis/fsm uhd video-sdl vocoder/freedv_rx Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital/chunks_to_symbols: special case for the common single-dimension caseMarcus Müller2021-07-271-15/+38
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital/chunks to symbols: be less inefficientMarcus Müller2021-07-272-31/+50
| | | | | | | | | | | | | The block formerly took the tags from get_tags_in_range (which are sorted), gave them to tag_checker, which sorted them, and then went through every input sample, checking its index against the next tag. Removed the tag_checker; that saves us a sorting of a sorted vector. The other optimization is to not dispatch any tag encountered to the own message handler; instead, the handler is called directly. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital: constellation_receiver_cb reworkMarcus Müller2021-07-211-50/+84
| | | | | | | | Removes tag_checker Improves performance Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* classic modules: use common precompiled headersMarcus Müller2021-07-191-0/+3
| | | | | | | This commit contains all the additions to gr-*/lib/CMakeLists.txt applicable to modules already present in 3.8. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital/symbol_sync_{cc,_ff}: don't sort; it's already sortedMarcus Müller2021-07-192-2/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital/burst_shaper: don't sort; you don't have to, iterators existMarcus Müller2021-07-191-5/+6
| | | | | | | | | | Prior, the block reversed the tags by sorting them in reverse (instead of simply reversing the already sorted container), so that you could easily remove the last tag to advance in your vector of tags. There's an easier way: iterators. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital: header_payload_demux don't sort; get_tags_in_range is already sortedMarcus Müller2021-07-191-3/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital: Added a crc16 basic block. (#4649)cmrincon2021-07-123-0/+162
| | | Signed-off-by: cmrincon <cmrincon611@hotmail.com>
* global: automatically remove unused boost includesMarcus Müller2021-06-225-6/+1
| | | | | | | | used command: sed -i '/^#include.*boost.*$/d' $(ag -L '(boost::|BOOST)' $(ag --cpp -l '#include <boost')) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove unused <iomanip>, fix other includes in affected files when ↵Marcus Müller2021-06-172-3/+1
| | | | | | obvious Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove iostream from all files not use cout|cerr|cin|clogMarcus Müller2021-06-1711-11/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital: Add NRZI option to differential en/decoderDaniel Estévez2021-06-124-16/+66
| | | | | | | | | | | | | | | | | | | This adds an option to the differential encoder an decoder blocks to perform NRZI encoding and decoding. NRZI only makes sense with a modulus of 2, so the blocks constructors will throw and exception if passed nrzi = true and a modulus different from 2. The GRC blocks handle this by hiding the modulus field if the user selects NRZI encoding. A new unit test for the NRZI version of the blocks is added. Besides checking that encode plus decode gives the original, this test also compares the C++ implementation results against a Numpy implementation. Additionally, a faster implementation of differential encoding/ decoding for modulus 2 is included here. Signed-off-by: Daniel Estévez <daniel@destevez.net>
* digital: Remove crc32 utilityMartin Braun2021-05-222-99/+0
| | | | | | | | | | This patch removes a crc32 utility that used to be used in our CRC32 blocks, but no longer is. Right now, all this does is expose a generic CRC32 function to the user (both via Python and C++), but there are enough other libraries that let the user do that. Therefore, we'll remove this. Signed-off-by: Martin Braun <martin@gnuradio.org>
* digital: remove simple_{correlator,framer}Josh Morman2021-04-215-423/+0
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* digital: remove deprecated equalizersJosh Morman2021-04-217-545/+0
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* gr-digital: Fix MSK timing error detector (issue #3678).Nick Foster2021-03-102-5/+5
| | | | Signed-off-by: Nick Foster <bistromath@gmail.com>
* digital/simple_correlator: Remove manual memory managementThomas Habets2021-03-012-27/+15
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* digital/hdlc_deframer: Add some constThomas Habets2021-03-012-4/+4
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* digital/hdlc_deframer: Move static function out of classThomas Habets2021-03-012-18/+18
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* digital/hdlc_deframer: Remove manual memory managementThomas Habets2021-03-012-12/+9
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* digital: Simple correlator debug not based on writing to file but loggerMarcus Müller2021-02-182-21/+15
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* gr-digital: Fix errors in logging messagesZackery Spytz2021-02-122-4/+4
| | | | | | | "Interpolations" was misspelled. Also, there was a missing space after the word "symbol". Signed-off-by: Zackery Spytz <zspytz@gmail.com>
* gr-digital: Remove clang compiler override warnings.Ron Economos2021-02-042-4/+4
| | | | Signed-off-by: Ron Economos <w6rz@comcast.net>
* gr-digital: improved performance and capability of scramblers to 64-bit ↵Elof Wecksell2021-01-2911-78/+75
| | | | | | | registers. Use __builtin_parity or volk popcnt. qa was also enhanced to detect errors. Signed-off-by: Elof Wecksell <elof@wecksell.se> Co-authored-by: Martin Braun <martin@gnuradio.org>
* Removing unused <cerrno> (and includes found on the way)Marcus Müller2021-01-281-6/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-1918-23/+23
| | | | | | | | | | | | | | | | | | | | run /usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*' -fix .. from build directory. Then, clang-format -i $(git diff --name-only origin/master) to clang-format changed files. Then, refresh all header hashes in pybind bindings (*/python/bindings/*.cc) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* digital: fll_band_edge_cc: make_unique instead of reset(new)Marcus Müller2021-01-041-4/+5
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* C++14: Use std::make_unique instead of boost::make_uniqueMarcus Müller2021-01-046-33/+33
| | | | | | Also, clean up includes Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* Allow to choose whether to normalize constellation average magnitude, ↵Eduardo Sánchez Muñoz2020-12-181-15/+45
| | | | | | average power or to not normalize at all. Signed-off-by: Eduardo Sánchez Muñoz <esm@eduardosm.net>
* fir_filter: in constructor, 'decimation' is unusedJeff Long2020-11-308-18/+16
|
* digital: add constellation_encoder blockJosh Morman2020-11-163-0/+94
|
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-0363-311/+317
|
* Add `override` for common virtual function overridesThomas Habets2020-11-0358-72/+72
| | | | | | | | | | Mostly done with: ``` find -name "*_impl.h" | xargs sed -i -r '/(void forecast|int work|int general_work|bool check_topology)\(/{:back /\)/b nxt;N;b back;:nxt s/\)$|\)(;)/) override\1/g}' ``` Then I removed an incorrect `work` that this found.
* Fix typos throughout the codeluzpaz2020-10-292-2/+2
| | | | | | | * Fix various typos Found via `codespell v2.0.dev` `codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
* digital: ofdm_equalizer_simpledfe: add enable_soft_output optionjapm482020-10-281-12/+18
| | | | | | | | | Enable outputting equalized symbols that are not exactly constellation symbols. This is useful for OFDM soft decoding/demodulation (e.g. optimal turbo or LDPC decoding). For compatibility, this new behaviour has to be enabled by setting the new option "enable_soft_output" to true (false by default).
* digital/correlate_access_code: Prevent false triggersThomas Habets2020-10-198-8/+30
| | | | | | | | Leftover data from last time CAC triggered, or just leading zeroes being ignored. This commit prevents these by assuring that we've processed at least as many bits as the code is, before allowing a trigger.
* digital/qa_header: Remove manual memory managementThomas Habets2020-08-142-53/+30
|
* digital/protocol_formatter_async: Remove manual memory managementThomas Habets2020-08-141-6/+4
|
* digital/probe_mpsk_snr_est: Remove manual memory managementThomas Habets2020-08-142-32/+25
|
* digital/msk_timing_recovery: Remove manual memory managementThomas Habets2020-08-142-5/+4
|
* digital/pfb_clock_sync: Remove manual memory management and pointersThomas Habets2020-08-144-32/+26
|
* digital/mpsk_snr_est: Remove manual memory managementThomas Habets2020-08-142-32/+25
|
* digital/crc32_async: Remove manual memory managementThomas Habets2020-08-141-6/+4
|