The transferFunction block executes a single-input single-output linear transfer function specified in the following ways:

•**As an M file created with Embed:** The Linearize command in the
Analyze menu generates ABCD state-space matrices from the nonlinear system by
numerically evaluating the matrix perturbation equations at the time the
simulation was halted.

•**As an M file created with a text editor:** The following is an
example of a user-written M file:

function [a,b,c,d] =vabcd

a = [-.396175 -1.17336 ; 5.39707 .145023 ];

b = [-.331182 ; -1.08363 ];

c = [0 1 ];

d = [0 ];

•**As a MAT file created with MATLAB:** Generating MAT files is
described in the MATLAB documentation. Note that when you save the ABCD matrices
to file, the names of the matrices are not important; however, the order in
which they appear is.

When you simulate the block diagram, Embed numerically solves the transferFunction block.

You can set initial conditions for transferFunction blocks using variables. You can also reset transferFunction blocks to 0s using System > Reset States.

**Digital filter design:** The transferFunction block
supports IIR and FIR digital filter design.

**Setting up a transfer function:** The transferFunction
block controls how the numerator and denominator polynomials are entered.

**Display Filter Method:** Displays the filter
specification on the block. When Display Filter Method is not activated, Embed
displays the polynomial coefficients.

**Gain:** Indicates the transfer function gain. If the
leading terms of the numerator and denominator coefficients are not unity, Embed
will adjust the gain to make it so. The default is 1.

**Initial Value:** Specifies initial values for the
states in the block. The values are right-adjusted. The right-most value
corresponds to the lowest order state. Unspecified states are set to 0.

**.mat/.m File:** Indicates the name of the M or MAT
file to be used as input to the transferFunction block. Enter the file name, or
select it with **Select File**.

**Denominator:** Indicates the
denominator polynomial for the transferFunction block. Embed determines the
order of the transfer function by the number of denominator coefficients you
enter. For example, an nth order transfer function will have n + 1 coefficients.
Separate coefficients with spaces.

**Numerator:** Indicates
the numerator polynomial for the transferFunction block. Separate coefficients
with spaces.

**Radix Point:** Sets the binary point. This option is
available only when **Use Scaled Fixed Point** is activated.

**Discrete:** Indicates a
discrete Z-Domain transfer function. Enter the time step for the discrete
transfer function in the dT box. By default, Embed uses the step size
established under System > System Properties > Range. When **Discrete**
is de-activated, a continuous transfer function is created.

**dT:** Specifies the time step
for the discrete transfer function. By default, Embed uses step size established
under System > System Properties > Range.

**.mat File:** Indicates that
the transfer function is to be specified as a MAT file. Specify the name of the
MAT file in the .mat/.m File group box.** **

**.m File:** Indicates that the
transfer function is to be specified as an M file. Specify the name of the M
file in the .mat/.m File group box.

**Poles and Zeros:** Specifies
a transfer function using zeros and poles in the **Numerator** and
**Denominator** boxes, respectively. Enter each root in the following
format:

(real-part, imaginary-part)

For large order systems, poles and zeros is more numerically accurate.

**Polynomial Coefficient:**
Indicates that the transfer function is to be specified as numerator and
denominator polynomials. Supply the numerator and denominator polynomials and
gain under the Polynomial Coefficients group box.

**Tapped Delay:** Provides
tapped delay implementation for high order FIR filters.

**IIR Filter button:** Opens
the IIR Filters Setup dialog to design a suitable filter using analog
prototypes.** **

**FIR Filter button:** Opens
the FIR Filter Setup dialog to construct Regular Finite Impulse Response
filters, differentiators, and Hilbert Transformers.

**Convert S ->Z button:**
Uses bilinear transformation to convert a continuous transfer function to an
equivalent discrete transfer function with a sampling interval of *dT*.
Embed requests a discrete sampling rate prior to performing the conversion.

An example of the conversion is shown below.

The bilinear transformation can be implemented by the substitution:

The above transfer function becomes:

Embed automatically simplifies this representation and enters the appropriate coefficients for the numerator and denominator polynomials.

**Convert Z ->S button:**
Uses bilinear transformation to convert a discrete transfer function to an
equivalent continuous transfer function. For example, consider:

The bilinear transformation can be implemented by the substitution:

The above discrete transfer function becomes:

Embed automatically simplifies this representation and enters the appropriate coefficients for the numerator and denominator polynomials.

It is important to note
that in both transformations, the results obtained are dependent on the sampling
interval *dT*. In other words, for a given continuous or discrete transfer
function, an infinite number of equivalent discrete or continuous transfer
functions may be obtained by varying the sampling interval
*dT*.

**Use 32 Bit Precision:** Simulates the behavior of the
transfer function at 32-bit precision. Normally, all Embed blocks are 64-bit
precision. This parameter lets you simulate the effect of code running on a
32-bit floating-point target.

**Used Scaled Fixed Point:** When targeting a
fixed-point processor, such as a TI-C2000, activate this option. Embed uses
scaled fixed point internal operations and will generate scaled fixed-point
code.

**Word Length:** Sets the word size for the target
architecture. This option can be used only when Used Scaled Fixed Point is
activated. Note that the word size can be overridden using the Override Word
Size option in the dialog for the Fixed Point Block Set
Configure command under the Tools menu.

This example simulates a Butterworth filter in
reduced precision to simulate the effects of implementing the system on a
reduced-precision 32-bit floating-point target. To turn on reduced precision,
activate the **32-Bit Precision** parameter transferFunction Properties
dialog.