This is a set of programs and scripts to do high precision impedance and transfer function measurements (network analyzer) with PC sound devices.
With an external amplifier and an instrumentation amplifier you will be able to characterize capacitors in the range from 1 pF to 10 mF and inductors in the range from 100 nH to 10 H.
It will also enable you to measure the response of loudspeakers or a listening room. Limited by the maximum frequency your sound device can handle it will also work as network analyzer. The latter may also be used to determine the length of a coaxial cable by measuring the delay.
▼ Index ▷ Usage ▷ Examples
▷ Parameters ▷ Calibration ▷ File
format ▷ How it works
▾ Components ▾ Download ▾ Build ▾ History ▾ Contact
|Access to the sound device
||n/a||platform dependent, external tool required||You need a platform dependent way to record and play 16 bit two channel audio data via a pipe or provide an
appropriate character device.
On Linux arecord and aplay will fit your needs.
OS/2 has the application Playrec 0.20b21.
Windows: don't know.
|Generation of reference signal and FFT analysis
||analyze||C++ application||The core application|
||Configuration files for analyze||Here are some sample files for different measurement scenarios including calibration.|
||Unix shell scripts||These are scripts to invoke the above sample configurations and setup the sound device. They are only available for bash or sh.|
|Show the result
||sample/*.gp||Gnuplot 3.x macros||In general you can use any graphics application to show the results. But only macros for Gnuplot
are part of this package.
|Statistical analysis of sound data||sampledist||C++ application||General analysis of sound input. Might be used for diagnostics as well as to identify compressed audio content.|
Source code and scripts: Repository at github
The program is licensed under GNU GENERAL PUBLIC LICENSE.
cmake .If everything is fine the executables are built in the current folder. Feel free to contact me if you don't succeed.
Suggestions, help, complaints (but not too much:-):
Or use the github for bug reports.