Fractional Resampler
AssigneeNational Instruments Corporation
InventorAljosa Vrancic
Life of this patent
Estimating the term…
Abstract
Methods and systems for resampling an input signal that includes a first plurality of values. A first resampling is performed to obtain an intermediate signal, which includes dividing the first plurality of values into a plurality of groups of values, resampling values in each group according to a first filter tap set to obtain an intermediate group of values. The first value of each group is aligned in time with the first value of each intermediate group. A second resampling is then performed on the intermediate signal to obtain an output signal, which performs a phase shift of each of the intermediate groups of values to align in time with a respective group of values of the output signal. The output signal is output by wired or wireless means.
Claims20
A method for resampling an input signal, the method comprising:
- receiving the input signal, wherein the input signal comprises a first plurality of values x[ti] for each of a plurality of respective times ti;
- performing a first resampling of the input signal to obtain an intermediate signal comprising a second plurality of values y[tj] for each of a plurality of respective times ti, wherein performing the first resampling of the input signal comprises:
- dividing the first plurality of values into a plurality of groups, wherein each group comprises a plurality of respective values;
- for each group of the plurality of groups, resampling values in the respective group according to a first filter tap set to a respective intermediate group of values, wherein a first value of the respective group is aligned in time with a first value of the respective intermediate group, wherein the intermediate signal comprises each of the intermediate groups of values;
- performing a second resampling of the intermediate signal to obtain an output signal comprising a third plurality of values z[tk] for each of a plurality of times tk, wherein performing the second resampling of the intermediate signal comprises phase shifting each of the intermediate groups to align in time with a respective group of values of the output signal;
- and
- outputting the output signal.
A non-transitory computer-readable memory medium storing program instructions, wherein the program instructions are executable by a processor to cause the processor to:
- receive an input signal, wherein the input signal comprises a first plurality of values x[ti] for each of a plurality of respective times ti;
- perform a first resampling of the input signal to obtain an intermediate signal comprising a second plurality of values y for each of a plurality of respective times tj, wherein in performing the first resampling of the input signal, the program instructions are executable to cause the processor to:
- divide the first plurality of values into a plurality of groups, wherein each group comprises a plurality of respective values;
- for each group of the plurality of groups, resample values in the respective group according to a first filter tap set to a respective intermediate group of values, wherein a first value of the respective group is aligned in time with a first value of the respective intermediate group, wherein the intermediate signal comprises each of the intermediate groups of values;
- perform a second resampling of the intermediate signal to obtain an output signal comprising a third plurality of values z[tk] for each of a plurality of times tk, wherein in performing the second resampling of the intermediate signal, the program instructions are executable to cause the processor to phase shift each of the intermediate groups to align in time with a respective group of values of the output signal;
- and
- output the output signal.
A digital signal resampling device, comprising:
- an input port configured to receive an input signal, wherein the input signal comprises a first plurality of values x[ti] for each of a plurality of respective times ti;
- a non-transitory computer-readable memory medium storing program instructions;
- a processor coupled to the non-transitory computer-readable memory medium, wherein the processor is configured to execute the program instructions to:
- perform a first resampling of the input signal to obtain an intermediate signal comprising a second plurality of values y for each of a plurality of respective times tj, wherein in performing the first resampling of the input signal, the program instructions are executable to cause the processor to:
- divide the first plurality of values into a plurality of groups, wherein each group comprises a plurality of respective values;
- and
- for each group of the plurality of groups, resample values in the respective group according to a first filter tap set to a respective intermediate group of values, wherein a first value of the respective group is aligned in time with a first value of the respective intermediate group, wherein the intermediate signal comprises each of the intermediate groups of values;
- and
- perform a second resampling of the intermediate signal to obtain an output signal comprising a third plurality of values z[tk] for each of a plurality of times tk, wherein in performing the second resampling of the intermediate signal, the program instructions are executable to cause the processor to phase shift each of the intermediate groups to align in time with a respective group of values of the output signal;
- and
- an output port configured to output the output signal.
Dependencies are inferred from the claim text.