filter_disc

filter_disc :
A discrete-time filter for xreal-typed signals.

The filter_disc primitive models a discrete-time filter with an xreal-typed input. The primitive samples the input in at the rising edge of the trigger signal trig and processes the sampled signal with the following z-domain transfer function to produce the output out:

             a0 + a1*z^(-1) + a2*z^(-2) + ... + aN*z^(-N)
    H(z) = ------------------------------------------------
             b0 + b1*z^(-1) + b2*z^(-2) + ... + bM*z^(-M)

where the numerator coefficients a0, a1, …, aN are defined by the parameter array num (i.e., num[0:N] = ‘{a0, a1, …, aN}) and the denominator coefficients b0, b1, …, bM are defined by the parameter array den (i.e., den[0:M] = ‘{b0, b1, …, bM}). The value of the coefficient b0 (i.e., den[0]) must not be zero.

If the order of the denominator is 0 (i.e., M=0), the primitive models a discrete-time filter with a finite impulse response (FIR). Otherwise, the primitive models a discrete-time filter with an infinite impulse response. The parameter init_value specifies the initial output value of the filter.

The parameters num, den, init_value can be alternatively defined by a parameter definition file named filename in the following Python format:

    num = [a0, a1, a2, ..., aN]
    den = [b0, b1, b2, ..., bM]

Input/Output Terminals

Name I/O Type Description
out output xreal output signal
in input xreal input signal
trig input xbit trigger signal

Parameters

Name Type Default Unit Description
num real array ‘{1.0} None numerator coefficients
den real array ‘{1.0} None denominator coefficients
init_value real `NaN None initial output value
filename string “” None parameter definition file
« filter_comb_var
filter_disc_var »