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, duration=None, *, 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.
duration (float, optional) – Force the resulting piecewise-constant function to have a certain duration. This option is mainly to avoid floating point errors when the total duration is too small. If not provided, it is set to the sum of segment durations of pwc. Defaults to None.
name (str, optional) – The name of the node.
- Returns
The filtered and resampled piecewise-constant function.
- Return type
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\).