OP25 with a Airspy -- is this currently possible

Status
Not open for further replies.

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
Max,

(yes, I'm hoping you might see this thread)

Is it possible to use OP25 wth the Airspy. I know the OsmoSDR stuff supports Airspy, but I don't know if it can be used with OP25. I notice when I run OP25.py, it refers to built in sources -- many of them -- none of which is an Airspy.

Mike
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
Max,

(yes, I'm hoping you might see this thread)

Is it possible to use OP25 wth the Airspy. I know the OsmoSDR stuff supports Airspy, but I don't know if it can be used with OP25. I notice when I run OP25.py, it refers to built in sources -- many of them -- none of which is an Airspy.

Mike

OP25 should work with airspy, I'm not aware of any success or failure reports with it. The key is that OP25 uses osmosdr as the intermediary, so any device supported (and properly configured) by osmosdr including rtl sdr, hackrf, airspy, Ettus USRP, and others should work. As new devices come out and get added to gr-osmosdr there shouldn't have to be any changes in OP25. For a complete list you can take a look at
GrOsmoSDR

Max
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
I don't think it will work right out of the gate. The reason being is the sample rates on the airspy aren't multiples of 48k. The only choices are 10 and 5 Msps. (or is that 2.5?) As it stands, OP25 only implements decimation, which is why the required sample rates must line up correctly. There will need to be some interpolation(Polyphase interpolator?) added to get the desired 48k prior to the slicer. It can be done, but it'll require some changes to the p25 demodulator hier block.

./scope.py --args 'airspy' would be the correct syntax to pass to OP25.

Mike, if you haven't installed the airspy tools, you can do so by doing the following:

cd ~/pybombs
./pybombs install airspy


After it finishes, you can run airspy_info and airspy_rx to test your unit.

I don't have an Airspy yet, it'll have to wait until next year..
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
It hadn't occurred to me to try other sample rate other than 48k multiples. So I just tried a few on my RTL and it's working.. who knew? I can run 2500000 and 2560000 without much problem at all.

./scope.py --args 'airspy' -S 2500000 -N 'LNA:10,MIX:10,IF:10'

The respective gain ranges have a parameter limit of 0-15. You will need to play around with these to get the desired setting. All the other scope parameters will be OP25 specific.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
the sample rates on the airspy aren't multiples of 48k. The only choices are 10 and 5 Msps. (or is that 2.5?) As it stands, OP25 only implements decimation, which is why the required sample rates must line up correctly. There will need to be some interpolation(Polyphase interpolator?) added to get the desired 48k prior to the slicer. It can be done, but it'll require some changes to the p25 demodulator hier block.

I'll have to take a detailed look, but I don't think the above is accurate. We do one stage of decimation to get the sample rate in the ballpark, followed by an arbitrary resampler to get exactly spot on at 48000. The beauty of the arb resamp is that the input need not be a an integer multiple of anything...

The latter is done by this code
Code:
        resampled_rate = float(input_rate) / float(decimation) # rate at output 
of self.lpf

        self.arb_resampler = filter.pfb.arb_resampler_ccf(
           float(self.if_rate) / resampled_rate)

Long story short - this issue shouldn't be a problem for the airspy

Max
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
I don't think it will work right out of the gate. The reason being is the sample rates on the airspy aren't multiples of 48k. The only choices are 10 and 5 Msps. (or is that 2.5?) As it stands, OP25 only implements decimation, which is why the required sample rates must line up correctly. There will need to be some interpolation(Polyphase interpolator?) added to get the desired 48k prior to the slicer. It can be done, but it'll require some changes to the p25 demodulator hier block.

./scope.py --args 'airspy' would be the correct syntax to pass to OP25.

Mike, if you haven't installed the airspy tools, you can do so by doing the following:

cd ~/pybombs
./pybombs install airspy


After it finishes, you can run airspy_info and airspy_rx to test your unit.

I don't have an Airspy yet, it'll have to wait until next year..

Thanks, Picco. I guess I could call you Scott, but I don't remember if you're the one whose name is Scott :)

I could have swarn I attempted to pass --args "airspy", but it barked on that -- saying it wasn't an available plugin. The sources [according to scopy.py] indicate many things including "file", "hackrf", "rtl" -- but no Airspy.

I just read Max's comment about it having to go through OsmoSDR. I'll have to figure out how to do that.

I know some airspy stuff was installed, but the tools themselves weren't. I'll go ahead nad install them just to make sure the Airspy itself is working in linux without issue.

I have another question for Max that I'll post in another reply.

Mike
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
OP25 should work with airspy, I'm not aware of any success or failure reports with it. The key is that OP25 uses osmosdr as the intermediary, so any device supported (and properly configured) by osmosdr including rtl sdr, hackrf, airspy, Ettus USRP, and others should work. As new devices come out and get added to gr-osmosdr there shouldn't have to be any changes in OP25. For a complete list you can take a look at
GrOsmoSDR

Max

Thank you, Max. I'll see what I can do to get that going. And if I do, Ill report the steps I took to do so.

I have another question for you. A friend send me a raw audio sample (.wav format) of some LSM voice traffic. I figured I could easily pipe / feed that raw audio into ./scope.py and have it process it, but I don't think that's the case. At least I haven't figured out how I might do that. Maybe scope.py isn't the proper application to use for that. I was also going to try something I found in /util -- called cqpsk_somethingoranother.py. It sounded like it should allow me ot do that, but it didn' either.

Should it be possible [currently] for me to take the raw signal, recorded as a wav, and input it into ./scope.py?

I know that scope.py monitors a control channel, and obviously the raw audio I have is from a voice frequency on an LSM system. But I'd like to decode it and send it back to my friend so that he could see what a difference the quality of decode is through OP25.

Mike
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
I'll have to take a detailed look, but I don't think the above is accurate. We do one stage of decimation to get the sample rate in the ballpark, followed by an arbitrary resampler to get exactly spot on at 48000. The beauty of the arb resamp is that the input need not be a an integer multiple of anything...

Definitely my bad! For some reason, I thought the arb resampers were an integer value, turns out it's the rational resamplers. This explains why I'm seeing what I am with higher sample rates. Sorry guys!
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
Scott is fine.. PiccoIntegra is from my RC car racing days..

Looking at the osmosdr documentation, it states "AirSpy Wideband Receiver through libairspy".

The libairspy library is installed by the those instructions I posted earlier regarding the tools. Do that and try again.
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
Ok Mike, here is what you need to do:

Make sure you installed the airspy module from previous post first.

cd ~/pybombs
./pybombs rb gr-osmosdr

This will rebuild the osmosdr module and the airspy will be listed in the available devices.

built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
Did you read the post right above the one you just posted?

You're just a little bit confused, but we'll get you through it. It does get easier. :D
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
Did you read the post right above the one you just posted?

You're just a little bit confused, but we'll get you through it. It does get easier. :D

No, of course I didn't :) I'm rebuilding now.

Ok - rebuild done. Bingo, --args "airspy" brings up the Airspy. You deserve a medal, Scott. Now I see that my coax is suddenly plugged into something else across the room instead of being right next to my couch potato / laptop setup that I'm using now. Bummer, I need to fix that.

Bottom line -- this is gonna work :)

m
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
Yes sir, it will. I can't wait to see how well the Airspy work in OP25. Looking forward to it!

-Scott

So far so good. I'm still adjusting CLI values for some defaults.

I'm still using -N 'LNA:40', although I didn't expect having to use a value that high.

And I am adjusting -q ##. I would have expected no need to use -q, but I definitely need '-q -7' or thereabouts.

It's trunking and getting audio. I'm doing something different at the moment too -- This simulcast [all sites] are located southward of me. I'm outside of the target area of the simulcast by probably 20 miles. But, there are least three of the sites in this simulcast that would provide a full signal wtih my beam pointed in that direction. Yesterday I had the beam turned 180 degrees away. I suspect that now that I have the beam pointed right at [most] of the sites in the simulcast, and with such strong signals, this is probably the best actual test since I'm not nulling out any sites in the simulcast.

Mike
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
The Airspy does like to die. It has become nonaccessible in Windows from time to time when adjusting sample rate/decimation, but not very often.

In Linux, this is the third time now that I've had to force-close all applications, unplug the Airspy, and plug it back in. It simply becomes unresponsive. And I think it's an Airspy / Driver issue rather than something else, since it also occurs in Windows.

Mike
 

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
RIF (Reading is Fudamental)

Gain names in Airspy are:
IF (0-15)
MIX (0-15)
LNA (0-15)

- N 'IF:5,MIX:10,LNA:10' is what I'm using now and the recovered audio is a beautiful thing :) The constellation looks great.

Current commandline:

./scope.py --args "airspy" -f 453337500 -q -8 -N 'IF:5,MIX:10,LNA:10' -S 2500000 -V -v0 -T trunk.tsv

I'm a happy camper :)

Mike
 
Last edited:

mtindor

OH/WV DB Admin
Database Admin
Joined
Dec 5, 2006
Messages
11,267
Location
Carroll Co OH / EN90LN
You need a colon there.. LNA:10
It's truly something you have to see to believe, isn't it??

It is. After all of these years of buying new digital scanners when they come out, hoping they are going to handle LSM. To say there is no effort involved would probably not be correct -- I'm on a gen3 I7 Intel (Dell Laptop) which is quad core / HT. And scope.py uses 140% CPU (so, 1.4 cores of 8). So definitely behind the scenes there is "work" being done. But the output is flawless. You absolutely could not tell, by listening to the recovered audio, that its an LSM system. Kudos to Max!

BTW, you don't have to use the -v 0 (needs to be a space there). Zero is the default.

Thanks for that. I'll omit it. I didn't check, but I'm guessing that's verbosity level. I'll make note of it. And I corrected the LNA40 in my previous post :)

I can't thank you enough for your thoughful posts assisting us all in getting things running.

Mike
 

PiccoIntegra

Member
Joined
Dec 19, 2002
Messages
530
Location
North Texas
You're welcome Mike. All it took was for someone to pick it up and learn the process and help others along. It seems to be picking up a little steam finally, which is good to see.

A lot of people to thank are those in the GNU Radio community and the OP25 group too. They're the really smart ones. I'm just a monkey pushing buttons! :lol:
 
Status
Not open for further replies.
Top