Spectrum analyzer


I’m a recent gnuradio/python user (newbie) and have played with the
pieces and USRP as far as time will allow for now. I can write my own
program to record A/D streams to disk, but that’s about it. I’m using
Octave to read in and plot the streams then.

I’d like to either modify the usrp_fft.py code, or add the fft_sink call
to my own .py (preferred) and output to stdout. Specifically, I need to
access the data from fft_sink to find the maximum, and output it’s
frequency/value. How do I do this?

FWIW, I’m using the gnuradio as a cheap spectrum analyzer. If I can
ascii to stdout, I can make some RF measurements.

Any help with the gnuradio python interface would be appreciated. I’ve
looked through the docs online, but the I/O with fft_sink isn’t obvious
me. (a non-programmer who writes ugly c-code when absolutely necessary)


Abram Y. Room: PAS-259
Dept. of Physics Voice: 520.621.4134
University of Arizona E-mail: [email protected]

2007/6/13, Abram Y. [email protected]:

frequency/value. How do I do this?
You can either use the gr.max_xx or gr.argmax_xi blocks that are
available in trunk to get the maximum value or the argument of the
maximum value from the FFT.

Or you can just sink the signal to a vector sink, and process the
recorded signal with numpy/scipy or octave/matlab if that is your cup
of tea.

Trond D.