Zero-pole-gain conversion of discrete-time filter System object
collapse all in page
Syntax
[z,p,k] = zpk(sysobj)
[z,p,k] = zpk(sysobj,Arithmetic=arithType)
Description
example
[z,p,k] = zpk(sysobj)
returns the zeros, poles, and gain corresponding to the filter System object™ in vector z
, vector p
, and scalar k
, respectively.
[z,p,k] = zpk(sysobj,Arithmetic=arithType)
analyzes the filter System object based on the arithmetic specified in arithType
.
For more input options, see zpk in Signal Processing Toolbox™.
Examples
collapse all
Highpass Filter in Zero-Pole-Gain Form
Open Live Script
Compute the zero-pole-gain form of the highpass filter using the zpk
function.
Design a minimum order highpass FIR filter with a passband frequency of 75 kHz and passband ripple of 0.2 dB. Specify a sample rate of 200 kHz.
hFilt = dsp.HighpassFilter(PassbandFrequency=75e3,... PassbandRipple=0.2,SampleRate=200e3)
hFilt = dsp.HighpassFilter with properties: FilterType: 'FIR' DesignForMinimumOrder: true StopbandFrequency: 8000 PassbandFrequency: 75000 StopbandAttenuation: 80 PassbandRipple: 0.2000 NormalizedFrequency: false SampleRate: 200000 Use get to show all properties
Find the zeros, poles, and the gain of the designed filter using the zpk
function.
[z,p,k] = zpk(hFilt)
z = 8×1 complex 17.2236 + 0.0000i -3.0709 + 0.0000i 0.9732 + 0.2300i 0.9732 - 0.2300i 0.9954 + 0.0957i 0.9954 - 0.0957i -0.3256 + 0.0000i 0.0581 + 0.0000i
p = 8×1 0 0 0 0 0 0 0 0
k = -0.0023
Input Arguments
collapse all
sysobj
— Input filter
filter System object
Input filter, specified as one of the following filter System objects:
dsp.AllpassFilter
dsp.AllpoleFilter
dsp.BiquadFilter
dsp.CICCompensationDecimator
dsp.CICCompensationInterpolator
dsp.CICDecimator
dsp.CICInterpolator
dsp.CoupledAllpassFilter
dsp.Differentiator
dsp.FarrowRateConverter
dsp.FilterCascade
dsp.FIRDecimator
dsp.FIRFilter
dsp.FIRHalfbandDecimator
dsp.FIRHalfbandInterpolator
dsp.FIRInterpolator
dsp.FIRRateConverter
dsp.FourthOrderSectionFilter
dsp.HighpassFilter
dsp.IIRFilter
dsp.IIRHalfbandDecimator
dsp.IIRHalfbandInterpolator
dsp.LowpassFilter
dsp.NotchPeakFilter
dsp.ParallelFilter
dsp.VariableBandwidthFIRFilter
dsp.VariableBandwidthIIRFilter
arithType
— Arithmetic type
'double'
(default) | 'single'
| 'Fixed'
Arithmetic used in the filter analysis, specified as 'double'
, 'single'
, or 'Fixed'
. When the arithmetic input is not specified and the filter System object is unlocked, the analysis tool assumes a double-precision filter. When the arithmetic input is not specified and the System object is locked, the function performs the analysis based on the data type of the locked input.
The 'Fixed'
value applies to filter System objects with fixed-point properties only.
When the 'Arithmetic'
input argument is specified as 'Fixed'
and the filter object has the data type of the coefficients set to 'Same word length as input'
, the arithmetic analysis depends on whether the System object is unlocked or locked.
unlocked –– The analysis object function cannot determine the coefficients data type. The function assumes that the coefficients data type is signed, has a 16-bit word length, and is auto scaled. The function performs fixed-point analysis based on this assumption.
locked –– When the input data type is
'double'
or'single'
, the analysis object function cannot determine the coefficients data type. The function assumes that the data type of the coefficients is signed, has a 16-bit word length, and is auto scaled. The function performs fixed-point analysis based on this assumption.
To check if the System object is locked or unlocked, use the isLocked function.
When the arithmetic input is specified as 'Fixed'
and the filter object has the data type of the coefficients set to a custom numeric type, the object function performs fixed-point analysis based on the custom numeric data type.
Output Arguments
collapse all
z
— Zeros
column vector
Zeros of the filter, returned as a column vector.
Data Types: double
Complex Number Support: Yes
p
— Poles
column vector
Poles of the filter, returned as a column vector.
Data Types: double
Complex Number Support: Yes
k
— Gain
real scalar
Gain of the filter, returned as a real scalar.
Data Types: double
Version History
Introduced in R2011a
expand all
R2023b: Support for dsp.ParallelFilter
Object
Starting in R2023b, the zpk
analysis function supports the dsp.ParallelFilter object.
R2023b: dsp.BiquadFilter
object will be removed
The dsp.BiquadFilter
object will be removed in a future release. Use the dsp.SOSFilter object instead. For more information on how to replace your existing code, see the Compatibility Considerations section in the dsp.BiquadFilter reference page.
See Also
Functions
- zpk
Topics
- Analysis Functions for Filter System Objects
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本 (日本語)
- 한국 (한국어)
Contact your local office