I was just getting started with RF signal processing, and I was very interested in being able to make an oscilloscope and function generator work in real time with python. Essentially, I would like some means of: *Creating arbitrary waveforms defined by a numpy array (or sending out individual pulses in real time) *Reading arbitrary waveforms into a numpy array (or receiving instantaneous voltage readings in real time) I am quite new to this field, and I want to make sure I understand exactly what gnu radio is capable of and how I might go about setting this up. It seems that gnu-radio is meant to interface with USRP--which is definitely out of my price range at the moment. I want to have a much better idea of what I am doing before I spend more than $20 on this. I know $20 is not a lot, but I know that I can build an oscilloscope from a $2 usb audio driver, and I can use Mathematica (which I already have) to play arbitrary waveforms through the audio jack in my computer. Radio Shack has all the electronics I need to work with that signal. I am not looking for good sampling rates or anything fancy--yet. I just want a better grasp of the field. So is gnu radio the best way to go about making a simple oscilloscope + function generator setup? If so, what is the cheapest hardware I would need to get something that will send/receive arbitrary waveforms?