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

Introduced in R2014a