Skip to contents

The two-sided z-transform \(X(z) = \sum_n x_n z^{-n}\) of the sequence x, evaluated at the complex point or points z. n0 is the time index of the first sample, so the sum runs over \(n = n_0, \ldots, n_0 + N - 1\); n0 = 0 gives the causal finite-length case \(X(z) = \sum_{n=0}^{N-1} x_n z^{-n}\), which is the transfer function of an FIR system.

Usage

Zfm(x, z, n0 = 0)

Arguments

x

Numeric or complex vector of samples \(x(n_0), \ldots, x(n_0 + N - 1)\).

z

Complex scalar or vector of evaluation points.

n0

Integer time index of the first sample. Default 0 (causal).

Value

Named list with X, z, coefficients, n, causal, degree, method.

Details

A finite-length sequence converges everywhere except possibly at \(z = 0\) (samples at \(n > 0\) put a pole there) and at infinity, so no region of convergence has to be supplied. An FIR sequence has all its poles at the origin and is therefore always stable; a recursive-filter stability test in the sense of Jury's criterion needs the denominator polynomial, which this function does not take.

Delegates to Ztrans, the canonical implementation in morie. Mirrors morie.fn.zfm on the Python side.

References

Jury E I (1964). Theory and Application of the z-Transform Method. Wiley, New York, Chapter 1.

Examples

Zfm(c(1, 2, 3), z = 2)$X
#> [1] 2.75+0i