Programs and information perhaps of use with lab / simulation
The page is hoped to be able to save some other people some time
on lab (instruments) or simulation matters that I've had to find
out about or write for myself.
Everything here that's mine I
welcome people to use under GPL
conditions (summary: do anything you like, other than providing
to other people without giving them similar conditions).
Some things here have built upon someone else's work, in which
case this will be clearly marked at the top of the function, and the
other author's conditions may be more restrictive.
-
atmcorr_Kt_iec600601.m: Octave/Matlab function
to calculate the atmospheric correction factor "Kt" for high-voltage
tests according to IEC 60060-1 (1989). NOTE: there turns out to be now a
2010 version of the standard, that expresses the calculation as equations
(instead of me having to turn all the graphs and "ifs" into equations!).
-
tekisf: download waveforms (x,y data) from
various Tektronix (now `Tek') oscilloscope, and convert
between formats. Using the `internal' Tek format, sometimes called
.ISF or .WFM, the download is much quicker, the file much smaller,
and the information even more! Here there is an Octave/Matlab
script for interpreting this internal format of the downloaded .isf
file, giving x,y data and header information. There is also a
a script invoking wget to retrieve such files from the instrument.
(An older, more limited version of this is
tds3052, designed for the TDS3 series.)
-
hp33120a:
control the Hewlett-Packard 33120a function-generator by GPIB,
and send arbitrary waveforms to its memory.
-
batching:
a set of shell-scripts that keep taking the next job from a list
to give to any free CPU among a set allocated from (possibly) multiple
and (possibly) multicore computers, until all jobs are finished.
This ability has been very handy for e.g. simulations with a load
of different parameter values to try. Standard methods of communication
are used: ssh+publickey for login, and shared remote directories (e.g. NFS)
for sharing data. It is only suitable when each job will last
considerably more than the few second timescale of checking and starting
new jobs.
(Later note):
It is likely that
GNU Parallel or other programs with similar functionality will
be a better choice for most people.