DMR Trbo Decode / Error Improvement

Status
Not open for further replies.

woodpecker

Member
Joined
Aug 7, 2005
Messages
729
Hi folks,

I found by chance that the DMR Trbo decode quality/error rate improved dramatically when a 3kHz low pass filter was applied to the raw audio DSD input stream. I presume this should really be a root raised cosine filter? but does anyone know how to implement it in the source code?

Despite some time looking at the code I struggle to see exactly how the audio samples are collected and how to add a filter, any C gurus out there? It would be nice to have an option to insert such a filter with a command option.
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,399
Location
Carroll Co OH / EN90LN
Hmm interesting. I don't know anything about implementing low pass filters, but I'm wondering if this is a task that could be accomplished in rather simple fashion for those of us using an SDR. Any ideas?

If somebody else were able to duplicate your results, I suspect we'd see a huge interest from others wanting to do the same. I don't know anybody [except those that make up stories] who are getting perfect decodes on TRBO / NXDN / P25 in DSD.

Mike
 

woodpecker

Member
Joined
Aug 7, 2005
Messages
729
Here is a video of the same sample played first without any filtering and then a 3 kHz LPF, you can also see the improvement in the frame errors indicated by the error bars in dsd. This was quite a weak signal as well.

dsdlpf - YouTube
 

fdnybuff18

Member
Premium Subscriber
Joined
Dec 19, 2002
Messages
13
Location
NY
woodpecker,

Did you make your filter or did you purchase it? If you purchased, do you have a source?


thank you

fdnybuff18
 

woodpecker

Member
Joined
Aug 7, 2005
Messages
729
The filter is built into the Winradio software, its a digital filter, I am supplying dsd with audio from a Winradio G39 via VSC (winradio virtual audio cable).

A similar (or better) filter should be coded into dsd, I cannot see any filter in the dsd code, the java program DMR Decode has a root raised filter coded into it, we need someone to add a similar filter into dsd with a command switch so it could be enabled for GFSK etc
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,399
Location
Carroll Co OH / EN90LN
That vid definitely reveals a marked increase in performance. Wonder if that WinRadio is employing a hardware filter that you are enabling/disabling or if that is a software filter. If software, it should be something I can do in SDR-Radio as well. I'm going to have to mess around.

Mike
 

woodpecker

Member
Joined
Aug 7, 2005
Messages
729
That vid definitely reveals a marked increase in performance. Wonder if that WinRadio is employing a hardware filter that you are enabling/disabling or if that is a software filter. If software, it should be something I can do in SDR-Radio as well. I'm going to have to mess around.

Mike

Its a software filter on the audio output, it should be possible to run any discriminator output through a similar software filter using something like virutal audio cable to connect the audio.

The underlying issue of course is that dsd doesn't do the correct filtering, I would have thought a C programming guru could add it in quite easily, Ian's java DMR Decoder has a DMR root raised filter defined in the AudioInThread.java code.
 
Status
Not open for further replies.
Top