Photo at left shows my HPSDR system, consisting of a Atlas motherboard, a Mercury A/D-based receiver board, and an Ozy communication board. I have not yet installed the Penelope card (the transmitter card).
Screen shot at right shows ghpsdr (http://javaguifordttsp.blogspot.com/) tuned at Radio Sweden at 1179 kHz.
If you would like to test out SDR I would recommend the SoftRock kits. These are small kits consisting of a few components, and a small circuit board. Some components are surface mount, some are hole mounted. The SoftRock connects to the audio card of your computer, feedign I and Q to your SDR software. For more information about the SoftRock kits, take a look at the SoftRock-40 group at Yahoo, http://groups.yahoo.com/group/softrock40/.
Another, very interesting project is the High Performance Software Defined Radio project, with the acronym HPSDR and/or OpenHPSDR. Take a look at http://openhpsdr.org/ and also their wiki at http://openhpsdr.org/wiki/index.php?title=HpsdrWiki:Community_Portal. Some more information is also available at the http://www.hamsdr.com/ web site.
A DSP core under open source is DttSP. It is written by Frank Brickle, AB2KT, and Robert McGwier, N4HY, and information about it can be found at https://www.cgran.org/wiki/DttSP.
Two nice graphical user interfaces are sdr-shell at http://ewpereira.info/sdr-shell/ and ghpsdr at http://javaguifordttsp.blogspot.com/.
Some links:
First you have to install libusb1 and libusb1-devel using yum (as root, or using sudo if you have that setup correctly).
yum install libusb1 libusb1-devel
You also have to do some changes to John's Makefile, to make it compile correctly, especially if you are using a x86_64 based system (64-bit).
#
# ghpsdr Makefile for Fedora Linux
#
# Tested on Fedora 10 x86_64
#
# If you are not using x86_64, change all occurences of lib64 into
# just lib
#
# libusb1-devel has to be installed, with yum do:
#
# yum install libusb1-devel
#
# Lars E. Pettersson, sm6rpz, lars@homer.se
#
CC=gcc
LINK=gcc
OPTIONS=-g -Wall
INCLUDES=-I. -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include\
-I/usr/include/atk-1.0 -I/usr/include/cairo\
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0\
-I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1\
-I/usr/include/freetype2 -I/usr/include/libpng12
LIBS=-lpthread -lusb-1.0\
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0\
-lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lz\
-lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lusb-1.0
FFTW=/usr/lib64/libfftw3f.so
DTTSP=libDttSP.a
COMPILE=$(CC) $(INCLUDES)
SOURCES= agc.c audio.c band.c bandscope.c bandscope_control.c bandscope_update.c command.c\
display.c filter.c frequency.c libusbio.c main.c mercury.c meter.c\
meter_update.c mode.c ozy_buffers.c ozy.c ozy_ringbuffer.c\
property.c receiver.c setup.c soundcard.c spectrum_buffers.c spectrum.c spectrum_update.c util.c vfo.c
OBJS= agc.o audio.o band.o bandscope.o bandscope_control.o bandscope_update.o command.o\
display.o filter.o frequency.o libusbio.o main.o mercury.o meter.o\
meter_update.o mode.o ozy_buffers.o ozy.o ozy_ringbuffer.o\
property.o receiver.o setup.o soundcard.o spectrum_buffers.o spectrum.o spectrum_update.o util.o vfo.o
PROGRAM=ghpsdr
all: ghpsdr
ghpsdr: $(OBJS)
$(LINK) -o ghpsdr $(OBJS) $(DTTSP) $(FFTW) $(LIBS)
.c.o:
$(COMPILE) $(OPTIONS) -c -o $@ $<
clean:
-rm -f *.o
-rm -f ghpsdr