[aur-general] lysdr-git, while we're talking about new packages
Gordon JC Pearce
gordonjcp at gjcp.net
Fri Jan 14 14:08:46 EST 2011
Okay, since there was a bit of discussion about new packages, I thought
I'd maybe make some noise about one of mine.
I've written a software-defined radio receiver called lysdr, and (so
far) I don't think there's anything like it in AUR ;-) What is it?
Well, it's a radio receiver, of sorts. Ideally you should use it with a
special receiver plugged into the soundcard, but you can use it with
prerecorded files too. The documentation assumes you know a little
about how it all works, so what I'll do is describe how to get it set up
and working, and you can be the guinea-pigs for helping me write better
documentation. I recommend reading the Wikipedia page on
(http://en.wikipedia.org/wiki/Software-defined_radio here) if you want
to learn more about the technology behind it.
Okay, first - a screenshot. Here it is:
http://www.gjcp.net/~gordonjcp/lysdr.jpg (1032x310px, 60kB)
A little to the right, you can see the tuning cursor with its red tuning
"needle" and yellow filter strip. You'll notice that the red tuning
line is just a wee fraction right of the 7.061MHz scale marking, and the
frequency display below indicates that we're tuned to 7.0618MHz. The
broad bright line that the filter strip is on is actually the spectrum
of someone's voice! It's a Polish station, SP5BL - "See-Eh-Rah Pah-Pah
Senk Pah-Pah Brah-voh", you can actually see the syllables. Off to the
left side of the screen we have some data modes including CW (Morse
code), RTTY (radio teletype) and PSK31 (phase-shift keying). The three
fat fuzzy blobs a little left of the middle are probably a digital mode
called PACTOR that transfers data relatively quickly with a lot of error
correction - "relatively" in that it's still only about 100 characters
You can install it by your favourite method of brewing AUR packages - I
use clyde. Naturally, any comments on how to improve the packaging (or
the software) will be welcomed. It will require (and should pull in)
jack, fftw and gtk+ (if you haven't got these already) and requires
Python for the build process and git to download.
Once you've built and installed it, grab
http://www.gjcp.net/~gordonjcp/sdr.flac - don't listen to it though,
unless you have a taste for the avant-garde. If you play it back,
you'll just hear a high-pitched hiss and some scratchy chittering
noises, it won't blow your speakers or make you see The Ring or
anything. Don't compress it with any lossy compression format, or
convert it to mono to save space - it must have its two channels
perfectly in phase for the receiver to work! It's not really left and
right signals like stereo, it's actually real and imaginary samples.
Unless you know what this means already, don't bother looking it up on
Wikipedia. I have a rough idea what it means; I don't need to know how
to build a chicken to cook an egg.
Now, start up jack (it'll start automatically, possibly with
less-than-wonderful settings, so check the Arch wiki on how to do this)
then start lysdr with "lysdr --co -f 7056000" (--co is "Connect
outputs", -f 7056000 is "Centre frequency is 7056kHz). Now, start
mplayer with "mplayer -ao jack:port=lysdr sdr.flac" and you should start
to see stuff scrolling up the screen. You can use any other media
player, as long as it can play flac files and output to jack.
Stuff scrolls up the screen, you drag the cursor bar across the
waterfall to tune, and you drag the edges of the yellow filter strip to
change the filter bandwidth. Clicking "WIDE" or "NARROW" picks preset
filter bandwidths suitable for speech or data modes. LSB is "Lower
Sideband", and means that the wanted signals are below where we're tuned
to - again, Wikipedia will tell you plenty about that.
So, try it out, and see what you can hear. Bonus prize for finding the
Windows error "bong"!
More information about the aur-general