Anyone planning to use the Raspberry Pi (B) for SDR purposes, doing dsp with Python/Perl/Ruby?
Posted by drgordon at
I'm a radio 'Ham', and use software defined radios under Windows XP and 7, and various GNU/Linux distros on the PC and eslewhere, and am hoping to find a way of integrating one or more Raspberry Pi s into a portable software defined radio setup, using a battery pack, SDR hardware, a RPi, and an aerial. Initially receive only, but latter adding transmit capability using digital modes, CW, voice, etc.
If successful the code, hardware design, etc will be public domain but 'copyright' inasfar as anyone can use it for non-commercial purposes, as long as my name, and any opther developers' names, are kept cited.
If a commercial concern wishes to build on it, using proprietary add-ons or support provision to create profit, as with some Linux companies, this will be allowed, again with contributors being cited.
Replies
-
Posted by NickRyder at
I know a number of high altitude balloon enthusiasts are interested in looking at the RPi for tracking balloons. I've not done it myself but I understand they generally transmit data on 70cm using SSB. They use some software to decode the messages and upload the position, etc to a server to predict the flight path, etc. RPi would be good for this as you need to be fairly close to keep tracking while the payload is falling back to earth once it get's low. Currently people use a laptop + radio setup in a car, but people would like a more easily portable solution, like a Pi.
-
Posted by Andrew Back at
Hi drgordon,
I'd strongly recommend taking a look at GNU Radio if you have not already, as this provides hundreds of DSP blocks written in C++, that are provided with Python bindings and which can be rapidly assembled into a signal processing graph via Python scripts.
I recently blogged about how you can use GNU Radio with USB hardware that can be had for under £20, to make a wideband receiver.
http://www.designspark.com/content/software-defined-radio-shoestring
I'd also urge you to publish your code under an open source licence, in a manner similar to how GNU Radio is provided (it uses the GPL licence, like Linux). This would allow commercial use, though, and ultimately it's your decision. But a licence such as the GPL requires that the developers are always attributed, and provides other provisions that you may appreciate, e.g. look up the term "copyleft".
Getting back to GNU Radio, I did start compiling this on the Raspberry Pi, but had to put that project to side whilst I worked on something else.
Andrew
-
Posted by drgordon at
Thanks for the info - I'm drawing on some code from the GNU Radio project, so as to make my stuff work with it, but I also have quite a bit of extra code, relating to specific modes of tx and rx - as I'm a 'Ham', and have been with computers since mainframes using Hollerith punchcards, I'm working on using the RPi along with local and cloud capability to handle stuff, dependent on what the user sets - ie only use the RPi, use a local PC/Mac/Android, hand off processing to machines in the cloud, or a mixture; ambitious, but my transceiver can do DSP under external control and internally, so the RPi adds what the manufacturer didn't!
The intention is that the end result will be available for anyone to draw on, as per GNU, Open Source, GPL, copyleft etc - and socketed to allow others to use modules with their code, or to add to mine, hence making it compatible with other stuff running on Linux etc, windows, Android, and so on.I've used my netbook and another non-x86 machine with my current SDR, so I'm just widening the pool of tools... -
Posted by drgordon at
I don't currently use 70cm, but the specs for the RPi suggest it could easily be powered by a solar-charged battery pack like the ones Aldi has from time to time - smaller than a mobile 'phone, enough juice to power the Rpi and a QRP (low power) 70cm or 2m transmitter or transceiver. I am sure that it would be easy to build a small 'black box' with power, RPi, transceiver, and aerial with enough power to work in line-of-sight - so unless your balloons go around the curvature of the earth, you should be able to pick them up from ground with a basic receiver, repeat from a second point, and use the bearings to monitor location and elevation. If you have some basic ground radio gear, you can also monitor weather maps off the radio (WEFAX, I think?), and see where the balloon will be, and when.It is fairly trivial to set up the radio link to look for a free frequency in the band, and using a scanner or 70cm transceiver with scanning, you should have no problems.Just out of interest, I have used a helium-filled childrens' toy 'blimp', with radio controlled motors, to lift the aerial I use - the 'blimp' is tethered to the end of the radio's aerial, controlled with a simple remote, and stays up plenty long enough to work on the 'Ham' bands for quite a long time before it needs more helium from the little cylinder! As I live in a flat, near Shoreham airfield, W Sussex, and near the downs, seeing balloons and planes is quite common for me..... and my little 'blimp' flies well below their height. Else I'd be VERY unpopular! -
Posted by jdooley at
Stoke on Trent ham society including moi are working on it now.... Getting stuck at various points but we have contacted a software Sdr dev to help build the binaries from intel to Arm....
-
Posted by drgordon at
I'll make sure I upload the code I do to a repository with public access so you can grab any useful bits, bearing in mind I code in several languages, and can upload compiled linkables etc. As long as you mention my name and callsign in documentation or the code you pass on, it's all Open Source, freely reusable.I use cross-compilers, and the plan is to build versions that will allow you to run the same software on multiple platforms, including distributed processing across multiple RPis on the internet using the 'crowd processing' version of the software - which means you can run non-native code in compatible languages like Ruby etc on other processors. Big job, but I've started, so I'll finish.... eventually.... and in the meantime, others can draw on my code as sections are ready and tested.david G6ENT, QTHr (Shoreham-by-sea, West Sussex) -
Posted by gd6icr at
I am also a ham and have worked in software development. Sort of taking a backroom position now and would appreciate if I can help in your goals. And programming up Arduino for rotator control at moment - hopefully interface the Pi to my rotator and rigs
Hope I can help
Mike
