WX FFT in 3.7 (master)

Anyone else seeing weirdness in WX FFT under 3.7?

I’m running a simple baseband loopback test on development hardware
using BasicRX/BasicTX, passing CW’s out and back again.
When I use my normal flow graph that’s WX GUI based I see large skirts
on the CW’s and a large magnitude bounce in the noise floor that’s
proportional in frequency to the CW freq.
When I build the same functionality entirely using QT widgets all looks
as it should do.

Master@c1f0b50d1d5a817c98130726997ba284ea980d95
Screen shot here: http://ianbuckley.net/fft_3.7.png

-Ian

So none else currently has any problems with WX GUI FFT functionality in
3.7 at head of master? (c1f0b50d1d5a817c98130726997ba284ea980d95)
I’d be grateful if someone could try the attached test case flow graph
and see if they can reproduce these (incorrect) results

I was expecting something very close to this output from 3.6:

-Ian

My thoughts on this are that wxFFT is somehow inserting random
phase-noise, or that somebody’s putting in a **2 where an **1 belongs.

On 08/27/2013 04:45 PM, Ian B. wrote:

So none else currently has any problems with WX GUI FFT functionality in
3.7 at head of master? (c1f0b50d1d5a817c98130726997ba284ea980d95)

I’m seeing the same thing here, investigating.

On 08/27/2013 07:02 PM, Johnathan C. wrote:

On 08/27/2013 04:45 PM, Ian B. wrote:

So none else currently has any problems with WX GUI FFT functionality in
3.7 at head of master? (c1f0b50d1d5a817c98130726997ba284ea980d95)

I’m seeing the same thing here, investigating.

Tom and I tracked this down to a missing set_window call in the FFT
block, so the effect was as if it were a rectangular window. This has
been fixed and pushed.

On Aug 27, 2013, at 16:45, Ian B. [email protected] wrote:

So none else currently has any problems with WX GUI FFT functionality in 3.7 at
head of master? (c1f0b50d1d5a817c98130726997ba284ea980d95)
I’d be grateful if someone could try the attached test case flow graph and see
if they can reproduce these (incorrect) results
http://ianbuckley.net/fft3.7_test.png

I was expecting something very close to this output from 3.6:
http://ianbuckley.net/fft3.6_test.png

FWIW, I’ve been seeing similar effects myself since upgrading to 3.7,
but in the output of the ‘logpwrfft’ block fed into my own GUI, not WX
GUI. They look to be implemented similarly internally, though. In my
case, if I shift the frequency of the signal, the tails of the curve
gets wider or narrower (specifically, at its widest when the peak is
exactly between two FFT-bins).

I asked on IRC about it and the answer I got was that what I was seeing
was inevitable artifacts of the FFT computation, but my memory says that
when I was using 3.6 this effect didn’t occur. But my memory is not all
that reliable, and my understanding of DSP is not sufficient to evaluate
the claim.

Here’s my own comparison pictures, both running in 3.7(.1 I think?) but
with slightly different tuning of a live signal:


I got similar results to yours with a signal generator.

(I can’t run your test myself, or the above again, because I currently
don’t have WX GUI available, due to the current issues with MacPorts
wxPython.)


Kevin R. http://switchb.org/kpreid/