yellow1
Posts: 4
Joined: Thu Jul 14, 2016 10:28 pm

simple sdr on RPi3?

Thu Jul 21, 2016 4:11 pm

So this thing is arriving in the post/mail today. https://www.amazon.com/gp/product/B00NW ... UTF8&psc=1 It's an RTL-SDR Dongle as some of you may know. We use it to turn the pi into a radio, but not just any radio. The spectrum coverage is huge, like 29MHz to 1700MHz (appropriately sized antenna permitting of course) but it requires somewhat obscure software and im not sure im good at builds or much less what a build is.

The extent of my knowledge goes something like, "*wants to download chrome but ubuntu software center isn't available. *Does 5-10 google searches and establishes that downloading a zip file from google is the first step -or- copies and pastes some code into terminal that starts with...

Code: Select all

sudo apt-get install...

...*copies and pastes 3 or 4 more command lines, maybe changes a directory or two using the GUI and voila, the icon is in the menu!" Thats about it.

After trying to run through this routine with a few programs on http://www.rtl-sdr.com/big-list-rtl-sdr ... -software/ i've come to the short-tempered, noob conclusion that sdr probably hasn't reached my part of the bell-curve yet, if you catch my thinly veiled psych reference. :arrow: https://en.wikipedia.org/wiki/The_Bell_Curve Nevermind that last link, it's not relevant.

Help!

Do I just have to wait for this? Is there something I can pay for? do you have a single link that will effortlessly solve all my problems? All excessive levity aside, I can take any bad news.

User avatar
fruitoftheloom
Posts: 15080
Joined: Tue Mar 25, 2014 12:40 pm
Location: Bognor Regis UK

Re: simple sdr on RPi3?

Thu Jul 21, 2016 4:33 pm

First and foremost just willy-nilly downloading anything and just hoping to install is a total waste of time, Raspbian in a respin of Debian ARMHF compiled for ARMv6 and therefore any software needs to be compatible, hence why there is a software repository:

Code: Select all

sudo apt-get update
sudo apt-get install rtl-sdr

rtl-sdr sSoftware defined radio receiver for Realtek RTL2832U (tools)

rtl-sdr is a software defined radio (SDR) receiver software for certain low-cost DVB-T/DAB(+) USB dongles based on the Realtek RTL2832U chip.


http://sdr.osmocom.org/trac/wiki/rtl-sdr

The first part of this page is Hardware and wil need the ID of the item you bought from Amazon to see if it is compatible, plug it in and in Terminal type lsusb and it will output the information..

Ignore the install section if your device supported and just use the USAGE section......


Code: Select all

sudo apt-get update
sudo apt-get install gqrx-sdr
Gqrx supports many of the SDR hardware available, including Funcube Dongles, rtl-sdr, HackRF and USRP devices.

Includes AM, SSB, FM-N and FM-W (mono and stereo) demodulators, and Special FM mode for NOAA APT. Displays FFT plot and spectrum waterfall.

It is powered by GNU Radio and the Qt GUI toolkit.


http://gqrx.dk/


Code: Select all

sudo apt-get update
sudo apt-get install gnuradio
GNU Radio provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic and commercial environments to support both wireless communications research and real-world radio systems.

GNU Radio applications are primarily written using the Python programming language, while the supplied performance-critical signal processing path is implemented in C++ using processor floating-point extensions, where available. Thus, the developer is able to implement real-time, high-throughput radio systems in a simple-to-use, rapid-application-development environment.

While not primarily a simulation tool, GNU Radio does support development of signal processing algorithms using pre-recorded or generated data, avoiding the need for actual RF hardware.

This package contains the gnuradio-companion, a graphical tool for creating signal flow graphs and generating flow-graph source code. Also included are a variety of tools and utility programs.


http://gnuradio.org
.
My only "PC" is an Asus ChromeBit running ChromeOS, cloudcentric at its best !
Rockchip Quad-Core RK3288C SoC as used in ASUS Chromebook C201 & Chromebook Flip C100PA as well as the Tinker SBC.
3 Mobile Huawei E5330 Mobile Mi-Fi

User avatar
LDighera
Posts: 44
Joined: Wed Aug 29, 2012 1:04 am
Location: Santa Barbara, California, USA

Re: simple sdr on RPi3?

Tue Aug 23, 2016 9:39 pm

I've installed gqrx V2.3.1 on the RPi3 under Debian Jessie with the command:

Code: Select all

apt-get install gqrx-sdr
and it runs (with the occasional overrun) at about 90% CPU usage according to the X11 widget. However, I'm unable to get any audio out of the analogue audio port (through PulseAudio).

I've also built a few versions of gqrx, and have the same (or worse) difficulty.

I tried this command:

Code: Select all

amixer cset numid=3 1
as mentioned here https://cloudacm.com/?p=2307 which failed to overcome the lack of audio.

In a, so far, vain attempt to coax gqrx to produce audio, I've changed many of the PulseAudio configuration files without success.
Apparently gqrx will run on the RPi3, as evident in this video: https://youtu.be/_E7v5fLcOsA.

Any clues on how to get gqrx to produce audio appreciated.
There is no expedient to which a man will not resort
to avoid the real labor of thinking.
-- Sir Joshua Reynolds

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Wed Aug 24, 2016 2:52 pm

Close to the OP's topic, it just occurred to me to try using rtl_fm like this: create tiny scripts like fmw (or whatever)

Code: Select all

#!/bin/sh
rtl_fm -f $1 -M fm -s 190k -p 59 -r 48k - | play -t raw -r 48k -b 16 -e signed-integer - -c 1
Then you can use it like

Code: Select all

fmw 88.5M
for receiving FM broadcast stations, instead of typing the whole line and getting all the parameters right every time. Pick your audio player (play, aplay, etc), sample rates, ppm correction once. The $1 for frequency gets replaced by the first parameter passed on the command line. You can set these up for AM, LSB, FM narrow or whatever. Probably not practical for multiple frequencies but you could pass 3 parameters to make something that scanned a range of frequencies. You need to make one script for each modulation method you plan to use (in most cases the signal widths also change). It might be possible as shell aliases but little scripts that live somewhere in your path are easier to modify. The -p 59 is because one of my dongles is off by 59 ppm, change it to suit yours or leave it out.

Try fmw 433.92M to see how busy the instrumentation band is in your area (listen for a few minutes if you don't hear anything at first). I hear my outdoor thermometer sensor but also something else. rtl_433 handles those nicely.

User avatar
LDighera
Posts: 44
Joined: Wed Aug 29, 2012 1:04 am
Location: Santa Barbara, California, USA

Re: simple sdr on RPi3?

Wed Aug 24, 2016 3:23 pm

LDighera wrote:I've installed gqrx V2.3.1 on the RPi3 under Debian Jessie with the command:

Code: Select all

apt-get install gqrx-sdr
There's a related blog post here http://www.qslnet.de/member/dg0opk/Odro ... h2016.html that discusses running gqrx on the Odroid C2 under Ubuntu.
There is no expedient to which a man will not resort
to avoid the real labor of thinking.
-- Sir Joshua Reynolds


User avatar
LDighera
Posts: 44
Joined: Wed Aug 29, 2012 1:04 am
Location: Santa Barbara, California, USA

Re: simple sdr on RPi3?

Sat Aug 27, 2016 9:52 pm

richrarobi wrote:some interesting stuff here:
http://www.satsignal.eu/raspberry-pi/dump1090.html
Yes. However it's limited to: What you can do with PlanePlotter and the dump1090 program.

If you intend to tune the full range of frequencies the SDR receiver hardware supports, a general purpose SDR client program such as gqrx http://gqrx.dk/, CubicSDR http://cubicsdr.com/, or qtcsdr https://github.com/ha7ilm is required.
There is no expedient to which a man will not resort
to avoid the real labor of thinking.
-- Sir Joshua Reynolds

User avatar
LDighera
Posts: 44
Joined: Wed Aug 29, 2012 1:04 am
Location: Santa Barbara, California, USA

Re: simple sdr on RPi3?

Tue Sep 06, 2016 1:43 pm

LDighera wrote:I've installed gqrx V2.3.1 on the RPi3 under Debian Jessie with the command:

Code: Select all

apt-get install gqrx-sdr
and it runs (with the occasional overrun) at about 90% CPU usage according to the X11 widget. However, I'm unable to get any audio out of the analogue audio port (through PulseAudio).
I have found that it is possible to reduce CPU load to ~40% while running gqrx by uncommenting the following lines in /etc/pulse/daemon.conf:

Code: Select all

realtime-scheduling = yes	
realtime-priority = 5
resample-method = trivial
default-sample-rate = 48000
alternate-sample-rate = 44100
Unfortunately, audio is still inaudible.

Good news! Alex, the author of gqrx, has announced that he is now supporting the Raspberry Pi platform, and has been working with the author of SDR# to offer a new beta release of gqrx that is optimized for the RPi. See: https://groups.google.com/forum/#!topic ... UT-TVsB9ls
There is no expedient to which a man will not resort
to avoid the real labor of thinking.
-- Sir Joshua Reynolds

deadite66
Posts: 5
Joined: Sun Jan 31, 2016 1:24 pm

Re: simple sdr on RPi3?

Sat Oct 08, 2016 9:16 am

gqrx 2.6 has been released and runs nicely on my pi3.
http://gqrx.dk/news/gqrx-2-6-released
binaries for the the pi are available.

about 60% cpu using it over vnc.
only problem i had was remote control setting, couldn't use ::ffff:127.0.0.1 deleted it and used 127.0.0.1 so i can use gqrx-scan.

DevMiser
Posts: 1
Joined: Fri Jan 13, 2017 4:35 pm

Re: simple sdr on RPi3?

Fri Jun 16, 2017 1:57 pm

https://youtu.be/G7rMiaFmsUY

I made this video to show how to use a RTL-SDR software defined radio dongle with a Raspberry Pi 3 and GQRX open source software.

burnhaj
Posts: 20
Joined: Sun Mar 09, 2014 3:43 am

Re: simple sdr on RPi3?

Sun Jun 18, 2017 1:58 pm

DevMiser wrote:https://youtu.be/G7rMiaFmsUY

I made this video to show how to use a RTL-SDR software defined radio dongle with a Raspberry Pi 3 and GQRX open source software.
And I bumped into this video this morning when trying to figure all the options out. It is by far the best resource out there for beginners. GQRX has many options, this video sorts them out for you as to which ones need settings, which ones don't, and what are good starting points.

Thank you.

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Thu Aug 10, 2017 12:53 am

GQRX is based on Gnuradio and it's a great resource hog. I just got qtcsdr working and I love it. https://github.com/ha7ilm/qtcsdr

I'm just using a cheap RTL2832 dongle, this is just what I was looking for.
qtcsdr.jpg
qtcsdr.jpg (42.26 KiB) Viewed 6667 times
I start it with a script that gets everything right:

Code: Select all

#!/bin/bash
cd /usr/src/misc/qtcsdr/qtcsdr/build
./qtcsdr --rpitx --alsa default
I probably don't need the rpitx since I just listen. The --alsa default lets it work with the Pi 3's built in audio (after doing alsactl init anyway).

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Thu Aug 10, 2017 1:13 pm

Well, doing wideband broadcast FM it's a little more CPU hungry. This is over a VNC connection which adds some too. I started it by just typing qtcsdr, no mention of the transmit part or Alsa, but it wasn't my first time.
qtcsdrwb_24c.gif
qtcsdrwb_24c.gif (52.75 KiB) Viewed 6619 times
What's neat about wideband FM is that you can actually see the deviation in the carriers that happens with modulation. There are about 10 stations showing here, each with its own squiggly line. 300 KHz spacing if I remember right, allocated by the FCC. What I've got selected is the one just right of the FM in NFM.

This is a 24 color GIF to get the file under 60k.

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Sun Aug 20, 2017 9:50 pm

Another is sdrtrunk https://github.com/DSheirer/sdrtrunk/releases

Image

It's written in Java but since Java bytecode is part of the ARM instruction set it isn't too bad performance-wise. It seems faster than GQRX. It does trunking, but only a few trunking methods, not the ones in use where I live. Default decoders:
modes.png
modes.png (3.02 KiB) Viewed 6205 times
It also has "aux decoders" that work with the audio part of the signal.
auxdec.png
auxdec.png (2.35 KiB) Viewed 6205 times

I haven't figured out basic things like to to just click on a signal and tune to it but there's all kinds of stuff to let you type in a frequency and set up a talk group, record, plenty of fancy stuff. Support is through a Google group at https://groups.google.com/forum/#!forum/sdrtrunk It is a prerelease beta version but he's doing a pretty good job. Needs Java 8 but it's not an applet, at least yet. I installed it following these instructions http://www.hagensieker.com/blog/page/?p ... 28okay-$50 The jmbe I think is just for the p25 trunking, you may not need to install that. Ant is also required, maybe just for jmbe. You end up with a jar file you download as part of sdrtrunk and a script to start it. Works with my Nooelec rtl2832 dongle at least. Oh, and you can use it with multiple dongles/tuners like if you want to have one at 800 MHz and one at 450 MHz.

User avatar
negrone
Posts: 4
Joined: Sun Oct 29, 2017 4:37 pm

Re: simple sdr on RPi3?

Sun Oct 29, 2017 4:44 pm

and more simple SDR? this software support one Direct convertion receiver using in de USB sound board?

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Sun Oct 29, 2017 11:07 pm

negrone wrote:
Sun Oct 29, 2017 4:44 pm
and more simple SDR? this software support one Direct convertion receiver using in de USB sound board?
I just used one of these: http://www.nooelec.com/store/sdr/sdr-re ... r820t.html and a pair of headphones plugged into my Pi's audio output jack. No USB sound card.

They aren't a direct conversion receiver in the sense that they do have a local oscillator. The incoming 25 - 1300 MHz or so is converted to an IF maybe around 20 MHz. This is digitized at about 2 million samples/second to an 8 bit quantity that's fed out the USB jack. I mostly use it with rtl_fm from the standard Raspbian debs. I've also used sdrtrunk and qtcsdr as mentioned above. The frequency coverage doesn't extend down to what's usually called "shortwave" in the 4-25 Mhz range, for that you need an upconverter. They do cover the FM band most countries use. And a lot else, like police, fire, taxis, aircraft.

User avatar
negrone
Posts: 4
Joined: Sun Oct 29, 2017 4:37 pm

Re: simple sdr on RPi3?

Mon Oct 30, 2017 12:25 am

thanks ab1jx for your reply... But, I speak over this: one DIY receiver: http://www.vk5tm.com//homebrew/simplesdr/simplesdr.php

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Mon Oct 30, 2017 3:06 am

negrone wrote:
Mon Oct 30, 2017 12:25 am
thanks ab1jx for your reply... But, I speak over this: one DIY receiver: http://www.vk5tm.com//homebrew/simplesdr/simplesdr.php
Oh, no, I hadn't heard of it. My approach is more like #2 at http://home.alphalink.com.au/~parkerp/p ... rojsdr.htm just buy some cheap parts and hook them up. I used to do that sort of stuff 30 years ago, now I don't see well enough anymore. Simple isn't so much a name as a concept, mostly it means little work.

SDR has been around for 10 years or so now, there are a lot of articles I haven't read. Right now I'm fiddling with the GUI aspects of the software. Basically you can take the I and Q sample streams from any SDR hardware (digitized with a 90 degree phase difference) and put them through an FFT and see signals. Take the geometric mean of I and Q and you've demodulated AM. Divide I/Q and you demodulate FM. You plot the FFT output on the screen to see it, then you can use just what ends up in certain bins to get selectivity. The FFT acts a little like putting white light through a prism to get a rainbow. You can mount a slit to get only a certain color of light, the more bins your FFT has the tighter your control over signal bandwidth.

But you need to be able to plot it on the screen fast (2-30 times per second) and that's where I'm stuck now.

deadite66
Posts: 5
Joined: Sun Jan 31, 2016 1:24 pm

Re: simple sdr on RPi3?

Mon Oct 30, 2017 6:40 am

SDRTrunk looked interesting until i found it has no squelch for NBFM.
thats pretty mental imo.

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Mon Oct 30, 2017 12:43 pm

Yeah, sdrtrunk is useless so far except for trunking, and I couldn't make it work with the trunking brand around here. Conventional is on their list of features to add but they have some weird schedule of what they're going to add when. I was surprised at the speed and efficiency though for something written in Java.

qtcsdr has no squelch, or a way to enter your dongle's ppm value. For plain old FM wideband broadcast it works OK.

Mostly I use rtl_fm, I have a little collection of scripts I've written for it. The -p argument is the ppm, the -l is squelch level. Squelch on am is very different from squelch on nbfm.

Most recent first. I bought some frs/gmrs walkie talkies and want to survey how busy the channels were around here. So this is nbfm and scanning:

Code: Select all

#!/bin/bash
# sox isn't verbose in this version
# frs (Family Radio Service):
rtl_fm -l 132 -M fm -p 59 -f 462562500 -f 462587500 -f 462612500 \
-f 462636500 -f 462662500 -f 462687500 -f 462712500 -f 462562500 \
-f 462587500 -f 462612500 -f 462637500 -f 462662500 -f 462687500 \
-f 462712500 \
# gmrs:
-f 462550000 -f 462575000 -f 462600000 -f 462625000 \
-f 462750000 -f 462700000 -f 462725000 - | play -t raw -r 24k \
-e signed-integer -b 16 -c 1 -
For using rtl_tcp on a local wbfm station:

Code: Select all

#!/bin/bash
rtl_tcp -a 192.168.0.16 -d 0 -g 20.7 -f 88500000
The same for a nbfm weather frequency

Code: Select all

#!/bin/bash
rtl_tcp -a 192.168.0.16 -d 0  -g 40 -f 162400000
I was using rtl_tcp to get a stream of I/Q values for something I was writing, then I switched to using librtlsdr so I had more control over it. rtl_tcp also works with HDSDR as a remote input over a LAN.

For LoJack, I'm not sure this worked. I haven't use multimon before, it's supposed to decode things like packet radio. Turns the audio into text on your screen.

Code: Select all

#!/bin/sh
# Trying to decode Lojack, 1200 baud at 173.075
rtl_fm  -M fm -p 59 -f 173075000 \
- | multimon -v 10 -t raw -a SCOP
Records an hour from a local FM station which relays the BBC's Newshour, saves as an MP3 podcast sort of thing. I can call it from a cron job to run at a certain time of day.

Code: Select all

#!/bin/sh
adate=`date +"%Y-%m-%d_%H-%M"`
/usr/local/bin/rtl_fm -f 89300000 -M fm -s 190k -p 59 -r 48k - | sox -t raw \
-r 48k -b 16 -e signed-integer -c 1 -V1 - -t  mp3 bbc_nh_$adate.mp3 trim 0 59:50
Records nbfm from 854.490000 MHz, saves as an MP3. Just ctrl-C it to quit. Some at least of these will compress radio transmissions by not recording dead air time. If you're in western Massachusetts this frequency is state-wide state police via linked repeaters. Interesting, I heard them catching the Boston Bomber on it, and that's 3 hours from here.

Code: Select all

#!/bin/bash
datestr=`date +"%Y-%m-%d_%H-%M"`
outname=sp_$datestr.mp3
rtl_fm -l 132 -M fm -s 24k -p 58 -f 854490000 - \
| sox -traw -r24k -es -b16 -c1 -V1 - -tmp3  $outname
Scans a bunch of Massachusetts state police frequencies

Code: Select all

#!/bin/sh
# sox isn't verbose in this version
rtl_fm -l 132 -M fm -p 59 -f 854040000 -f 854240000 -f 854315000 -f 854415000 \
-f 854490000 -f 854540000 -f 855165000 -f 855240000 -f 858790000 -f 867350000 \
-f 867715000 - | play -t raw -r 24k -e signed-integer -b 16 -c 1 -
Sweeps the 118 - 137 MHz aircraft (AM) band. Squelch is funky, I've also used -l 45

Code: Select all

#!/bin/sh
rtl_fm -M am -f 118M:137M:25k -p 59 -s 24k -l 10 - | \
play -t raw -r 24k -e signed-integer -b 16 -
Does basically the same thing but feeds MP3 audio out tcp port 8080

Code: Select all

#!/bin/sh
rtl_fm -M am -f 118M:137M:25k -p 59 -s 24k -l 45 \
- | sox -traw -r24k -es -b16 -c1 -V1 - -tmp3 - | socat -u - TCP-LISTEN:8080
The other half is to use something like netcat piped into sox. It came from one of Kyle Keen's pages about rtl_fm. I'm not finding the script I used for decoding back into audio.

This is just a simple nbfm monitor of 162.425 MHz. A local automated weather transmitter.

Code: Select all

#!/bin/bash
rtl_fm -M fm -S -l 132 -p 58 -f 162425000 - | play -t raw -r 24k \
  -e signed-integer -b 16 -c 1 -
rtl_fm changed the way they specify the demodulation, I have both the new and old versions around. -M am or -M fm is the new way (can also do usb and lsb) but I thought I saw the old way in one of these.
Last edited by ab1jx on Tue Oct 31, 2017 7:50 pm, edited 1 time in total.

deadite66
Posts: 5
Joined: Sun Jan 31, 2016 1:24 pm

Re: simple sdr on RPi3?

Mon Oct 30, 2017 5:28 pm

Currently use rtl_airband (it does NBFM too) for marine band listening on my pi3.
it can constantly listen to 8 channels or has a scanning mode, output to streaming audio and/or mp3 files.
https://github.com/szpajder/RTLSDR-Airband

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: simple sdr on RPi3?

Tue Oct 31, 2017 2:01 am

Hmm, it might work, I can't tell. I hate the config file format, and I have no use for whatever icecast is. So far I don't see any advantage over just rtl_fm. And it seems to be just scanning, the literature says it receves up to 8 channels simultaneously.

Shinysdr has an unselective mode where signals at one end of the band come out one audio channel and vice versa. The whole frequency range selected spans left-right, it's effectively panned according to frequency.
https://kpreid.livejournal.com/ Sounds interesting, I haven't heard it.

Image

Just trying to think how that might work, I don't like the sawtooth wave. You do an FFT on your I and Q signals, and they end up in some number of bins that are the size of your FFT. You look through your bins and anything over a certain threshold you demodulate and feed to left and right channels in a mix that depends on the bin's position in the FFT. For speed you work out as much beforehand as possible and store in arrays so you might have a 2d arrray that's the number of FFT bins big. Fill the array with the bin count in [0][n] and 0 in [1][n], then each time you increment n you decrement [0] and increment [1]. Use the array to scale the signal going to the audio channels.

Return to “Beginners”

Who is online

Users browsing this forum: fluffysheap and 43 guests