# tf

Convert discrete-time filter System object to transfer function

## Syntax

``[num,den] = tf(sysobj)``
``[num,den] = tf(sysobj,'Arithmetic',arithType)``

## Description

example

````[num,den] = tf(sysobj)` converts the discrete-time filter System object™ to numerator and denominator coefficient vectors of the equivalent transfer function.```
````[num,den] = tf(sysobj,'Arithmetic',arithType)` analyzes the filter System object based on the arithmetic specified in `arithType`.For more input options, see `tf` in Signal Processing Toolbox™.```

## Examples

collapse all

Compute the transfer function of a biquad filter using the `tf` function.

Create a fourth-order, lowpass biquadratic filter object with a normalized cutoff frequency of 0.4.

```[z,p,k] = ellip(4,1,60,0.4); % Set up the filter [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter(s,g,'Structure','Direct form I')```
```biquad = dsp.BiquadFilter with properties: Structure: 'Direct form I' SOSMatrixSource: 'Property' SOSMatrix: [2x6 double] ScaleValues: 0.0351 NumeratorInitialConditions: 0 DenominatorInitialConditions: 0 OptimizeUnityScaleValues: true Show all properties ```

Compute the transfer function of the designed biquadratic filter. The `tf` function returns the numerator and the denominator coefficient vectors of the filter.

`[num,den] = tf(biquad)`
```num = 1×5 0.0351 0.1038 0.1432 0.1038 0.0351 ```
```den = 1×5 1.0000 -1.5676 1.7412 -1.0104 0.3093 ```

## Input Arguments

collapse all

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

Numerator coefficients of the filter, returned as a row vector.

Data Types: `double`

Denominator coefficients of the filter, returned as a row vector.

Data Types: `double`

## Version History

Introduced in R2011a