High-rate interpolation or decimation filter in integrated circuit device
First Claim
1. A FIR (Finite Impulse Response) filter structure on an integrated circuit device, for processing data samples and a set of coefficients, at an effective filter data rate that exceeds an input/output data rate by a factor, said FIR filter structure comprising:
- a plurality of FIR filter stages including at a least an initial filter stage and a final filter stage, each of said filter stages having one or more subfilters defined by a subset of said set of coefficients, a first one of said initial and final filter stages having a number of subfilters that exceeds a number of subfilters in a second of said initial and final filter stages by said factor;
wherein;
each subfilter in each respective filter stage convolves input data with a respective subset of said set of coefficients; and
in at least one particular stage, at least a first subfilter in said particular stage includes a plurality of decomposed filters in a first filter order representing said respective subset of said set of coefficients in a first coefficient order, and at least a second subfilter in said particular stage includes said plurality of decomposed filters in a second filter order, different from said first filter order, representing said respective subset of said set of coefficients in a second coefficient order different from said first coefficient order.
1 Assignment
0 Petitions
Accused Products
Abstract
On a device having a maximum data rate, an interpolation filter can be configured in stages, with each stage may be broken into subfilters, which divides the output into phases. The ratio of the number of subfilters or phases in the final stage to the number of subfilters or phases in the initial stage is equal to the factor by which the data rate would otherwise increase. Thus for an interpolation factor of M, the output data rate can be kept the same as the input data rate by providing M subfilters, yielding M output phases each having an output rate equal to the input rate. The effective, or synthesized, output rate is M times the input rate. A decimation filter can be provided in the same way, with the effective input rate M times the output rate, even where the effective input rate would exceed the maximum data rate.
349 Citations
17 Claims
-
1. A FIR (Finite Impulse Response) filter structure on an integrated circuit device, for processing data samples and a set of coefficients, at an effective filter data rate that exceeds an input/output data rate by a factor, said FIR filter structure comprising:
-
a plurality of FIR filter stages including at a least an initial filter stage and a final filter stage, each of said filter stages having one or more subfilters defined by a subset of said set of coefficients, a first one of said initial and final filter stages having a number of subfilters that exceeds a number of subfilters in a second of said initial and final filter stages by said factor;
wherein;each subfilter in each respective filter stage convolves input data with a respective subset of said set of coefficients; and in at least one particular stage, at least a first subfilter in said particular stage includes a plurality of decomposed filters in a first filter order representing said respective subset of said set of coefficients in a first coefficient order, and at least a second subfilter in said particular stage includes said plurality of decomposed filters in a second filter order, different from said first filter order, representing said respective subset of said set of coefficients in a second coefficient order different from said first coefficient order. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of programmably configuring a programmable integrated circuit device, having a maximum device data rate, as a FIR (Finite Impulse Response) filter structure, for processing data samples and a set of a number of coefficients, at an effective filter data rate that exceeds an input/output data rate by a factor, said method comprising:
-
programmably configuring logic of said programmable integrated circuit device as a plurality of FIR filter stages including at a least an initial filter stage and a final filter stage, each of said filter stages having one or more subfilters defined by a subset of said set of coefficients, a first one of said initial and final filter stages having a number of subfilters that exceeds a number of subfilters in a second of said initial and final filter stages by said factor; programmably configuring each subfilter in each respective filter stage to convolve input data with a respective subset of said set of coefficients; and programmably configuring, in at least one particular stage, at least a first subfilter in said particular stage to include a plurality of decomposed filters in a first filter order representing said respective subset of said set of coefficients in a first coefficient order, and at least a second subfilter in said particular stage to include said plurality of decomposed filters in a second filter order, different from said first filter order representing said respective subset of said set of coefficients in a second coefficient order. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory machine-readable data storage medium encoded with machine-executable instructions for performing a method of programmably configuring a programmable integrated circuit device, having a maximum device data rate, as a FIR (Finite Impulse Response) filter structure, for processing data samples and a set of a number of coefficients, at an effective filter data rate that exceeds an input/output data rate by a factor, said instructions comprising:
-
instructions for programmably configuring logic of said programmable integrated circuit device as a plurality of FIR filter stages including at a least an initial filter stage and a final filter stage, each of said filter stages having one or more subfilters defined by a subset of said set of coefficients, a first one of said initial and final filter stages having a number of subfilters that exceeds a number of subfilters in a second of said initial and final filter stages by said factor; instructions for programmably configuring each subfilter in each respective filter stage to convolve input data with a respective subset of said set of coefficients; and instructions for programmably configuring, in at least one particular stage, at least a first subfilter in said particular stage to include a plurality of decomposed filters in a first filter order representing said respective subset of said set of coefficients in a first coefficient order, and at least a second subfilter in said particular stage to include said plurality of decomposed filters in a second filter order, different from said first filter order representing said respective subset of said set of coefficients in a second coefficient order. - View Dependent Claims (14, 15, 16, 17)
-
Specification