FrequencySeries๏
Stability: Stable
What it is๏
Use FrequencySeries for one frequency-domain spectrum with GWexpy fitting, statistics, filtering, and plotting extensions.
Representative Signatures๏
FrequencySeries(data, unit=None, f0=None, df=None, frequencies=None, ...)
FrequencySeries.ifft(...)
Minimal Example๏
from gwexpy.frequencyseries import FrequencySeries
import numpy as np
fs = FrequencySeries(np.ones(128), df=1.0, unit="V / Hz")
phase = fs.phase()
API Reference๏
The detailed generated API continues below on this page.
Inherits from: gwpy.frequencyseries.FrequencySeries
Extended FrequencySeries with gwexpy analysis and interop features.
See Frequency Series for the API reference.
Physical Context๏
FrequencySeries represents a single-channel frequency-domain quantity. Use it for complex FFT outputs, PSD/ASD estimates, transfer functions, response functions, or any spectrum where each bin corresponds to one frequency interval.
Relation to time-domain data: many
FrequencySeriesobjects come fromTimeSeries.fft(),psd(),asd(), orcsd(). That meansdf, window length, and averaging assumptions are inherited from upstream time-domain processing.Unit semantics: the unit depends on what the spectrum represents. ASD may be
strain / sqrt(Hz), PSD may bestrain2 / Hz, while response functions may carry ratios such asm / Vorcount / N.Complex-valued meaning:
real,imag,phase(), andunwrap_phase()are not just numerical helpers. They are often the quantities used to interpret delay, resonance, causality, and control-loop phase margin.
Analysis Notes๏
Fix what kind of spectrum you have first๏
The same container can hold an amplitude spectrum, PSD, ASD, or a complex transfer function. The interpretation changes with that choice.
use ASD/PSD language when comparing noise floors
use transfer/response-function language when comparing input-output relations
if you want to return to a waveform with
ifft(), check the FFT convention and Hermitian assumptions first
FFT conventions and normalization still matter๏
Because the object is already in the frequency domain, normalization mistakes are easy to hide. Before comparing with another code path or a paper figure, check:
one-sided vs two-sided spectrum
whether window correction is included
amplitude quantity vs power quantity
what reference is used before converting to dB
Use FFT_Conventions as the baseline.
Common misreadings๏
comparing ASD and PSD as if they were the same observable
adding or subtracting
to_db()values as though they were linear amplitudesreading wrapped phase as a physical jump
interpreting linewidth or resonance Q without checking
dfand averaging setup
Where to go next๏
frequency-domain conventions: FFT_Conventions
time-domain entry point: TimeSeries
fitting and response estimation: Advanced Fitting
practical workflow: Transfer Function Measurement
noise-floor workflow: Noise Budgeting
Pickle / shelve portability๏
Warning
Never unpickle data from untrusted sources. pickle/shelve can execute
arbitrary code on load.
gwexpy pickling prioritizes portability: unpickling returns GWpy types so that loading does not require gwexpy to be installed.