filter_and_resample_pwc

The Boulder Opal Toolkits are currently in beta phase of development. Breaking changes may be introduced.

filter_and_resample_pwc(pwc, cutoff_frequency, segment_count, *, name=None)

Filter a piecewise-constant function with a sinc filter and resample it again.

Parameters
  • pwc (Pwc) – The piecewise-constant function \(\alpha(t)\) to be filtered.

  • cutoff_frequency (float) – Upper limit \(\omega_c\) of the range of angular frequencies that you want to preserve in your function.

  • segment_count (int) – The number of segments of the resampled filtered function.

  • name (str, optional) – The name of the node.

Returns

The filtered and resampled piecewise-constant function.

Return type

Pwc

See also

convolve_pwc()

Create the convolution of a piecewise-constant function with a kernel.

discretize_stf()

Create a piecewise-constant function by discretizing a sampleable function.

sinc_convolution_kernel()

Create a convolution kernel representing the sinc function.

Notes

The resulting filtered function is

\[\int_{-\infty}^\infty \alpha(\tau) \frac{\sin[\omega_c (t-\tau)]}{\pi (t-\tau)} \mathrm{d}\tau = \frac{1}{2\pi} \int_{-\omega_c}^{\omega_c} e^{i \omega t} \hat\alpha(\omega) \mathrm{d}\omega\]

where

\[\hat\alpha(\omega) =\int_{-\infty}^\infty e^{-i \omega \tau}\alpha(\tau) \mathrm{d}\tau\]

is the Fourier transform of \(\alpha(t)\). Hence the filter eliminates components of the signal that have angular frequencies greater than \(\omega_c\).