Here we use the computers sound card to measure the resistance of a 10-ohm non-inductive resistor. You must have a dual channel, duplex sound card to perform this measurement. A pre-measured, non-inductive resistor is required as a reference, although a resistor that deviates about 5% will give reasonable results. Select the reference so that the voltages at both inputs of the sound card are above the noise floor of the sound card for the duration of the test. Also, do not swamp the sound card output with an impedance that is too low. AC'97 and USB sound cards generally have very poor output drive on the line outputs. For our purposes a 100-ohm resistor will be a reasonable reference (around 150mW if the sound card can output 4 Volts maximum).
We will use "32768_MLS_Impedance_Measurement.process" to perform the measurement. This process ships with the release version of this product. It consists of four modules. The first is the signal generator, which generates a 32768 length MLS stimulus to excite the resistor. Second is the SoundIO module, which plays the stimulus and records the response of the resistor. Third is the Oscilloscope module, which allows us to view the time domain response of the resistor. Finally is the Spectrum Analyzer, which performs an FHT/ FFT on the time domain data and allows us to view impedance vs. frequency and phase vs. frequency graphs.
1. Measure the value of the reference resistor using a good ohmmeter. Our reference was 100.77 ohms.
2. Wire the resistors as shown in Figure 1. Use short low resistance wiring. Note that older sound card Speaker Outputs have more output drive than their respective Line Outputs. However most AC'97 and USB sound cards may only have line level outputs so choose a reference resistor equal to or above 100 ohms.
![]()
Figure 1: Resistance Measurement Process Calibration Wiring
3. If you are running Windows 7 or Vista you must disable all sound effects applied to your sound card. Right click the sound icon on the windows task bar and select Playback devices from the popup menu that appears. Select the sound card you intend to use from the "Select a playback device below to modify its settings" listbox and press the Properties button. Select the Enhancements tab and check the Disable all Sound effects checkbox. Press the OK button.
![]()
Figure 2 Windows 7/Vista Playback Enhancements Disabled
4. If you are running Windows 7 or Vista; make sure you run Sonic Beacon with Administrator Privileges. Right Click the application and select "Run as administrator" from the popup menu that appears. If you do not you may receive "Access To C:\Program Files\sonic beacon..." error messages during calibration as the files necessary are located in "C:\Program Files\sonic beacon" which may be restricted in some selected Windows security protocols.
5. Open " C:\Program Files\sonic beacon\32768_MLS_Impedance_Measurement.process" from the applications File…Open… menu.
6. Select your sound card in the In: and Out: combo boxes in the SoundIO modules Sound Device Select group. Sonic Beacon can detect and work with multiple sound cards.
7. You need to adjust the level of your selected sound card recording path. If you are running Windows 7 or Vista right click the sound icon on the windows task bar and select Recording devices from the popup menu that appears. Double click the selected sound card in the Sound dialog box Recording tab. Select the Levels tab and adjust the slider to its one-quarter setting. Press the OK button. If you are running XP or below; select the Levels tab Press the Open Mixer button the SoundIO modules Options group. Select Options… Properties… Choose your sound card from the Mixer Device and press the Recording radio button in the Adjust Volume for group. Press the OK button. Deselect all Record Control mixer paths except the Line In. Adjust the Line In mixer slider to its one-quarter setting and equalize its balance slider.
8. You need to adjust the output level of your selected sound cards playback path. If you are running Windows 7 or Vista select the Playback tab of the Sound dialog box and double click the selected sound card. Select the Levels tab and adjust the Line In to its 25% setting. Otherwise if you are using XP or lower select Options… Properties… Press the Playback radio button in the Adjust Volume for group. Press the OK button. Mute all Playback mixer gain settings except the Volume Control and the Wave Out. Equalize the Volume Control and the Wave Out mixer balance sliders. Adjust the Volume Control and the Wave mixer sliders to their one-quarter settings
9. Now press the applications Run button. You should be able to see the MLS sequence in the oscilloscope module as shown in Figure 2. The amplitude of the oscilloscopes signal may vary depending on the sound card. If a SoundIO “No data in record buffer” message appears first check that your wiring conforms to Figure 1. If it is correct, increase the mixers Playback Volume Control and Wave Out sliders and Recording Line controls to 50% (as detailed above).
![]()
Figure 2: MLS Sequence in the Oscilloscope Module
10. If all three controls are at maximum you may reduce the level at which the sound card triggers. When in Record/Play mode, the SoundIO module sends a record buffer to the sound card that is 1.4 longer than required. This is to compensate for various system delays. It then scans the buffer for the first level that is greater than the trigger level. It then marks this point as the beginning of the record and returns the remainder of the record (up to the number of samples required for the selected FFT size) to the application. This is the record that the modules processes and sends to subsequent modules. Trigger level is expressed in terms of percentage full scale. Select 10 from the Trigger Level (%F.S.) combo box in the SoundIO modules Trigger Parameters group. Press the Run button and check the oscilloscope display again. You can reduce this value to as low as 1%. This corresponds to 1% of the sound card full-scale output. You can estimate the length of the buffer that is sent to the sound card for a given FFT Size from the equation below.
![]()
If you know the full scale output voltage of your sound card, you can estimate the level that causes the SoundIO module to trigger from the equation below. Sound cards have a typical input swing ranging from +0.5 to +2.0 volts.
![]()
11. Once you have a valid trigger, adjust the Play Control (Playback) and the Wave (recording) sliders so that the signal in the oscilloscope display is not clipped. The SoundIO modules Peak Levels must be below 95%.
11. You now need to calibrate the frequency response curve of the sound card. Press the Calibration button in the SoundIO module. The Calibration dialog box will open.
12. Select Frequency from the Calibration Type Select: combo box in the Calibration Status group box. Select Vpeak from the Input Cal. Meas. Type Sel: combo box. Select MLS from the Freq. Cal. Type Sel: combo box.
13. Press the Run button and wait for the hour glass cursor to disappear. If a “No data in record buffer” message appears increase the mixers Playback Volume Control and Wave Out or Recording Line sliders.
14. Check the both Apply check boxes in the Frequency Response Calibration group box. The calibration dialog should look as in Figure 3. The Calibration Progress bar may not update in certain versions of Windows.
![]()
Figure 3: Calibration Dialog Box after Calibration
15. Press the Save button in the Calibration dialog box.
16. Select a calibration file from the Save Calibration File dialog box and press the Save button.
17. Press the OK button in the Calibration dialog box.
18. Now rewire the circuit as exactly as shown in Figure 4.
![]()
Figure 4: Resistance Measurement Process Test Wiring
19. Make sure that the Apply Frequency Checkbox in the Spectrum Analyzers Options Group is selected or the frequency calibration performed above will not take effect.
20. Select Log20 in the Spectrum Analyzers XAxis Scale Selection combo box. Select |Z| in the Spectrum Analyzers YAxis Scale Selection combo box. Enter the value of the reference resistor wired between Ch1 Line-In and Ch2 Line-In in the Ref1: edit box in the spectrum analyzer. Ours is 100.77 ohms. Select a YAxis Scale that is guaranteed to show the impedance of your resistor. We selected 2ohms/Div vertical scale using the Dn button YAxis group because our unknown resistor was marked as 10 ohms and the maximum YAxis Scale value is 16 ohms.
![]()
Figure 5: Spectrum Analyzer Impedance Measurement Setttings
21. Press the Run button on the application toolbar and let the process run for a few cycles. The text in the status bar at the bottom of each module will turn green as each module processes the data. Wait until all modules have processed the data. Observe the upper trace in the spectrum analyzer. It should be almost flat line from about 20 Hz to 20kHz as shown in Figure 5. Press the left mouse button to get the measurement at the frequency of interest. The spectrum analyzer returns10.13 ohms at 1Khz which is less than 0.1 ohm from its true value which measured in at 10.067 ohms
![]()
Figure 6: Spectrum Analyzer Impedance