Precision measurement of waveforms using deconvolution and windowing
AssigneeDigital Harmonic LLC
InventorsPaul Reed Smith, Jack W. Smith, Frederick M. Slay
Life of this patent
Estimating the term…
Abstract
The invention consists of new ways of constructing a Measuring Matrices (MMs) including time deconvolution of Digital Fourier Transforms DFTs. Also, windowing functions specifically designed to facilitate time deconvolution may be used, and/or the DFTs may be performed in specific non-periodic ways to reduce artifacts and further facilitate deconvolution. These deconvolved DFTs may be used alone or correlated with other DFTs to produce a MM.
Claims15
A method implemented on a computer having one or more processors and one or more memory devices, the method comprising:
- receiving an input signal in the form of a digital waveform signal, wherein the input signal comprises a plurality of amplitude values, and each amplitude value having a corresponding time value;
- selecting, by a measurement engine, a series of overlapping time windows from the input signal, wherein each window has a beginning and an end, thereby defining time slices each indexed by an integer M, wherein a given time slice is a difference between the beginning of one window having index M and that of another having index M−1, or the difference between the end of one window having index M and that of another having index M−1;
- transforming, by the measurement engine, using a decaying exponential windowing function on each time window in the series of overlapping time windows, the corresponding time and amplitude values into a plurality of transformed amplitude values, each associated with a corresponding frequency, to thereby form a first matrix indexed by the time slices and frequencies;
- performing, by the measurement engine, time-domain deconvolution on the plurality of transformed amplitude values for each frequency index to thereby form a second matrix of deconvolved amplitude values indexed by the time slices and frequencies;
- determining, by a comparing engine, a plurality of maxima and minima values in the second matrix;
- marking, by a marking engine, the determined plurality of maxima and minima values to thereby form a measuring matrix indexed by the time slices and frequencies;
- and
- outputting the measuring matrix to thereby reveal information associated with the input signal, wherein outputting includes at least one of storing, displaying, or transmitting the measuring matrix;
- and
- wherein the engines are implemented using the one or more processors of the computer.
A non-transitory computer readable storage medium having program instructions stored thereon that, when executed by a computer having one or more processors and one or more memory devices, cause the computer to:
- receive an input signal in the form of a digital waveform signal, wherein the input signal comprises a plurality of amplitude values, and each amplitude value having a corresponding time value;
- select, by a measurement engine, a series of overlapping time windows from the input signal, wherein each window has a beginning and an end, thereby defining time slices each indexed by an integer M, wherein a given time slice is a difference between the beginning of one window having index M and that of another having index M−1, or the difference between the end of one window having index M and that of another having index M−1;
- transform, by the measurement engine, using a decaying exponential windowing function on each time window in the series of overlapping time windows, the corresponding time and amplitude values into a plurality of transformed amplitude values, each associated with a corresponding frequency, to thereby form a first matrix indexed by the time slices and frequencies;
- perform, by the measurement engine, time-domain deconvolution on the plurality of transformed amplitude values for each frequency index to thereby form a second matrix of deconvolved amplitude values indexed by the time slices and frequencies;
- determine, by a comparing engine, a plurality of maxima and minima values in the second matrix;
- mark, by a marking engine, the determined plurality of maxima and minima values to thereby form a measuring matrix indexed by the time slices and frequencies;
- and
- output the measuring matrix to thereby reveal information associated with the input signal, wherein outputting includes at least one of storing, displaying, or transmitting the measuring matrix;
- and
- wherein the engines are implemented using the one or more processors of the computer.
A signal processing system comprising:
- a computer having one or more processors and one or more memory devices;
- a measurement engine configured to receive an input signal in the form of a digital waveform signal, wherein the input signal comprises a plurality of amplitude values, and each amplitude value having a corresponding time value, the measurement engine being configured to:
- select a series of overlapping time windows from the input signal, wherein each window has a beginning and an end, thereby defining time slices each indexed by an integer M, wherein a given time slice is a difference between the beginning of one window having index M and that of another having index M−1, or the difference between the end of one window having index M and that of another having index M−1,
- transform, using a decaying exponential windowing function on each time window in the series of overlapping time windows, the corresponding time and amplitude values into a plurality of transformed amplitude values, each associated with a corresponding frequency, to thereby form a first matrix indexed by the time slices and frequencies, and
- perform time-domain deconvolution on the plurality of transformed amplitude values for each frequency index to thereby form a second matrix of deconvolved amplitude values indexed by time slices and frequencies;
- a comparing engine configured to determine a plurality of maxima and minima values in the second matrix;
- a marking engine configured to mark the determined plurality of maxima and minima values to thereby form a measuring matrix indexed by the time slices and frequencies;
- and
- an output module configured to output the measuring matrix to thereby reveal information associated with the input signal, wherein outputting includes at least one of storing, displaying, or transmitting the measuring matrix;
- and
- wherein the engines are implemented using the one or more processors of the computer.
Dependencies are inferred from the claim text.