<< prepad | FOSSEE_Signal_Processing_Toolbox | pulseperiod >>

FOSSEE_Signal_Processing_Toolbox >> FOSSEE_Signal_Processing_Toolbox > prony

# prony

Prony's method for time-domain design of IIR Filters.

### Syntax

    [b, a] = prony(h, nb, na)

### Parameters

h:

  Impulse response of the digital filter (vector).

nb:

  Number of zeros (integer).

na:

  Number of poles (integer).

### Description

The `prony` function designs an IIR filter using Prony's method. It computes the coefficients of the numerator (`b`) and denominator (`a`) of the transfer function (TF) based on the given impulse response `h`, number of zeros `nb`, and number of poles `na`.

Notes - The function zero-pads the input `h` if its length is less than `max(nb, na) + 1`. - The method avoids division by zero by normalizing the first element of `h`.

### Examples

    // Design an IIR filter with 1 zero and 2 poles:
    V = filter([1, 1], [1, 1, 2], [1 zeros(1, 31)]) // Impulse response
    [b, a] = prony(V, 1, 2)

    // Design an IIR filter with 1 zero and 3 poles:
    V = filter([1, 2], [1, 2, 3, 4], [1 zeros(1, 31)]);
    [b, a] = prony(V, 1, 3)

### Bibliography

T.W. Parks and C.S. Burrus, Digital Filter Design, John Wiley and Sons, 1987, p226.

### Authors

- Debdeep Dey

Report an issue
<< prepad | FOSSEE_Signal_Processing_Toolbox | pulseperiod >>