# dfilt.dfasymfir

Discrete-time, direct-form antisymmetric FIR filter

## Syntax

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

## Description

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

`Hd = dfilt.dfasymfir` returns a default, discrete-time, direct-form, antisymmetric 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 antisymmetric. 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)\\ z\left(5\right)\\ z\left(6\right)\end{array}\right]$`

## Examples

collapse all

Create a Type-4 25th-order highpass direct-form antisymmetric FIR filter structure for a `dfilt` object.

```Num_coeffs = firpm(25,[0 .4 .5 1],[0 0 1 1],'h'); Hd = dfilt.dfasymfir(Num_coeffs);```

Display the impulse response of the filter.

`impz(Hd)` Create a 44th-order lowpass direct-form antisymmetric FIR differentiator filter structure for a `dfilt` object.

```Num_coeffs = firpm(44,[0 .3 .4 1],[0 .2 0 0],'differentiator'); Hd = dfilt.dfasymfir(Num_coeffs);```

Display the impulse response of the filter.

`impz(Hd)` 