Sign in

Signal interpolation and decimation exploiting filter symmetry

 Alex Zhi-Jian Mou
Symmetry in a filter is used to reduce the complexity of an interpolator or a decimator. A weight filter matrix which includes L=(N-1)M+K weights is divided into two sub-filters, the first having L1=NK weights and the second having L2=(N-1)(M-K). For interpolators, N source samples are applied to...
Inventor: Alex Zhi-Jian Mou
Assignees: Sun Microsystems, Inc.

U.S. Classification
364/724.1

International Classification
G06F 1717

View patent at USPTO

Citations

Patent NumberTitleIssue date
4064397Automatic equalizer having a coefficient matrix circuitDec 20, 1977
4692909Adaptive seismic signal processorSep 8, 1987
4843581Digital signal processor architectureJun 27, 1989
4852035Simple coefficient half-bandwidth digital filter for video data compressionJul 25, 1989
4856030Apparatus and methods of locking a receiving modem to a transmitting modem employing a burst signalAug 8, 1989
4862403Digital filterAug 29, 1989
5124806Digital pulse generator phase-locked to color television video signals and means and method for thereby compensating for tape velocity timing errorsJun 23, 1992
5260888Shift and add digital signal processorNov 9, 1993
5262970Digital filter and multi-channel decimatorNov 16, 1993
5339264Symmetric transposed FIR digital filterAug 16, 1994
5566101Method and apparatus for a finite impulse response filter processorOct 15, 1996
5587939Half-band filter for a cellular group demultiplexerDec 24, 1996
5594675Reduced signal processing requirement sample and hold linear phase interpolative fir filterJan 14, 1997
5600318Seismic data acquisition systemFeb 4, 1997
5729483Implementation of a digital interpolation filter and methodMar 17, 1998

Referenced by

Patent NumberTitleIssue date
7047263Fast-settling digital filter and method for analog-to-digital convertersMay 16, 2006

Claims

What is claimed is:

1. A method for deriving two or more resulting samples of a resulting signal from two or more source samples of a source signal according to a weight filter having a number of weights, L, which is a non-integer multiple of a number, M, of samples of a signal selected from a group consisting of the resulting signal and the source signal such that a relationship between L and M can be expressed as L=(N-1)M+K wherein K represents an integer remainder of a quotient of L divided by M and N is a smallest integer greater than a quotient of L divided by M, the method comprising:

dividing the weight filter into a first weight sub-filter having a number, L1, of weights and a second weight sub-filter having a number, L2, of weights such that L1 can be expressed as L1=NK and L2 can be expressed as L2=(N-1)(M-K);
processing one or more of the source samples according to the first weight sub-filter; and
processing one or more of the source samples according to the second weight sub-filter;
wherein at least one of the steps of processing includes:
determining that a weight associated with a first of the source samples in the derivation of a first of the two or more resulting samples is substantially equivalent to a weight associated with a second of the source samples in the derivation of a second of the two or more resulting samples;
determining that a weight associated with the second source sample in the derivation of the first resulting sample is substantially equivalent to a weight associated with the first source sample in the derivation of the second resulting sample;
forming first and second composite weights of the weights associated with the first and second source samples in the derivation of the first resulting sample;
storing the first and second composite weights in the memory of a computer;
forming a sum signal from the first and second source samples;
forming a difference signal from the first and second source samples;
weighting the sum signal by the first composite weight; and
weighting the difference signal by the second composite weight.

2. The method of claim 1 wherein the source signal is a recorded seismic signal.

3. The method of claim 1 wherein the source signal is a video signal.

4. The method of claim 1 wherein the source signal is an audio signal.

5. A signal processor for deriving two or more resulting samples of a resulting signal from two or more source samples of a source signal according to a weight filter having a number of weights, L, which is a non-integer multiple of a number, M, of samples of a signal selected from a group consisting of the resulting signal and the source signal such that a relationship between L and M can be expressed as L=(N-1)M+K wherein K represents an integer remainder of a quotient of L divided by M and N is a smallest integer greater than a quotient of L divided by M, the signal processor comprising:

a first weight sub-filter having a number, L1, of weights such that L1 can be expressed as L1=NK;
a second weight sub-filter having a number, L2, of weights such that L2 can be expressed as L2=(N-1)(M-K);
a first processing unit operatively coupled to the first weight sub-filter and configured to process one or more of the source samples according to the first weight sub-filter; and
a second processing unit operatively coupled to the second weight sub-filter and configured to process one or more of the source samples according to the second weight sub-filter;
wherein at least one of the first and second processing units includes:
two or more weights each of which are associated with one of the two or more source samples,
wherein the respective weight associated with a first of the source samples in the derivation of a first of the two or more resulting samples is substantially equivalent to the respective weight associated with a second of the source samples in the derivation of a second of the two or more resulting samples, and
further wherein the respective weight associated with the second source sample in the derivation of the first resulting sample is substantially equivalent to the respective weight associated with the first source sample in the derivation of the second resulting sample;
a composite weight builder operatively coupled to the five or more weights and configured to form first and second composite weights of the respective weights associated with the first and second source samples in the derivation of the first resulting sample;
a sum adder configured to form a sum signal from the first and second source samples;
a difference adder configured to form a difference signal from the first and second source samples;
a sum multiplier operatively coupled to the sum adder and configured to weight the sum signal by the first composite weight; and
a difference multiplier operatively coupled to the difference adder and the composite weight builder and configured to weight the difference signal by the second composite weight.

6. The signal processor of claim 5 wherein the source signal is a recorded seismic signal.

7. The signal processor of claim 5 wherein the source signal is a video signal.

8. The signal processor of claim 5 wherein the source signal is an audio signal.

9. A computer system comprising:

a computer processor;
a memory operatively coupled to the computer processor;
a signal processor stored in the memory and including one or more computer instructions which are executed within the computer processor to derive two or more resulting samples of a resulting signal from two or more source samples of a source signal according to a weight filter having a number of weights, L, which is a non-integer multiple of a number, M, of samples of a signal selected from a group consisting of the resulting signal and the source signal such that a relationship between L and M can be expressed as L=(N-1)M+K wherein K represents an integer remainder of a quotient of L divided by M and N is a smallest integer greater than a quotient of L divided by M, the signal processor including:
a first weight sub-filter having a number, L1, of weights such that L1 can be expressed as L1=NK;
a second weight sub-filter having a number, L2, of weights such that L2 can be expressed as L2=(N-1)(M-K);
a first processing unit operatively coupled to the first weight sub-filter and configured to process one or more of the source samples according to the first weight sub-filter; and
a second processing unit operatively coupled to the second weight sub-filter and configured to process one or more of the source samples according to the second weight sub-filter;
wherein at least one of the first and second processing units includes:
two or more weights each of which are associated with one of the two or more source samples,
wherein the respective weight associated with a first of the source samples in the derivation of a first of the two or more resulting samples is substantially equivalent to the respective weight associated with a second of the source samples in the derivation of a second of the two or more resulting samples, and
further wherein the respective weight associated with the second source sample in the derivation of the first resulting sample is substantially equivalent to the respective weight associated with the first source sample in the derivation of the second resulting sample;
a composite weight builder operatively coupled to the five or more weights and configured to form first and second composite weights of the respective weights associated with the first and second source samples in the derivation of the first resulting sample;
an sum adder configured to form a sum signal from the first and second source samples;
a difference adder configured to form a difference signal from the first and second source samples;
a sum multiplier operatively coupled to the sum adder and configured to weight the sum signal by the first composite weight; and
a difference multiplier operatively coupled to the difference adder and the composite weight builder and configured to weight the difference signal by the second composite weight.

Drawings