Daqarta
Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
The following is from the Daqarta Help system:

# Full-Scale Range - Input Voltage Method

Controls: Calibration Menu >> Full-Scale Range

The Output Voltage Method requires you to have access to a voltmeter with a sensitive AC range, one that can read 3 decimal places (1.999), or at least 2 places (19.99) AC volts full-scale. Alas, inexpensive meters typically only read 199.9 volts on the most-sensitive AC range. They do, however, have sensitive DC voltage ranges. Unfortunately, sound cards are AC-coupled so you can't output a DC voltage that can be read on one of these ranges.

However, there is a way to trick your AC-coupled card into reading a DC voltage, even if it can't generate one. This is a simplified manual version of the principle discussed in the Decimate Demodulate topic. The idea is to first use the sensitive DC meter range to measure an ordinary 1.5 volt battery. The exact voltage doesn't matter; even a partially discharged battery is fine as long as it reads a volt or so.

Once you know the battery voltage, you need to measure it with the sound card input (which defaults to assuming 1.000 volt full-scale) and compute the actual range. To do this, you first need to rig up some probes for the card input, that you can touch briefly to the battery terminals.

If you have a standard sound card cable with plugs on both ends, you can plug one end into the input and carefully connect to the free end with mini-alligator clip leads. The plug tip is the Left input, the little ring next to that is Right, and the rest of the plug sleeve is ground. Clip one wire to the tip and one to the sleeve. The two free clips will will be used to contact the battery.

Alternatively, if you plan to later build a connector panel for your card, or anything that will involve installing a different connector to the cable, just cut off the free end to expose the wires inside. Since most cables are stereo, you will find two separate shielded cables in one sheath. You only need one of these. We'll assume you use the Left channel, which is usually white. (Red is for Right.)

Carefully strip the shield back; this may be a mass of twisted wires that you can simply untwist, or it may be foil that needs to be peeled back, plus a separate bare wire. Strip back the shield to expose several inches of the insulated central conductor, and strip the insulation from the tip of that.

You should have enough exposed wire that you can hold the shield against the negative end of the battery while you touch the end of the center conductor to the positive end.

The sound card can't read a the DC battery voltage as such, because there is a blocking capacitor on the input that will only pass AC. Here's where the trick comes in: When you first touch the center conductor to the battery, the uncharged capacitor acts briefly like a short circuit. For a moment, the capacitor passes the full battery voltage to the rest of the input circuit, where it is converted by the ADC. This peak voltage quickly decays toward zero as the capacitor charges up, usually in tens of milliseconds or less.

But the peak voltage is exactly the value you want. All you need is to be able to capture that peak. This is something that Daqarta can do easily with the proper Trigger settings. Set the trigger mode to Normal, which means Daqarta will wait indefinitely until the signal crosses the trigger level before updating the display. Set the trigger Level to around 50% of full-scale, and set Slope to Positive. Make sure Source is set to Left In.

Now when you touch the positive battery end briefly with the center conductor, you will see a sharp vertical edge followed by a decay that may run all the way across the trace. Immediately break the contact as soon as you get a trace. You won't be able to see all of the leading edge, at first, since the trigger doesn't fire until the 50% point. Set Trigger Delay to a negative value (say, -100 samples) and make another brief contact to get the peak to move to the right.

You should be able to verify that the leading edge is starting from near the zero baseline. When you break the contact after each positive peak, there will be a similar negative peak and upward decay toward zero as the capacitor discharges, but since the trigger is set for positive peaks you won't see that. However, if you repeat the contact-and-release cycle too rapidly, that upward decay may not be back near zero before the next positive peak. If not, just wait a moment longer between contacts.

You only need to capture one good peak to make the measurement. To be a "good" peak the top must look sharp; if it is clipped flat or heavily rounded it means the input is being overdriven and you must reduce the Input range. Make sure eXpand is active so you can resolve individual data points with the cursor. Avoid using traces that show contact bounce.

When you have the peak, set one cursor on the baseline just before the leading edge, and the other to the maximum value of the peak. Read the difference in the Delta cursor readout. That's what Daqarta thinks the battery voltage is, based on the default calibration of 1.000 volt full-scale. To find the true full-scale range, divide the true battery voltage by the Daqarta reading. Enter that result into the Range box for the proper line, and the Daqarta reading should then agree with the meter.

The above assumes you haven't previously set a Range value for this line, and it is starting at the default of 1.000. If you are just updating a previous calibration value, then multiply the result of the above division by the current Range setting to get the new setting.

If you have already performed the attenuator step calibration using Auto-Calibrate, the above procedure will work even if you have to adjust the input range to get a good peak, since Daqarta can account for the attenuation in determining the current full-scale range. If you have not calibrated the attenuator you can still use the above methods, but you will need to insure that you get a good peak on the 0 step (maximum sensitivity) of the input range, since that's the only one that doesn't change after attenuator calibration.

One other possible pitfall: The above procedure assumes that your sound card has a resistor to ground on the input, before the capacitor. That's what allows the capacitor to discharge when you simply break the connection, and you can repeat the test a moment later. Without that resistor, the capacitor would charge up the first time you connected the battery, and stay charged up for a really long time even after you disconnected it. In that case, you would only see the initial pulse, no matter how many times you repeated the contact. (You might see some tiny pulses due to intrinsic leakage of the capacitor, if you set Trigger Level low enough.)

If your card doesn't have such a resistor, the simplest approach is to solder or twist one across your test wires. A value of 1000 to 10000 ohms should be fine.

Some sound cards invert the input signal. If that happens, you'll see an apparent positive peak when you break the connection with the battery, instead of when the conection is made. You can either reverse the battery connections and proceed as above, or you can measure the "break" peak instead of the "make" peak. To do that, hold the connection for a second or so, then quickly break it to see the peak.

Sometimes the "break" method gives cleaner results than the normal "make" approach; you can try it on a non-inverting card by simply reversing the battery connections and holding the connection, then breaking it.

If you discover that your card inverts, be sure to enter the Range as a negative value so Daqarta will know to invert all input signals. After that, you won't have to consider the inversion issue again on that line. See Polarity Determination to determine output polarity.

Once the input range is calibrated, remove the battery test cable and replace it with a cable from the sound card output. Set the Generator to produce a 1 kHz (or so) sine wave at 100% Level and high but undistorted volume, and adjust the Input range to get an undistorted signal spectrum. (You might have to adjust both Output volume and Input range.)

Make sure that RMS and Y-log are toggled off in the Spectrum control dialog. Obtain the spectral peak value with the cursor readout. As noted under Output Voltage Method, you can use the Spectrum Cursor Track option to automatically position the solid cursor at the peak, and use the Spectrum Cursor Peak option to correct for spectral leakage. Read the (calibrated) Input level, then read the reported output level.

The true Wave Out range is the current range times the input voltage divided by the reported output voltage:

RangeOut * Vin / Vout

If your sound card doesn't allow full-duplex operation, you can't use the Input to measure the Generator output. If you can't borrow a voltmeter with a sensitive AC range, you may have to settle for no better than about 10% accuracy from measuring a volt or so on the 199.9 volt range of a cheap meter. There is no absolute calibration method analogous to the match method used for calibrating the output attenuator steps.

GO: