This is a low-level routine which reads in a 3-column ASCII file of swept sine calibration data used to calibrate the IFO.

The arguments are:

`fpss:`Input. Pointer to a file in which the swept sine data can be found. The format of this data is described below.`n:`Output. One greater than the number of entries (lines) in the swept sine calibration file. This is because the read_sweptsine returns, in addition to this data, one additional entry at frequency .`freq:`Output. The array`*freq[1..*n-1]`contains the frequency values from the swept sine calibration file. The routine adds an additional entry at DC,`*freq[0]=0`. Note: the routine allocates memory for the array.`real:`Output. The array`*real[1..*n-1]`contains the real part of the response function of the IFO. The routine adds`*real[0]=0`. Note: the routine allocates memory for the array.`imag:`Output. The array`*imag[1..*n-1]`contains the imaginary part of the response function of the IFO. The routine adds`*imag[0]=0`. Note: the routine allocates memory for the array.

The swept sine calibration files are 3-column ASCII files, of the form:

where is the angular frequency of a 60 Hz signal. Suppose the response of the interferometer output to this is (again, in volts)

This is shown in Figure . An electrical engineer would describe this situation by saying that the phase of the response is lagging the phase of the driving signal by . The corresponding line in the swept sine calibration file would read:

Because the interferometer has no DC response, it is convenient for us to add one additional point at frequency into the output data arrays, with both the real and imaginary parts of the response set to zero. Hence the output arrays contain one element more than the number of lines in the input files. Note that both of these arrays are arranged in order of increasing frequency; after adding our one additional point they typically contain 802 points at frequencies from 0 Hz to 5001 Hz.

For the data runs of interest in this section (from November 1994) typically a swept sine calibration curve was taken immediately before each data tape was generated.

We will shortly address the following question. How does one use the
dimensionless data in the `channel.0` files to reconstruct the
differential motion (in meters) of the interferometer
arms? Here we address the closely related question: given , how do we reconstruct ? We choose the sign
convention for the Fourier transform which agrees with that of *Numerical Recipes*: equation (12.1.6) of [1]. The Fourier
transform of a function of time is

With these conventions, the signals () and () shown in in Figure have Fourier components:

(3.9.5) | |||

(3.9.6) |

At frequency Hz the swept sine file contains

(3.9.7) |

With these choices for our conventions, one can see immediately from our
example (and generalize to all frequencies) that

- Author: Bruce Allen, ballen@dirac.phys.uwm.edu
- Comments: The swept-sine calibration curves are usually quite smooth but sometimes they contain a ``glitch" in the vicinity of 1 kHz; this may be due to drift of the unity-gain servo point.