dsdcc

Digital Speech Decoder (DSD) rewritten as a C++ library

Stars
284

Bot releases are visible (Hide)

dsdcc - Fix Golay_20_8 parity correction and index out of range Latest Release

Published by f4exb 11 months ago

PR #61 from @srcejon to fix #60

dsdcc - Maintenance release

Published by f4exb over 1 year ago

  • Do not memset after the end of the array. PR #55 from @dforsi
  • Initialize DMR basic privacy key to zero. PR #48 from @argilo
  • Implement stale action
  • Fix spelling errors. PR #45 from @dforsi
dsdcc - Removed leftover debug message in QR_16_7_6::decode

Published by f4exb over 3 years ago

Removes flooding debug message possibly only for DMR.

dsdcc - Fixed Golay(23,12) syndrome LUT

Published by f4exb over 3 years ago

There was still an issue with the Golay(23,12) syndrome LUT missing a few values. However it does not appear that Golay(23,12) is effectively used.

dsdcc - Fixed some FEC codes decoding errors

Published by f4exb over 3 years ago

Fixed syndrome lookup table based decoder errors when bit flips occur in the parity bits. The fix could benefit to DMR, YSF and dPMR modes.

dsdcc - Tolerate mismatching symbols in sync sequence

Published by f4exb about 4 years ago

This concerns all modes and allows to be more flexible on the synchronization sequence that will tolerate some mismatching symbols. For now the rule depends on the number of symbols in the sequence and is the following:

  • less than 24 symbols: 1 symbol tolerance (NXDN, YSF, dPMR: some)
  • greater or equal to 24 symbols: 2 symbols tolerance (DMR, D-Star, dPMR: some, P25: unused, X2-TDMA: unused, Pro-Voice: unused)
    Thus it may be able to capture more frames in adverse conditions but is also exposed to some false positives. This is a compromise and you can also filter the desired mode(s). In general it will achieve better decodes. This is a rather important change hence the middle version upgrade.
  • DMR BP: apply XORing only to the first 49 bits of the AMBE frame (data bits). But this does not seem to fix it. DMR BP may be remove in the next revision(s).
dsdcc - DMR basic privacy

Published by f4exb over 4 years ago

  • Implemented DMR basic privacy (issue #31)
  • Fixed discrepancy between tag and CMakeLists.txt version (issue #29)
dsdcc - Fixed zero divide in race conditions

Published by f4exb about 5 years ago

In DSDSymbol::pushSample the m_count variable could be zero if some other thread resets it. In case it is zero it means the symbol sequence should be restarted. This should fix a possible program crash that was detected in SDRangel (issue: https://github.com/f4exb/sdrangel/issues/406). In DSDcc this should fix #24

When changing decode mode with DSDDecoder::setDecodeMode the state was not re-initialized properly resulting in the decoder being stuck in the previous mode. In consequence when changing baud rate in SDRangel the decoder could not detect the modes relevant to the new baud rate.

dsdcc - NXDN: corrected messages display

Published by f4exb over 5 years ago

  • NXDN: corrected messages display
  • Various changes in cmake build for Mac O/S and clang compatibility
dsdcc - MSVC compatibility

Published by f4exb almost 6 years ago

Put in place the export logic for compatibility with MSVC compilers.

dsdcc - NXDN: support full rate (EFR)

Published by f4exb over 6 years ago

EFR vocoder implementation for 4800 S/s rate. DV serial support only

dsdcc - Fixed compilation error

Published by f4exb over 6 years ago

Reverted recent cleanup changes that introduced a compilation error when using serial DV. Fixed the unused variables warning by declaring these variables only if serial DV is used.

dsdcc - HP filter enhancement

Published by f4exb over 6 years ago

Run the high pass filter on the 8 kS/s output from AMBE. It makes it easier to have the -3dB corner at 300 Hz exactly. Moreover it can prevent saturation of the interpolation and LP filter stage in case loud bass audio is present.

dsdcc - NXDN support

Published by f4exb over 6 years ago

Added complete support with voice for NXDN. This has been tested mainly with MMDVM and the 65000 reflector but has also been proved working with some local professional service so it should be fine for all standard NXDN networks.

  • dsdcc_1.8.0-1_amd64_xenial.deb Debian package for Intel/AMD 64 bit architecture for Ubuntu 16.04
  • dsdcc_1.8.0-1_amd64.deb Debian package for Intel/AMD 64 bit architecture for Ubuntu 18.04
dsdcc - Reverted "Implement DMR negative"

Published by f4exb over 6 years ago

Reverted changes made in v1.7.5 as this breaks normal DMR operation.

dsdcc - Upsampling by 2,3,4,5 with mbelib decoding

Published by f4exb over 6 years ago

Allow upsampling by other integer multiples of 8000 S/s than 6. Thus audio sample rates of 16000, 24000, 32000 and 40000 S/s can be supported in addition of the existing 8000 and 48000 S/s

dsdcc - Implemented DMR negative

Published by f4exb over 6 years ago

dsdcc - Changed cutoff of audio high pass filter when using mbelib

Published by f4exb almost 7 years ago

Changed to a Butterworth filter with 240 Hz @ -3 dB.

dsdcc - Added optional audio high pass filter when using mbelib

Published by f4exb almost 7 years ago

  • dsdcc_1.7.3-1_amd64.deb Debian package for Intel/AMD 64 bit architecture. Works in Ubuntu 16.04
  • dsdcc_1.7.3-1_armhf.deb Debian package for ARM (armv7l) architecture. Intended for Debian Jessie distributions
dsdcc - Activated compiler warnings and made corresponding changes

Published by f4exb over 7 years ago

This might improve stability

  • dsdcc_1.7.2-1_amd64.deb Debian package for Intel/AMD 64 bit architecture. Works in Ubuntu 16.04
  • dsdcc_1.7.2-1_armhf.deb Debian package for ARM (armv7l) architecture. Intended for Debian Jessie distributions