OP25 Choppy and Laggy Audio, channel tracking works fine

Status
Not open for further replies.

0x1A4

Member
Joined
Aug 17, 2020
Messages
5
Location
Athens, GA
Good afternoon! This is my first post on the forums here so bear with me please.

I have a Raspberry Pi 4 with 4G ram and have largely succeeded in getting OP25 installed, started, and tracking my local police P25 system.

Despite it seeming to perfectly track transmissions and switch to the proper frequencies with stable constellation plots and proper tuning and strong signals on the fft plot, the audio comes through very garbled and laggy and often no audio at all.

My dongle is a RTL-SDR v3 and I've properly tuned my antenna. On GQRX the signals are nice and strong and right where they are expected to be.
Below I've attached two videos of the sound I am getting as well as a video of me launching OP25 and showing it track channels along with a constellation plot.

My command for launching OP25:
Code:
./rx.py --args 'rtl' -N 'LNA:47' -S 500000 -x 2 -f 857.9375e6 -o 17e3 -q -1 -T trunk.tsv -P constellation -V -2 -2 -n -U 2> stderr-stream0.2
I have tried many combinations of settings but this has gotten me the most ~reliable~ garbled audio lol

Behavior w/ Plot
Clip of Audio

Here is my spectrum plot (at the time tracking a channel):
ylugQP7.png


If there is more info I could offer please let me know.
Thanks for the help!
 
Last edited:

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
8,041
Location
The OP
I notice most of the traffic channels on this system are encrypted.

LNA is a bit high, that could be adjusted downwards.

I'd try -S at 1000000.

I see two -2 (TDMA) parameters.

I'd forget the -o parameter for now.

What does your mixer plot show?

I'd leave out the Constellation plot for now.

For the TDMA system I monitor, this is the command line I use:


./rx.py -l http:192.168.1.189:8080 --args 'rtl' -N 'LNA:37' -q 0 -S 960000 -x 1.25 -d -175 -T trunk.tsv -V -2 -U 2> stderr.2

I load the cch from the trunk.tsv file.

The http addy is the console I use for the web interface.
 

0x1A4

Member
Joined
Aug 17, 2020
Messages
5
Location
Athens, GA
The command I posted was slightly out of date, my frequency offset is actually only 5 hz. The reason for the two -2 flags is that one is for the -V option and the other is the -2 specifying Phase II TDMA.

I have updated the command per your recommendations however, and the result is unfortunately almost exactly the same. I do enjoy the web interface though.

Here's my new command:
./rx.py -l http:192.168.1.230:8080 --args 'rtl' -N 'LNA:47' -S 960000 -x 2 -f 857.9375e6 -o 5 -q -1 -T trunk.tsv -V -2 -2 -U 2> stderr-stream0.2

Lowering the LNA produced mixed results.

Here are my datascope and mixer plots:
firefox_oaF5EwkCj0.png
firefox_ZhxfB85QkA.png

Finally, you are correct, most channels on the network do seem to be encrypted. However, not all are, and I assume when I am hearing the garbled voice that is still legible but barely that I am not listening to encrypted traffic correct?

I notice most of the traffic channels on this system are encrypted.

LNA is a bit high, that could be adjusted downwards.

I'd try -S at 1000000.

I see two -2 (TDMA) parameters.

I'd forget the -o parameter for now.

What does your mixer plot show?

I'd leave out the Constellation plot for now.

For the TDMA system I monitor, this is the command line I use:


./rx.py -l http:192.168.1.189:8080 --args 'rtl' -N 'LNA:37' -q 0 -S 960000 -x 1.25 -d -175 -T trunk.tsv -V -2 -U 2> stderr.2

I load the cch from the trunk.tsv file.

The http addy is the console I use for the web interface.
 
Last edited:

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
8,041
Location
The OP
Any voice traffic that is encrypted would not sound like voice, assuming AES which is likely the codec used.

Mixer looks good.

Still not understanding the -V -2 - how does -2 modify -V? The -2 in my string is for TDMA.

Can you attach your trunk.tsv?
 

wgbecks

Active Member
Joined
Jan 17, 2005
Messages
921
Location
NE Wisconsin
Yes, lose the extra (-2) from your command line... Now using local audio may be problematic for a number or reasons having to do with ALSA vs PulseAudio. However, The -U tells me you're likely using the hadphone jack on your Pi-4. and you MUST use a 4-pole plug to connect your amplified speker(s) to your Pi, or at least a 4-pole to 3-pole adpater when using the 3.5 mm headphone jack.

The reason is because there is analog video present on one of the poles in the jack, and inserting a 3-pole plug cause one of the audio chanels to cross with the video signal causing a very fuzzy and distorted sound.

Alternatively, you might install Liquidsoap and Icecast2 then send your audio to the Icecast2 server using liquidsoap as the streaming interface betweeen op25 and Icecast.

Bill
 

0x1A4

Member
Joined
Aug 17, 2020
Messages
5
Location
Athens, GA
Yes, I am using the headphone jack. I am also using a standard 3.5mm auxiliary jack so I think you may be onto something. I have a 4-pole plug and will give it a try and report back.

Also, sorry for my confusion with the -U option. I thought that the -2 was an argument to -U for some reason. Got that removed now and will report back soon.

Edit: however, I will say I have tuned into FM radio stations in GQRX and they play just fine on the aux cord that I am using.

Yes, lose the extra (-2) from your command line... Now using local audio may be problematic for a number or reasons having to do with ALSA vs PulseAudio. However, The -U tells me you're likely using the hadphone jack on your Pi-4. and you MUST use a 4-pole plug to connect your amplified speker(s) to your Pi, or at least a 4-pole to 3-pole adpater when using the 3.5 mm headphone jack.

The reason is because there is analog video present on one of the poles in the jack, and inserting a 3-pole plug cause one of the audio chanels to cross with the video signal causing a very fuzzy and distorted sound.

Alternatively, you might install Liquidsoap and Icecast2 then send your audio to the Icecast2 server using liquidsoap as the streaming interface betweeen op25 and Icecast.

Bill
 
Last edited:

0x1A4

Member
Joined
Aug 17, 2020
Messages
5
Location
Athens, GA
Unfortunately, the results with the 4-pole aux were exactly the same. I may install liquidsoap and icecast2 anyways just because it is more convenient overall.

My trunk.tsv is:
Code:
"Sysname"    "Control Channel List"    "Offset"    "NAC"    "Modulation"    "TGID Tags File"    "Whitelist"    "Blacklist"    "Center Frequency"
"Athens"    "857.9375"    "0"    "0x6f1"    "CQPSK"    "athens.tsv"    ""
 

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
8,041
Location
The OP
AES is not a codec.

And are you suggesting that a different encryption algorithm (like ADP) would sound/appear any different?
No need for the pedantics. I am merely saying that it would not sound like voice.
 

0x1A4

Member
Joined
Aug 17, 2020
Messages
5
Location
Athens, GA
Strange update, I am in the process of setting up liquidsoap and icecast2 and I edited my command to remove the -U flag and enable the -w flag. Before even finishing the liquidsoap and icecast setup I am now getting voice loud and clear over the headphone jack. Not sure why this is, but I am going to try to finish setting this up and ditch the speakers altogether.
 

boatbod

Member
Joined
Mar 3, 2007
Messages
3,339
Location
Talbot Co, MD
Current default behavior should be (IIRC) to mute encrypted traffic so it does not play at all. The audio clip in the OP's first post sounds really weird, kinda like two sources are attempting to write to the PCM device at the same time. Given the unexplained happenings in post #10 I tend to think there may be an instance of audio.py running somewhere, or perhaps two instances of op25. Either way it's rather weird as there should be clashes when multiple apps try to open the same UDP port for writing.
 
Status
Not open for further replies.
Top