# dfilt.dfsymfir

Discrete-time, direct-form symmetric FIR filter

## Syntax

`Hd = dfilt.dfsymfir(b)Hd = dfilt.dfsymfir`

## Description

`Hd = dfilt.dfsymfir(b)` returns a discrete-time, direct-form symmetric FIR filter, `Hd`, with numerator coefficients `b`.

`Hd = dfilt.dfsymfir` returns a default, discrete-time, direct-form symmetric FIR filter, `Hd`, with `b=1`. This filter passes the input through to the output unchanged.

 Note   Only the first half of vector `b` is used because the second half is assumed to be symmetric. In the figure below for an odd number of coefficients, b(3) = 0, b(4) = b(2) and b(5) = b(1), and in the next figure for an even number of coefficients, b(4) = b(3), b(5) = b(2), and b(6) = b(1).

The resulting filter states column vector for the odd number of coefficients example above is

$\left[\begin{array}{c}z\left(1\right)\\ z\left(2\right)\\ z\left(3\right)\\ z\left(4\right)\end{array}\right]$

## Examples

### Odd Order

Specify a fifth-order direct-form symmetric FIR filter structure for a `dfilt` object, `Hd`, with the following code:

```b = [-0.008 0.06 0.44 0.44 0.06 -0.008]; Hd = dfilt.dfsymfir(b) ```

### Even Order

Specify a fourth-order direct-form symmetric FIR filter structure for a `dfilt` object, `Hd`, with the following code:

```b = [-0.01 0.1 0.8 0.1 -0.01]; Hd = dfilt.dfsymfir(b) ```