Tetra decoding

Status
Not open for further replies.

sq5bpf

Member
Joined
Jan 23, 2014
Messages
517
Reaction score
15
i've added a list of vendor-reserved SDS protocol identifiers to osmo-tetra-sq5bpf, so if anyone has some unknown SDS protocols, this might show what is sending them (and nothing else, but it's interesting nevertheless).

if you want just the list then see tetra_sds.h
 

oz1jua

Member
Joined
Dec 15, 2014
Messages
134
Reaction score
31
Location
Copenhagen
flowgraphs ?

i've added flowgraphs for the funcube dongle and airspy, contributed by Marian OM1EI

unfortunately i have neither the funcube nor the airspy, could anyone test them if they work?

I have an AirSpy running. Haw can I test this. I have updated to Telive version 1.7.
 

grahampaull

Member
Joined
May 31, 2013
Messages
127
Reaction score
3
Can I ask what kind of hardware you are all using for Telive?

I only ask because I lost my i7 laptop which was great for Telive, it died a horrible death. I am currently using a Dell Vostro 3700 i3 with 6GB ram, I get a lot of stuttering when using 2 or more channels.

I am now on the lookout for a PC which will mainly be used for Telive.

What hardware are you guys using, how well is telive running and how many channels?

Sent from my SM-G925F using Tapatalk
 

sq5bpf

Member
Joined
Jan 23, 2014
Messages
517
Reaction score
15
What hardware are you guys using, how well is telive running and how many channels?

old dell lattitude E4300 with intel core2 duo 2.26GHz (bios is from 2008, so this is probably the year it was bought): can do 4 channels with 2Ms/s SDR sample rate and doesn't stutter with live playback. can do more with various tweaks (lowering the sample rate, disablng the spectrum graph, playing back new recorded files instead of live playing etc), could probably do 8 channels. this was under debian 7 and debian 8 64bit.

i know a very similar laptop can do one channel under windows 7 and virtual machine in vmware player.
 

grahampaull

Member
Joined
May 31, 2013
Messages
127
Reaction score
3
old dell lattitude E4300 with intel core2 duo 2.26GHz (bios is from 2008, so this is probably the year it was bought): can do 4 channels with 2Ms/s SDR sample rate and doesn't stutter with live playback. can do more with various tweaks (lowering the sample rate, disablng the spectrum graph, playing back new recorded files instead of live playing etc), could probably do 8 channels. this was under debian 7 and debian 8 64bit.

i know a very similar laptop can do one channel under windows 7 and virtual machine in vmware player.
That's not too shabby. I think I will spend a few hours today doing some tweaks. One thing I forgot to change was the sample rate, I will change this today.



Sent from my SM-G925F using Tapatalk
 

sq5bpf

Member
Joined
Jan 23, 2014
Messages
517
Reaction score
15
My first tutorial on using the RPi2 as a SDR receiver and tetra decoding can be found at: blog.opentetra.nl.

in the "compiling tetra codec: section you can use my script:

git clone https://github.com/sq5bpf/install-tetra-codec
cd install-tetra-codec
chmod 755 install.sh
#change BASEDIR=/tetra to BASEDIR=/opt/tetra in install.sh
./install.sh

i will make the install dir a parameter for the install scripts right now hardcoded to /tetra)

also if you want a simpler installation, then use debian on the paspberry pi and just use the usual install script (it should work just like on intel). if you want to have /opt/tetra for some reason, then mkdir -p /opt/tetra ; ln -s /opt/tetra /tetra



BTW the blog.opentetra.nl tutorial is a nice illustration on how to install on most non-debian based distributions (there is also a descritpion on how to install all of the software from source in my documentation). thanks for the effort - i'm not very good at writing documentation :)
 
Last edited:

sm0vec

Member
Joined
Dec 8, 2014
Messages
46
Reaction score
0
it might also be the scheduling or the sound system (pulseaudio and friends). try to run volk_profile and see if it makes it run even faster.

A very late reply on this...

I finally tried to run volk_profile and this made an incredible improvement on the GR python script (after restarted). This more than halved the CPU load (according to top) on the i3 and i5 NUC's.

However the most extreme difference came on the cheap Celeron NUC (N2830) where I before could run 1 receiver which just took me under 100% (96-99%), two receivers was only usable if I left the machine as alone as possible (i.e. no VNC or TeamSpeak). But after volk_profile I can run 2 receivers together with VNC and TeamSpeak, and the CPU usage of the python script peaks at 35%... that's a quite big difference :)

So my general impression is; "why didn't I try this before" :)

I'll tomorrow try to see if this maybe made it possible also to run the Airspy on 10 MHz which would give some new possibilities.
 

skinkie

Member
Joined
Jan 31, 2016
Messages
23
Reaction score
0
Location
Leidschendam
Yeah the volk stuff is how more real hardcore performance programs should have been written. I am also looking forward to VOLK progress into the GPU domain. If the framework is just selecting which algorithm can do the job best (with zero overhead), it is also much easier to benchmark and interchange higher level algorithms with the same output.

You might also try your luck on CFLAGS="-O2 -march=native" (or even -O3 if you feel lucky). This might give a performance benefit (~10%) as well.
 

grahampaull

Member
Joined
May 31, 2013
Messages
127
Reaction score
3
A very late reply on this...

I finally tried to run volk_profile and this made an incredible improvement on the GR python script (after restarted). This more than halved the CPU load (according to top) on the i3 and i5 NUC's.

However the most extreme difference came on the cheap Celeron NUC (N2830) where I before could run 1 receiver which just took me under 100% (96-99%), two receivers was only usable if I left the machine as alone as possible (i.e. no VNC or TeamSpeak). But after volk_profile I can run 2 receivers together with VNC and TeamSpeak, and the CPU usage of the python script peaks at 35%... that's a quite big difference :)

So my general impression is; "why didn't I try this before" :)

I'll tomorrow try to see if this maybe made it possible also to run the Airspy on 10 MHz which would give some new possibilities.
Is it as simple as running the following? :

sudo apt-get install libvolk1-bin
volk_profile

Sent from my SM-G925F using Tapatalk
 

skinkie

Member
Joined
Jan 31, 2016
Messages
23
Reaction score
0
Location
Leidschendam
I would suggest to turn off as many things as possible. So you have a just booted system with no services on. Then do volk_profile it creates a directory in the homedir. Best to run as the user as you run the gnuradio scripts with. On a RPi2 it takes about 15min.
 

grahampaull

Member
Joined
May 31, 2013
Messages
127
Reaction score
3
Cheers yall, I think I'll give this a go when my new dongle arrives.

Sent from my SM-G925F using Tapatalk
 

grosminet

Member
Joined
Jan 21, 2004
Messages
319
Reaction score
102
need more explaination

yes

btw you shouldn't need to install libvolk, because gnuradio depends on it

Is anyone can explain the relationship between volk and gnuradio . Need to reinstall gnuradio ?

thanks
 

FR3500

Member
Joined
Aug 3, 2012
Messages
58
Reaction score
0
Location
France
Hello thanks for the program, i'm enjoying it every day (ubuntu 14 on a dual core, 2.4 ghz )
Good reception, excepted i can only monitor one frequency in my area (bus company)
Only issue : i get a lot of empty recordings less than 3 kb, and filename ending with 0_0
And sometimes i can't find interesting conversations i heard in real time ;
Does the issue come from average reception ?
I ve read the FAQ about encoding issues on Ubuntu , but didn't find any solution ;

Also i want to know about SDS messages; they don't seem to have GPS positions in them;
yet the buses operators always discuss about position data, telling the drivers he sees their location

few examples:
[\x0D\x01\x10\x02\x01\x16d\x03d\x16\xB2\x8A]]
[qt\x02\x11\x0A)3\x03\x89\xEF]]
[\x0D\x01\x1E\x01\x02dd\xFE\x04]

or in binary
[010011110110001000001111101110100111000011100001000001000000000011011100000000101110001011101000000001000010001000010100010100100110011000000111000100111101111010000000000010000100000000000000000000000000]

i can post other SDS data if required;

Also i get another frequency with no audio, only "PLAY" displaying, though i have good signal ;
It says "enc=0" , yet i guess this network could be encrypted cause something tells me it's a police & rescue repeater ;

Thanks
 

skinkie

Member
Joined
Jan 31, 2016
Messages
23
Reaction score
0
Location
Leidschendam
Is anyone can explain the relationship between volk and gnuradio . Need to reinstall gnuradio ?
Absolutely no need to reinstall.

volk_profile will provide gnuradio instructions which algorithms perform the best on your system. gnuradio already has them all (or in fact: it links to libvolk which has them). When this is done your performance may dramatically improve from the generic algorithm to one that is specifically optimised for your system.

Why isn't this done automatically? Specific cpu instructions might not be available to your system (such as: SSE works on Intel but not on ARM. While Neon works on ARM but not on Intel).
 

skinkie

Member
Joined
Jan 31, 2016
Messages
23
Reaction score
0
Location
Leidschendam
Hello thanks for the program, i'm enjoying it every day (ubuntu 14 on a dual core, 2.4 ghz )
Good reception, excepted i can only monitor one frequency in my area (bus company)
Only issue : i get a lot of empty recordings less than 3 kb, and filename ending with 0_0
And sometimes i can't find interesting conversations i heard in real time ;
My impression is there is a racecondition somewhere. For this reason I patched the play script and do my own 'compression and storage' in that way I know for sure everything that I heard is stored.

Also i want to know about SDS messages; they don't seem to have GPS positions in them;
yet the buses operators always discuss about position data, telling the drivers he sees their location

few examples:
[\x0D\x01\x10\x02\x01\x16d\x03d\x16\xB2\x8A]]
[qt\x02\x11\x0A)3\x03\x89\xEF]]
[\x0D\x01\x1E\x01\x02dd\xFE\x04]

or in binary
[010011110110001000001111101110100111000011100001000001000000000011011100000000101110001011101000000001000010001000010100010100100110011000000111000100111101111010000000000010000100000000000000000000000000]
It might be a proprietary extension.
 
Status
Not open for further replies.
Top