22
SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH ,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

SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

  • View
    229

  • Download
    4

Embed Size (px)

Citation preview

Page 1: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 2: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

WYSIWYG

Page 3: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 4: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 5: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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.

Page 6: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 7: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 8: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

WATER, WATER EVERYWHERE…

Page 9: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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).

Page 10: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

The Waterfall

• Must support any screen resolution• Be fast• No flicker• User-selectable colours, speeds, bandwidth, resolution (RBW)

Page 11: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 12: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

IT’S SOFTWARE, NOT A RADIO

Page 13: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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)

Page 14: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

IS THERE ANYBODY OUT THERE?

Page 15: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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)!

Page 16: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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.

Page 17: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

BETTER THAN ALL THE REST?

Page 18: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

AGC

• Essential for armchair copy.

• Must satisfy CW, sideband, AM users.

• They may be talking tosh, but the audio quality is good .

Page 19: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 20: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 21: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

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

Page 22: SDR SOFTWARE BY HB9DRV RSGB CONVENTION, OCT 9 TH,2011 The building blocks of a SDR program, an introduction to the design and implementation of a fully

If There’s Time

• Recording for analysis, legal use• Dual synchronised SDR (next year for sure)• Direction Finding• Radio Astronomy• ...