JuliaComputing / xtrx_julia

XTRX LiteX/LitePCIe based design for Julia Computing
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Overdriving RX inputs behaves strangely #77

Open staticfloat opened 1 year ago

staticfloat commented 1 year ago

We seem to have some "wraparound" behavior when overdriving the RX inputs. I'm unsure if this is expected or not. As an example, here is an overdriven reception of a sinusoid, in the real and imaginary parts:

raw_real raw_imaginary

Notice how when we peak, we wrap around to the bottom a bit, and when we bottom out, we occasionally bounce off the floor a bit. Note that this is after sign extension, so it is possible the Int16 values that we are receiving are actually greater than 0x0fff, and our sign extension algorithm is introducing this as an artifact. We should investigate to see if this is the case, or if there is something more unusual going on within the ADC pathway, or if this is actually expected when overdriving an input.

mbaz commented 1 year ago

The normal behavior when overdriving an input is that it clips. This definitely looks like an artifact of the sign extension.