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 arbitrary 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 omitted if only one stage is present. The stages are not restricted 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.