View
229
Download
4
Embed Size (px)
Citation preview
SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9TH,2011
The building blocks of a SDR program, an introduction to the design and implementation of a fully functional SDR program by Simon Brown, HB9DRV
WYSIWYG
It’s going to cost
• Support – time, effort, distractions• Hardware to run XP / W7 / 32-bit, 64-bit• Clean environment for builds• Hurrah for VMware
Building Blocks
• Select platform, very important consideration.
• Windows – market share, inexpensive hardware.
• Macintosh – worst of all worlds – expensive hardware, control freaks.
• Linux – an option for a turnkey solutions, downside is supporting all the variations.
• Embedded – an exercise for the user
Software Tools
• Free or commercial?• Programming languages?• One or many? Some
projects use a horrible mess of programming languages.
• Real engineers use C / C++.• Visual Studio 6.0, since
1999, rock solid.• Free does not mean saving
money, can be frustrating.
3rd-Party Libraries
1. Performance2. Usability3. Installation
Performance: Intel IPPIntel® Integrated Performance Primitives (Intel® IPP) is an extensive library of multicore-ready, highly optimized software functions for multimedia, data processing, and communications applications. Intel IPP offers thousands of optimized functions covering frequently used fundamental algorithms.
Highly recommended, $200
3rd-Party Libraries
Installation: NSISNSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.
Usability: Codejock
WATER, WATER EVERYWHERE…
Data Sources
• Data comes from a variety of sources:Soundcards,USB,Ethernet,Firewire.
• But it’s always the same: IQ data (in-phase and quadrature modulator).
The Waterfall
• Must support any screen resolution• Be fast• No flicker• User-selectable colours, speeds, bandwidth, resolution (RBW)
Creating the Waterfall
• Fast Fourier Transforms• When a high bandwidth
selected the CPU demand is high, can be too high for ATOMs
• Use very efficient routines (Intel IPP)
• Multi-threaded design essential
• Draw to screen with either GDI or GDI+
• Judicious drawing quality settings
• Get it right – up to 200 lines / second
• Speed versus resolution
IT’S SOFTWARE, NOT A RADIO
UI Style
• Using a computer, not a radio clone• Layout for user ergonomics, don’t just paint a
picture of a radio• If you want knobs go MIDI• Users get older, allow for this in UI design.• Skins (demo)
IS THERE ANYBODY OUT THERE?
Demodulating
• All modes can be demodulated with software!
• Can be expensive in CPU terms, why?
• Take incoming signal – say 400kHz, mix (NCO, sin,cos).
• Decimate from 400kHz to IF frequency for DSP, for example 16kHz (LSB / USB / CW).
• Decimation filters must be clean (demo)!
Noise Reduction
• Simple algorithms such as LMS (least mean Suqares) can be effective.
• Very advanced algorithms such as Ephraim Malah speech enhancement, just not possible with hardware.
• Automatic Notch Filters – simple variation of the LMS algorithm.
BETTER THAN ALL THE REST?
AGC
• Essential for armchair copy.
• Must satisfy CW, sideband, AM users.
• They may be talking tosh, but the audio quality is good .
Filters
• Digital filters can be ultra sharp (shape factor)
• Ring• Latency• Continuously adjustable• Free!
• Several design techniques
• Number taps similar to concept of number of poles
Just Say No
• No to requests• No to new hardware• No to anything (incl. management & hardware
developers)• No, no, no...• It’s all about to user?• Wrong – I want money, honey • Give something back – FUNcube dongle,
SoftRocks
Last Of All – Users!
• Need support• Enthusiastic Hams• Demanding Gov.
Agencies• Intrusion Detection• Homeland Security
• Too many users – need support staff
• Segregate amateur / SWL from commercial
• Yahoo! Groups• Web-based forums• Direct 24x7 support
If There’s Time
• Recording for analysis, legal use• Dual synchronised SDR (next year for sure)• Direction Finding• Radio Astronomy• ...