-
-
Notifications
You must be signed in to change notification settings - Fork 22
DMR message decode issue #231
I am running dsd-neo using dsd-neo.exe -i tcp:127.0.0.2:25500 then i transmit signal from DMR it give demode audio perfectly, but when i send a message from DMR, it get the signal but it doesn't give me decoded text. why?
NOTICE: TCP Connection Success!
Audio In Device: tcp:127.0.0.2:25500
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=XX �[31m| CACH/Burst FEC ERR�[0m
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=XX | DATA �[0m�[31m (CRC ERR) �[0m
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:33 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC �[31m
SLOT 1 Data Terminator (TD_LC) �[0m
09:51:34 Sync: +DMR MS/DM MODE/MONO | Color Code=01 �[31m| CACH/Burst FEC ERR�[0m
09:51:34 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:34 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:34 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:34 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34U
09:51:35 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC �[31m
SLOT 1 Data Terminator (TD_LC) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 �[31m| CACH/Burst FEC ERR�[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | DATA �[32m
Slot 1 Data Header - Indiv - Short Data: Defined - Response Requested - Source: 31 Target: 1234
SD:D [DD_HEAD] - SAP 10 [Short DT] - BLOCKS 09 - DD 16 - PADb 96 - FMT 16 [UTF-32 ] - Confirmed Data�[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m
Slot 1 - Multi Block PDU Message CRC32 ERR�[0m�[31m (CRC ERR) �[0m
09:51:36 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC �[31m
SLOT 1 Data Terminator (TD_LC) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 �[31m| CACH/Burst FEC ERR�[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | DATA �[32m
Slot 1 Data Header - Indiv - Short Data: Defined - Response Requested - Source: 31 Target: 1234
SD:D [DD_HEAD] - SAP 10 [Short DT] - BLOCKS 09 - DD 16 - PADb 96 - FMT 16 [UTF-32 ] - Confirmed Data�[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C
09:51:37 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m (CRC ERR) �[0m
09:51:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | R34C �[31m
Slot 1 - Multi Block PDU Message CRC32 ERR�[0m�[31m (CRC ERR) �[0m
09:51:38 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | TLC �[31m
SLOT 1 Data Terminator (TD_LC) �[0m
All reactions
Replies: 2 comments 6 replies
Also i am facing [FLCO FEC ERR] due to which my audio data is being lost. how can i correct this error. i'm using DMR + RTL-SDR
16:16:07 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*
�[32m SLOT 1 TGT=16777215 SRC=31 Group Broadcast Call �[0m
16:16:07 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*
�[32m SLOT 1 TGT=16777215 SRC=31 Group Broadcast Call �[0m
16:16:07 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*
�[32m SLOT 1 TGT=16777215 SRC=31 Group Broadcast Call �[0m
16:16:08 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*
�[31m SLOT 1 FLCO FEC ERR �[0m�[31m (FEC ERR)�[0m
�[31m SLOT 1 SB/RC (FEC ERR) E:13; I:00B8E389 D:7FF; �[0m
16:16:09 Sync: +DMR MS/DM MODE/MONO | Color Code=00 | VC*
�[31m SLOT 1 FLCO FEC ERR �[0m�[31m (FEC ERR)�[0m
WARNING: Input Level LOW -40.8 dBFS: raise source/input volume if signal is present
16:16:10 Sync: +DMR MS/DM MODE/MONO | Color Code=04 | VC*
�[31m SLOT 1 FLCO FEC ERR �[0m�[31m (FEC ERR)�[0m
�[31m SLOT 1 SB/RC (FEC ERR) E:8; I:0389902E D:0D5; �[0m
16:16:10 Sync: +DMR MS/DM MODE/MONO | Color Code=03 | VC*
�[32m SLOT 1 TGT=16777215 SRC=31 Group Broadcast Call �[0m
16:16:11 Sync: +DMR MS/DM MODE/MONO | Color Code=01 | VC*
All reactions
Looking through this output, DSD-neo is detecting the DMR transmission and successfully reading the data header, but the actual message blocks are arriving corrupted.
The header says this is a confirmed Short Data message with nine 3/4-rate blocks and UTF-32 formatting. After that, nearly every R34C block reports:
(CRC ERR)
and the completed message ends with:
Multi Block PDU Message CRC32 ERR
Because the payload fails both the individual block checks and the final PDU CRC32 check, DSD-neo cannot safely display the text. Relaxing the CRC checks would not repair the message, it would most likely produce garbage.
The later output points to the same reception/input problem:
CACH/Burst FEC ERR
FLCO FEC ERR
Input Level LOW -40.8 dBFS
Voice can still sound acceptable while data messages fail because a multi-block data message needs every block to be received correctly.
A few things to check:
- Confirm the TCP producer is sending signed PCM16LE, mono, at 48 kHz.
- Raise the audio/source level in the SDR application; the incoming PCM level is currently low.
- Make sure the signal is accurately centered and the SDR’s frequency correction is right.
- Avoid an overly narrow NFM filter.
- Disable noise reduction, audio EQ, or other processing that may distort the DMR discriminator audio.
- Check RF gain and signal quality, but avoid turning the gain up far enough to overload the receiver.
--input-volume 2 can be tried as a quick test if the TCP audio itself is simply too quiet, but it will not improve RF SNR or repair distorted audio.
Could you also provide:
- The exact DSD-neo version
- Your complete command line
- The SDR application and its NFM bandwidth/audio settings
- A short, raw input recording covering one known test message
You can make the recording with something like:
dsd-neo.exe -fs -i tcp:127.0.0.2:25500 -6 dmr-test.wav
All reactions
image Audio File: [dmr-test.wav](https://github.com/user-attachments/files/30073556/dmr-test.wav) imageLooking through this output, DSD-neo is detecting the DMR transmission and successfully reading the data header, but the actual message blocks are arriving corrupted.
The header says this is a confirmed Short Data message with nine 3/4-rate blocks and UTF-32 formatting. After that, nearly every R34C block reports:
(CRC ERR)
and the completed message ends with:
Multi Block PDU Message CRC32 ERR
Because the payload fails both the individual block checks and the final PDU CRC32 check, DSD-neo cannot safely display the text. Relaxing the CRC checks would not repair the message, it would most likely produce garbage.
The later output points to the same reception/input problem:
CACH/Burst FEC ERR FLCO FEC ERR Input Level LOW -40.8 dBFS
Voice can still sound acceptable while data messages fail because a multi-block data message needs every block to be received correctly.
A few things to check:
- Confirm the TCP producer is sending signed PCM16LE, mono, at 48 kHz.
- Raise the audio/source level in the SDR application; the incoming PCM level is currently low.
- Make sure the signal is accurately centered and the SDR’s frequency correction is right.
- Avoid an overly narrow NFM filter.
- Disable noise reduction, audio EQ, or other processing that may distort the DMR discriminator audio.
- Check RF gain and signal quality, but avoid turning the gain up far enough to overload the receiver.
--input-volume 2can be tried as a quick test if the TCP audio itself is simply too quiet, but it will not improve RF SNR or repair distorted audio.Could you also provide:
- The exact DSD-neo version
- Your complete command line
- The SDR application and its NFM bandwidth/audio settings
- A short, raw input recording covering one known test message
You can make the recording with something like:
dsd-neo.exe -fs -i tcp:127.0.0.2:25500 -6 dmr-test.wav
i am using dsd-neo VERSION 2.3.0,
i send a message from DMR, "helo i am junior, its a text message".
All reactions
Thanks, the screenshots help. The 48 kHz mono TCP output and no de-emphasis look right. One thing that jumps out is the 50 kHz NFM bandwidth... that’s much too wide for a 12.5 kHz DMR channel. Try around 12.5–15 kHz and retest.
The new output is still showing CRC errors on every R34C block plus the final PDU CRC32 error, so DSD-neo still isn’t receiving an intact message payload.
There’s also a separate limitation here: the radio is sending Defined Short Data as format 0x16 (UTF-32), which v2.3.0 doesn’t currently decode properly. So even after the reception errors are fixed, this particular text format will need some decoder work.
I tried downloading dmr-test.wav, but the attachment is returning a 404. Could you upload it again, maybe as a ZIP? Your -6 dmr-test.wav command is correct. Once I can replay it, I should be able to tell how much is reception-related versus the UTF-32 limitation.
All reactions
Thanks, the screenshots help. The 48 kHz mono TCP output and no de-emphasis look right. One thing that jumps out is the 50 kHz NFM bandwidth... that’s much too wide for a 12.5 kHz DMR channel. Try around 12.5–15 kHz and retest.
The new output is still showing CRC errors on every R34C block plus the final PDU CRC32 error, so DSD-neo still isn’t receiving an intact message payload.
There’s also a separate limitation here: the radio is sending Defined Short Data as format 0x16 (UTF-32), which v2.3.0 doesn’t currently decode properly. So even after the reception errors are fixed, this particular text format will need some decoder work.
I tried downloading dmr-test.wav, but the attachment is returning a 404. Could you upload it again, maybe as a ZIP? Your
-6 dmr-test.wavcommand is correct. Once I can replay it, I should be able to tell how much is reception-related versus the UTF-32 limitation.
well! i tried on 12.5 and 15k but still facing same issue. let me show you the files.
https://drive.google.com/file/d/1xobzbfLW7TujZdp8Y8TE1oHa4-YPrrBc/view?usp=sharing
i've uploaded the .rar file here. with all the files and Readme.text please review them. and you've mentioned that v2.3.0 doesn’t currently decode properly format 0x16 (UTF-32), then is there any other version or way from which i can achieve my requirement?
All reactions
i implemented the decoder changes to support this, the latest nightly build has it: https://github.com/arancormonk/dsd-neo/releases/download/nightly/dsd-neo-msvc-x86_64-native-nightly.zip
All reactions
Yes! Now i can see the text, currently i pulled the source code from your git, and i am trying to read it, i created .exe from that code, and using exe from release. please can you provide me the updated code or the file you've made changes, so that i can put it in the source folder? i am still learning many things and DSD is helping me alot.