# zpk

Convert digital filter to zero-pole-gain representation

## Syntax

``````[z,p,k] = zpk(d)``````

## Description

example

``````[z,p,k] = zpk(d)``` returns the zeros, poles, and gain corresponding to the digital filter, `d`, in vectors `z` and `p`, and scalar `k`, respectively.```

## Examples

collapse all

Design a highpass FIR filter of order 8 with passband frequency 75 kHz and passband ripple 0.2 dB. Specify a sample rate of 200 kHz. Find the zeros, poles, and gain of the filter.

```hpFilt = designfilt('highpassiir','FilterOrder',8, ... 'PassbandFrequency',75e3,'PassbandRipple',0.2, ... 'SampleRate',200e3); [z,p,k] = zpk(hpFilt)```
```z = 8×1 1 1 1 1 1 1 1 1 ```
```p = 8×1 complex -0.6707 + 0.6896i -0.6707 - 0.6896i -0.6873 + 0.5670i -0.6873 - 0.5670i -0.7399 + 0.3792i -0.7399 - 0.3792i -0.7839 + 0.1344i -0.7839 - 0.1344i ```
```k = 1.2797e-05 ```

## Input Arguments

collapse all

Digital filter, specified as a `digitalFilter` object. Use `designfilt` to generate a digital filter based on frequency-response specifications.

Example: ```d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5)``` specifies a third-order Butterworth filter with normalized 3 dB frequency 0.5π rad/sample.

## Output Arguments

collapse all

Zeros of the filter, returned as a column vector.

Data Types: `double`

Poles of the filter, returned as a column vector.

Data Types: `double`

Gain of the filter, returned as a real scalar.

Data Types: `double`