This is where navigation should be.

PFILT - Apply filter with periodic boundary conditions

Usage

h=pfilt(f,g);
h=pfilt(f,g,a,dim);

Description

pfilt(f,g) applies the filter g to the input f. If f is a matrix, the filter is applied along each column.

pfilt(f,g,a) does the same, but downsamples the output keeping only every a'th sample (starting with the first one).

pfilt(f,g,a,dim) filters along dimension dim. The default value of [] means to filter along the first non-singleton dimension.

The filter g can be a vector, in which case the vector is treated as a zero-delay FIR filter.

The filter g can be a cell array. The following options are possible:

  • If the first element of the cell array is the name of one of the windows from firwin, the whole cell array is passed onto firfilter.
  • If the first element of the cell array is 'bl', the rest of the cell array is passed onto blfilter.
  • If the first element of the cell array is 'pgauss', 'psech', the rest of the parameters is passed onto the respective function. Note that you do not need to specify the length L.

The coefficients obtained from filtering a signal f by a filter g are defined by

\begin{equation*} c\left(n+1\right)=\sum_{l=0}^{L-1}f\left(l+1\right)g\left(an-l+1\right) \end{equation*}

where \(an-l\) is computed modulo \(L\).