filter_and_resample_pwc

Graph.filter_and_resample_pwc(pwc, kernel, segment_count, duration=None, *, name=None)

Filter a piecewise-constant function by convolving it with a kernel and resample it again.

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

  • kernel (ConvolutionKernel) – The node representing the kernel \(K(t)\).

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

  • duration (float or None, 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. Defaults to the sum of segment durations of pwc.

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

Returns:

The filtered and resampled piecewise-constant function.

Return type:

Pwc

See also

Graph.convolve_pwc

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

Graph.discretize_stf

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

Graph.sinc_convolution_kernel

Create a convolution kernel representing the sinc function.

Notes

The convolution is

\[(\alpha * K)(t) \equiv \int_{-\infty}^\infty \alpha(\tau) K(t-\tau) \mathrm{d}\tau.\]

Convolution in the time domain is equivalent to multiplication in the frequency domain, so this function can be viewed as applying a linear time-invariant filter (specified via its time domain kernel \(K(t)\)) to \(\alpha(t)\).