Accelerating the pace of engineering and science

# Discrete Zero-Pole

Model system defined by zeros and poles of discrete transfer function

Discrete

## Description

The Discrete Zero-Pole block models a discrete system defined by the zeros, poles, and gain of a z-domain transfer function. This block assumes that the transfer function has the following form:

$H\left(z\right)=K\frac{Z\left(z\right)}{P\left(z\right)}=K\frac{\left(z-{Z}_{1}\right)\left(z-{Z}_{2}\right)...\left(z-{Z}_{m}\right)}{\left(z-{P}_{1}\right)\left(z-{P}_{2}\right)...\left(z-{P}_{n}\right)},$

where Z represents the zeros vector, P the poles vector, and K the gain. The number of poles must be greater than or equal to the number of zeros (n ≥ m). If the poles and zeros are complex, they must be complex conjugate pairs.

The block displays the transfer function depending on how the parameters are specified. See Zero-Pole for more information.

## Data Type Support

The Discrete Zero-Pole block accepts and outputs real signals of type double and single. For more information, see Data Types Supported by Simulink in the Simulink® documentation.

## Parameters and Dialog Box

Zeros

Specify the matrix of zeros. The default is [1].

Poles

Specify the vector of poles. The default is [0 0.5].

Gain

Specify the gain. The default is 1.

Sample time

Specify the time interval between samples. See Specifying Sample Time.

The State Attributes pane of the Discrete Zero-Pole block dialog box appears as follows:

State name

Use this parameter to assign a unique name to the block state. The default is ' '. When this field is blank, no name is assigned. When using this parameter, remember these considerations:

• A valid identifier starts with an alphabetic or underscore character, followed by alphanumeric or underscore characters.

• The state name applies only to the selected block.

This parameter enables State name must resolve to Simulink signal object when you click Apply.

For more information, see States in the Simulink Coder™ documentation.

State name must resolve to Simulink signal object

Select this check box to require that the state name resolve to a Simulink signal object. This check box is cleared by default.

State name enables this parameter.

Selecting this check box disables Code generation storage class.

Package

Select a package that defines the custom storage class you want to apply. If you have defined any packages of your own, click Refresh. This action adds all user-defined packages on your search path to the package list.

Code generation storage class

Select custom storage class for state.

Default: Auto

Auto

Auto is the appropriate storage class for states that you do not need to interface to external code.

model_P initializes the state to its corresponding value in the workspace.

ExportedGlobal

State is stored in a global variable

ImportedExtern

model_private.h declares the state as an extern variable.

ImportedExternPointer

model_private.h declares the state as an extern pointer.

Default

A non-editable placeholder storage class is created.

BitField

A struct declaration is created that embeds Boolean data.

Volatile

Volatile type qualifier is used in state declaration.

ExportToFile

Header (.h) file containing global variable declarations is generated with user-specified name.

ImportFromFile

Predefined header (.h) files containing global variable declarations are included.

FileScope

A static qualifier is generated in front of the state declaration to make the state visible only to the current file.

Struct

A struct declaration is created to encapsulate parameter or signal object data.

StructVolatile

Volatile type qualifier is used in struct declaration.

GetSet

Supports specialized function calls to read and write memory.

State name enables this parameter.

The list of valid storage classes differs based on the Package selection.

Setting this parameter to ExportedGlobal, ImportedExtern, or ImportedExternPointer enables Code generation storage type qualifier.

Code generation storage type qualifier

Specify a Simulink Coder storage type qualifier. The default is ' '. When this field is blank, no qualifier is assigned.

The Simulink Coder product does not check this string for errors. Thus, whatever value you enter appears automatically in the variable declaration.

Setting Code generation storage class to ExportedGlobal, ImportedExtern, or ImportedExternPointer enables this parameter.

During simulation, the block uses the following values:

• The initial value of the signal object to which the state name is resolved

• Min and Max values of the signal object

For more information, see States in the Simulink Coder documentation.

## Characteristics

 Direct Feedthrough Yes, if the number of zeros and poles are equal Sample Time Specified in the Sample time parameter Scalar Expansion No States Length of Poles vector Dimensionalized No Zero Crossing No