Question about IIR-filters in MATLAB (initial/final conditions)

Discussion in 'MATLAB' started by James, Feb 9, 2006.

  1. James

    James Guest

    Hello,

    When using the function [y,s]=filter(b,a,x,s) in MATLAB
    and b=1 and a=[0.5 0.5] we have a filter with infinite impulse
    response. Why does MATLAB operate with the convention
    that the length of the transient s is max(length(b),length(a))-1 ?
    Is there something magical about this ? In theory the
    response is infinite, so the length of the transient could also
    be 10, 20 or 100 or something else....

    What's the explanation for this choice?

    Thanks in advance...
     
    James, Feb 9, 2006
    #1
    1. Advertisements

  2. James

    goldfita Guest

    Are you sure that number is for the transient? I believe that's the
    number of delay taps. It lets you pass the delays to filter so you can
    break filtering up into mupltiple frames. The number of delays is
    always one less than the max number of coefficients.
     
    goldfita, Feb 10, 2006
    #2
    1. Advertisements

  3. Sorry if I misled you as I was learning it myself....
    The zf is the state/content/output of each of the delays and not the filter
    output.

    Fred
     
    Fred Marshall, Feb 11, 2006
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.