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.


  • pwc (Pwc) – The piecewise-constant function α(t)\alpha(t)
  • kernel (ConvolutionKernel) – The node representing the kernel K(t)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.


The filtered and resampled piecewise-constant function.

Return type



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.


The convolution is

(αK)(t)α(τ)K(tτ)dτ. (\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)K(t)) to α(t)\alpha(t)

Was this useful?