Decimating FIR Filter

Block: Decimating FIR Filter (dec_fir)
Block Author: Aaron Parsons
Document Author: Aaron Parsons, Ben Blackman



FIR filter which can handle multiple time samples in parallel and decimates down to 1 time sample. If coefficiencts are symmetric, it will automatically fold before multiplying.

Mask Parameters

Parameter Variable Description
Number of Parallel Streams n_inputs The number of time samples which arrive in parallel.
Coefficients coeff The FIR coefficients. If this vector is symmetric, the FIR will automatically fold before multiplying.
Bit Width Out n_bits The number of bits in each real/imag sample of the complex number that is output.
Quantization Behavior quantization The quantization behavior used in converting to the output bit width.
Add Latency add_latency The latency of adders/converters.
Mult Latency mult_latency The latency of multipliers.


Port Dir Data Type Description
sync_in IN boolean Takes an impulse 1 cycle before input is valid.
realX IN Fix_(n_bits)_(n_bits-1) Real input X
inagX IN Fix_(n_bits)_(n_bits-1) Imaginary input X
sync_out OUT boolean Will be high the clock cycle before dout is valid.



User specifies the number of parallel streams to be decimated to one complex number. Inputs are multiplied by the coefficients and added together to form dout. Bit Width Out specifies the widths of the real and imaginary components of the complex number to be output (Ex. if Bit Width Out = 8, then dout will be 16 bits, 8 for the real and imaginary components).