200 likes | 853 Views
GNU Radio A Free Software Defined Radio. Eric Blossom eb@comsec.com Blossom Research +1 831 917 3428 798 Lighthouse Ave., Suite 109 Monterey, CA 93940 USA. Thought for the day…. The milk of disruptive innovation doesn’t flow from cash-cows. David S. Isenberg. Overview.
E N D
GNU RadioA Free Software Defined Radio Eric Blossom eb@comsec.com Blossom Research+1 831 917 3428 798 Lighthouse Ave., Suite 109 Monterey, CA 93940 USA
Thought for the day… The milk of disruptive innovation doesn’t flow from cash-cows. • David S. Isenberg GNU Radio
Overview • Software defined radio • Free (open source) software • GNU Radio • Software ATSC receiver GNU Radio
What is software defined radio? • Get the software close to the antenna • Software defines the waveforms • Replace analog signal processing withdigital signal processing GNU Radio
Why SDR? • Flexibility • Quicker time to market • Multiple personalities (chameleon) • New things are possible: • Multiple channels at the same time • Better spectrum utilization • “Cognitive radios” GNU Radio
Disadvantages • Higher power consumption than dedicated ASIC approach • More MIPS required • Higher cost (today) GNU Radio
Current SDR users • Military • Consolidating a stack of radios • Bridging between radio networks • Cellular base stations • Avoid “fork lift upgrades” • Multiple standards on same system • New features to market quicker GNU Radio
Emerging SDR uses • Personal communication devices • Cellular / Paging / Wireless LAN(s) • PC based “generic transceiver” • Radio / TV • Emerging unlicensed RF band apps GNU Radio
What is “free software?” • “Free as in liberty” • User has access to the source • User is free to modify and is encouraged to contribute the modifications back to the community • A culture of innovation • Various licenses: GNU General Public License (GPL), Mozilla, Artistic License. GNU Radio
Who uses free software? • World wide community of users • Publicly traded companies support or distribute free software: IBM, Red Hat, Mandrake • Linux • Apache web server • Not a fringe activity GNU Radio
What is GNU Radio? • It’s a free software defined radio • A platform for experimenting with digital communications • A platform for signal processing on commodity hardware GNU Radio
Vision • Transmit and receive any signal • Create a practical environment for experimentation & product delivery • Expand the “free software ethic” into what were previously hardware intensive arenas GNU Radio
What H/W is required? • Commodity PC • RF front end (e.g., TV tuner module) • Multi-channel applications / wide B/W: • High speed A/D (20 – 25 Msamples/sec) • Single channel / narrow bandwidth: • SoundBlaster, AC97 codec, etc. GNU Radio
SDR ATSC receiver is practical! • Commodity PC: • Dual processor Athlon 1800+ MP • 512 MB RAM / 120 GB disk • $1300 • Can do: • 6 * 10^9 integer ops / sec • 4 * 10^9 FIR filter taps / sec GNU Radio
ATSC computational requirements • 1080i TSP decode takes about ½ of a single CPU • Naïve equalizer: about 2.5 * 10^9 taps/s • Smart s/w version: about 0.6 * 10^9 taps/s • Viterbi decoder: 10^6 decisions / sec. • Highly amenable to SIMD implementation • Short constraint length GNU Radio
Moore’s Law is on our side • Even if we’re off by a little bit, within 3 years we’ll have 4 times the performance for the same money. • General purpose hardware gets faster by itself (Intel, AMD, etc take care of it). • ASICs don’t get faster by themselves. • Even a die shrink is expensive & time consuming GNU Radio
Open source hardware too! • General purpose SDR PCI peripheral: • Tuner module $20 • 25 Msample/sec A/D converter $12 • Spartan II FPGA (100k gates) $18 • Misc analog, SRAM, etc $10 • PWB $10 • Assembly & Test $10 • Total cost to manufacture: $80 GNU Radio
GNU Radio resources • Home page (links to source code) http://www.gnu.org/software/gnuradio • Mailing list discuss-gnuradio-request@gnu.org • Archive http://mail.gnu.org/mailman/listinfo/discuss-gnuradio • Open source hardware • http://www.opencores.org/projects/pci • PCI bridges, ethernet, memory controllers, etc. GNU Radio
Questions? GNU Radio