## FIdReadFilt

#### Routine

int FIdReadFilt (const char Fname[], int MaxNcof, double h[], int *Ncof, FILE *fpinfo)

#### Purpose

Read a filter coefficient file

#### Description

This procedure reads filter coefficients from a filter coefficient file. The first line in the file indicates the type of filter.

      !FIR        - FIR filter, direct form
      !IIR        - IIR filter, cascade of biquad sections
      !ALL        - All-pole filter, direct form
      !WIN        - Window coefficients, direct form
      !CAS        - Cascade analog biquad sections

Subsequent lines contain filter coefficients in text form. Data fields are free format, with data values separated by white-space (as defined by isspace). Zero or more data values can appear in each line of input. Commas can also be used to separate data values, but only within a line, i.e. a comma should not appear at the end of a line. A "!" character marks the beginning of a comment that extends to the end of the line.

This routine prints an error message and halts execution on detection of an error.

#### Parameters

<- int FIdReadFilt
  Filter type coded as follows,

        FI_UNDEF = 0, undefined filter file identifier
        FI_FIR   = 1, FIR filter, direct form
        FI_IIR   = 2, IIR filter, cascade of biquad sections
        FI_ALL   = 3, All-pole filter, direct form
        FI_WIN   = 4, Window coefficients, direct form
        FI_CAS   = 5  Cascade analog biquad sections

-> const char Fname[]
  Filter file name
-> int MaxNcof
  Maximum number of coefficients to be returned
<- double h[]
  Array of Ncof output filter coefficients
<- int *Ncof
  Number of filter coefficients returned
-> FILE *fpinfo
  File pointer for printing filter file information. If fpinfo is not NULL, information about the filter file is printed on the stream selected by fpinfo.

#### Author / revision

P. Kabal / Revision 1.1 2005/02/01

Main Index libtsp