Version 1.2.7

Power and Cross Power Spectral Densities

Power and Cross Power Spectral Density Functions

1. sitar_avg_psd( cnts, l, [; dt=#, times=array, norm=#] );
Take an evenly spaced lightcurve (presumed counts vs. time), and calculate the PSD in segments of length l, averaged over the whole lightcurve. Segments with data gaps are skipped. Deadtime corrections to Poisson noise are not made. Poisson noise is not subtracted from average PSD.
Run as: `isis> (f,psd,navg,avg_cnts) = sitar_avg_psd(cnts,l; dt=#, times=array, norm=#);`
Variables in [] are optional qualifiers.
Omitted qualifier variables take on default values.

Inputs:
• `cnts : ` Array of total counts in each time bin
• `l : ` Length of individual PSD segments (use a power of 2!!!)
Optional Qualifier Inputs:
• `dt : ` Length of evenly spaced bins (default == 1)
• `times : ` Times of measurements (otherwise presumed to have no gaps)
• `norm : ` Determine PSD normalization (see below)
Outputs:
• `f : ` PSD frequencies ( == 1/Input Time Unit)
• `psd : ` Average PSD (`Leahy normalization', i.e., Poisson noise == 2, if norm=1 [default]; `rms' or `Belloni-Hasinger' or `Miyamoto' normalization, i.e., PSD == (rms)^2/Hz & noise== 2/Rate, otherwise)
• `navg : ` Number of data segments going into the average
• `avg_cnts : ` Average number of counts per segment of length l

2. sitar_avg_cpd( cnts_a, cnts_b, l, [; dt=#, times=array] );
Take two evenly spaced lightcurves (presumed counts vs. time), and calculate the PSD and CPD in segments of length l, averaged over the whole lightcurve. Segments with data gaps are skipped. Deadtime corrections to Poisson noise are not made. Poisson noise is not subtracted from average PSD.
Run as: ```isis> (f,psd_a,psd_b,cpd,navg,avg_cnts_a,avg_cnts_b) = sitar_avg_cpd(cnts_a,cnts_b,l; dt=#, times=array);```
Variables in [] are optional qualifiers.
Omitted qualifiers take on default values.

Inputs:
• `cnts_a/b : ` Arrays of total counts in each time bin
• `l : ` Length of individual PSD segments (use a power of 2!!!)
Optional Qualifier Inputs:
• `dt : ` Length of evenly spaced bins (default == 1)
• `times : ` Times of measurements (otherwise presumed to have no gaps)
• `norm : ` Determine PSD normalization (see below)
Outputs:
• `f : ` PSD frequencies ( == 1/Input Time Unit)
• `psd_a/b : ` Average PSDs (`Leahy normalization', i.e., Poisson noise == 2, if norm=1 [default]; `rms' or `Belloni-Hasinger' or `Miyamoto' normalization, i.e., PSD == (rms)^2/Hz & noise== 2/Rate, otherwise)
• `navg : ` Number of data segments going into the average
• `avg_cnts_a/b : ` Average number of counts per segment of length l in each lightcurve

3. sitar_define_psd( f_lo, f_hi, psd, psd_err [, noise] );
Define a binned power spectrum to be an ISIS counts/bin (=> Power) spectrum, with Hz defined as keV.
Run as: `isis> id = sitar_define_psd( f_lo, f_hi, psd, psd_err [, noise] );`
Variable in [] is optional.

Inputs:
• `f_lo : ` Lower boundary of Fourier frequency bin.
• `f_hi : ` Upper boundary of Fourier frequency bin.
• `psd : ` Binned Power spectrum.
• `psd_err : ` Binned Power spectrum error.
Optional Inputs:
• `noise : ` Noise level on the power spectrum (array or constant). If defined, the noise level will be subtracted from the PSD.
Outputs:
• `id : ` The ISIS id for the defined dataset.

4. sitar_lags( freq, psda, psdb, cpd, noisea, noiseb [, navg] );
Given two input PSD (without noise subtracted), their CPD, and their associated noise levels, all as functions of Fourier frequency, calculate the time lag and coherence function (and associated errors) vs. f
Run as: ```isis> (lag,dlag,g,dg) = sitar_lags(freq,psda,psdb,cpd,noisea,noiseb[, navg]); ```
Variable in [] is optional.

Inputs:
• `freq : ` Fourier frequency array.
• `psda/b : ` Power spectra array associated with two lightcurves (Noise subtraction not applied!)
• `cpd : ` Cross power spectra array associated with two lightcurves
• `noisea/b : ` Power spectra noise level. Array or a constant.
• `navg : ` Number of averages (over independent data segments and frequency bins) associated with each input frequency bin. Can be a constant vs. f (defaulted to 1).
Optional Inputs:
• `navg : ` Number of averages (over independent data segments and frequency bins) associated with each input frequency bin. Can be a constant vs. f (defaulted to 1).
Outputs:
• `lag : ` Time lag vs. frequency. Negative values mean psdb lags psda.
• `dlag : ` Associated error on the lag.
• `g : ` Noise corrected coherence function.
• `dg : ` Error on the coherence function.

This page was last updated May 2, 2017 by Michael Nowak. To comment on it or the material presented here, send email to mnowak@space.mit.edu.