<< besself | FOSSEE_Signal_Processing_Toolbox | bitrevorder >>

FOSSEE_Signal_Processing_Toolbox >> FOSSEE_Signal_Processing_Toolbox > bilinear

# bilinear

Transform an s-plane filter (analog) into a z-plane filter (digital) using the bilinear transformation.

### Syntax

    [Zb, Za] = bilinear(Sb, Sa, T)
    [Zb, Zb] = bilinear(Sz, Sp, Sg, T)
    [Zz, Zp, Zg] = bilinear(...)

### Parameters

Sb:

  Numerator coefficient vector in the s-domain.

Sa:

  Denominator coefficient vector in the s-domain.

Sz:

  Zeros in the s-plane.

Sp:

  Poles in the s-plane.

Sg:

  Gain in the s-domain.

T:

  Sampling period (double).

Zb:

  Numerator coefficient vector in the z-domain.

Za:

  Denominator coefficient vector in the z-domain.

Zz:

  Zeros in the z-plane.

Zp:

  Poles in the z-plane.

Zg:

  Gain in the z-domain.

### Description

This function transforms a filter design from the s-plane to the z-plane while maintaining the band edges using the bilinear transform. The mapping is non-linear, so the filter must be designed with band edges in the s-plane positioned at 2/T tan(w*T/2) to ensure correct positioning in the z-plane. It does following transformation from s-plane to z-plane 2 z-1 s -> - -------- T z+1

### Examples

    [b, a] = bilinear([1, 2, 3], [4, 5, 6], 1, 1)

### See also

- tf2zp — Transfer function to zero pole conversion
- postpad — Append or truncate a vector or matrix to a specified length.
- zp2tf — Converts zeros / poles to a transfer function.
- prepad — Prepend or truncate a vector or matrix to a specified length.

Report an issue
<< besself | FOSSEE_Signal_Processing_Toolbox | bitrevorder >>