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|
| 4064397 | Automatic equalizer having a coefficient matrix circuit | Dec 20, 1977 | | 4692909 | Adaptive seismic signal processor | Sep 8, 1987 | | 4843581 | Digital signal processor architecture | Jun 27, 1989 | | 4852035 | Simple coefficient half-bandwidth digital filter for video data compression | Jul 25, 1989 | | 4856030 | Apparatus and methods of locking a receiving modem to a transmitting modem employing a burst signal | Aug 8, 1989 | | 4862403 | Digital filter | Aug 29, 1989 | | 5124806 | Digital pulse generator phase-locked to color television video signals and means and method for thereby compensating for tape velocity timing errors | Jun 23, 1992 | | 5260888 | Shift and add digital signal processor | Nov 9, 1993 | | 5262970 | Digital filter and multi-channel decimator | Nov 16, 1993 | | 5339264 | Symmetric transposed FIR digital filter | Aug 16, 1994 | | 5566101 | Method and apparatus for a finite impulse response filter processor | Oct 15, 1996 | | 5587939 | Half-band filter for a cellular group demultiplexer | Dec 24, 1996 | | 5594675 | Reduced signal processing requirement sample and hold linear phase interpolative fir filter | Jan 14, 1997 | | 5600318 | Seismic data acquisition system | Feb 4, 1997 | | 5729483 | Implementation of a digital interpolation filter and method | Mar 17, 1998 |
Referenced by|
| 7047263 | Fast-settling digital filter and method for analog-to-digital converters | May 16, 2006 |
ClaimsWhat 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.
|