Java program to decode DMR

Status
Not open for further replies.

loumaag

Silent Key - Aug 2014
Joined
Oct 20, 2002
Messages
12,935
Reaction score
11
Location
Katy, TX
GRE scanners pass data (CCDump) through the PC/IF (USB) port, they do not pass discriminator audio.
This is true; however, the PSR800 (and I think some others) can pass discriminator audio out of the headphone jack with a menu setting.
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
Suppress Voice Frames?

Very nice program! One request at this point:

Can you add Voice Frames to the list of (non-)display options?

In short, I would only like to see data for voice users (Group Address, Service Options, and Slot Type). Right now, I have a screen full of "DMR Voice Frame" with no sunstantial data even though I have as much turned off as I can.

In short, I just want to see the important voice data with no 'overhead'.

Thanks,
Joe M.
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
Signal level

I didn't want to post this in the other post so it does not get lost in the text or overlooked:

What signal level is a good goal for decode? I'm finding that right on the yellow/green fringe (aboud 33% of the bar) seems to be the best (with just a little trial and error of other levels). I'm getting about 20% bad frames.

Most of what I've seen so far are non-voice transmissions with only a few voice transmissions in the past few hours. But, it's late at night.

Thanks again,
Joe M.
 

Forts

Mentor
Database Admin
Joined
Dec 19, 2002
Messages
7,120
Reaction score
1,446
Location
Ontario, Canada
I usually have the bar at about 20% or so... but depending on which PC I'm using, and which radio is feeding it, that sometimes varies quite a bit. Doesn't seem to affect the decode quality a lot from what I've seen... the quality of signal to the scanner makes the biggest difference.
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
Thanks Joe that's a very good idea that I have added to build 55 which I have just uploaded to Github ..

https://github.com/IanWraith/DMRDecode/downloads

As usual if anyone finds any bugs or has any feature suggestions please post to this forum.

Regards

Ian

That's certainly a quick response.

That's much better. I have the feeling I'm not going to get much data out of this system, though. I don't have any users identified despite hearing voice traffic. I'm getting lots of the following:

4:09:40 PM DMR Voice Frame with Embedded Signalling
EMB : Colour Code 2 : Single fragment LC
4:09:40 PM Embedded Single Block LC : 00011011110101101100101101110001
4:09:40 PM DMR Voice Frame with Embedded Signalling
EMB : Colour Code 2 : Single fragment LC
4:09:40 PM Embedded Single Block LC : 00011111110001111100101101100001

I also saw this once:

Slot Type : Colour Code 0 Rate ¾ Data Continuation

I've read what the data blocks are, but I don't recall any posts about the one line. I think there may be multiple TRBO systems on this one frequency I've been monitoring.

Any insight would be appreciated.

I have the 'bad frames' rate down to around 15.

On ideas/suggestions:

1. Can the screen filters have an option to be applied to the saved log as well? (so the saved files are filtered in the same way the screen is)

2. I have not seen anything saved in the Quick Log. Is that because I have not seen any Group info?

3. A bug? Disabling the voice frames seems to be disabling the CACH as well. While I don't mind this, I do have CACH display enabled and it's not showing the CACH data.

3A. I noticed that if I disable "show good frames only", the CACH lines come back but the Voice Data lines are still not shown (correct, as that is disabled). I also see several error lines in this mode ("DMR Embedded Frame - Error!" is what is showing)

4. A separate screen showing the decoded Group IDs and Source IDs would be a nice feature to put on the slate down the road. Perhaps the program could even have them color coded with green for currently active and red, yellow, or blue for not currently active (ala the SYNC box).

Thanks,
Joe M.
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
Found the control channel for the previous frequency in question.

I'm not getting scrolling:

2:02:33 AM DMR Data Frame
System Message : 0000000000000000000000000000000000000000000000000000000000000110
Connect Plus CSBK : CSBKO=1
Slot Type : Colour Code 12 CSBK

Any way to add these to the display/no display list?

Is that going to affect display of any group/source info?

Oh - one more feature request: An option to scroll up (as the program does now) or scroll down (as DSD does). It's kind of 'funky' watching both screens with them going in opposite directions. No rush on this one if it can be done, as it's just cosmetic.

Thanks again,
Joe M.
 
Last edited:

IanWraith

Member
Joined
Sep 29, 2010
Messages
269
Reaction score
0
Location
ianwraith@gmail.com
Hello
Apologies for this delayed reply but its been a busy start to the week.

I will take your points one at a time ..

1) Screen filters listed in the log file. Yes that sounds like a good one which I will add to the TODO list.

2) Quick log. If enabled this writes details of calls taken from Group Voice Channel User LC and Unit to Unit Voice Channel User LC plus Capacity Plus Full Link Control LC : FLCO=4 to a special file. It was added so a certain user could quickly find the radios in use on a system.

3) (and 3A) Problem here is that several data types can be contained in the same frame. So filtering can be awkward. I need to look into this.

4) Screen scrolling and display. My intention is to eventually have DMRDecode use the new Oracle JavaFX graphics and user interface libraries. Its very early days at the moment (I am just learning to use these libs) though.

Regards

Ian
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
Thanks for the reply.

A few questions mostly with respect to the quick filter log (and VERY BIG thanks for that feature, as it's showing what I want to see, too.)

Can the date be added to a column in the quick filter log?

I think the columns are arrenged as follows:
Time / COLOR / Type / Destination / Source / ? / options

Is that correct, and what is the one with the ? (it has a single number in it - in my case, it's always '2')

I understand what most of the types, but what is "Terminator Data Link Control PDU"? What does it mean is happening? The source on those lines is always "16776410" - any significance to that?

It looks like destination is a talkgroup, or a radio ID. Is that correct?

In the future, if there were a way to filter 'seen' radio IDs as the source, that would be great, too.

Thanks again for this wonderful program!

Joe M.
 

IanWraith

Member
Joined
Sep 29, 2010
Messages
269
Reaction score
0
Location
ianwraith@gmail.com
Hello
In answer to your questions ..

1) Adding a date to the quick log sounds like a good idea I will add it to my TODO list.

2) The quick log format is currently time,Colour Code,Type,Target Ident,Source Ident,Channel (i.e time slot) then options.

2) Data transfers end with a Terminator Data Link Control PDU. On most DMR systems you are seeing a radio sending its GPS position to base. The source ident *may* indicate the software in use.

3) Yes that is the meaning of destination. The DMR specification uses a number of different words for these things so I just use the wording that they use to minimise confusion.

I hope that helps.

Regards

Ian
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
It helps a lot.

You say the '?' column is the timeslot, but wouldn't that be the same as the LCN? In the quick log, this is always "2" on mine, but the regular log shows LCN 1/2/3 in use. Not sure how LCN 1 can be used since it's the "control channel", but maybe they have enough bandwidth for the data and voice.

This brings up another question: Can the LCN be added to the quick log?
(assuming that is not the same as the timeslot, in which case it does not appear to be logging correctly on the system I'm monitoring).

And yes, I understand that there are two LCNs per frequency.

Thanks again,
Joe M.
 

IanWraith

Member
Joined
Sep 29, 2010
Messages
269
Reaction score
0
Location
ianwraith@gmail.com
Hi Joe
Use of the timeslots really depends on how the system is setup. Around here we have a system that always uses slot 1 for traffic reserving slot 2 for emergency calls. Others allow slots 1 and 2 to be used for normal calls.

OK on logging the LCN in the quick log. I will have to look into that.

Regards

Ian
 

IanWraith

Member
Joined
Sep 29, 2010
Messages
269
Reaction score
0
Location
ianwraith@gmail.com
Hi Folks

I have just uploaded DMRDecode build 56 to Github ..

https://github.com/IanWraith/DMRDecode/downloads

Just a couple of new features as suggested by Joe. The quick log now includes a date and the status of the filters (Display Good Frames Only etc etc) is shown at the start of log files. If one of these filters is changed by the user while logging this is shown in the log.

As ever bug reports and feature requests to this forum please.

Regards

Ian
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
A mode I would really like to see is a mode that will only show channel grants on the screen.

I'm monitoring a system with DSD, but if I try to read which TGID it is that is talking (using DMRD), it scrolls by way to fast to see the TGID. The only way I can see which one is talking is to stop the log, open it, and see which was the last one used.

If this info were not scrolling so fast, it would make the process much more usable for my purposes. I bet others would really like this mode, too.

If it were really fancy, it would filter duplicate consecutive lines, too. :)

Basically, I want to be able to filter out these lines:
10:08:53 PM DMR Data Frame
Slot Type : Colour Code 12 CSBK
Connect Plus CSBK : CSBKO=1
System Message : 0000000000000000000<snip>

They repeat several times each second.

Joe M.
 

Voyager

Member
Joined
Nov 12, 2002
Messages
12,058
Reaction score
53
I just noticed that the info is 'saved' at the bottom of the screen. Still, I think it would be useful to only show the history of the channel grants in the log window.

Joe M.
 

dtscho

Member
Database Admin
Joined
Aug 7, 2001
Messages
1,856
Reaction score
185
Location
Fredericksburg, VA
Hashed Addresses

My PSR-800 has a loose headphone jack. Therefore, I have to hold the audio cable very carefully when I have it hooked up to the computer to use DMRDecode. Even with strong signals, the program has a difficult time getting the TRBO parameters, particularly the group number. However, the program does usually get the hashed address. I realize the hashed address is not a definitive indicator of the actual address, but it's something. Here are some I've obtained:

Hashed: 174 - Actual: 1001
Hashed: 167 - Actual: 1002
Hashed: 59 - Actual: 100
Hashed: 27 - Actual: 5

Does anyone know more of them? I've seen hashed addresses of 239 and 250 - anyone know these? Knowing the actual address would enable me to program my TRBO radio.

Thanks,
Dave
 

Forts

Mentor
Database Admin
Joined
Dec 19, 2002
Messages
7,120
Reaction score
1,446
Location
Ontario, Canada
The PSR-800 doesn't have a 'true' discriminator output, which is why you are having issues getting a good decode. If DMRDecode is something you really need to get working, I'd suggest grabbing a cheap old scanner from a flea market, pawn shop, classifieds etc and adding a discriminator tap to it. Then you shouldn't have any issues at all.
 

dtscho

Member
Database Admin
Joined
Aug 7, 2001
Messages
1,856
Reaction score
185
Location
Fredericksburg, VA
Well, it has the discriminator data output to the headphone jack. See this page:

PSR-800 - The RadioReference Wiki

But whether or not that's "true" disc output, I know that my setup was working much better before the headphone jack lost its connection. I used to be able to obtain the system parameters (color, slot, group) much more easily.

Dave
 

Forts

Mentor
Database Admin
Joined
Dec 19, 2002
Messages
7,120
Reaction score
1,446
Location
Ontario, Canada
Hmmm.... I didn't think it was a 'true' discriminator output, but maybe it is... I will have to take a closer look at the one my buddy has.

Still, I would recommend grabbing a cheap 2nd scanner if possible. Makes life a whole lot easier.
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Reaction score
116
Location
Virginia
The PSR800 is somewhat unique. It will provide decoded trunking data for P25, Motorola, EDACS and LTR over the USB cable. To decode formats the radio doesn't understand, you can also enable discriminator audio at the headphone.

The nice thing is you don't need to modify the radio.
 
Status
Not open for further replies.
Top