Hi Lou,

that's a pretty good application of the spectrum, I agree. One could
certainly modify the freq_sink to do that, however, as it is now, the
PSD calculation (based on the fft result) is done in a single VOLK
kernel, 32fc_s32f_x2_power_spectral_density_32, which probably has some
performance advantages, so changing that would mean to either abandon
that benefit or introduce a new "processing path" inside the frequency sink.

I'm a bit confused, though: The DFT is a linear operation. So averaging
k FFT vectors (linear operation) before or after the DFT wouldn't make a
difference, because

$\sum_{n=1}^k \mathrm{DFT}(x_n) = \mathrm{DFT}(\sum_{n=1}^k x_n)$, with
$x_n$ being our DFT length-sized input sample vectors.

You should be able to do $\sum_{n=1}^k x_n$ with a stream to vector->add
block combination in front of the normal frequency sink.

Cheers,
Marcus


On 05.11.2015 20:26, madengr wrote:
> Could this be modified to, optionally, do the (complex) average after the
> FFT.  That would give a coherent average assuming no samples are dropped
> prior to FFT.  Nice for digging signals out of the noise compared to a
> normal spectrum analyzer type average.
>
> Lou
>
>
>
> Marcus Müller-3 wrote
>> Because I find that highly cool, here's what's happening inside the Qt
>> frequency sink, even if that might be unrelated to your problem:
>>
>>   * takes in a vector of N samples
>>   * Computes a discrete Fourier transform (using FFTw's fast fourier
>>     transform algorithms) of length N
>>   * computes the square of the magnitude, the logarithm of that,
>>     normalizes each of the N complex result values
>>   * optionally: averages each bin individually
>>   * regularly updates the plot with the N-vector of PSD
>
>
>
>
> --
> View this message in context: 
> http://gnuradio.4.n7.nabble.com/Frequency-discriminator-using-a-frequency-to-voltage-converter-tp56739p56775.html
> Sent from the GnuRadio mailing list archive at Nabble.com.
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

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

Reply via email to