Table Of Contents

iir_elliptic

Version:
    Last Modified: March 15, 2017

    Designs an elliptic (Cauer) filter. If you specify w, this function generates a lowpass filter of order n. If you specify w1 and w2, this function generates a bandpass filter of order 2n. [z, p, k] and [as, bs, cs, ds] generate the zero-pole-gain representation and the state-space representation, respectively, of the filter.

    Syntax

    [b, a] = iir_elliptic(n, dbp, dbs, w)
    [b, a] = iir_elliptic(n, dbp, dbs, w, 's')
    [b, a] = iir_elliptic(n, dbp, dbs, [w1,w2])
    [b, a] = iir_elliptic(n, dbp, dbs, [w1,w2], 's')
    [b, a] = iir_elliptic(n, dbp, dbs, w, option)
    [b, a] = iir_elliptic(n, dbp, dbs, w, option, 's')
    [b, a] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop')
    [b, a] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop', 's')
    [z, p, k] = iir_elliptic(n, dbp, dbs, w)
    [z, p, k] = iir_elliptic(n, dbp, dbs, w, 's')
    [z, p, k] = iir_elliptic(n, dbp, dbs, [w1,w2])
    [z, p, k] = iir_elliptic(n, dbp, dbs, [w1,w2], 's')
    [z, p, k] = iir_elliptic(n, dbp, dbs, w, option)
    [z, p, k] = iir_elliptic(n, dbp, dbs, w, option, 's')
    [z, p, k] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop')
    [z, p, k] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop', 's')
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, w)
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, w, 's')
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, [w1,w2])
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, [w1,w2], 's')
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, w, option)
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, w, option, 's')
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop')
    [as, bs, cs, ds] = iir_elliptic(n, dbp, dbs, [w1,w2], 'stop', 's')
    Legacy name: ellip

    Inputs

    n

    Filter order. n is a positive integer.

    dbp

    Ripple in the passband. dbp is a decibel value that must be greater than zero.

    dbs

    Minimum stopband attenuation. dbs is a decibel value that must be a real scalar.

    w

    Cutoff frequency of the filter. w is a real number between 0 and 1. 1 represents the Nyquist frequency. If you specify 's', w can be any positive number.

    [w1,w2]

    Low and high cutoff frequency as matrix. w1 must fall in the range [0, 1]. If you specify 's', w1 can be any positive number. w2 must fall in the range [0, 1] and must be greater than w1. If you specify 's', w2 can be any positive number.

    option

    Type of filter to design. option is a string that accepts the following values:

    Name Description
    'low'

    Designs a lowpass filter.

    'high'

    Designs a highpass filter.

    Default: 'low'

    'stop'

    Directs MathScript to design a stopband filter. If you do not specify 'stop' and you specify w1 and w2, MathScript designs a bandpass filter.

    's'

    Directs MathScript to design an analog elliptic (Cauer) filter.

    Outputs

    b

    Numerator of the filter under design. b is the forward filter coefficient of order n. b is a real vector.

    a

    Denominator of the filter under design. a is the backward filter coefficient of order n. a is a real vector.

    z

    Zeros of the filter. z is a vector.

    p

    Poles of the filter. p is a vector.

    k

    Gain of the filter. k is a real number.

    as

    A coefficients of the filter. as is a matrix.

    bs

    B coefficients of the filter. bs is a matrix.

    cs

    C coefficients of the filter. cs is a matrix.

    ds

    D coefficients of the filter. ds is a matrix.

    N = 5;
    DBP = 0.5;
    DBS = 20;
    W = 0.4;
    [B, A] = iir_elliptic(N, DBP, DBS, W)

    Where This Node Can Run:

    Desktop OS: Windows

    FPGA: This product does not support FPGA devices


    Recently Viewed Topics