# 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)$**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

### 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)$