bilby.gw.detector.psd.PowerSpectralDensity

class bilby.gw.detector.psd.PowerSpectralDensity(frequency_array=None, psd_array=None, asd_array=None, psd_file=None, asd_file=None)[source]

Bases: object

__init__(frequency_array=None, psd_array=None, asd_array=None, psd_file=None, asd_file=None)[source]

Instantiate a new PowerSpectralDensity object.

Attributes:
asd_array: array_like

Array representation of the ASD

asd_file: str

Name of the ASD file

frequency_array: array_like

Array containing the frequencies of the ASD/PSD values

psd_array: array_like

Array representation of the PSD

psd_file: str

Name of the PSD file

power_spectral_density_interpolated: scipy.interpolated.interp1d

Interpolated function of the PSD

Examples

Using the from method directly (here psd_file is a string containing the path to the file to load):

>>> power_spectral_density = PowerSpectralDensity.from_power_spectral_density_file(psd_file)

Alternatively (and equivalently) setting the psd_file directly:

>>> power_spectral_density = PowerSpectralDensity(psd_file=psd_file)
__call__(*args, **kwargs)

Call self as a function.

Methods

__init__([frequency_array, psd_array, ...])

Instantiate a new PowerSpectralDensity object.

from_aligo()

from_amplitude_spectral_density_array(...)

from_amplitude_spectral_density_file(asd_file)

Set the amplitude spectral density from a given file

from_channel_name(channel, psd_start_time, ...)

Generate power spectral density from a given channel name by loading data using strain_data.set_from_channel_name

from_frame_file(frame_file, psd_start_time, ...)

Generate power spectral density from a frame file

from_power_spectral_density_array(...)

from_power_spectral_density_file(psd_file)

Set the power spectral density from a given file

get_amplitude_spectral_density_array(...)

get_noise_realisation(sampling_frequency, ...)

Generate frequency Gaussian noise scaled to the power spectral density.

get_power_spectral_density_array(frequency_array)

Attributes

asd_array

asd_file

power_spectral_density_interpolated

psd_array

psd_file

static from_amplitude_spectral_density_file(asd_file)[source]

Set the amplitude spectral density from a given file

Parameters:
asd_file: str

File containing amplitude spectral density, format ‘f h_f’

static from_channel_name(channel, psd_start_time, psd_duration, fft_length=4, sampling_frequency=4096, roll_off=0.2, overlap=0, name=None, outdir=None, analysis_segment_start_time=None)[source]

Generate power spectral density from a given channel name by loading data using strain_data.set_from_channel_name

Parameters:
psd_start_time: float

Beginning of segment to analyse.

psd_duration: float, optional

Duration of data (in seconds) to generate PSD from.

fft_length: float, optional

Number of seconds in a single fft.

sampling_frequency: float, optional

Sampling frequency for time series. This is twice the maximum frequency.

roll_off: float, optional

Rise time in seconds of tukey window.

overlap: float,

Number of seconds of overlap between FFTs.

channel: str

Name of channel to use to generate PSD in the format IFO:Channel

name, outdir: str, optional

Name (and outdir) of the detector for which a PSD is to be generated.

analysis_segment_start_time: float, optional

The start time of the analysis segment, if given, this data will be removed before creating the PSD.

static from_frame_file(frame_file, psd_start_time, psd_duration, fft_length=4, sampling_frequency=4096, roll_off=0.2, overlap=0, channel=None, name=None, outdir=None, analysis_segment_start_time=None)[source]

Generate power spectral density from a frame file

Parameters:
frame_file: str, optional

Frame file to read data from.

psd_start_time: float

Beginning of segment to analyse.

psd_duration: float, optional

Duration of data (in seconds) to generate PSD from.

fft_length: float, optional

Number of seconds in a single fft.

sampling_frequency: float, optional

Sampling frequency for time series. This is twice the maximum frequency.

roll_off: float, optional

Rise time in seconds of tukey window.

overlap: float,

Number of seconds of overlap between FFTs.

channel: str, optional

Name of channel to use to generate PSD.

name, outdir: str, optional

Name (and outdir) of the detector for which a PSD is to be generated.

analysis_segment_start_time: float, optional

The start time of the analysis segment, if given, this data will be removed before creating the PSD.

static from_power_spectral_density_file(psd_file)[source]

Set the power spectral density from a given file

Parameters:
psd_file: str, optional

File containing power spectral density, format ‘f h_f’

get_noise_realisation(sampling_frequency, duration)[source]

Generate frequency Gaussian noise scaled to the power spectral density.

Parameters:
sampling_frequency: float

sampling frequency of noise

duration: float

duration of noise

Returns:
array_like: frequency domain strain of this noise realisation
array_like: frequencies related to the frequency domain strain