Building a spectrum analyzer

Hi all,

Recently I started to build a spectrum analyzer with some extra
functions such as channel power measurements and spectrum mask
check.(so, fft_sink is not a good solution for this.)

To do so, my plan is this:

  1. get fft data vector of given size(2048) from usrp2 (data refresh rate
    ~= 5 bins/sec)
  2. process the data vector with scipy functions
  3. display it with matplotlib module

But at this time I’m stuck at step2: how can get fft vector so that I
can proccess it with scipy module?
Connect() seems to connect blocks, not give out the data vector.

Or the vector_sink.data is not a good choice since I do not have control
over the data size.

Any good suggestions would be veery much appreciated!!

Write a signal processing block that uses SciPy code.
See http://gnuradio.org/trac/wiki/Tutorials/WritePythonApplications

Jordan

Use something called message sink and message queue to get data out of a
gnuradio data stream. The gr-wxgui fftsink does exactly this, so use it
as an example.

-Josh

On Thu, Jul 16, 2009 at 04:08:40PM +0200, Yc Park wrote:

  1. display it with matplotlib module

But at this time I’m stuck at step2: how can get fft vector so that I
can proccess it with scipy module?
Connect() seems to connect blocks, not give out the data vector.

Or the vector_sink.data is not a good choice since I do not have control
over the data size.

Try a gr.message_sink like is done in fftsink_*.py

Eric

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs