SDRTrunk - p25 decoder test release

Status
Not open for further replies.

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,657
Location
Carroll Co OH / EN90LN
Mike,
Are these 7 channels all control channels, or are they a mix of control and traffic? If they are a mix, do the control channels manage all of the traffic channels that you're listening to?

I only have 1 computer to test against (i7/16 GB/linux) and I'm averaging 26% CPU with 500 MB of heap (memory used) running airspy at 10msps with 1 control channel and 3 traffic channels P25/LSM.

10 msps is quite a bit to process. Each channel has to be mixed/downsampled to baseband at the full rate, and then decimated to 48 ksps for decoding. Airspy's no center DC spike also comes at a small cost ... 20 msps real running through a hilbert transform filter to get 10 msps complex.

Denny

Denny,

One (1) CC and 6 VCs. Rarely are more than two VCs active at the same time. I'm only monitoring a single system.

On Windows, at 2.5 Mbit (and two channels disabled because I know they fall out of range) after about 5 hours it's using 3.2 GB and about 27% of my CPU.

At 10 Mbit and all 7 channels enabled (1cc / 6 vc) it starts out at about 2.5 GB of memory but then very quickly increases to just over 4 GB and then bails out with an OOM/heap error.

CPU is not the issue. It is an issue, but one I recognize and one that simply means I need more CPU long term if I want to do that. I was just concerned about the memory errors. Only happens on 10 mbit.

What I'll probably do is just run the Airspy at 2.5 for VCs and an RTL for the CC. I haven't figured out yet if I can guarantee that the RTL only be used for CC and the Airpsy only for VC.

At any rate, decode is flawless of the LSM. No errors. Beautiful job!

Mike
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,657
Location
Carroll Co OH / EN90LN
Apparently I wasn't using my brain. I had set up the system and added 7 freqs (one CC, 6 VCs). I see that after deleting all the VCs and only having the CC, it still tracks the system and plays the audio and the memory usage is significantly lower as is CPU usage (under 30%) at 10 MSPS.

Working great now.

Mike
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Apparently I wasn't using my brain. I had set up the system and added 7 freqs (one CC, 6 VCs). I see that after deleting all the VCs and only having the CC, it still tracks the system and plays the audio and the memory usage is significantly lower as is CPU usage (under 30%) at 10 MSPS.

Working great now.

Mike

Excellent.

I noticed a few issues during testing yesterday that I still have to resolve. One that will impact you is that the program is holding on to traffic channels for too long after the calls are complete. I'll have to come up with a different strategy for call tear down to use the traffic channel pool more efficiently.

cheers,
Denny
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
10,657
Location
Carroll Co OH / EN90LN
Excellent.

I noticed a few issues during testing yesterday that I still have to resolve. One that will impact you is that the program is holding on to traffic channels for too long after the calls are complete. I'll have to come up with a different strategy for call tear down to use the traffic channel pool more efficiently.

cheers,
Denny

Hi Denny,

I did notice that it took what I felt to be an abnormally long amount of time to fade away those traffic channels once the traffic disappeared. Figured that if it still existed when you released the beta I'd say something. The only reason I even found it a bit annoying was that when there was just one channel in use with a voice call I couldn't easily tell which one of the lingering channels was the one that was active, at a glance. I figured the hold time was intentional [make sense] but that you probably had some way to adjust it [or where thinking of making it shorter or providing a way to adjust it].

Really, it has been virtually flawless once I figured out how to properly set it up. I am astounded by its ability to decode a really shoddy LSM signal. Spectacular work!

And, although you didn't support it just for me, I thank you profusely for adding the Airspy support!

Looking forward to whatever is next.

Mike
 

natedawg1604

Member
Premium Subscriber
Joined
Jun 29, 2013
Messages
2,732
Location
Colorado
Wow, this is pretty damn cool, awesome sounding audio! Is there any way to hold on a single talkgroup yet?
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
You can create an alias for the talkgroup and then assign a call priority (1=highest, 99 = lowest/default). When the talkgroup becomes active, it will preempt any other lower priority audio playback calls in progress. If you only want to hear a specific talkgroup, you can create aliases for the other talkgroups and set them all with a call priority of 'Do Not Monitor' and that way only the talkgroup(s) you designate will play through the mono or left/right audio channels.

When I add streaming in version 0.3.0, you'll be able to designate specific aliases/talkgroup(s) to specific streams. At that point, you could simply use a streaming client to listen.

cheers,
Denny
 

natedawg1604

Member
Premium Subscriber
Joined
Jun 29, 2013
Messages
2,732
Location
Colorado
You can create an alias for the talkgroup and then assign a call priority (1=highest, 99 = lowest/default). When the talkgroup becomes active, it will preempt any other lower priority audio playback calls in progress. If you only want to hear a specific talkgroup, you can create aliases for the other talkgroups and set them all with a call priority of 'Do Not Monitor' and that way only the talkgroup(s) you designate will play through the mono or left/right audio channels.

When I add streaming in version 0.3.0, you'll be able to designate specific aliases/talkgroup(s) to specific streams. At that point, you could simply use a streaming client to listen.

cheers,
Denny

Thanks for the updates and info. I was really hoping you're going to add the ability to hold & skip any random talkgroup, just like you can now with Unitrunker, OP25, DSD+ or hardware scanners. Regardless of priority, I still want the ability to "hold" on any random talkgroup which may be active on the system. It would be way cool to have streams with 2 talkgroups, but I would hope it will be easy to randomly skip & hold on any random talkgroup in each stream. Also, making "unwanted" talkgroups the lowest priority is only useful for eliminating talkgroups which I NEVER want to hear (such as school bus channels, which I would only want to hear during a school shooting or something). However, I still want the ability to hold on a vast amount of talkgroups, just like you can with Unitrunker or hardware scanner etc.
 
Last edited:

Mikek

Member
Premium Subscriber
Joined
Jan 10, 2003
Messages
305
Stumbled across this today and have been setting up a couple of systems. Now that I've done that, is there a way to select/deselect systems for decoding? I've got 15 channels in one busy trunking system that I want to exempt, when listening to my local system. Thanks!
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Thanks for the updates and info. I was really hoping you're going to add the ability to hold & skip any random talkgroup, just like you can now with Unitrunker, OP25, DSD+ or hardware scanners. Regardless of priority, I still want the ability to "hold" on any random talkgroup which may be active on the system. It would be way cool to have streams with 2 talkgroups, but I would hope it will be easy to randomly skip & hold on any random talkgroup in each stream. Also, making "unwanted" talkgroups the lowest priority is only useful for eliminating talkgroups which I NEVER want to hear (such as school bus channels, which I would only want to hear during a school shooting or something). However, I still want the ability to hold on a vast amount of talkgroups, just like you can with Unitrunker or hardware scanner etc.

I added a feature request for this: https://github.com/DSheirer/sdrtrunk/issues/50
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Stumbled across this today and have been setting up a couple of systems. Now that I've done that, is there a way to select/deselect systems for decoding?

After you have setup and saved a channel configuration, you can check the 'enable' box and save and it will start decoding.

I've got 15 channels in one busy trunking system that I want to exempt, when listening to my local system. Thanks!

To clarify, are you trying to lock out traffic channels in the system or user talkgroups?

If you're trying to lockout specific talkgroups:
1) Create an Alias list
2) For each lockout talkgroup, create an alias and attach a call priority with 'Do Not Monitor' selected
3) Select the alias list in your decode channel configuration.
4) Enable the channel for decoding.
 

Mikek

Member
Premium Subscriber
Joined
Jan 10, 2003
Messages
305
Thanks for the quick reply. I'm hoping to lock out whole systems while leaving others active.


Sent from my iPhone using Tapatalk
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Although you can setup multiple systems/sites/channels, you have to enable individual channels for decoding. It doesn't scan all of the channels that you've configured.

If you want to monitor a system that has 1 control channel and 15 traffic channels, you only have to configure the control channel for decoding. When the decoder detects a call starting, it will calculate the frequency for the traffic channel and automatically create a new decoder channel for the call and then delete it when the call is finished.
 

Mikek

Member
Premium Subscriber
Joined
Jan 10, 2003
Messages
305
OK, that was not my experience. I set up the control channels for decoding, and got nothing (no voice, no tracking, no logs/messages, no indication in the channel window of rx). When I set up all the voice channels, it worked.

I deleted all the 800Mhz systems last night and created a single system with about half a dozen UHF P25 repeaters. That worked fine. This morning after reading your post, II added a dongle, and re-added the 856Mhz control channel and restarted. The new 856 channel didn't show in the list, and neither dongle was tuned to the 800 band. I deleted all the UHF channels and restarted, both dongles are sitting in the 856 band (good) but there's still zero audio/decoding going on... Apologies for the questions, I'm trying to come up to speed quickly. What am I missing?

Edit: Here's the system - I've set up systems for the Countywide, North and Northwest cells with the same results
 
Last edited:

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
sdrtrunk doesn't decode Motorola Type II (3600-baud) control channels, yet. That's planned for the next version.

Since your's is a hybrid system (Moto Type II control with P25 voice), you're only option is to setup and enable each of the voice/traffic channels with the P25 decoder. I just posted an updated Version 0.2.0.beta.6 that you should use instead of any of the previous releases.

cheers,
Denny
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
351
Location
Central NY
Denny,

Been trying to see how you had been progressing on this and downloaded the latest beta. Got it up and running but can't hear anything. Is 2 RTL sticks needed? one for Voice and other for Control? I can see the items going across the screen in the logs and see the voice channel pop up but I don't hear anything. I need to check on the jmbe (sp) to make sure that is installed right also. Had problems one other time and it wouldn't build so will see what I come up with tonight.
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Denny,

Been trying to see how you had been progressing on this and downloaded the latest beta. Got it up and running but can't hear anything. Is 2 RTL sticks needed? one for Voice and other for Control? I can see the items going across the screen in the logs and see the voice channel pop up but I don't hear anything. I need to check on the jmbe (sp) to make sure that is installed right also. Had problems one other time and it wouldn't build so will see what I come up with tonight.

If your P25 voice calls aren't producing audio, then it's likely missing the JMBE library. If you run into any problems building the JMBE library let me know. The JMBE library can be compiled on any computer or OS and shared once you get it built. Simply place a copy of the library in the same folder where you run the sdrtrunk start script.

You only need 1 USB tuner stick if the channels that you want to monitor all fit within the bandwidth of the tuner. Otherwise, you can mix and match multiple tuners to cover all of the frequency ranges used by the system. SDRTrunk can allocate multiple channels from each tuner and the channels can be either control or traffic/voice. But, sdrtrunk won't tune off of the control channel in order to cover an out of band traffic channel -- it will stay locked onto the control channel.

Denny
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
351
Location
Central NY
Denny,

Thanks, I am using this on the Cortland P25 system that was supposed to be part of the 7 or so counties that are already in the big group. Will let you know on how I make out with the JMBE part. The only other thing that puzzles me is how the ID's come up when someone talks... In unitrunker I see the decimal version but this is showing the HEX version. Any way to change that?
 

DSheirer

Member
Premium Subscriber
Joined
Feb 15, 2010
Messages
587
Location
Fulton, NY
Denny,

Thanks, I am using this on the Cortland P25 system that was supposed to be part of the 7 or so counties that are already in the big group. Will let you know on how I make out with the JMBE part. The only other thing that puzzles me is how the ID's come up when someone talks... In unitrunker I see the decimal version but this is showing the HEX version. Any way to change that?

I have an enhancement request to add the ability to select either decimal or hex as the display value. Unfortunately, it's not an easy/quick fix, but one I'll work for a future release.
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
351
Location
Central NY
I have an enhancement request to add the ability to select either decimal or hex as the display value. Unfortunately, it's not an easy/quick fix, but one I'll work for a future release.

Sounds good Denny.... I can always work on a alias list as I have all the ID's in Unitrunker... But for now it is getting it all working as I would like to replace the Unitrunker/DSD+ setup I am using for my online feed with this setup.
 
Status
Not open for further replies.
Top