Method, apparatus and system for digital data resampling utilizing fourier series based interpolation
View Patent ↗The present invention provides a methodology, apparatus and system for resampling digital data utilizing a Fourier series based interpolation engine 104 . A quick means to up-sample or down-sample data is provided without requiring computationally intensive processing. This is accomplished by utilizing low order coefficients of terms of a complete Fourier series expansion for a continuous signal. The summation of the expansion is limited to input samples immediately adjacent in time to the desired output. Generally speaking, the output is normally required to be a constant sampling rate, therefore, the input and output rates are related by an integer ratio. This ratio can be greater or smaller than one, providing up-sampling or down-sampling as appropriate. By employing the present invention, a DSP engine can be constructed that is adjustable to any ratio of sampling rates in a computationally efficient manner with low RMS error while preserving convolution through the resampling process.
1. A method of resampling a digital signal, comprising:
receiving at least one input sample of a continuous signal sampled at a first sample rate;
formulating a Fourier series expansion of the continuous signal;
establishing a limited range of the Fourier series expansion, the limited range approximately including at least one input sample immediately adjacent in time to at least one desired output sample of a second sample rate; and
summing terms of the Fourier series expansion of the continuous signal over the limited range.
2. The method of claim 1 , further including:
obtaining a continuous signal; and
sampling the continuous signal at the first sample rate to provide at least one input sample.
3. The method of claim 2 , the first sample rate and the second sample rate are related by an integer ratio.
4. The method of claim 3 , wherein the first sample rate is an input sample rate and the second sample rate is an output sample rate.
5. The method of claim 3 wherein the integer ratio is selected from a group consisting of smaller than one and greater than one.
6. The method of claim 1 , further including:
formulating at least one coefficient derived from the Fourier series expansion and the limited range; and
multiplying the at least one coefficient with at least one input sample to produce at least one output sample.
7. The method of claim 1 , further including establishing a number of input samples based on a maximum desired throughput latency.
8. The method of claim 1 , further including establishing a number of input samples based on a minimum desired continuous signal reproduction accuracy level.
9. A digital data resampling system, comprising:
a capturing component that receives digital data; and
a digital sampling engine that receives the digital data from the capturing component, and determines a Fourier series summation range that is immediately adjacent in time to a desired digital data output, the engine resampling the digital data utilizing a Fourier series expansion summed over the Fourier series summation range.
10. The system of claim 9 employing the following equation:
x
a
(
lT
o
)
=
∑
k
=
-
∞
∞
x
a
(
kT
i
)
sin
[
(
π
/
T
i
)
(
lT
o
-
kT
i
)
]
(
π
/
T
i
)
(
lT
o
-
kT
i
)
where:
x a (IT o ) represents a continuous signal;
x a (kT i ) is a sampled signal;
k represents an infinite number of samples;
T i represents an input sampling period (seconds per sample) of a sampling frequency;
T o represents an output sampling period (seconds per sample) of a sampling frequency;
I represents output samples;
Fs is a sampling frequency (samples per second) and is related to a sampling period by T=1/Fs; and
IT o represents time [(samples)×(seconds per sample)].
11. The system of claim 9 , further comprising an “n”-tap FIR (finite impulse response) filter.
12. The system of claim 1 employed in a conventional DSP system so as to provide additional functionality gains to the conventional DSP system.
13. A computing system employing the system of claim 9 , a computer readable medium comprising the digital sampling engine and the capturing component.
14. The system of claim 9 , the digital sampling engine determines if more digital samples are available for processing and further determines if processing should continue when more digital samples are available.
15. A method of resampling digital data, comprising;
determining a number of digital sample inputs;
determining a desired minimum fidelity for a desired digital output signal;
determining a desired maximum latency for processing a set of desired digital sample outputs;
determining a desired number of digital output samples;
calculating coefficients for processing the digital sample outputs based on a Fourier series expansion over a limited range, the limited range approximately including at least one input sample immediately adjacent in time to at least one desired output sample of a second sample rate;
inputting digital samples;
processing the digital samples by multiplying the digital samples by the coefficients; and
outputting a resampled set of digital samples.
16. The method of claim 15 , further comprising:
determining if samples are available for processing; and
determining if more processing should continue when more digital samplers are available.
17. The method of claim 15 , further comprising:
determining if sampling parameters should be reconfigured; and
determining if the number of digital sample inputs should be charged based up a predetermined level of continuous signal reproduction accuracy.
18. A digital data resampling system, comprising:
means to receive digital data and determine a Fourier series summation range that is immediately adjacent in time to a desired digital data output;
means to resample the digital data utilizing a Fourier series expansion summed over the Fourier series summation range; and
means to output the resampled digital data.
19. The system of claim 18 , further including means to extend the Fourier series summation range based on a desired fidelity of the resampled digital data.