Arbitrary-ratio sampling rate converter using approximation by segmented polynomial functions
AssigneeChromatic Research, Inc.
InventorsAvery L. Wang, Brooks S. Read
Life of this patent
Estimating the term…
Abstract
A method for resampling includes convolving a given set of samples with the impulse response function of a low-pass filter. In this method, values of the impulse response required for the convolution calculation are computed at the time of resampling from a segmented polynomial approximating the impulse response.
Claims10
A method of computing values of an analog signal at a first set of times, given values of the analog signal sampled at a second set of times, comprising the step of convolving the given sample values with values of an impulse response function of a filter, wherein the impulse response function is approximated by a segmented polynomial function and the values of the impulse response function are computed by evaluation of the segmented polynomial, wherein the segmented polynomial function consists of N.sub.S polynomials, P.sub.0, P.sub.1, . . . P.sub.N.sbsb.S.sub.-1, and the value of an impulse response function at a time t, t being less than a constant T, is approximated by P.sub.m (f), m and f being integer and fractional parts, respectively, of tN.sub.S /T.
A method of computing values of an analog signal at a first set of times, given values of the analog signal sampled at a second set of times, comprising the step of convolving the given sample values with values of an impulse response function of a filter, wherein the impulse response function is approximated by a segmented polynomial function and the values of the impulse response function are computed by evaluation of the segmented polynomial, wherein the segmented polynomial function consists of N.sub.S polynomials, P.sub.0, P.sub.1, . . . P.sub.N.sbsb.S.sub.-1, and the value of the impulse response function at a time t, t being less than a constant T, is approximated by P.sub.m (f'), m being an integer part of tN.sub.S /T and f' equaling 2f-1, f being a fractional part of tN.sub.S /T.
A method of generating coefficients, c(0), C(1), . . . c(D), of a polynomial function, ##EQU22## having an argument x, the argument x having a range from -1 to 1 and the polynomial function being used to approximate the impulse response function of a filter, h(t), over a time range, each value in the time range of h(t) corresponding to a point in the argument range of the polynomial function, h(t) beings approximated by ##EQU23## where f' is the point in the argument range corresponding to point t in the time range, comprising the steps of:
- selecting a set of points in the rang)re of the argument;
- and
- generating the coefficients, c(0), c(1), . . . c(D), of the polynomial function so as to fit, according to a criterion, the values of the polynomial function at the selected set of points in the range of the argument to the values of the impulse response function at the set of points in the time range corresponding to the selected set of points in the range of the argument.
A method of generating coefficients, c(0), C(1), . . . c(D), of a polynomial function, ##EQU24## having an argument x, the argument x having a range and the polynomial function being used to approximate the impulse response function of a filter, h(t), over a time range, each value in the time range of h(t) corresponding to a point in the argument range of the polynomial function, h(t) being approximated by ##EQU25## where f' is the point in the argument range corresponding to point t in the time range, comprising the steps of:
- selecting a set of points in the range of the argument;
- and
- generating the coefficients, c(0), c(1), . . . c(D), of the polynomial function so as to fit, according to a criterion, the values of the polynomial function at the selected set of points in the range of the argument to the values of the impulse response function at the set of points in the time range corresponding to the selected set of points in the range of the argument;
- wherein the criterion is least mean-squared error, the selected points in the range of the argument are f'.sub.1, f'.sub.2, f'.sub.N, the points in the time range corresponding to f'.sub.1, f'.sub.2, . . . f'.sub.N are t.sub.1, t.sub.2, . . . t.sub.N, respectively, and the step of generating the coefficients comprises the steps of:
- forming an N.times.(D+1) matrix M, the element of M in the jth row and ith column, M, being equal to (f'.sub.1).sup.i, 1.ltoreq.i.ltoreq.N, 0.ltoreq.j.ltoreq.D;
- forming an N.times.1 matrix V, the element of V in the ith row, V, being equal to h(t.sub.i), 1.ltoreq.i.ltoreq.N;
- forming M.sup..dagger., the pseudo-inverse of matrix M;
- and forming the product M.sup..dagger. V, thereby producing a (D+1).times.1 matrix C, where C=c(i), 0.ltoreq.i.ltoreq.D.
A method of generating coefficients, c(0), C(1), . . . c(D), of a polynomial function, ##EQU26## having an argument x, the argument x having a range and the polynomial function being used to approximate the impulse response function of a filter, h(t), over a time range, each value in the time range of h(t) corresponding to a point in the argument range of the polynomial function, h(t) being approximated by ##EQU27## where f' is the point in the argument range corresponding to point t in the time range, comprising the steps of:
- selecting a set of points in the range of the argument;
- and
- generating the coefficients, c(0), c(1), . . . c(D), of the polynomial function so as to fit, according to a criterion, the values of the polynomial function at the selected set of points in the range of the argument to the values of the impulse response function at the set of points in the time range corresponding to the selected set of points in the range of the argument;
- wherein the criterion is least mean-squared error, the selected points in the range of the argument are f'.sub.1, f'.sub.2, . . . f'.sub.N, the points in the time range corresponding to f'.sub.1, f'.sub.2 f'.sub.N are t.sub.1, t.sub.2, . . . t.sub.N, respectively, and the step of generating the coefficients comprises the step of:
- solving the system of equations given by M.sup.T MC=M.sup.T V for C, where M is an N.times.(D+1) matrix, the element of M in the ith row and jth column, M, being equal to (f'.sub.i).sup.j, 1.ltoreq.i.ltoreq.N, 0.ltoreq.j.ltoreq.D, M.sup.T is the transpose of M, C is a (D+1).times.1 matrix, the element of C in the ith row, C, equalling c(i), 0.ltoreq.i.ltoreq.D, and V is an N.times.1 matrix, the element of V in the ith row, V, equalling h(t.sub.i), 1.ltoreq.i.ltoreq.N.
Dependencies are inferred from the claim text.