Gradual loss of amplitude as flowgraph runs

Still working with the polyphase channelizer program. While everything
“works”, there is something very strange: the output amplitude slowly
drops the longer the program runs. As near I can tell, this happens in
or following the frequency translating FFT block.

To test, I stripped the flowgraph down to the bare minimum and put a
frequency display at the output of the UHD block, and another at the
output of the fx fft block.

By using the “max hold” feature of the display, I can easily monitor
amplitude drop during the program run. I’m using a signal generator to
feed the USRP a known signal level (162.475 MHz at -70dBm).

In the attached screenshot, the left display is the UHD output, and the
right is the fx fft output. The flowgraph had been running for about 5
minutes. The signal out of the fx fft has dropped 20+ dB while the UHD
signal level remains the same. The longer the program runs, the further
the fx fft output drops.

I’m not seeing any error messages on the console to indicate overrun,
underrun, or other issues. Due to size limits, I attach only the fft
screenshot, but here are all the relevant files:

http://www.febo.com/pages/gr-projects/amplitude_loss_test.grc
http://www.febo.com/pages/gr-projects/amplitude_loss_test.py

Any idea what could lead to this kind of problem? It seems like some
sort of accumulating error, but I’m lost as to what.

Thanks,
John

Take a look at the phase rotator in the frequency translating FIR
filter.
Is it done with sine/cos lookups or is it a rotating phasor? Rotating
phasors can lose amplitude due to finite precision effects.

Matt

On Fri, Aug 14, 2015 at 4:57 PM, John Ackermann N8UR [email protected]
wrote:

amplitude drop during the program run. I’m using a signal generator to
screenshot, but here are all the relevant files:
John

Hi John,

I’m not sure what to say about this. I ran your example overnight and dd
not see any power loss.

Tom