Patent attributes
A multichannel interpolator has an input that receives input data that consists of interleaved channel data from a plurality of data channels. A block random access memory (BRAM) stores data samples from the input data received from the input. Input control logic receives the data samples from the input and places the data samples into the BRAM. Interpolator logic interpolates the data samples to produce output data. The output data is interpolated at an interpolation ratio programmed by a user. The interpolator logic includes a phase generator that calculates a value indicating the interpolation ratio, and a fractional template block that provides a fractional template used to interpolate the data samples to produce the output data, the fraction template block selecting, based on the value calculated by the phase generator. The fractional template is used to interpolate the data samples to produce the output data. Output control logic accesses the BRAM to provide the interpolator logic with the data samples stored in the BRAM as the data samples are needed to interpolate the data samples to produce the output data.