Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

GNU Radio 134

Max Hyre writes "Apropos (!= man -k :-) RIAA, web radio, and other such data-dispersal disagreements, here's a new way to do it your way: a fully software-driven radio receiver; just strap some off-the-shelf DAC hardware into a generic computer, and let the software do the rest. While I can just barely spell `sideband', this looks like it could be more fun than any set you ever had before, especially after those in the know build up some kewl apps for the great unwashed like me. They're also dreaming of GPS, cellular phones, &c.. My only gripe is that the web pages proper don't seem to have any cookbook recipes for the hardware; maybe that's in the docs with the source, or maybe this is strictly for the experienced, for now."
This discussion has been archived. No new comments can be posted.

GNU Radio

Comments Filter:
  • by rickthewizkid ( 536429 ) on Saturday April 06, 2002 @07:13AM (#3294911)
    Check out tapr.org [tapr.org] and the DSP-10 project. It's a 2 meter ham radio that is defined in software, using the DSP board to handle modulation. I am saving my nickels and dimes to buy a kit, and it seems interesting. Also, since it's all defined in software, it can be connected to a transverter and the output can be SSB, FM, etc and the software for the PC can be programmed to take into account that the transverter is making the 2 meter rig into say a 10 meter or microwave rig.

    -RickTheWizKid
    • While TAPR has tried a lot of things, unfortunately not many of their projects have gotten off the ground since the TNC II (A packet radio modem (Terminal Node Controller) for amateur radio use.) Whatever their development process is, I think it could use an infusion of bazaar style development. They've worked on a spread spectrum radio since the early '90s. Each time they're "just a few months" from releasing a working model something changes and the project disappears again. I ended my membership after a couple of years as I just didn't see the project progressing. To be fair, it's a volunteer/hobbyist organization. Perhaps some friendly competition from GNU will spur both to release a usable product by the end of the year.

      The past few years the major advancements in amateur radio digital technology have come from Europe. i.e. PacTOR, PSK31, and now MFSK. Clover was developed in the States, but being patented and other issues (leading to high prices) kept it from becoming a mainstream technology.
    • The DSP-10 is a cool project. Some of the things that distinguish GNU Radio from it is our preference for a *much* wider IF bandwidth, and our use of conventional CPUs instead of DSPs. The vast majority of our code is in C++, versus Analog Devices 21xx DSP assembler.
  • While it might be cool to get your computer to do all sorts of signal processing stuff, a DSP is just going to do it better no matter what. Do we really need 60W CPUs being used for modulating/demodulating signals?
    • by Lumpy ( 12016 ) on Saturday April 06, 2002 @07:38AM (#3294941) Homepage
      Great! you are right on....

      so where do you get DSP's that are field programmable in C?
      and connect easily to a computer costing less than $200.00 in parts to cover from DC to 10Ghz?

      DSP's are good for end products that are to be released to the sheep. This is better than any DSP ever created and will do it better than any DSP ever created for research and expierimentation. doing that with a DSP is near impossible for the amateur and is 100% impossible without breaking the law for poor expierimenters.

      DSP's suck for research by the hobbiest..This process is best.

      be sure to include the entire costs of development before offering your opinion as to weither an expensive alternative is better. (DSP's are ungodly expensive after you factor in the programming software,devkit, and required hardware all purchased legally... TI's devkit costs over $20KUSD that has all the tools available (the student kit doesnt do 1/2 of the pro devkit.)
      • by Anonymous Coward
        Field programmable in C??? If you are referring to FPGAs, C is hardly the language to be doing it in. Xilinx Virtex devices are in $100 range and the web dev kit is free. The programming device is around $80 or so. These devices are comparable in power to DSPs, allow one to do 512-FFTs in hardware and are completely reprogrammable. It most definitely is pointless to have a PC with a DAC-ADC card to process baseband data given the cost and the complexity. It is also ironic that the DSP (real or computer based) is the least critical component of such a system. Digital communication is non-trivial and PCI-DAQ card is not really up to the task.
        • A while back, Altera was pushing a line of FPGA's called Excaliber that you can program with C. I don't know how it worked, but one of the demos was a MP3 player, using some C code running on the FPGA. Of course, this shit is expensive! Which is why I am interesting in the Virtex devices as long as they are fairly cheap (around $100 isn't bad) especially if the software tools are free!

          Can't DSPs be field programmable? I don't quite know if the code is stored in flash in a DSPs or if there is a EEPROM or something that contains the code. Speaking of which, where does a DSP keep its instructions?
        • here's the point... C is a easily learned language and there are billions of people that are fluent in programming it. how to program a FPGA or DSP is known only to a tiny handful of people.

          so what group is more capable of getting something done? The C programmers.

          and that is where a 7000Ghz processor with 22terebytes of ram has over a lil' ol DSP. you can use inefficient languages (Hell I'd bet you can do this in Java or Visual basic with today's processing power taking up the slack) to hack out world changing discoveries
          • You can program DSP's in C, FPGA programming is the one that is different from writing software because you'd actually create gates and connections on the chip itself.

            All the theoretical stuff about signal processing is much harder than actually writing the code, so even if you do it in a nice and easy programming language the amount of effort required will not be reduced by much.
      • be sure to include the entire costs of development before offering your opinion as to weither an expensive alternative is better. (DSP's are ungodly expensive after you factor in the programming software,devkit, and required hardware all purchased legally... TI's devkit costs over $20KUSD that has all the tools available (the student kit doesnt do 1/2 of the pro devkit.)

        Which TI kit costs 20k? For $295USD you get FULL C AND DEBUG TOOLS and a board with plenty of horsepower (TI 6711@150Mhz, a 1200 MIP part). For real-time you need to build your own I/O, but that is always the case. See http://focus.ti.com/docs/tool/toolfolder.jhtml?Par tNumber=TMDS320006711

        For about $3500USD you can get a PCI board instead (See http://focus.ti.com/docs/tool/toolfolder.jhtml?Par tNumber=TMDS3260D6701), again with FULL C AND DEBUG TOOLS, and you can do master/slave transfers over PCI.

        Now both of these kits come with "restricted license tools". But full license tools and an emulator board (to connect to your own hardware) is still only about $7kUSD. So what tools do you mean for $20K?

        Do you mean Matlab or Elanix or Hypersignal or someone elses block diagram GUI design tool? I don't believe any of these are $20k/seat. SPW from Cadence, on the other hand, is ludicrously expensive and only runs on expensive workstations, but people still buy it. You don't use the DSP very efficiently if you start from these tools (nor do you use an ASIC or FPGA efficiently using these tools) but you get there in a hurry and can optimize from there. Sometimes what you need is a solution that runs even an 10x the hardware cost, and expensive tools can get you there faster than expensive engineers.

        BTW, unlike low-power DSPs (ADI 219x, TI C5x) the VLIW DSPs from TI (C6x) and Mot/Lucent (Star*Core) can actually be programmed efficiently in C by an engineer with typical embedded C programming skills.

    • Perhaps I'm mistaken, but the reason for using a PC with a sound card is that A) they're cheap, B) their interface specs are reasonably open leading to C) GNU software can be used for development and D) the elimination of having to use proprietary development tool kits.

      Clearly, for a true software defined radio, it seems to me at least, that a DSP capable of running at RF will be required. However, most of the digital processing can be done in the PC where resources are cheap and easy to work with. IMO, this is the same concept as the hated WinModems.

      I think this project is most important because of its GNU status. Allowing amateur radio to become locked into a proprietary solution for the next generation of radio is not a "Good Thing." I hope this project is able to produce something useful in the near future and set the standard for others to follow.
      • Well a sound card is about as bad a Digital/Analogue interface as you can get - most can't even hold a flat frequency response over the basic 20-20k audio band, and 44kHz sampling rate isn't exactly useful for radio frequency stuff.

        Good quality ADC's are still pretty expensive, and you can either pay $$$ for a PC interface card or somehow build one yourself.
    • I don't think they are marketing it as a replacement for a DSP. Clearly if you wanted to do something like this as efficient as possible, a DSP is the way to go. You don't slow do your computer with all this additional processing - unless you've got a disgustingly fact computer ;).

      But at the same time, those who can't afford the $500+ DSP kits to start playing around with, or those who want to see what are the limits they can push with their computer, this sort of stuff it probably right up their alley. I kind of dig it.

      As long as everyone understands the differences between the two approaches, everything is cool. This gives more people the opportunity to play and I am all for that.

      -Greg
    • Contrary to what the DSP vendors will tell you, todays PIII, P4 and Athlons kick major butt on the vast majority of DSPs. Clearly for handheld, or other low power applications, the 16 bit fixed point DSPs from TI, or ADI are wonderful, but don't forget that you get to program them in assembler.

      On the GNU Radio end, we're out to show that conventional processors (which get faster with no work by any of us software types) are capable, and in fact, actually superior at many signal processing tasks. For instance, a dual processor Athlon 1800+ MP can evaluate 4.8 BILLION FIR filter taps / second. Try to find a DSP that'll do that.
  • by Anonymous Coward
    All boasting "I've got a brand GNU radio and it runs Linux"
  • by Anonymous Coward
    We could have all those bands again that they banned; the 800mhz AMPS area, HDTV, anything just pumped into our boxen.
    • In the US, radio receivers and scanners are forbidden from receiving in the cellular phone bands (not that hard to get around by buying a radio elsewhere or modifying your own).

      Spread-spectrum technology, as used in wireless phones, especially 3G wireless and other communication, is generally inaccessible to your generic home scanner or ham setup. Also, it's often digital, which again means a home scanner or ham is out of luck.

      Enter GNU radio. This sounds like it will easily enable receiving the "forbidden" bands, and give a lot of computer power to re-assemble the spread-spectrum signals. I don't know if this is the intent of the developers, but the potential for bypassing existing radio "security" (really, security through obscurity & legalese) seems strong.
      • by Anonymous Coward
        Try security through RSA *plus* what amounts to a cryptologically proven shared-secret technique of frequency hopping in the case of CDMA. (The shared secret, actually the seed for the frequency-hopping algorithm, is hardcoded into the phone; it is not exchanged over the air at all.)

        Cordless phones and analog cellular have neither of these protections; if the cheap 2.4GHz phones do any frequency-hopping at all, the same random seed is likely used among all units of the same model. Analog cellular really only frequency-changes when switching cells; that's why a good CDMA-based digital system is often more robust even when the analog handsets are pushing a much, much stronger signal by any measure.

        Yes, you could easily listen to analog conversations; you can already do that easily. However, if you capture a *TDMA* (GSM) conversation (no shared secret there), you will still need to crack the encryption used, likely not a realtime operation with a desktop PC, although I believe there was a big weakness in the pre-3G implementation. With CDMA, you have to discover the seed value for a particular handset, and *then* crack the crypto.

        Of course, there may still be weaknesses or backdoors in these modern implementations, and more widely-available equipment means they're more likely to be discovered. It's still wrong to claim no real protections have been introduced at all.

        Given that cellular test equipment can still be marketed, I'm not sure what the equipment-sale restrictions really forbid. However, if this does become a popular way to eavesdrop on older cellular networks, you can bet that 800-900MHz-capable pretuners will be mandated off the market.

        • With CDMA, you have to discover the seed value for a particular handset, and *then* crack the crypto.

          This is not the case. On the forward channel (basestation to handset) only 64 spreading codes are used. Hence it is easy to grab all the bits destined for all the handsets in the cell.

          Once you've got the raw bits then you take advantage of a flaw (or feature depending on one's point of view) in the protocol that allows you to solve for the per handset crypto key (42 bits). I turns out that there is bunch of redundancy in the signal transmitted from the base station to the mobile. The other "feature" is that the "encryption" function is linear function.

          Worst case it takes one second to gather the data required to set up a system of 42 equations in 42 unknowns. A quick look at the IS-95 spec and an little linear algebra will provide insight. Why it takes 1 second to gather the data is that a couple of bits get randomly hammered in a window of 16 out of every 24 bits for power control, hence only 8 out of 24 bits are useful for setting up the system of equations.

          Once you've got the handset key, then, if you care, you can use that key to demodulate the reverse channel (mobile to basestation), but it's often the case that you can hear both sides of the conversation just listening to the forward channel.


          Of course, there may still be weaknesses or backdoors in these modern implementations, and more widely-available equipment means they're more likely to be discovered. It's still wrong to claim no real protections have been introduced at all.


          Personally, I prefer my crypto without deliberate flaws. I argue that "pretend crypto" is worse than no crypto at all. Let's at least be clear that IS-136 and IS-95 are both fundamentally broken. GSM takes a little more work, but having the low 10 bits of the 64 bit set to zero does make the job easier.
      • One of our goals is to disabuse people of the notion that there's much security in any of the current wireless protocols. They are all pretty much flawed.

        GNU Radio provides a platform where folks can experiment with the current and emerging digital (and analog) communications standards, and actually see how they are implemented.

        There's plenty of work to be done. We've got the infrastructure into a usable (by highly motivated people) state, but there are lots of modulators and demodulators still to be written, as well as support for scripting, better GUIs, etc.
  • Does the ADC mix down the frequency prior to A/D conversion?
  • by Anonymous Coward
    This page [measurementcomputing.com] has the details. Too pricey for a tinkertoy.
  • appearantly is the PCI-DAS4020/12 - that's what the alpha driver posted is for, specs cached here [216.239.39.100]. Described as "low cost" (from a lab gear point of view) but is GBP 1200 or so.

    I've always wondered what generic CPU's could do in the HF (3-30Mhz) radio spectrum since CPU speeds passed 120Mhz long ago.
  • don't worry kids, the introduction of digital radio and subsequent shut down of analog will prevent any fair u, Erhm, unauthorised distribution of copyrighted content.

    Joe Schmo: but won't that mean I have to fork out
    $$$ on a new receiver?
    RIAA exec: yes, but the new one has an LCD display
    that shows you the song title!
    • The SSSCA (by any other name still the same) would extend its provisions to any "digital device." This has interesting implications for amateur and commercial two-way radio, if indeed its provisions are so broad as to encompass devices beyond those connected to the Internet.

      If you're a ham, and your understanding of the SSSCA leads you to believe it may impact amateur radio, write your ARRL division director (whether you're a member or not). The more organizations and people we get opposing Senator "Disney's^H^H^H^H^H^H^H^H^H Hollings' bill, the better.
      • I can just see it in the far off future, the SSSCA or whatever its new incarnation is has taken away some of the freedoms we had possessed before. People are less free and have no one to turn to, until...

        Enter GNU, with their DIY GNU/DVD players, GNU/CD players and GNU/Palm devices. Freeing the people of the oppressed country. Or something like that.

        Hacking is getting to be more dangerous. Where hacking is having the knowledge to do something. And this is hacking your own shit here just to be able to listen to a CD on your computer. That act becomes illegal! *laugh* I find that humorous.

        Send in the clowns!
  • The MC DAC supported has a sampling rate of 20MHz. Does that limit the range of possible frequencies to 20MHz ? Are there any ADCs out there that can sample upto, say, 500MHz ?
    • Actually, iirc, with a sampling rate of 20MHz your range of frequencies is limited to about 10MHz. Been a long time since I had to mess with stuff like this.
    • I am going to go out of a limb here, so if I made any false statement let me know, cause this whole area is interesting to me and I want to learn.

      The possible frequency range would be half of whatever you could sample at, so the range would be 10MHz. I know you can do something called down converting the frequency, but I don't know how that would help, as the DAC is the bottleneck for larger frequencies.

      I know at work, the systems guys - those people that dream up crazy shit and are sometimes out of touch with reality - came up with a design that required a 1GHz ADC. The only problem is the fastest ADC on the market is about 200MHz. I told a vendor the systems guys needed a 1GHz and they just laughed. Now it's a running joke at work...
      • Actually,

        20 million samples per second will allow you a max analog signal bandwidth (BW) of 10 MHz. But that bandwidth can be placed anywhere in the spectrum. The only practical requirement is that the spectrum of interest needs to be analog filtered prior to sampling - otherwise you'll be mixing in the entire RF spectrum. So, with a 20 MHz ADC, you have plenty of oomph for receiving even HDTV or NTSC signals, both of which take a 6 MHz channel. It certainly has some great applications. I cannot think of any consumer or commercial applications which use a channel greater than 10 MHz.
      • The only problem is the fastest ADC on the market is about 200MHz. I told a vendor the systems guys needed a 1GHz and they just laughed. Now it's a running joke at work...

        You obviously didn't talk to the right vendor. Maxim has had 1GHz ADC's out since at least 1997. Their fastest one right now is 1.5 GHz (MAX108 [maxim-ic.com]). If you think about it, there's gotta be fast ADC's since there are digitizing scopes that run at several GHz.

        • Obviously I am thinking of the wrong thing. Whatever it is, I know no one makes it yet. I had Arrow and Linear reps laughing along with me, because the fastest chips they need that would do what we needed was going to be in the 200 range. Now I am curious as to the specs the systems guys were calling out for. Hmmmmm...

          Thanks for the info, though.
        • by Anonymous Coward
          While the Maxim part is fast, its not very sensitive. 8-bits of accuracy is way too small for wireless. The lowest useful bit depth is about 12-bits, 14 would be nice.

          See
          http://www.sdrforum.org/MTGS/mtg_21_nov00/a dc_perf ormance_11_08_00.pdf
        • The comments above re bandwidth etc are correct. Using the cable modem tuner our bandwidth is effectively limited by the SAW filter in the tuner module. It's sets an IF bandwidth of about 6.5 MHz.

          The best SDR type A/D I've come across is the Analog Devices AD6645 [analog.com]. It'll do 80 megasamples/sec at 14 bits. It's also capable of bandpass (aka direct IF) sampling.
    • What is limited is the BANDWIDTH of the system, not the frequency.

      In most radio systems the carrier frequency is not where the processing, analog or digital is done. The modulation/demodulation is done at an intermediate frequency (IF), which is upconverted/downconverted to the carrier frequence (or Radio Frequency, RF).

      So the speed of your ADC limits the width and base frequency of your IF, not the RF.
      • by Anonymous Coward
        Jack,

        You're right. The alpha HW includes an inexpensive downconverter (about $35. in small to moderate volumes) which can be tuned by the PC from 50-860 MHz. It has an IF bandwidth of about 6 MHz (matching a NTSC video channel) and the model we are using offers its IF at just above DC to 6 MHz.

        The GnuRadio host SW can process narrow and wideband signals falling within this 6 MHz chunk of spectrum. It can even process several signals simultaneously.
  • by Anonymous Coward
    so why is a software radio getting the geek seal of approval?
    • Exactly my first thought too :-)

      But really, the reason most slashdotters dislike software modems is not just that they steal a few cpu cycles from quake3, but that a) they do it in a closed source driver and b) the manufacturer often doesn't bother to tell you that you're getting less of a modem.

      If you take those problems out of the picture, offloading part of a device's function to the CPU can be a good thing. Stuff that was being done in a chip with no published specs can be done in free software. If the main computer is capable enough (processing speed, bus bandwidth), then why not replace all sorts of modems, radio/tv cards, etc. with software?

      All these things eventually boil down to the same thing: one or more wires get connected to the computer and a signal is read or generated on those wires. It would be pretty cool if computers just had a multitude of physical connectors and you could address each pin of each of them. You get a new internet connection (ISDN, ADSL, cable, some kind of wireless thing) and you just plug the cable into the computer and download the appropriate module. HDTV transmissions become available in your area? Just download the module and sign up!

      Practical issues aside (like whether today's computers could actually handle all this), I think more of this development is a good thing. Just think of how long Linux users (let alone users of more obscure systems) often have to wait for good drivers for radio/tv tuners to become available because driver developers have to understand each device's undocumented and unique interface, and then consider that the signals these devices are receiving are all well understood, unchanging, and even regulated by government!

  • "I've configured the main computer to search all open channels for communications, so we gave it a blast at the XXXhz range to see if it would trigger a response"... "Any siugnificantly advanced modern-day technology is just trying to make StarTrek/StarWars a reality" - me
  • If the software is digitally creating the waveforms before conversion to analog and transmission, then encryption could be applied to the waveform, and decrypted with the appropriate key by the receiver (a radio version of PGP, anyone?). This could prove to be a very cool method of secure communication.
    • Absolutely. The whole idea with SDR is flexibility. There's nothing stopping you (technically) from building encrypted transceivers, etc.

      As far as I can tell, at least in the US unlicensed bands, you should be able to build a legal direct sequence frequency hopping transceiver that uses a cryptographic spreading code. The FCC regs have particular requirements WRT bandwidth, etc, but there's no reason you can't meet those requirements and still end up with a LPI (low probability of intercept) LPD (low probability of detection) communication system.

      Have at it!
  • Great! (Score:2, Funny)

    by epsalon ( 518482 )
    Now I can try out tempest for eliza [erikyyy.de] without need to actually use a radio!
  • Hardware Geeks (Score:3, Insightful)

    by Alien54 ( 180860 ) on Saturday April 06, 2002 @09:00AM (#3295066) Journal
    This looks like it very much as hardware geek think. very cool, very esoteric.

    It is not pointless, however, but it is very bleeding edge. I can see this being more practical as processor speed improves.

    Maybe eventually there will be something like a box with a firewire connection or something.

    You know some companies will freak if people start producing software to receive HDTV, Satellite Radio, etc. HDTV is supposed to be the standard nation wide by 2006(??). This ties in with the ability in HDTV to block recording of certain programs, etc. if you have a digital recorder. This will also tie into that bill Sen Hollings introduced.

    So this is all part of a somewhat larger picture.

    • Re:Hardware Geeks (Score:1, Informative)

      by Anonymous Coward
      Erm. The hardware involved here isn't really general-purpose, as it requires a pretuner. (I was under the impression that 'real' software radio from the big researches pulled a few more tricks, basically creating a 'DC to light' system. Software *controlled* radios have been around for ages now; this is just a matter of decoding various modulation techniques without those stages of a regular radio set getting in the way. (e.g., if you plug an AX.25 TNC or your soundcard and appropriate software into an amateur VHF set, you will still be limited to what can be done with FM modulation. This just ties the DACs/ADCs in 'ahead of' that FM->audio hardware, and since the computer can do the same job, we can drop those stages from future radios.

      The DTV (it's "Digital TV;" "High Definition" is now optional, viz. the lobbyists allowing 4 regular-resolution channels in the space of 1 analog channel, quadrupling the value of their broadcast licenses) modulation standard is known, though I can't remember exactly what they use off the top of my head. You can go out and build/buy radios that will receive the raw DTV signal right now, and even hardware to 'decode' the data stream (analog->digital). Consider that the link-layer protocol.

      On top of this, the access controls for existing (subscription) digital TV services are handled through documented, but strong, cryptography. You can 'decode' (demodulate) the bitstream from the radio signal easily- nobody wants to make the radio gear expensive, it has to go into $99 set-top-boxes- but actually *decrypting* it will be another matter.

      What makes DTV different is that it's a public-access system. It should be obvious that there are two possible ways DTV copy control can be handled; again, I'm not sure what they're actually doing:

      1. The 'stupid' way. Include a copy control flag along with your 'cleartext' MPEG2, etc. It would be the decoder manufacturers'/coders' responsibility to adhere to the DMCA.

      2. The DVD way. Create a licensing body/consortium to distribute keys to manufacturers/software developers; the MPEG stream gets transmitted encrypted, such that all licensed decoders have access to it, until a someone produces a violating one, at which point their key is pulled. This is, again, how DSS access control works, except the key is on the smartcard given to each individual subscriber; when you stop paying your bill, they take your key out of the downlink stream. (No, I'm not really sure how you encrypt one single stream for decoding by an ever-changing list of multiple keys, but that's how they do it.)

      Again, all of these systems could be received by anyone with a regular radio of proper specification. Bypassing the crypto (if there is any) is the hard part. The only reason the controls will work will be because of crypto in the 'smarter' case, and because of Macrovision-style protection in the weak case (your TV card will honor the copy control bit and refuse to pass that stream to your computer; the manufacturers will build this way because they don't want to be DMCAed). If the weak case is the one they go with, then you can just plug a regular radio to your computer and ignore those no-copy flags- all having the 'software' radio does is make it easier to demodulate acronyms other than FM or AM, but *radios exist that can do this already.* They're just kinda expensive, complicated beasts for enthusiasts ($1,000 Yaesu/Ten-Tec/Kenwood/whoever) vs. what could soon become a $20 ADC and a $5 tuner.
    • The content folks at the MPAA Copy Protection Technology Working Group [cptwg.org] are already sweating. I spoke to them in February about free software, software defined radio, GNU Radio and our ATSC receiver project. The audience was about 1/2 techical and 1/2 lawyers. The lawyerly side from the content producers are the folks bringing you the Hollings bill.

      Some of the technical folks from consumer electronics companies were sure that what we are doing was impossible, and even if we could do it, no self respecting engineer would *gasp* give the source away. A few of them were more sanguine and understood fully the implications of what we're building.
  • Sorry, i'm going to have be a luddite here. If you have GNU Radio envy, here's the antidote: the distinctly analog (and fantastic sounding) Henry Kloss Model Two [tivoliaudio.com] Desktop Stereo Radio. AM and FM. Lovely smooth-sliding analog dials. And nothing else sounds as good for $159. And if that's too rich, there's the original $99 Mono Henry Kloss Model One. [tivoliaudio.com] Rest In Peace, Mr. Kloss.
  • ...A fully software-driven radio receiver; just strap some off-the-shelf DAC hardware...
    That makes a whole lot of sense. :-) The article says it more accurately:
    ...GNU Radio is a collection of software that when combined with minimal hardware...
  • by wowbagger ( 69688 ) on Saturday April 06, 2002 @10:35AM (#3295287) Homepage Journal
    I do this for a living [p25.com], and I can tell you this won't help you listen to cellular.

    First, all they are doing is taking the 455kHz IF from an existing radio, digitizing it, and using the computer to do the demodulation. Thus, if your radio won't receive the cellular band, your computer won't either. And if your radio can tune into the cell band, you can listen to AMPS without a computer - it's just narrowband FM.

    Now, if you are talking about GSM, PCS, CDMA, or anything other than AMPS, then you will need more than just a receiver that can tune those bands. CDMA is spread over 1.5MHz of spectrum - unless your radio has an IF that wide you are out of luck.

    GSM and PCS (which is just GSM at a different frequency) is narrowband, but it's still more complicated than FM- you need to be able to receive the complex (in the a + (srqt(-1))w sense of the word) waveform, and pull the bits out of the air. Then, you need to decode the protocol, run the vocoder algorithm, and generate the audio. We use TI C6X DSPs capable of 1.6BOPS, with special opcodes to help the decoding, and Special chips to do the grunt work [intersil.com] and it still takes a lot of work to get it to run in real time.

    Now, if you are a ham, and you want to do sideband, PSK31, or other modes, this is a great thing. But don't expect to be able to monitor your neighbor's phone with it.

    Besides, if you ever HAD monitored cellular, you't realize it's about as interesting as watching grass grow.
    • Besides, if you ever HAD monitored cellular, you't realize it's about as interesting as watching grass grow.

      That depends on whether you've got a `transmit' button or not.

      One place I worked at left a scanner running in the main office (the boss was more than a bit weird), and one day we got an entire 20-minute conversation between husband (on mobile) and wife (on land-line) discussing the previous weekend's partner-swapping exercise, ratings and so on, exploring the prospects for a repeat and so on.

      Towards the end wife asked if it was wise to discuss this on the 'phone and husband returned copious assurances that since he was on a mobile (but evidently sitting still) the conversation would be chopped up across channels and nobody could make head or tail of it.

      And me with no transmit button. Sigh.
    • P25 eh? :-)

      Wha kind of ADC would be required to grab APCO frames from over the air?

      I am not too concerned about real time processing... I just want to grab them and pick at the CAI data...

      Just wondering.
      • Depends upon whether you want to do phase 1 or phase 2 - phase 1 is plain old FM, at 4800 baud, 2 bits per symbol. You could do pretty well oversampling by 10, or 48000 ksample/sec, and then picking the sample with the lowest intersymbol interference (that's basically what we do, although we do it at a much higher sample rate.) Then you slice the data to get the symbols and process them.

        Phase 2 is QPSK - phase shifted carrier, although you are *supposed* to be able to receive it with a normal FM detector, for backwards compatibility.

        The only real problem would be, once you've recovered the frames, you'd need an implementation of the DVSI IMBE vocoder to recover the audio, and if the channel is doing DES, you'd need to crack the DES key on the audio.

        Why would you want to look at these signals, except to eavesdrop on the police? Just curiosity - I know why I want to do it (cause that's what I get paid to do), but why do you want to?
    • > and I can tell you this won't help you listen to cellular.

      Look, we're sucking down 6+ MHz of IF bandwidth, so that's no issue. Take a look at this screenshot [gnu.org] for lots of narrow band signals, or this for spread spectrum [gnu.org].

      If one were inclined to listen to cellular, the GNU Radio platform has plenty of umph to decode all the 2nd and 2.5G cellular standards.

      Note that when doing most of the work in software, you organize the system differently than using the intersil digital down converters.

      To give you a couple of ideas about how we do it, we use a highly decimating FIR filter merged with the software frequency translation for the channel selection. Once you're down to something like 2x or 4x the symbol rate, the cellular standards are no big deal computationally. Yes, there are a lot of layers, but so what? The data rate is really low.

      If you download the code [gnu.org], the relevant class for the narrow band channel selection is ~/gnuradio/src/gnu/lib/gr/GrFreqXlatingFIRfilter.h
      • I stand corrected - it's just that I didn't see the specs for the hardware, and so I assumed you were pulling the IF out of a normal scanner.

        Also, do remember I tend to think not just in terms of decoding a signal, but in terms of performing parameterics on it, and generating the other side of the signal at the same time. Measuring takes more work than just decoding, and I tend to forget that not everybody is building test equipment - you don't have to worry about syncing your transmitter to the TDMA timeslots since you are receive only, you don't have to worry about measuring modulation accuracy, audio distortion, frequency error, burst power, all the while adjusting your own signal parms, running the simulation scenario, and keeping the hardware in cal over temperature. Especially since people seem to think a $20,000 service monitor ought to outperform a $20,000 measuring receiver, $50,000 spectrum analzyer, $5,000 audio analzyer, $10,000 RF signal generator, $5,000 microwattmeter, etc., and do all of the above at the same time.

        And as for downloading the code - while I love the GPL, and would dearly love to release the code I do under it, I have to link to things like the DVSI codec - and somehow I don't think DVSI is going to GPL that. So I get a bit cagey about downloading code in that area - that way I cannot violate the GPL unintentionally.

        And actually, what you describe is EXACTLY what you do with the Intersil parts - you filter and decimate like a big dog, you just do so with the chip, and save your DSP MIPS for the other stuff.

        However, do you REALLY have the CPU to do CDMA at the 1.5 MChip/sec rate? Even with a Athlon 2000, that's not much more than 2000 cycles/chip to do the correlation.
    • Descrambling CDMA is likely even outside of the abilities of much local law enforcement, and it probably still very difficult even for the Feds.
      They'd probably get access to the base switching stations rather than bother with trying to intercept the radio link.

      CDMA looks like noise - without having the right information about where the various parts of each bit are - you aren't going to even get your hands on the data.

      You need to know the right "chipping" functions and also time synchronize yourself to the network and mobile unit. This is really, REALLY, *REALLY* hard. Probably costs many many thousands of dollars to get equipment that can do it.

      CDMA is spread spectrum - which at one time was classified and only used by the military.

      Sometimes I think declassifying it wasn't a very good idea from a national security perspective...

  • Heh. (Score:4, Informative)

    by Chris Johnson ( 580 ) on Saturday April 06, 2002 @10:40AM (#3295312) Homepage Journal
    I'm sorry, but this is real wimpy for GNU.

    My notion of GNU Radio would be simple and inexpensive free FM BROADCASTING. Of course, the FCC has issues with that... if you pay attention to the micropower FM scene, it's actually quite similar to what GNU stands for. It's about empowering people.

    The catch is, it's pretty easy to screw up an adjacent station if your signal is screwy and out of spec.

    The low-power FM movement [radio4all.org] is worth your attention- if you're even reading this article you probably 'get' the importance of micro/local broadcasting. It should come as no surprise that corporate radio has been using Congress and the government to try to stamp out even the possibility of people using local FM broadcasting to provide alternatives- it mirrors what other content industries have been doing with more Slashdot attention. In December 2000 Congress passed an appropriations bill with a rider that was snuck in to halve the number of low power FM licenses the FCC could legally issue. Not only was corporate radio behind this- NPR also supported the illegalization of low power FM broadcasting. McCain (R-AZ) has introduced a bill [senate.gov] to counter this and support low power FM again. Furthermore, on February 8, 2002, the Court Of Appeals struck down language in this anti-LPFM act which had prohibited the FCC from issuing a license to anyone who had ever previously been involved with pirate radio. The court held that this was unconstitutional. (funny how both in the judiciary and Congress, these guys are forced to deal with all types of injustice and power grabs, not just the sorts that are close to the hearts of Slashdotters ;) )

    These people [ramseyelectronics.com] are the other side of the coin: transmitters from microwatt to 500 watts and kits for all kinds of nifty things like subcarrier decoders, shortwave, the aviation band etc. I don't know anything about them but their catalog but it would make any true geek absolutely drool, with all the build-it-yourself devices to do arcane and amusing things, and the flashy computerised rackmountable transmitters. Too cool.

    • I'm sure that there are plenty of intelligent, well-reasoned and courteous users of so-called "low-power FM". But the only side that I've seen is the selfish "pirates". I recently worked for a company in a large metropolitan area that provided wireless high-speed Internet access (over 1/3 of our customers used Linux as their main OS). During the 2 years that I worked in that city, we had over a dozen clashes with these "pirates". These "pirates" would, either due to faulty equipment or operator error, bleed their signals over into our bandwidth (we were operating in our legally owned frequencies in the Microwave spectrum, just so you can get an idea of just how much bleed over these guys were causing). This would cause our customers to either experience severe slowdowns in speeds or complete loss of connectivity. Sometimes it only affected a few customers, but usually it would affect hundreds of users. Our engineers would have to triangulate the source (they even once had to hire a helicopter to fly around in, since the signal was so buggy) and then bring the FCC and Sheriff's department out to the house. The FCC would try to frighten them with empty threats of felony charges, which usually was enough to scare them into either fixing their equipment, learning how to use it or giving up on it altogether.

      What always amazed me about this though, was how these "pirates" always became very indignant and self-righteous when they were confronted. It was as if they believed that their right to freedom of speech superceded everyone else's rights that they affected. All those people who relied on our service for access to the Internet, for knowledge, education, entertainment and yes, the ability to express their ideas and opinions on the net.

      I'm sure that the majority of those involved in this movement are not so self-centered. I'm not passing judgement on your right to broadcast or on any of the laws restricting or allowing broadcasting. Just wanted to offer a point of view from the other side of electromagnetic spectrum.
      • Acknowledged. The trouble with empowering people is that a lot of people are idiots :)

        It's a balance that has to be struck between acknowledging people are idiots- and treating them like it, notably by completely depriving them of the ability to communicate and do this kind of thing. Since radio has been consolidated into small numbers of corporate stations controlling entire radio markets, to some extent it forces idiots to nevertheless try to assert their perceived right to their own radio community, to local independent radio.

        If they could do this WITHOUT being technical idiots, it would be terrific...

  • Some guys in Germany are working on a software decoder [tu-darmstadt.de] for DRM [drm.org], this is basically a new digital radio service for SW/LW/MW radio, there's a few test transmitters running in Europe. The transmissions consist of a COFDM modulated channel and a 20-30kbps AAC stream within, doesn't sound like much but when you can get flawless delivery from Finland to Portugal and farther afield it's not bad and makes old SW look very poor indeed.
  • Multiple channels (Score:3, Interesting)

    by Animats ( 122034 ) on Saturday April 06, 2002 @10:54AM (#3295353) Homepage
    Software radios can receive multiple channels at once, provided enough compute power is available. Cell sites use this to receive hundreds of channels without having hundreds of separate receivers.

    This has some possibilities. One is a radio that listens to the entire FM band and, quickly and automatically, builds an MP3 music library of popular music. Legal, too. (Audio Home Recording Act)

    Add-ons to this project could include automatic song identification (there are song-signature databases for this), use of multiple copies to recognize and remove announcer blithering, and intelligent audio cleanup from multiple copies.

    Great open-source project for audio people. Nice device for cars, too.

    • It looks like they're feeding the IF signal into an ADC, so you'd still need the part of the receiver that takes the RF down to IF. If I remember how FM works, you take the base signal and modulate it up to 10.7Mhz (IF). In the next stage you take the IF and modulate it up to whatever the final channel is, say 92.5Mhz for broadcast. What you're saying would only work if you had an ADC that could digitize the RF signal. This is probably possible for FM radio (~100Mhz), but would get expensive if you wanted to do it for cell phones (~1-2Ghz). DSOs that handle 5Ghz signals cost as much as $50k so those high speed ADC must be pretty pricey.
      • You don't have to digitize the raw RF. It's sufficient to digitize the IF, provided that the passband of the IF filters is wide enough to encompass the range of channels you want to receive.

        The hardware device the GNU Radio people are using can digitize a 5.5MHz passband, which is one TV channel. (It's a TV tuner card.) That's about a quarter of the FM broadcast band. Within that passband, the software can extract multiple signals, up to the limits of the compute power available. A two-channel demo is available.

        Receiving two signals of significantly different signal strength may not work, depending on where and how automatic gain control is applied.

  • Project seems neat but I wonder how you get the alliasing of computer frequencies filtered out? Computer systems don't just generate frequencies at the main freq. That may be the fundamental freq but there will be hundreds of side bands generated in the local vicinity of you PC. Plus even if just had the fundamental freqency all other switching signals at less than the clock rate would generate a frequency and side bands themselves. It would seem like a great big noisy mess in the 5 to 30 Mhz range near your PC.
    On another note it would be interesting to see if any one could build an amateur baseband system for 802.11b. That has a bandwidth that should alias down to below the 30 Mhz range with the right analog receiver. But it would not be real time as it takes ~10 Bops of computing power to decode the signal on just a PC. (802.11a would take ~30 Bops according to the literature!)
    • PC are really dirty wide band noize devices. Have seen spectrium display in getting FCC class B tickets for computer would scare the heck out of anyone. The Birdies generate are a nightmare to supress. That is why you wont find AM Broadcast band PC cards. The 1-30mhz receivers are usualy outside controled by RS232 etc. There are a few that fit inside but have a lot of receive holes.

      There is TenTec
      http://www.tentec.com/rx350.htm }
      and Icom that have computer controled receivers that have spectrium display. The TenTech has its own display and the Icon uses the computer screen.

      Heck I had fits keeping the noize from digital frequency counter and synth units from impacting the receivers.

      I hope the ability for the hobiest to play around with circurity dont dissapear but trying to wire up some of this SMT stuff is getting a bit fun to do along with just getting the parts!
  • So, could I make a scanner out of this? To be able to listen to 1mhz-1000mhz?
  • the gnu radio site doesn't say how to build the hardware! anyone know where to find out?
  • so when is this radio going to have tivo like capabilities? that would be the killer app making it all worth it.

    rhy
  • also, in the interim, anyone know about how to hook up a gps receiver to a laptop a la cryptonomicon?

    that is, without having to resort to windows-only software that the gps mfr supplies, but rather have programmatic access to the receiver's info via serial/usb/etc?

    even better, a gps receiver that allows all that and is tiny enough that it could actually be used regularly and unobtrusively w/ a laptop.
    • Buy any PCCard based GPS (virtually any) and use the text based information they spit out. NMEA-0183.
    • gps devices generally output standard data formats on a serial link. (Perhaps the manufacturers each put some proprietary data in the stream as well?) (Some GPS devices are PCMCIA cards instead of serial-port, and it wouldn't surprise me if somebody does USB, which may also help with power consumption issues.) Look around for software - somebody's almost certainly done something programmatic for Linux.

      What I want is software that pulls timestamps out of the data stream so it can set a PC clock - either Windoze or Linux is fine, given the limited accuracy I need. (Actually, I've found that GPS reception inside buildings, at least for older handheld and wristwatch units, is bad enough that it's probably not going to be useful unless your lab has windows.)

  • Hi, this is Eric Blossom. I'm the primary maintainer on GNU Radio. With regard to hardware requirements, there are several things that will work. It all depends on what you are trying to do.

    Those of us who are currently doing most of the work on GNU Radio are using an off the shelf 20 million sample/second A/D card made by Measurement Computing. It's not cheap, about $1300 US, but its the best value we've found so far.

    We're using this card in combination with a tuner module designed for cable modems. This allows us to receive pretty much anything from 50 MHz up to 890 MHz and we get to suck down about 6 MHz worth of usable spectrum centered at a particular frequency. This means that depending on what we're looking at, we can either process many narrow band signals simultaneously or a single wide band signal. Examples of narrow band signals include conventional FM broadcast, cellular, paging, etc. The wide band signals that we have currently been spending most of our time on are ATSC (Advanced Television Systems Committee) digital broadcast TV.

    Others have talked about using conventional sound cards, AC97 codecs etc along with a narrow band downconverter of some kind. The software supports I/O using sound cards, but somebody, perhaps from the amateur radio community needs to draw up a simple schematic that's straight forward to build.
  • Could I just point out, that instead of $1300-worth of digital bits, you could do this in simple analogue stuff, on your kitchen table, with no more tools than even beginning electronics hobbyists have?

    Oh, and amateur radio enthusiasts have been homebrewing radio gear for years... all analogue.

    What's the advantage in using a DSP? And how do you get rid of all the clock hash?
  • Hrm, I wonder what interaction these types of things are going to have with 'privacy' laws for cellphones. It used to be that you could get radio recivers that could listen to any freqency out there, but today they are restricted from listening in on cellphone conversations.

    Would the advent of software radio bring that to an end, or cause DMCA style restrictions on radio-capable software?
  • Instead of SETI RXing the signals and dispersing them to be processed and sent back- With something like this, dispersed "listening" stations could RX signals, process them, and send them on to SETI.

    "Is there anybody out there?" Pink Floyd

The best defense against logic is ignorance.

Working...