discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] help accessing fft bins in python script


From: Brad Hein
Subject: Re: [Discuss-gnuradio] help accessing fft bins in python script
Date: Fri, 17 Oct 2014 16:01:46 +0000 (UTC)


This sounds interesting - do you have any sample code?

Can anybody explain the concept of "size" of an fft (Arg 1 of fft.fft_vcc) comes into play if the output of that FFT generates as many samples as it receives?




From: "John Malsbury" <address@hidden>
To: "Brad Hein" <address@hidden>
Cc: "Martin Braun" <address@hidden>, address@hidden
Sent: Friday, October 17, 2014 1:50:31 AM
Subject: Re: [Discuss-gnuradio] help accessing fft bins in python script

Sometimes when I want to grab samples and perform some periodic operation like CNR estimation, or fine-frequency estimation I sometimes use a vector_sink, and then two function probe blocks - one to read the data and one to reset it (yes I call the reset function from the function probe).  This seems to work wonderfully for certain corner cases where a vector sink doesn't work well.  And I mostly use this technique when I want to prototyping something quickly before writing a block.  But am I asking for trouble with memory allocation issues???

Also, I was thinking, it would be good to have the option, either a block parameter or an overloaded function) to reset the vector_sink, each time .data() is called...  I can code this up unless anyone thinks this functionality would lead to regressions.

But I agree the vector sink block is much more convenient for FFTs...

-John

On Thu, Oct 16, 2014 at 5:37 PM, Brad Hein <address@hidden> wrote:

Is there any way to access the fft bins from python without writing a custom block?



From: "Martin Braun" <address@hidden>
To: address@hidden
Sent: Thursday, October 16, 2014 2:02:03 PM
Subject: Re: [Discuss-gnuradio] help accessing fft bins in python script


A very simple way would just be to write your block downstream of the
FFT in Python. You can then operate on the vectors in the work function.

M

On 10/16/2014 07:44 PM, address@hidden wrote:
> The vector sink is for debugging only.  Don't use it in production code,
> because there's no convenient way to
>
>   vacuum it out, so it grows without bound.
>
>  
>
> When I've had this problem, I use a vector-probe block, and have a
> function probe running at a couple of Hz,
>
>   and then leverage the dependency-tree evaluator to have my own
> function called with the result of the
>
>   function probe.  There are other ways, that's the one I personally
> find most convenient. But there are message
>
>   queues and sundry other methods as well.
>
>  
>
>  
>
>  
>
>  
>
> On 2014-10-16 13:36, Brad Hein wrote:
>
>>  
>> Using qa_fft.py for inspiration[1], I'm trying to feed a raw capture
>> file into an fft of size 32 and then review the 32 fft bins at an
>> instantaneous point in time[2]. I must be doing something wrong
>> however because when I review the vector sink's data() method, it
>> returns a rather large array (compared to the 32-element array I am
>> expecting). data() seems to return an array with the same number of
>> elements as samples fed into the fft. I just want an array of the 32
>> fft bins so I can calculate the relative power in the given band.
>>  
>> Any help/pointers appreciated!
>> Thanks
>>  
>>  
>> [1]
>> http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/master/entry/gr-fft/python/fft/qa_fft.py
>>
>> [2]
>> https://github.com/regulatre/grfun/blob/9dbbf676d2fea013787720273af0b419699c75a4/hello-fft/decodeDump162.py
>>  
>>  
>> [Brad Hein]
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden <mailto:address@hidden>
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




reply via email to

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