pyrfu.mms.fft_bandpass module#

pyrfu.mms.fft_bandpass.fft_bandpass(inp: DataArray, f_min: float, f_max: float) DataArray[source]#

Perform simple bandpass using FFT - returns fields between with f_min < f < f_max.

Parameters:
  • inp (DataArray) – Time series to be bandpass filtered.

  • f_min (float) – Minimum frequency of filter, f < f_min are removed.

  • f_max (float) – Maximum frequency of filter, f > f_max are removed.

Returns:

Time series of the bandpass filtered data.

Return type:

DataArray

Raises:
  • TypeError

    • If input is not a xarray.DataArray.

    • If f_min is not a float.

    • If f_max is not a float.

  • ValueError – If f_min is larger than f_max.

Notes

Can be some spurious effects near boundary. Can take longer interval then use pyrfu.pyrf.time_clip to remove.

Examples

>>> from pyrfu import mms

Define time interval

>>> tint = ["2017-07-23T16:54:24.000", "2017-07-23T17:00:00.000"]

Spacecraft index

>>> mms_id = 1

Load Electric Field

>>> e_xyz = mms.get_data("e_gse_edp_brst_l2", tint, mms_id)

Bandpass filter

>>> e_xyz_bp = mms.fft_bandpass(e_xyz, 1e1, 1e2)