Saturday, September 05, 2009

Amateur Radio vs HPC & OSS

Lately, I've been wondering what aspects of Amateur Radio would benefit from high performance computing technology. This is prompted by my latest PC - built around an Intel Core i7 processor with 6 GB of RAM. This CPU has 4 cores and 8 logical (hyperthreaded) processors. The benchmark results are very nice: 20,500 Whetstone MIPS (floating) and 45,200 Dhrystone MIPS (scalar) across 8 simultaneous threads. [BOINC's built-in benchmarking - not to be taken at face value!] In addition, we have graphics processors (GPUs) that can be programmed with CUDA, OpenCL, and similar methods.

Some general areas that occur to me:

  • Digital Signal Processing (Audio-ish) - This is the technology behind much of today's Software-Defined Radio (SDR). A significant amount of processing is required for mixing, modulating, and demodulating signals. Dynamic spectral displays are useful. However, the actual amount of horsepower required for typical amateur applications is fairly limited. In most cases, the bandwidth of interest is less than 128 kHz (the range of high-end audio cards for band monitoring displays) and very often less than 3 kHz - the maximum audio bandpass of most communications transceivers. As long as we are working with audio-type signals - PSK31, Olivia, RTTY, and SSB, we are not likely to tax the latest CPUs. You can use more power if you want to listen to many channels at once, but even so...
  • DSP (Video) - Modern HDTV signals require a lot of processing. In production work, this would mostly be done in special-purpose processors (I think), but amateurs might prefer to operate with commodity PC and GPU hardware. I am not aware of amateur HDTV work for over the air transmission, but there may well be some. My initial look at HDTV (and DTV) was discouraging. The sheer numerology of options is overwhelming -- although of course, you may only need one mode for ham work.
  • DSP (Video 3D) - How about ham communications through 3D immersive environments? Four-pi visual fields, multichannel sound: you could get the gamers into that! (But why ham radio? Why not FIOS-type connections? We can offer off-grid operation and mobility away from cell towers!)
  • Radio Science - Propagation Analysis and Prediction through detailed atmospheric modeling, ray tracing, etc. This could be extended to real-time monitoring of the HF bands at points around the world, and trying to build up a real-time DX prediction service.
  • Exotic wideband signalling. Using microwave bands and pursuing highest bandwidths. Would this be more a question of very fast D/A conversion and I/O more than general purpose computing?

There must be more areas for HPC in Amateur Radio. As a long-time HF operator, I'd like to be able to translate CPU power into greater sensitivity and interference rejection. We can certainly consider computationally intensive modulation and demodulation schemes, but it's not clear what returns are available in a channel's SNR given the practical limits on transmitter power, modulation bandwidth, antennas, etc. The ionosphere degrades the signal so that frequency resolution below about 1 Hz or so is not going to be very productive. How can a "supercomputer" overcome that?

Ideas, anyone?

[This is cross-posted with my SourceForge blog: Why do I have an SF blog? For topics relating to open source software, to see what WordPress is all about? Something like that!]

No comments: