
dfilter(1)                   Khoros                    dfilter(1)

PROGRAM
     dfilter - filters signals according to a transfer function

SYNTAX
     dfilter

     -i1            input signal file (xviff file)

     -i2            input filter file (polynomial file)

     -o             resulting filtered signal file (xviff file)

     [-j]           scalar processing (0) or vector processing
                    (1)

     [-d]           data processing direction (0 = down vectors,
                    1 = across bands)

     [-V]           Gives the version for dfilter

     [-U]           Gives the usage for dfilter

     [-P]           Prompts for command line options

     [-A [file1]]   Creates the answer file called dfilter.ans or
                    file1

     [-a [file1]]   Uses dfilter.ans or file1 as the answer file

DESCRIPTION
     filters time domain signals by applying a time domain
     difference equation or a z-domain transfer function.  Time
     domain transfer functions are given in the form:

             y(n) = a*y(n-1) + ... + b*x(n) + c*x(n-1) ... ;

     where n is an independant integer variable, such that
     delta-n = T, the sampling period, and a, b, and c are arbi-
     trary real constants.  Typically, the difference equations
     will be causal, i.e. there will be no terms like y(n+1).  If
     a noncausal difference equation is input, then dfilter will
     attempt to delay the system sufficiently to create a causal
     system.  If it is not able to find a y(n) term at that
     point, then it will abort.

     Z-domain transfer functions are given in the form:

             H(z) = [(a + b*z^-1 + c*z^-2)/(d + e*z^-1 + f*z^-2)] * ... ;

     Where the square brackets indicate stages, and may be omit-
     ted if only one stage is present.  The stages are not res-
     tricted to second order.  If the user inputs a noncausal
     system, then dfilter will attempt to delay it sufficiently
     to create a causal system.  If, at that point, it is unable
     to find a term from which it can create a y(n) term when it
     performs an inverse z-transform, then it will issue an error
     message and bail out.  Because of the nature of the internal
     representation of the equation, care should be taken when
     designing filters to ensure that there is a constant term in
     the denominator of each stage, otherwise a delay is inserted
     into the result.

REQUIRED ARGUMENTS
     -i1    type: infile
            desc: input signal file (xviff file)

     -i2    type: infile
            desc: input filter file (polynomial file)

     -o     type: outfile
            desc: resulting filtered signal file (xviff file)

OPTIONAL ARGUMENTS
     -j     type: boolean
            desc: scalar processing (0) or vector processing (1)
            default: true

     -d     type: boolean
            desc: data processing direction (0 = down vectors, 1
            = across bands)
            default: true

EXAMPLES
SEE ALSO
     intro(1), verror(3), vgparms(3), vutils(3), ldfilter(3)

RESTRICTIONS
COPYRIGHT
     Copyright 1992, University of New Mexico.  All rights
     reserved.

Khoros                    Release: 1.0                          1

