[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Help To Compute Average

From: madengr
Subject: Re: [Discuss-gnuradio] Help To Compute Average
Date: Sun, 3 Aug 2014 10:33:35 -0700 (PDT)

I believe you need to use a probe.  I'm doing something similar in the
attached *.grc.  I use complex_to_mag_squared then integrate with decimation
down to 100 Hz.  Take the Log10 and offset to get it in dBm, resulting in an
RSSI (Received Strength Signal Indicator)  The Probe Signal pulls the RSSI
from the flow at 10 Hz and is displayed by a QT GUI label, but I suppose you
could print it to the console too, or average it outside the flow per your
pseudo-code.  They key point though is getting that low rate data outside
the GR flow so you can access it in python.

Note you must tweak both knobs to get the audio to work after you initially
start it.  This is used for direction finding of WBFM signals, as it
computes the RSSI and generates a scaled audio tone that is useful when
manipulating a directional antenna:

You can also do it using message queues per this tutorial, but from what I
have read this method is deprecated.

I used the above to do a little performance testing, to pull FFTs out the
flow and so see how fast the queue would fill up:


Andr Jakob wrote
> Hello all
> I am new to GNUradio software. I would like to compute the average energy
> and display it in the status message in real time.
> To achieve this I tried to write a simple Python code attached
> (Simple2.pyw). However, I am not able to retrieve data from the 
> self.c2ms=gr.complex_to_mag_squared(NFFT) block
> 1. Could you please help me what method should I use to retrieve the data
> contents of self.c2ms
> 2. And perform averaging (This could be performed easily using the
> function below) 
> 3. Display the average in the right status message (i.e., in
> self._set_status_msg("Put average here!!!", 1)).
> Finally for any given block, how can I see and modify the methods easily.
> Note that I am using windows command line to run the python file. 
> get average_energy(data):
>     avg1=0
>     for i in data
>        avg1=avg1+i
>     return avg1/len(data)

View this message in context: 
Sent from the GnuRadio mailing list archive at Nabble.com.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]