Patent ID: 8645442

Claim:
A finite impulse response filter, the filter comprising: an input formatter, operable to decompose a complex-number discrete-time sample into an in-phase sample and a quadrature sample; a plurality of sample registers, operable to store a plurality of a complex-number discrete-time samples; a plurality of coefficient registers, operable to store a plurality of complex-number coefficients; an in-phase arithmetic unit, operable to create an in-phase sum by adding two in-phase samples from the complex-number discrete-time samples; a quadrature arithmetic unit, operable to create a quadrature sum by adding two quadrature samples from the complex-number discrete-time samples; a single in-phase multiply accumulate unit, including a multiplier module, including a single multiplier operable to multiply the in-phase sum and the quadrature sum by a complex-number coefficient to create four intermediate products, a demultiplexer including a first input to receive the intermediate products and four outputs, first, second, third, and fourth registers, each register receiving and storing one of the intermediate products, a first adder to add first and second intermediate products to create a first sum, a second adder to add third and fourth intermediate products to create a second sum, a first multiplexer including a first input to receive the first intermediate product, a second input to receive the first sum, and an output to supply an in-phase product, and a second multiplexer including a first input to receive the second sum, a second input to receive a zero value, and an output to supply a quadrature product, an in-phase adder module, operable to add the in-phase product to an in-phase sum of products, and an in-phase register, operable to store the in-phase sum of products; and a single quadrature multiply accumulate unit, including a quadrature adder module, operable to add the quadrature product to a quadrature sum of products, and a quadrature register, operable to store the quadrature sum of products; an output formatter, operable to combine the in-phase sum of products and the quadrature sum of products to produce a filtered complex-number discrete-time sample; and a control unit, operable to control the settings of the single in-phase arithmetic unit, the single quadrature arithmetic unit, the in-phase multiply accumulate unit, and the quadrature multiply accumulate unit in order to control multiplication and accumulation of numbers using the single multiplier in the in-phase multiplier module and the single multiplier in the quadrature multiplier module.