Why does my simple LTSpice circuit not agree with real life?

I have just constructed a precisely 40dB (1/100) attenuation circuit – in order to help me accurately set the gain of some phono products I build.

I set up a simple resistive bridge circuit in LTspice and, playing with different numbers, found that a 7K7 resistor sitting on top of a 38R9 resistor - with the signal output taken from the top of the 38R9 resistor - produced 5mV out, from 500mV in.

After I'd built it - using my CRO to measure the result - I expected to find 80mV out (on the CRO screen) from 8v in. However, in the real world – I measured only about 40mV out!!??

After a bit of experimenting, I was able to achieve 80mV out … by putting 2x 12k resistors in parallel with the 7K7 value (which was actually 2x 15K resistors in parallel).

Although I've achieved my aim of building a 1/100 attenuator, I'm wondering why the LTspice circuit gave me the wrong result! Any suggestions?
 
Would you post a screen shot of your simulation schematic and results?

Tom

Thanks, Tom - here it is:

1708235597874.png



I'm afraid I can't post the result - as I didn't take a photo of my CRO screen. :(

A 7k7 upper arm and 38R9 lower arm resistor won't give 100:1 attenuation, more like 200:1.

Yes, your maths makes sense - and, as I said, I measured 40mV on the CRO screen! :eek:

With your two 12k in parallel with 7k7 that'll make ~3k4 which would be much closer to 100:1.

Absolutely ... again the maths makes sense. (y)

How did you measure the attenuation in LTSpice?

I used this command:

1708235993380.png



... which produced an output sine wave and I could see the +/- limits on the graph ... which were 2.5mV
 
a 1/100 attenuator
Perhaps DC as input - it's going to attenuate the same - would simplify? Just put a DC probe on the output node.

You can put 100V in to - hopefully - read 1V out - the resistors in a simulation dont care about power dissipation.

That's just to sanity check the particular resistor pair you chose. Then you can go back to AC as the source, then back to 8V - all should follow suit.

And how about that CRO? Do you have an AC calibrator for it? Some box that when you click to 0.1, you get 100mV sine to verify the variable gain knob didnt get accidentally rotated out of its click stop "cal" position? Or the probe is still OK...
 
Administrator
Joined 2007
Paid Member
It looks correct.

0.5 volts peak input and you get 2.5mv peak output.

2.5mv out is -46db down.

You can calculate the attenuation as a DC problem. 1 volt input gives a total current of 0.1292 milliamps and voltage across the 38.9 ohm is 5 millivolts.
 
I used this command:

View attachment 1274844


... which produced an output sine wave and I could see the +/- limits on the graph ... which were 2.5mV

Strange - when I run an AC analysis it doesn't show any time domain waveform, rather a FR response plot. The only way I know to get a sinewave shown is to use a .tran analysis. If the text you've pasted is actually what's in your LTSpice schematic then that's not the active analysis as it has a ';' which turns it into a comment rather than a command. Perhaps your active analysis is actually a .tran - look for a command starting with a '.' (dot).
 
Neurochrome.com
Joined 2009
Paid Member
I would guess either source impedance or load impedance or both. Could it be that the o'scope was set to 50 Ω input impedance? Try measuring with a DMM (50-400 Hz test frequency).

Another common snag is that the signal source expects a 50 Ω termination. If you forget that you get twice the output voltage you expected.

I'm guessing CRO means cathode ray oscilloscope. What was the signal generator?

Tom
 
Strange - when I run an AC analysis it doesn't show any time domain waveform, rather a FR response plot. The only way I know to get a sinewave shown is to use a .tran analysis. If the text you've pasted is actually what's in your LTSpice schematic then that's not the active analysis as it has a ';' which turns it into a comment rather than a command. Perhaps your active analysis is actually a .tran - look for a command starting with a '.' (dot).

You are absolutely correct, a. My mistake!

The command I showed before had a ';' in front of it - which, as you say, means it's commented out.

The real command used is this:

1708238878416.png

That's just to sanity check the particular resistor pair you chose. Then you can go back to AC as the source, then back to 8V - all should follow suit.

And how about that CRO? Do you have an AC calibrator for it? Some box that when you click to 0.1, you get 100mV sine to verify the variable gain knob didn't get accidentally rotated out of its click stop "cal" position? Or the probe is still OK...

I'm using straight RCA coax connecting cables - not 'probes'.

And I can confirm that the 1/100 attenuation is working correctly by:
1. using a straight-through cable from sig-gen to CRO (to set the signal level I want the sig-gen to output),
2. then passing this signal through the attenuator - and seeing what the result is on the CRO screen.
 
In that case I'm guessing the input impedance got bumped to the 50 Ω setting on the scope. The higher-speed scopes have 50 Ω inputs. My TEK 2465B has a setting for 50 Ω along with 1 MΩ.

Tom

You are looking for measurement artefacts, but the measurement is correct, the (OP's interpretation of the) simulation isn't.

Some mix-up between peak and peak-to-peak values maybe?
 
  • Like
Reactions: 1 user
And I can confirm that the 1/100 attenuation is working correctly by:
1. using a straight-through cable from sig-gen to CRO (to set the signal level I want the sig-gen to output),
2. then passing this signal through the attenuator - and seeing what the result is on the CRO screen.
So something like signal from function generator display @ 10 divisions (the max of the screen), then after attenuator attachment, see the signal level now at 0.1 div p-p?
 
Thanks for your input guys! (y)

So something like signal from function generator display @ 10 divisions (the max of the screen), then after attenuator attachment, see the signal level now at 0.1 div p-p?

Exactly! But in my case, testing the attenuator (after my modifications) showed on my CRO:
  • input is 8 divisions (ptp) on the 1v scale
  • output is 8 divisions on the 10mV scale.

So 1/100 attenuation.


I put your schematic into my LTS and I got the following waveform, with the stimulus voltage source 0.5V peak :

View attachment 1274865

That's showing 200:1 attenuation.


Sorry, maybe I have misread the LTspice command, @abraxalito ?

I used this:

1708251005953.png



I assumed this input would be 500mV peak-to-peak?

Hence, I expected to see - and I got - in LTspice exactly the graph you displayed (5mV peak to peak).

Are you saying that the above SINE parameters in LTspice ... actually deliver a peak voltage of 0.5v - so a peak-to-peak voltage of 2x 0.5v?

(When I tested it in the real world - with my sig-gen feeding my old CRO - I only got 40mV ptp from an 8v ptp input. IE. 46dB attenuation = 1/200.)
 
I assumed this input would be 500mV peak-to-peak?
Ah, that's the nub of the problem I think. Here is the pane for setting the parameters of V1 (stimulus source) :

image_2024-02-18_183202868.png


Are you saying that the above SINE parameters in LTspice ... actually deliver a peak voltage of 0.5v - so a peak-to-peak voltage of 2x 0.5v?
Yep. That's what 'amplitude' means here. Peak to peak is different.