This post presents a project idea and plan. The project hasn't started yet. I hope to post updates as it progresses.
Larry's recent post about GNU radio rekindled my interest in sound-card-based SDR. The idea is that you use 2 analog DC receivers, with a 90 degree phase shift between the VFO signals, to convert the RF signal down into two audio signals, which also then have a 90 degree phase shift. In other words, you now have two audio signals, one which we can arbitrarily define to be in-phase with the incoming signal (the I channel) and the other one which is 90 degrees delayed with respect to the I signal (the Q, or quadrature channel). We feed these I and Q audio signals into a normal PC sound card with stereo microphone input, and then we can use DSP on both channels to do various things, including image rejection, meaning we can differentiate between signals above and below the LO frequency.
A good PC sound card might have a 192 kHz sample rate, which then can then digitize signals up to 96 kHz. By using both the I and the Q channels, we can then recover a 192 kHz wide slice of spectrum (96 kHz above the LO, and 96 kHz below the LO) and manipulate it digitally. So you could tune the analog VFO to say 7100 kHz, which will generate two channels of audio (I and Q) from 0-96 kHz, which then can be processed with DSP and can recover the signals in the RF spectrum from 7004 to 7196 kHz. For example, a signal at 7105 kHz mixed with the 7100 kHz LO would generate a 5 kHz pair of IQ signals. At the same time, a signal at 7095 kHz will also mix with the 7100 kHz LO to generate a 5 kHz pair of IQ signals. But thanks to the presence of both I and Q channels, we can digitally remove the unwanted signal (either the signal above the LO, or the signal below the LO) and listen to only the desired signal. So we can independently recover the signal at 7105 kHz, or recover the signal at 7095 kHz. The same logic applies from to all signals from 7100 - 96 kHz up to 7100 + 96 kHz, so we can recover all signals in that slice of RF spectrum (except for those signals very near the LO frequency, which generate audio signals near 0 Hz, which cannot be digitized by the sound card).
For hardware, it should be easy to achieve a narrow-band 90 degree RF phase shift; TinySDR is one example. http://www.qrz.lt/ly1gp/SDR/ There will however be slight amplitude differences between the I and the Q channel. It might be possible to compensate for this in software.
For the software part, GNU Radio should be able to process the I and Q signals and recover a narrow slice of the original RF spectrum around the LO, including image suppression. Then, given the digitized RF spectrum slice, we can further use software filters and demodulators (SSB, AM, FM, etc.) to listen to any part of that spectrum slice.
One limitation of using the PC sound card for this purpose is that PC sound cards are not really designed for this kind of high-precision application (see http://www.wb5rvz.com/usb2sdr/ for some notes). But it should be a cheap and easy way to experiment with the core concepts behind SDR.
I don't know much about GNU Radio yet. This project will be a learning exercise.
The first part of the plan is to build a simple phase-shifting front end like TinySDR, feed in a sine wave, and confirm (with a PC sound card oscilloscope) that the AF outputs are indeed 90 degrees out of phase.