# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# impz

Impulse response of discrete-time filter System object

## Syntax

```[impResp,t] = impz(sysobj) [impResp,t] = impz(sysobj,n) [impResp,t] = impz(sysobj,n,fs) [impResp,t] = impz(sysobj,[],fs) [impResp,t] = impz(sysobj,Name,Value) impz(sysobj) ```

## Description

```[impResp,t] = impz(sysobj)``` computes the impulse response of the filter System object™, `sysobj`, and returns the response in column vector `impResp`, and a vector of times (or sample intervals) in `t`, where `t = [0 1 2 ...k-1]'`. `k` is the number of filter coefficients.

```[impResp,t] = impz(sysobj,n)``` computes the impulse response at `floor(n)` 1-second intervals. The time vector `t` equals `(0:floor(n)-1)'`.

```[impResp,t] = impz(sysobj,n,fs)``` computes the impulse response at `floor(n)` 1/`fs`-second intervals. The time vector `t` equals `(0:floor(n)-1)'/fs`.

```[impResp,t] = impz(sysobj,[],fs)``` computes the impulse response at `k` 1/`fs`-second intervals. `k` is the number of filter coefficients. The time vector `t` equals `(0:k-1)'/fs`.

```[impResp,t] = impz(sysobj,Name,Value)``` returns an impulse response with additional options specified by one or more `Name,Value` pair arguments.

`impz(sysobj)` uses `fvtool` to plot the impulse response of the filter System object `sysobj`.

For more input options, refer to `impz` in Signal Processing Toolbox™ documentation.

### Note

You can use `impz` for both real and complex filters. When you omit the output arguments, `impz` plots only the real part of the impulse response.

## Input Arguments

collapse all

 `sysobj` Filter System object. The following Filter System objects are supported by this analysis function: `n` Length of the impulse response vector. Default: Number of filter coefficients `fs` Sampling frequency. Default: 1

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside single quotes (`' '`). You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

collapse all

Specify the arithmetic used during analysis. When you specify `'double'` or `'single'`, the function performs double- or single-precision analysis. When you specify `'fixed'` , the arithmetic changes depending on the setting of the `CoefficientDataType` property and whether the System object is locked or unlocked.

When you do not specify the arithmetic for non-CIC structures, the function uses double-precision arithmetic if the filter System object is in an unlocked state. If the System object is locked, the function performs analysis based on the locked input data type. CIC structures only support fixed-point arithmetic.

## Output Arguments

 `impResp` `n`-element impulse response vector. If `n` is not specified, the length of the impulse response vector equals the number of coefficients in the filter. `t` Time vector of length `n`, in seconds. `t` consists of `n` equally spaced points in the range `(0:floor(n)-1)'/fs`. If `n` is not specified, the function uses the number of coefficients of the filter.

## Examples

collapse all

Create a discrete-time filter for a fourth-order, lowpass elliptic filter with a cutoff frequency of 0.4 times the Nyquist frequency. Use a second-order sections structure to resist quantization errors. Plot the first 50 samples of the impulse response, along with the reference impulse response.

```d = fdesign.lowpass(.4,.5,1,80); ```

Create a design object for the prototype filter. Use `ellip` to design a minimum order discrete-time biquad filter.

```biquad = design(d,'ellip','Systemobject',true); ```

Plot the impulse response.

```impz(biquad); axis([1 75 -0.2 0.35]) ```