Offset at input of LF_RX

Hi all-

can anybody explain why the USRP/ LF_RX would seem to introduce a DC
bias
or offset to a signal generated by a function generator? I have a
function generator configured to produce a 1 kHz .1 V P-P signal into a
50
Ohm load. I have a Lecroy digital oscilloscope configured with the
input
at high-impedance to monitor the signal. When I connect the signal to
the
USRP, I see the trace on the Lecroy gets shifted UP by about .06 volts,
ie
I have to add a -0.06 V offset at the function generator to zero the
bias.

Oddly enough, usrp_oscope.py doesn’t show any DC bias whatsoever,
regardless of what offset I put into the function generator. Maybe it’s
removed inside the flow-graph?

Any thoughts on either of these questions?

thanks.

eric


Eric H. Matlis, Ph.D.
Aerospace & Mechanical Engineering Dept.
120 Hessert Center for Aerospace Research
University of Notre Dame
Notre Dame, IN 46556-5684
Phone: (574) 631-6054
Fax: (574) 631-8355

[email protected] wrote:

Hi all-

can anybody explain why the USRP/ LF_RX would seem to introduce a DC
bias or offset to a signal generated by a function generator? I have
a function generator configured to produce a 1 kHz .1 V P-P signal
into a 50 Ohm load. I have a Lecroy digital oscilloscope configured
with the input at high-impedance to monitor the signal. When I
connect the signal to the USRP, I see the trace on the Lecroy gets
shifted UP by about .06 volts, ie I have to add a -0.06 V offset at
the function generator to zero the bias.

Are you sure everything is on the same ground? Disconnect everything
but leave it powered up, and measure the voltage on the ground of the
scope, lfrx, usrp power supply, and sig gen. Then reconnect things and
do the same.

Oddly enough, usrp_oscope.py doesn’t show any DC bias whatsoever,
regardless of what offset I put into the function generator. Maybe
it’s removed inside the flow-graph?

DC offset is automatically removed in hardware, but you can turn that
feature off.

Matt

On Thu, 21 Jun 2007, Matt E. wrote:

the function generator to zero the bias.

Are you sure everything is on the same ground? Disconnect everything
but leave it powered up, and measure the voltage on the ground of the
scope, lfrx, usrp power supply, and sig gen. Then reconnect things and
do the same.

Using the ground of the USRP power supply as a reference, I saw a
maximum
of 0.005 volts difference between the grounds of the scope, the function
generator, and the inputs to the LF-RX boards. When I check continuity,
all the grounds save that of the sig gen are connected (the sig gen has
a
battery isolation). Obviously, when I connect everything back up those
grounds are all on the same plane.

So to sum up. With the sig gen configured for .1 V p-p with 50 Ohm
impedance, when I connect only the Lecroy (configured for 50 Ohm
impedance) the signal is .1 V p-p centered about zero as expected. When
I
then switch the Lecroy to high impedance and connect the USRP, the
signal
now is roughly .1 V p-p but centered about roughly 0.06 V, ie shifted up
by slightly more than half scale.

Just to confirm that the problem is not my function generator, instead
of
the USRP I connected a second Lecroy configured also with 50 Ohm
impedance
(the other Lecroy at high impedance) and verified that the signal is as
expected, ie .1 V p-p centered about zero.

Oddly enough, usrp_oscope.py doesn’t show any DC bias whatsoever,
regardless of what offset I put into the function generator. Maybe
it’s removed inside the flow-graph?

DC offset is automatically removed in hardware, but you can turn that
feature off.

Can you explain that in more detail, please? Do you have a capacitor is
series with the signal flow to remove any dc?

thanks,
eric

Oddly enough, usrp_oscope.py doesn’t show any DC bias whatsoever,
regardless of what offset I put into the function generator. Maybe
it’s removed inside the flow-graph?

DC offset is automatically removed in hardware, but you can turn that
feature off.

Can you explain that in more detail, please? Do you have a capacitor
is series with the signal flow to remove any dc?

It is done digitally.

Matt

On Thu, 21 Jun 2007, Matt E. wrote:

is series with the signal flow to remove any dc?

It is done digitally.

Is there a software flag in the code I can switch off? If so, where?

Matt

thanks,
eric

On Thu, 21 Jun 2007, Matt E. wrote:

is series with the signal flow to remove any dc?

It is done digitally.

If there is no dc-removing capacitor in the circuitry , then should I
not
expect that for a board using a single (positive) supply, that the
signal
is always above zero?

Matt

thanks,
eric

gnuradio.org appears to be down. Where can I find that flag, and how do
I
disable it?

However, my surmise of the last post seems to be correct. When I
substitute a regular Basic RX for the LF RX unit, the upwards shift goes
away. This is I’m guessing because, as I hinted to in my previous post,
the the LF-RX is dc-coupled to the input signal, and because the USRP
board is single supply no negative voltages can be represented. The
Basic
RX, however, is AC-coupled through an input tranformer and as such any
dc
bias is automatically removed. At least, that’s my theory.

Any takers care to correct me on that one?
thanks all.
eric

If there is no dc-removing capacitor in the circuitry , then should I
not expect that for a board using a single (positive) supply, that the
signal is always above zero?

No, you can put a negative voltage in, as long as it doesn’t go below
-3.33V. You need to look at the schematics – the 8132 is a
differential opamp with a common mode output set at 3.3V/2.

Basically, the differential amps will clip if you go outside the range
of -3.3V to +3.3V. You will also damage the differential amp if you go
below -3.3V.

The ADC will clip if you go outside the range -2V to +2V when set for
minimum gain.

Back to the subject of what your signal generator is doing, I don’t
know. If you measure the voltage on the sma connector with nothing
connected, you will see that it is 0. If you connect a 1 V source
through a 50 ohm resistor, you will see that there is 0.5V at the
connector. If you connect -1 V through a 50 ohm resistor, you will see
-0.5V at the connector.

Matt

On 6/21/07, [email protected] [email protected] wrote:

Is there a software flag in the code I can switch off? If so, where?

http://gnuradio.org/trac/wiki/UsrpFPGA

Under “Common Registers”:
15 FR_DC_OFFSET_CL_EN DC offset control loop enable

Brian

[email protected] wrote:

No, you can put a negative voltage in, as long as it doesn’t go below
-3.33V. You need to look at the schematics – the 8132 is a
differential opamp with a common mode output set at 3.3V/2.

I meant that if you operate single supply, a negative input would be
mapped to a voltage referenced to the common mode output, not to zero.
So -.1 V would become 3.3/2 -.1 = 1.55 V. That’s what the data sheet
seems to indicate if I read it correctly. Am I reading it correctly?

If you put 0V in, both outputs of the amp should be at 3.3/2.

If you put in a positive voltage V, the + output should go up by V/2 and
the negative output should go down by V/2. The reverse happens for
negative voltages.

connected, you will see that it is 0. If you connect a 1 V source
through a 50 ohm resistor, you will see that there is 0.5V at the
connector. If you connect -1 V through a 50 ohm resistor, you will see
-0.5V at the connector.

I do not. In fact, with no voltage applied to a powered up USRP, I
actually see +.109 V! So when I apply a -.1 (through a 50 ohm
resistor) I see just above zero.

I see the behavior you describe only if I unpower the USRP/LF-RX.
What gives?

Sounds broken. The LFRX has 2 inputs. Does the other one behave the
same way?

Matt

On Thu, 21 Jun 2007, Matt E. wrote:

differential opamp with a common mode output set at 3.3V/2.

I meant that if you operate single supply, a negative input would be
mapped to a voltage referenced to the common mode output, not to zero.
So -.1 V would become 3.3/2 -.1 = 1.55 V. That’s what the data sheet
seems to indicate if I read it correctly. Am I reading it correctly?

connected, you will see that it is 0. If you connect a 1 V source
through a 50 ohm resistor, you will see that there is 0.5V at the
connector. If you connect -1 V through a 50 ohm resistor, you will see
-0.5V at the connector.

I do not. In fact, with no voltage applied to a powered up USRP, I
actually see +.109 V! So when I apply a -.1 (through a 50 ohm resistor)
I
see just above zero.

I see the behavior you describe only if I unpower the USRP/LF-RX. What
gives?

Matt

thanks,
eric

On Fri, 22 Jun 2007, Matt E. wrote:

minimum gain.
actually see +.109 V! So when I apply a -.1 (through a 50 ohm
resistor) I see just above zero.

I see the behavior you describe only if I unpower the USRP/LF-RX.
What gives?

Sounds broken. The LFRX has 2 inputs. Does the other one behave the
same way?

I am measuring at the output connector of the LF-RX, which is of course
the input to the 8132. I wasn’t measuring at the outputs of that chip
on
the circuit board. Is that what you intended me to do?

And I have 2 LFRX’s and all 4 inputs behave the same way.

Matt

I’m actually giving a demo with the USRP in a couple of minutes to some
visiting students, so I’ll have to wait to open up my case and make
those
measurements… I’ll get back to you asap though.

thanks,
eric

----- Original Message -----
From: “Matt E.” [email protected]
To: [email protected]
Cc: [email protected]
Sent: Thursday, June 21, 2007 9:33 PM
Subject: Re: [Discuss-gnuradio] offset at input of LF_RX

[snipped]

Back to the subject of what your signal generator is doing, I don’t
know. If you measure the voltage on the sma connector with nothing
connected, you will see that it is 0. If you connect a 1 V source
through a 50 ohm resistor, you will see that there is 0.5V at the
connector. If you connect -1 V through a 50 ohm resistor, you will see
-0.5V at the connector.

That’s not what I get. With the input open, I measure 108 mV on the SMA
connector and a DC component from the ADC (detected using the RSSI
register,
to avoid the DC offset filter in the FPGA). If I short the input to
ground,
I get a negative DC component from the ADC. To get zero from the ADC I
need
to ground the input through a 50 ohm (approximately) resistance; in this
case I measure 62 mV at the input to the LFRX board. My conclusion
(confirmed by inspection of the schematic) is that the LFRX needs to be
driven by a source resistance of 50 ohms at DC to be correctly biased.

– Don W.

Don W. wrote:

That’s not what I get. With the input open, I measure 108 mV on the
SMA connector and a DC component from the ADC (detected using the RSSI
register, to avoid the DC offset filter in the FPGA). If I short the
input to ground, I get a negative DC component from the ADC. To get
zero from the ADC I need to ground the input through a 50 ohm
(approximately) resistance; in this case I measure 62 mV at the input
to the LFRX board. My conclusion (confirmed by inspection of the
schematic) is that the LFRX needs to be driven by a source resistance
of 50 ohms at DC to be correctly biased.

I am sorry. You guys are both right.

If you connect a 50 ohm resistor across the SMA, you do indeed get 62mV
at the connector, but 0V at the ADC, which is what we really care about.
If you leave the SMA open, you do get a small voltage being read at the
ADC.

So yes, the LFRX does have DC bias on its input, but as long as you
drive it with a 50 ohm load, you get the right answer at the ADC. The
LFRX wasn’t designed for measuring DC voltages, although it can as long
as you have a 50 ohm source. And if your source is not 50 ohms, you can
do the calculations necessary to scale the gain.

Also, please note that the amp is inverting, so if you put 1V through 50
ohms into the SMA, the ADC will tell you that it is -1V.

Matt

I would like to see this schematic that Don mentions; I look at

but all I could find is the 1-page basic description of the
daughterboard.
Is there something more detailed that shows the layout of the 8132 as
well as the ADC?

thanks,
eric

p.s.- the USRP performed beautifully for my demo, suitable impressing
what
might prove to be the next generation of aerospace engineers!

Thank you!

eric

You want the full schematics, which I believe are in the subversion
repository. You can get them with this command (once you’ve installed
the subversion client, of course):

svn co http://gnuradio.org/svn/usrp-hw/trunk usrp-hw

-Roshan

On Thu, 21 Jun 2007, Don W. wrote:

or offset to a signal generated by a function generator? I have a function
Any thoughts on either of these questions?

From looking at the schematic, it appears that the LFRX requires a 50 ohm
input resistance (at DC) to bias it for zero output. Does your function
generator do this?

Yes, the function generator has two modes; high impedance output and 50
ohm load output. It’s a switch that seems to basically just multiply
the
setting on the amplitude by a factor of 2 to account for the voltage
divider created by the 50 ohm load.

– Don W.

thanks,
eric