Next: Function: reciprocal()
Up: GRASP Routines: General purpose
Previous: Function: productc()
  Contents
0
void ratio(float *c,float *a, float *b,int ncomplex)
This routine takes as input a pair of arrays
and
containing
complex numbers. It divides
by
,
placing the result in
, so that
.
The arguments are:
- a: Input. An array of
complex numbers a[0..2N-1] with
a[2j] and a[2j+1] respectively containing the real and
imaginary parts.
- b: Input. An array of
complex numbers b[0..2N-1] with
b[2j] and b[2j+1] respectively containing the real and
imaginary parts.
- c: Output. The array of
complex numbers c[0..2N-1] with
c[2j] and c[2j+1] respectively containing the real and
imaginary parts of
.
- ncomplex: Input. The number
of complex numbers in the arrays.
Note that the two input arrays a[ ] and b[ ] can be the same
array; or the output array c[ ] can be the same as either or both of
the inputs. For example, the following are all valid:
ratio(c,a,a,n), which (very inefficiently) sets every element of
to
.
ratio(a,a,b,n), which performs the operation
.
ratio(a,b,a,n), which performs the operation
.
ratio(a,a,a,n), which (very inefficiently) sets every element of
to
.
This routine is particularly useful when you want to reconstruct the
raw interferometer output
that would have produced
a particular interferometer displacement
(see
for example normalize_gw() in Section
). This
occurs for example if you are ``injecting" chirps into the raw
interferometer output; they first need to be deconvolved with the
response function of the instrument. One can invert this equation
using ratio() since
.
- Author:
Bruce Allen, ballen@dirac.phys.uwm.edu
- Comments:
None.
Next: Function: reciprocal()
Up: GRASP Routines: General purpose
Previous: Function: productc()
  Contents
Bruce Allen
2000-11-19