[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20060192567A1 - Finite impulse response filter - Google Patents

Finite impulse response filter Download PDF

Info

Publication number
US20060192567A1
US20060192567A1 US11/411,669 US41166906A US2006192567A1 US 20060192567 A1 US20060192567 A1 US 20060192567A1 US 41166906 A US41166906 A US 41166906A US 2006192567 A1 US2006192567 A1 US 2006192567A1
Authority
US
United States
Prior art keywords
output
coupled
shift register
subtractor
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/411,669
Inventor
Larry Carter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Flowline Inc
Original Assignee
Flowline Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Flowline Inc filed Critical Flowline Inc
Priority to US11/411,669 priority Critical patent/US20060192567A1/en
Publication of US20060192567A1 publication Critical patent/US20060192567A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N29/00Investigating or analysing materials by the use of ultrasonic, sonic or infrasonic waves; Visualisation of the interior of objects by transmitting ultrasonic or sonic waves through the object
    • G01N29/02Analysing fluids
    • G01N29/024Analysing fluids by measuring propagation velocity or propagation time of acoustic waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/22Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water
    • G01F23/28Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water by measuring the variations of parameters of electromagnetic or acoustic waves applied directly to the liquid or fluent solid material
    • G01F23/296Acoustic waves
    • G01F23/2962Measuring transit time of reflected waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N29/00Investigating or analysing materials by the use of ultrasonic, sonic or infrasonic waves; Visualisation of the interior of objects by transmitting ultrasonic or sonic waves through the object
    • G01N29/36Detecting the response signal, e.g. electronic circuits specially adapted therefor
    • G01N29/40Detecting the response signal, e.g. electronic circuits specially adapted therefor by amplitude filtering, e.g. by applying a threshold or by gain control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/523Details of pulse systems
    • G01S7/526Receivers
    • G01S7/527Extracting wanted echo signals
    • G01S7/5273Extracting wanted echo signals using digital techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N2291/00Indexing codes associated with group G01N29/00
    • G01N2291/02Indexing codes associated with the analysed material
    • G01N2291/028Material parameters
    • G01N2291/02836Flow rate, liquid level

Definitions

  • the invention relates generally to the field of determining the level of a fluid in a storage tank. More specifically, the invention relates to an apparatus for measuring the time of receipt for a reflected acoustic wave.
  • the level of a fluid in a storage tank can be measured using various techniques.
  • a transducer is connected to the bottom surface of the storage tank.
  • the transducer is excited by a pulse from a function generator.
  • the vibration from the transducer excites a pulsed wave in the fluid within the storage tank, which propagates upward toward the fluid-gas interface, i.e., the interface between the top of the fluid and the gas above the fluid.
  • the fluid-gas interface a portion of the wave is reflected back toward the transducer where it is received. Based on the reflected wave, the transducer generates an electrical signal, which is provided to a processing system.
  • the processing system calculates the distance from the transducer to the top of the fluid, and thus, the depth of the fluid in the storage tank, based on the known value of the speed of sound through the fluid and the time measured for the wave to propagate from the transducer to the fluid/air interface and back to the transducer.
  • an accurate calculation of the depth of the fluid in the storage tank is dependent upon an accurate determination of the time at which the reflected wave is received at the transducer. It should, therefore, be appreciated that there is a need for an ultrasonic measurement system and method that accurately calculates the depth of a fluid in a storage tank by accurately determining the time of receipt of the reflected wave.
  • the present invention satisfies this need.
  • Embodiments of the present invention include an ultrasonic measurement system that provides an accurate depth measurement of a fluid in a storage tank by accurately determining the time of receipt of a reflected wave induced in the storage tank by a transducer.
  • An exemplary embodiment of the present invention is a system for determining the depth of a fluid in a storage tank.
  • the depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid.
  • the system includes a transducer, an analog-to-digital converter, and a filter.
  • the transducer is configured to sense the reflected pulsed wave and to generate an analog input signal that corresponds to the reflected pulsed wave.
  • the analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal.
  • the filter is coupled to the analog-to-digital converter.
  • the filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal.
  • the finite impulse response filter includes an n-stage shift register, where n is an even integer that is greater than or equal to four, n/ 2 subtractors coupled to the n-stage shift register, and n/ 2 - 1 adders coupled to the n-stage shift register.
  • each subtractor of the n/ 2 subtractors has a first input terminal, a second input terminal that is coupled to a stage of the n-stage shift register, and an output terminal.
  • each adder of the n/ 2 - 1 adders has a first input terminal that is coupled to an output terminal of a subtractor, and a second input terminal that is coupled to a stage of the n-stage shift register.
  • the first input terminal of one of the n/ 2 subtractors is coupled to that first stage of the n-stage shift register, and each of the first input terminals of the other subtractors is coupled to an output terminal of an adder.
  • the finite impulse response filter is configured to calculate a digital output signal at time t 1 , Output(t 1 ), based on the digital input signal at time t 1 , Input(t 1 ), a digital output signal at time t 0 , Output(t 0 ), and a data value in an nth stage of the n-stage shift register at time to, X n ⁇ 1 (t 0 ).
  • t 1 is the time at a next clock cycle after time t 0
  • the system further includes a threshold and peak detector, a control circuit, and a storage device.
  • the threshold and peak detector is coupled to the filter.
  • the threshold and peak detector is configured to compare an amplitude of the digital output signal from the finite impulse response filter to a threshold value and to create a list of peaks, including an amplitude value and a time of each peak that exceeds the threshold value, in real time.
  • the control circuit is coupled to both the filter and the threshold and peak detector.
  • the control circuit is configured to receive the list of peaks from the threshold and peak detector.
  • the storage device is coupled to the control circuit, and is configured to store the list of peaks received by the control circuit.
  • the system further includes a signal generator and a driver.
  • the signal generator is coupled between the control circuit and the transducer, and is configured to generate a generator signal that is used to stimulate the transducer to induce the pulsed wave.
  • the driver is coupled between the signal generator and the transducer, and is configured to amplify the generator signal before the generator signal is coupled into to the transducer.
  • the filter includes a matched filter that is configured to compare the analog input to the generator signal.
  • the control circuit calculates a value of the depth of the fluid in the storage tank based on the list of peaks. Also, the control circuit generates a digital pulse-width-modulated signal that varies in modulation based on the depth of the fluid in the storage tank.
  • the system further includes a digital-to-analog converter and a level-signaling circuit.
  • the digital-to-analog converter is coupled to the control circuit and configured to convert the digital pulse-width-modulated signal into an analog pulse-width-modulated signal.
  • the level-signaling circuit is coupled to the digital-to-analog converter, and is configured to convert the analog pulse-width-modulated signal into a level-signaling output signal that correlates to the depth of the fluid in the storage tank.
  • the system further includes a temperature sensor that is coupled to the control circuit.
  • the temperature sensor is configured to provide the control circuit with a temperature value for the fluid in the storage tank.
  • the control circuit adjusts the calculated value of the depth of the fluid in the storage tank based on the temperature value for the fluid in the storage tank.
  • the threshold and peak detector recalculates the threshold value based on the value of the amplitude values of the digital output signal.
  • the system further includes an amplifier that is coupled between the transducer and the analog-to-digital converter. The amplifier is configured to amplify the analog input signal.
  • the filter includes a complex filter having a first finite impulse response filter and a second finite impulse response filter that sample the digital input signal at twice the frequency of the pulsed wave.
  • the sampled digital input signal filtered by the first finite impulse response filter is 90° out of phase with respect to the sampled digital input signal filtered by the second finite impulse response filter.
  • the filter calculates a square root of a sum of squares value of a signal output from the first finite impulse response filter and a signal output from the second finite impulse response filter.
  • the filter calculates an approximate value of a square root of a sum of squares value by adding the larger of an absolute value of a signal output from the first finite impulse response filter and an absolute value of a signal output from the second finite impulse response filter to 3 / 8 times the smaller of the absolute value of the signal output from the first finite impulse response filter and the absolute value of the signal output from the second finite impulse response filter.
  • the approximate value of the square root of the sum of squares value is calculated by shifting the n-stage shift register to the right twice for the first or second finite impulse response filter that has the smaller absolute value of output signal; adding an output of the twice right-shifted, n-stage shift register to the output of the first or second finite impulse response filter that has the larger absolute value, resulting in a first added value; shifting the n-stage shift register having the smaller absolute value of output signal once more to the right; and adding the output of the thrice right-shifted, n-stage shift register to the first added value.
  • the filter is configured to determine the phase difference between the digital input signal and the coefficients that define the filter.
  • Another exemplary embodiment of the invention is a system for determining the depth of a fluid in a storage tank.
  • the depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid.
  • the system includes a transducer, an analog-to-digital converter, and a filter.
  • the transducer is configured to sense the reflected pulsed wave and to generate an analog input signal that corresponds to the reflected pulsed wave.
  • the analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal.
  • the filter is coupled to the analog-to-digital converter.
  • the filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal.
  • the finite impulse response filter includes an n-stage shift register, where n is an integer that is greater than one, a subtractor that is coupled to the n-stage shift register, an adder that is coupled to both the n-stage shift register and the subtractor, and a storage register that is coupled to both the adder and the subtractor.
  • the subtractor has a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal.
  • the adder has a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal.
  • the storage register has an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a system for determining the depth of a fluid in a storage tank.
  • the depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid.
  • the system includes a transducer, an analog-to-digital converter, and a filter.
  • the transducer is configured to measure the reflected pulsed wave, and to generate an analog input signal that corresponds to the reflected pulsed wave.
  • the analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal.
  • the filter is coupled to the analog-to-digital converter.
  • the filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal.
  • the finite impulse response filter includes a two-stage shift register, a first subtractor that is coupled to the two-stage shift register, an n/ 2 -stage shift register that is coupled to the first subtractor, where n is an even integer greater than or equal to four, a second subtractor that is coupled to both the first subtractor and the n/ 2 -stage shift register, an adder that is coupled to the second subtractor, and a storage register that is coupled to the adder.
  • the first subtractor has two input terminals and an output terminal, and each of the first subtractor input terminals is coupled to one of the stages of the two-stage shift register.
  • the n/ 2 -stage shift register has an input terminal that is coupled to the output terminal of the first subtractor.
  • the second subtractor has a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/ 2 th stage of the n/ 2 -stage shift register, and an output terminal.
  • the adder has a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal.
  • the storage register has an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes an n-stage shift register, where n is an even integer that is greater than or equal to four, n/ 2 subtractors that are coupled to the n-stage shift register, and n/ 2 - 1 adders that are coupled to the n-stage shift register.
  • Each subtractor of the n/ 2 subtractors has a first input terminal, a second input terminal that is coupled to a stage of the n-stage shift register, and an output terminal.
  • Each adder of the n/ 2 - 1 adders has a first input terminal that is coupled to an output terminal of a subtractor, and a second input terminal that is coupled to a stage of the n-stage shift register.
  • the first input terminal of one of the n/ 2 subtractors is coupled to the first stage of the n-stage shift register, and the first input terminal of each of the other subtractors is coupled to an output terminal of an adder.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes an n-stage shift register, where n is an integer that is greater than one, a subtractor, an adder, and a storage register.
  • the subtractor has a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal.
  • the adder has a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal.
  • the storage register has an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes a two-stage shift register, a first subtractor, an n/ 2 -stage shift register, where n is an even integer greater than or equal to four, a second subtractor, an adder, and a storage register.
  • the first subtractor has two input terminals and an output terminal. Each of the first subtractor input terminals is coupled to one of the stages of the two-stage shift register.
  • the n/ 2 -stage shift register has an input terminal that is coupled to the output terminal of the first subtractor.
  • the second subtractor has a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/ 2 th stage of the n/ 2 -stage shift register, and an output terminal.
  • the adder has a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal.
  • the storage register has an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • FIG. 1 a is perspective drawing of an ultrasonic depth determining device having a transducer mounted to the top of a storage tank containing a fluid according to a preffered embodiment.
  • FIG. 1 b is perspective drawing of an ultrasonic depth determining device having a transducer mounted to the bottom of a storage tank containing a fluid according to another preferred embodiment.
  • FIG. 2 is a block diagram of the ultrasonic depth determining devices depicted in FIGS. 1 a and 1 b.
  • FIG. 3 a is a timing diagram of a pulsed waveform generated by the transducer.
  • FIG. 3 b is a timing diagram of a clipped reference waveform that corresponds to the pulsed waveform of FIG. 3 a , and represents weighting factors for a filter.
  • FIG. 4 is a timing diagram illustrating an amplitude of a signal output from a filter included in the ultrasonic depth determining device.
  • FIG. 5 is a block diagram of a filter including an n-stage shift register.
  • FIG. 6 is a block diagram of the filter illustrated in FIG. 5 without multipliers, where h 0 through h n ⁇ 1 of FIG. 5 are replaced by +1 or ⁇ 1.
  • FIG. 7 is a block diagram of the filter illustrated in FIG. 6 where the n-stage shift register is an eight-stage shift register.
  • FIG. 8 is a block diagram of a complex filter.
  • FIG. 9 is a flow diagram of an approximation that can be performed as part of the complex filter of FIG. 8 .
  • FIG. 10 is a block diagram of a filter including an n-stage shift register, a subtractor, an adder, and a storage register.
  • FIG. 11 is a block diagram of the filter illustrated in FIG. 10 where the n-stage shift register is an eight-stage shift register.
  • FIG. 12 is a block diagram of a filter including a two-stage shift register, a first subtractor, an n/ 2 -stage shift register, a second subtractor, an adder, and a storage register.
  • FIG. 13 is a block diagram of the filter illustrated in FIG. 12 where the n/ 2 -stage shift register is a four-stage shift register.
  • FIG. 14 is a flow diagram of a process for determining and storing peak values.
  • FIG. 15 is an illustration of four different cases of data input to a complex filter and the resulting real component of an input signal, imaginary component of an input signal, Aux register value, and correction for the phase difference between the input signal and the filter's assumed phase.
  • FIGS. 16 a - c are flow diagrams of a process used to determine the value of the real component of the input signal, the imaginary component of the input signal, the Aux register value, and the complex filter's output.
  • the ultrasonic depth determining system includes a transducer 18 coupled to a top surface 20 of the storage tank, which induces an ultrasonic wave 22 that propagates through a gas 24 toward the fluid in the storage tank.
  • the depth determining system also includes a processing system 26 that drives the transducer, monitors the transducer's output, and determines the depth 27 of the fluid in the storage tank.
  • the transducer is typically a piezoelectric crystal 28 having opposed silver electroplated electrodes 30 and 32 , which operates as a transmitting and receiving acoustic device.
  • the transducer is coupled to the processing system using an insulated wire 34 .
  • FIG. 1 b is an illustration of the storage tank with the ultrasonic depth determining system positioned at a lower portion 36 of the storage tank and the transducer coupled against the bottom surface 38 of the storage tank.
  • the transducer 18 induces an ultrasonic wave 22 in either the gas 24 or the fluid 16 , which propagates toward the fluid-gas interface 40 .
  • the wave reaches the fluid-gas interface, a portion 42 of the wave is reflected back toward the transducer located at either the upper portion 14 or the lower portion 36 of the storage tank 10 .
  • the reflected wave is sensed by the transducer and converted into electrical energy.
  • FIG. 2 is a block diagram of the depth determining system 12 , which is used to generate the ultrasonic wave 22 , detect the reflected wave 42 , and determine the depth 27 of the fluid 16 in the storage tank 10 .
  • the depth determining system includes the transducer 18 , an amplifier 44 , an analog-to-digital (“A/D”) converter 46 , a filter 48 , a threshold and peak detector 50 , a control circuit 52 , a storage device 54 , a signal generator 56 , a driver 58 , a digital-to-analog (“D/A”) converter 60 , and a level-signaling circuit 62 .
  • A/D analog-to-digital
  • D/A digital-to-analog
  • the control circuit 52 controls the operation of the depth determining system 12 .
  • the depth determining process begins with the control circuit providing a series of pulses on a first line 64 to the signal generator 56 .
  • the signal generator produces between approximately 4 cycles and approximately 32 cycles of a signal that can range in frequency from approximately 10 kilohertz (“kHz”) to approximately 120 kHz.
  • the signal output from the signal generator 56 is provided on a second line 66 to the driver 58 , which amplifies the signal from the signal generator and outputs a high-voltage signal having a peak-to-peak voltage that can range from approximately 100 volts to approximately 1,200 volts.
  • the high-voltage signal output from the driver is coupled via a third line 68 to one electrode 30 of the transducer 18 .
  • the high-voltage signal excites the transducer causing the transducer to vibrate, which induces a wave 22 either in the gas 24 or the fluid 16 adjacent to the transducer.
  • the transducer is positioned and aligned so that the induced wave is directed towards an intended target, e.g., the fluid-gas interface 40 within the storage tank 10 .
  • the wave propagates through the fluid or gas in the storage tank and a portion 42 of the wave reflects off the fluid-gas interface back toward the transducer.
  • the transducer converts the reflected wave's acoustic energy into electrical energy, more specifically, an electrical signal.
  • the magnitude of the electrical energy produced by the transducer is less than the magnitude of the ultrasonic energy initially induced by the transducer due to several factors including: beam spreading, reflection losses at the fluid-gas interface 40 , the acoustic impedance mismatches between the transducer and the transmission medium 16 and 24 , transducer inefficiencies, and transmission loss due to the surrounding environment.
  • the electrical signal produced by the transducer is provided on a fourth line 70 to the amplifier 44 , which amplifies the electrical signal by a factor of at least 200 or more resulting in an amplified signal 72 having a peak amplitude 74 .
  • the amplified signal is provided on a fifth line 78 to the A/D converter 46 .
  • the amplification factor of the amplifier is selected to ensure that the signal input to the A/D converter even when the transducer is not receiving a reflected wave, always is greater than the quantization noise, i.e., the least significant bit of the A/D converter.
  • the amplified signal is advantageous in that it facilities a more accurate differentiation of the reflected wave's electrical signal from baseline noise 76 .
  • the amplified signal also compensates for the loss of signal strength due to the factors described above.
  • the A/D converter 46 samples the amplified signal 72 at a rate that is four times the frequency of the signal output from the signal generator 56 (four times the desired detection frequency) and outputs a digitized version of the amplified signal. Next, the digitized signal output from the A/D converter is provided on a sixth line 80 to the filter 48 .
  • a reference waveform 82 can be created by clipping the amplitude of the signal output from the signal generator 56 so that the amplitude 84 of the reference waveform only ranges in value from approximately +1 volt to approximately ⁇ 1 volt.
  • the frequency and length 86 of the reference waveform matches the frequency and length 88 of the signal output from the signal generator to the driver 58 .
  • the length of the reference waveform is provided to the filter 48 on a seventh line 90 in order to facilitate matched filtering.
  • the filter 48 performs a matched filtering technique or other correlation technique in which the signal input to the filter from the A/D converter 46 is compared to the reference waveform 82 . Referring additionally to FIG. 4 , the filter then generates an output signal 92 , which reaches a peak value 94 when the signal from the A/D converter approximates the reference waveform.
  • the signal 92 output from the filter 48 is provided on an eighth line 96 to the threshold and peak detector 50 .
  • the threshold and peak detector compares the amplitude of the signal output from the filter to a threshold value 98 , as illustrated in FIG. 4 .
  • the threshold and peak detector detects the peaks 94 of the output signal that are above the threshold value.
  • the threshold and peak detector provides electrical signals, which include the time values 100 associated with each peak that exceeds the threshold value, on a ninth line 102 to the control circuit 52 .
  • the control circuit utilizes the time values of the peaks to calculate the depth 27 of the fluid 16 in the storage tank 10 .
  • the control circuit 52 can forward the time values 100 of the peaks 94 to the storage device 54 via a tenth line 104 , for fluid depth calculations to be determined at a later time.
  • the peaks that exceed the threshold value 98 are stored in the storage device, thus, reducing the memory requirements of the depth determining system 12 .
  • the control circuit 52 determines a roundtrip time period, which is the time between the transmission of the ultrasonic wave 22 by the transducer 18 and the receipt of the reflected wave 42 by the transducer.
  • the control circuit can monitor the depth 27 of the fluid 16 in the storage tank 10 at predetermined time intervals based on the roundtrip time period. For example, for a particular application, the control circuit can determine that the roundtrip time period is 5 millisecond and that the fluid in the storage tank should be monitored every 30 seconds.
  • Embodiments of the invention include a temperature sensor (not shown), which is coupled to the control circuit 52 and located near the transducer 18 .
  • the temperature sensor is used to monitor the temperature conditions influencing the transducer.
  • the present invention provides an accurate measurement of the depth 27 of a fluid 16 in a storage tank 10 because the time period for propagation of the wave 22 and 42 is accurately determined using the filter 48 . Only the peak values 94 output from the filter are analyzed, thus, minimizing processing needs. Also, the calculated time period is corrected for variations in temperature.
  • the control circuit 52 generates a pulse-width-modulated (PWM) signal that varies according to the value of the calculated depth 27 of the fluid 16 in the storage tank 10 .
  • the PWM signal is provided on an eleventh line 108 to the D/A converter 60 , which transforms the PWM signal into a voltage signal ranging in amplitude between approximately 0 volt and approximately +3.3 volts.
  • the signal output from the D/A converter is provided on a twelfth line 110 to the level-signaling circuit 62 , which outputs a signal having a voltage and/or current value that correlates to the depth, or level, of the fluid in the storage tank.
  • the level-signaling circuit 62 is an artificial load, which transforms the voltage signal output from the D/A converter 60 into to a load current that ranges in value between approximately +4 mA and approximately +20 mA.
  • the artificial load typically includes a bipolar junction transistor (not shown) having its base coupled to the D/A converter and its collector coupled to Vcc (+5 volts).
  • the value of the load current produced across the artificial load is proportional to the depth of the fluid 16 in the storage tank 10 .
  • a load current of approximately +20 mA corresponds to a storage tank that is full of fluid while a load current of approximately +4 mA corresponds to a storage tank that is almost empty.
  • the load current can be provided to an external device (not shown), and, in doing so, provide the external device with the depth of the fluid in the storage tank.
  • the filter 48 is used to determine the roundtrip propagation time of the wave 22 and 42 from the transducer 18 , to the fluid-gas interface 40 , and back to the transducer.
  • the filter can include digital filters 112 , however, there are limitations associated with the use of digital filters. In particular, most low-cost processors (not shown) lack the clock speed and the memory space required to implement classical digital signal processing (“DSP”) techniques, which are used in digital filters to improve signal detection and noise immunity.
  • DSP digital signal processing
  • DSP processors Two approaches commonly are used to implement a digital filter 112 .
  • the first approach is to use a shift register 114 in combination with adders 116 and multipliers 118 that are structured to do addition and multiplication operations, respectively. These are called DSP processors.
  • DSP processors run at high clock speeds, and thus, consume more power than is typically available for level measurement applications.
  • Another disadvantage associated with DSP processors is their high cost.
  • the electrical signals generated from the transducer 18 based on the reflected wave 42 are stored in memory 54 , and, at a later time, are processed using a low-speed processor (not shown).
  • This method disadvantageously requires additional storage, which adds to the overall cost of the depth determining system 12 .
  • Embodiments of the present invention include a version of a finite impulse response (“FIR”) filter 120 , which is used to detect sinusoidal signals.
  • the classical implementation of a FIR filter illustrated in the block diagram of FIG. 5 , includes an n-stage shift register 114 for the receipt of a sequence of input samples, where each stage is m samples wide, e.g., m equals 8, 10, or 12.
  • Each stage 122 - 132 of the shift register has a tap 134 that is coupled to a multiplier 118 , which multiplies the value of data in each stage of the shift register by a respective weighting factor, h i , where i is the reference number of the stage in the shift register.
  • n multipliers are summed together using n-l adders 116 , each adder having two input terminals 133 and an output terminal 135 , resulting in the filter's output signal. Accordingly, for an n-stage shift register, n multiplication operations and n- 1 addition operations are required to implement the filter function for the input string of samples.
  • the weighting factors, h i can be reduced to either +1 or ⁇ 1, as illustrated in FIG. 6 .
  • the multipliers 1 18 in FIG. 5 and every other adder 116 can be replaced with a subtractor 136 , each subtractor having two input terminals 137 and an output terminal 139 .
  • the n multiplication operations have been eliminated, and the shift register's stage values merely are added or subtracted to produce the filter output signal. This reduces the processing steps required to produce the filter's output signal to n-i addition and subtraction operations.
  • Output(t 0 ) is the data output from the filter 120 at time t 0
  • X n ⁇ 1 (t 0 ) is the data in the n th stage 132 , or last stage, of the shift register 114 at time t 0 ,
  • Input(t 1 ) is the data input to the 0 th stage 122 , or first stage, of the shift register at time t 1 ,
  • Output(t 1 ) is the data output from the filter at time t 1
  • t 1 is the time at the next clock cycle after time t 0 .
  • the above equation is derived in the following example that includes an FIR filter 120 having an eight-stage shift register 138 , as illustrated in FIG. 7 .
  • the shift register has stage values X 0 (t 0 ), X 1 (t 0 ), X 2 (t 0 ), X 3 (t 0 ), X 4 (t 0 ), X 5 (t 0 ), X 6 (t 0 ), and X 7 (t 0 ) at a particular point in time, t 0 , and the output of the filter is:
  • Output(t 0 ) X 0 (t 0 ) ⁇ X 1 (t 0 )+X 2 (t 0 ) ⁇ X 3 (t 0 )+X 4 (t 0 ) ⁇ X 5 (t 0 )+X 6 (t 0 ) ⁇ X 7 (t 0 )
  • the eight stages in the shift register 138 have values X 0 (t 1 ), X 1 (t 1 ), X 2 (t 1 ), X 3 (t 1 ), X 4 (t 1 ), X 5 (t 1 ), X 6 (t 1 ), and X 7 (t 1 ).
  • X 0 (t 1 ) is the most recent data input to the shift register.
  • the output of the filter 120 at time t 1 can be determined from the output at time t 0 , the samples input to the shift register 138 at time t 0 , and the n- 1 th stage 132 of the shift register at time t 0 using merely one addition operation and one subtraction operation independent of the length of the filter, i.e., the number of stages in the digital filter's shift register.
  • a digital filter 114 with a sample rate that is twice the signal frequency is not practical.
  • the timing of the sample clock with respect to the phase of the signal input to the filter can result in the signal being sampled at or near it's zero crossing, and thus, the filter output can be zero or very low relative to the output when a sample is taken of the signal at its peak.
  • two digital filters 140 and 142 are used, with one filter 142 that samples the input signal 90 degrees out of phase from the other filter 140 . This can be accomplished by sampling the signal input to the A/D converter 46 at four times the desired frequency, and feeding every other sample to one of the two filters.
  • the use of two filters that are 90 degrees out of phase with one another is commonly called a complex filter 144 .
  • the two filters shown in FIG. 8 can be, for example, the FIR filters 120 depicted in FIGS. 5, 6 , and 7 .
  • the digital filter 144 of FIG. 8 takes the place of the filter 48 illustrated in FIG. 2 , and thus, the input signal in FIG. 8 , is the signal output from the A/D converter 46 of FIG. 2 .
  • the A/D converter is operated at four times the frequency of the signal output from the signal generator 56 .
  • the digitized input signal is provided on a thirteenth line 146 to the first filter 140 .
  • the signal output from the first filter is coupled along a fourteenth line 148 to a first circuit 150 that squares the value of the signal output from the first filter.
  • the squared first value is supplied on a fifteenth line 152 to an input terminal 154 of an adder 156 .
  • the digitized input signal is provided from the A/D converter 46 on a sixteenth line 158 to the second filter 142 .
  • the signal output from the second filter is supplied on a seventeenth line 164 to a second circuit 166 which squares the value of the signal output from the second filter.
  • the squared second value is supplied on an eighteenth line 168 to another input terminal 170 of the adder 156 .
  • the signal output from the adder is supplied on a nineteenth line 172 to a circuit 174 that calculates the square root of the adder's output signal.
  • An approximation of the square root of the sum of the squares calculation, shown in the above equation can be calculated using the following procedure. First, the absolute value is calculated for both Output 1 and Output 2 . Next, the absolute value of Output 1 is compared to the absolute value of Output 2 . An approximation of the output signal, Output, is determined by adding the larger of the absolute values to 3 / 8 times the smaller of the absolute values as indicated in the following equation: Output ⁇ Larger Output+ 3 / 8 *Smaller Output where: Larger Ouput is the larger of the absolute value of Output 1 and the absolute value of Output 2 , and
  • the shift register 114 and 138 of the filter, the first filter 140 for Output or the second filter 142 for Output 2 is shifted twice to the right 178 and 180 for the signal, either Output 1 or Output 2 , having the smaller absolute value.
  • the value of the shift register for the signal having the smaller absolute value is added 182 to the absolute value of the signal having the larger absolute value.
  • the shift register for the signal having the smaller absolute value is shifted once more to the right 184 , and then added 186 to the previous sum. This procedure is used in place of the first and second circuits 150 and 166 that square the value of the filter outputs, the adder 156 , and the circuit 174 that calculates the square root in the embodiment illustrated in FIG. 8 .
  • embodiments of the present invention advantageously provide a simple FIR filter 120 that can be realized using only one addition operation and one subtraction operation per input sample regardless of the length of the digital filter.
  • embodiments of the present invention advantageously provide for a complex filter 144 that includes two FIR filters 140 and 142 , each of which can be implemented using only one addition operation and one subtraction operation regardless of the length of the filters.
  • the two FIR filters included in the complex filter can be implemented using only a total of two addition operations and two subtraction operations.
  • FIG. 10 illustrates another version 188 of an FIR filter 120 that is used in embodiments of the present invention to detect sinusoidal input signals.
  • the filter illustrated in FIG. 10 is a simplification of the filter 120 depicted in FIG. 6 .
  • the filter illustrated in FIG. 10 includes an n-stage shift register 194 , a subtractor 196 , an adder 198 , and a storage register 200 .
  • the n-stage shift register receives samples input to the filter.
  • the first and last stages 202 and 204 , respectively, of the n-stage shift register have taps 206 and 208 , respectively, that are coupled to an input terminal 210 of the subtractor and an input terminal 212 of the adder, respectively.
  • the other input terminal 214 of the adder is coupled to an output terminal 216 of the storage register, and receives the previous filter output signal (Output(t ⁇ 1 )) that is stored in the storage register.
  • the other input terminal 218 of the subtractor is coupled to an output terminal 220 of the adder, and receives the output of the adder.
  • the output signal on an output terminal 222 of the subtractor is received by the storage register at the storage register's input terminal 224 .
  • the overall output signal of the filter is the signal at the subtractor's output, which is the value in the last stage of the n-stage shift register added to the value in the storage register, and then that total subtracted from .the value in the first stage of the n-stage shift register.
  • FIG. 11 illustrates an example case 226 of the filter 188 illustrated in FIG. 10 where n equals eight.
  • the filters illustrated in FIGS. 10 and 11 advantageously reduce the total number of arithmetic operations performed by these filters in comparison to the filters 120 illustrated in FIGS. 6 and 7 .
  • the filters illustrated in FIGS. 10 and 1 are faster than the filters illustrated in FIGS. 6 and 7 .
  • FIG. 12 illustrates another FIR filter 230 that is used in embodiments of the present invention.
  • the filter illustrated in FIG. 12 is an approximation of the filter 188 illustrated in FIG. 10 .
  • the filter illustrated in FIG. 12 includes a two-stage shift register 232 , a first subtractor 234 ,.an n/ 2 -stage shift register 236 , a second subtractor 238 , an adder 240 , and a storage register 242 .
  • the two-stage shift register receives samples input to the filter.
  • Each stage 244 and 246 of the two-stage shift register has a tap 248 and 250 , respectively, that is coupled to an input terminal 252 and 254 , respectively, of the first subtractor, which subtracts the output of the first stage, X 0 , from the output of the second stage, X 1 .
  • the output signal on an output terminal 256 of the first subtractor, i.e., X 0 -X 1 is received by both the n/ 2 -stage shift register and a first input terminal 258 of the second subtractor.
  • the n/ 2 th stage 260 of the n/ 2 -stage shift register includes a tap 262 that is coupled to the second input terminal 264 of the second subtractor, which subtracts the output of the n/ 2 th stage from the output of the first subtractor.
  • An output terminal 266 of the second subtractor is coupled to a first input terminal 268 of the adder.
  • a second input 270 of the adder is coupled to an output terminal 271 of the storage register, and an input terminal 272 of the storage register is coupled to an output terminal 273 of the adder.
  • the overall output of the filter is the signal at the output terminal 273 of the adder, which is the value in the storage register subtracted from the value output from the second subtractor.
  • FIG. 13 illustrates an example case 274 of the filter 230 illustrated in FIG. 12 where n equals eight.
  • the four-stage shift register 276 has stage Values X 0 (t 0 ) ⁇ X 1 (t 0 ), X 2 (t 0 ) ⁇ X 3 (t 0 ), X 4 (t 0 ) ⁇ X 5 (t 0 ), and X 6 (t 0 ) ⁇ X 7 (t 0 ) at a particular point in time t 0 , and the output of the filter illustrated in FIG.
  • the filters 188 , 226 , 230 , and 274 illustrated in FIGS. 10, 11 , 12 , and 13 , respectively, can be the first and second filters 140 and 142 included in the complex filter 144 illustrated in FIG. 8 .
  • the sign and amplitude components of the real and imaginary terms of the input data can be examined and compared to determine a more precise alignment of the filter to the input data.
  • the complex filter is a coarse filter, an adjustment can be made after examining the sign and amplitude of the first and second filter outputs to achieve a filter output resolution equal to running the filter at full speed.
  • signal peaks are stored in a peak buffer (not shown) included in the threshold and peak detector 50 using the following process.
  • the filter is run Y times 278 , and a maximum value and an index value of the maximum value of the filter output is stored during the Y times that the filter was run by the threshold and peak detector.
  • each measured maximum value is compared to a threshold value 280 by the threshold and peak detector. If the maximum value is above the threshold value 98 , then the maximum value is compared to the value stored in the peak buffer 282 . If the new maximum value is larger than the value in the peak list, then the maximum value and an index value, associated with the peak, that is included in a peak list is stored at memory location Z in the peak buffer.
  • the threshold value is set equal to half the maximum value 284 .
  • the threshold value is large enough to prevent the storage of erroneous maximum values, i.e., measurements of the baseline noise 76 that are incorrectly determined to be a peak.
  • the output of the filter is stored in the peak buffer in place of the last measured peak value, and the threshold is set to half the maximum value.
  • the filter again is run Y times.
  • the threshold and peak detector 50 set the threshold value equal to the smaller of twice the maximum value or twice the current threshold 286 .
  • the threshold value is recalculated in this manner to avoid the detection of peaks in the baseline noise 76 , and to insure detection of peaks 94 that occur later in time.
  • memory location Z of the peak buffer (not shown) is checked to see if the peak buffer location Z has a value of 0 (the peak buffer includes multiple memory address locations) 288 . If so, the filter again is run Y times 278 .
  • memory location Z in the peak buffer is incremented 290 by the threshold and peak detector, so that the last peak is stored in the peak buffer and the pointer is moved to a new peak location in the peak buffer.
  • the filter again is run Y times.
  • a new threshold value is calculated, and a test is performed to see if peak values were stored in the peak buffer. If so, then the peak is stored at another memory location after pointing to a new location in the peak buffer.
  • the four samples 294 - 300 of the input filter's first stage 232 are shown for four different cases 234 - 240 .
  • Each of the cases represents the sinusoidal input signal having a different phase delay.
  • Each sinusoidal input signal has been sampled by the analog-to-digital converter 46 and stored in an input buffer (not shown), included in the analog-to-digital converter, at four different times as represented by data sample D 0 294 , D 1 296 , D 2 298 , and D 3 300 , where D 0 is the most recent sample and D 3 is the oldest sample in the input buffer.
  • the peaks 302 and 304 of the sinusoidal input signal 306 line up with the sample times 308 - 314 of the input filter in the four different cases illustrated in FIG. 15 .
  • the data 292 at sample D 3 294 is high and equals +1, the data at sample D 2 296 equals 0, the data at sample D 1 298 is low and equals ⁇ 1, and the data at sample D 0 300 equals 0.
  • the sinusoidal input signal 306 is delayed 90 degrees with respect to the sinusoidal input signal of case 1 , and thus, the data at sample D 3 is 0, the data at sample D 2 is high and equals +1, the data at sample D 1 equals 0, and the data at sample D 0 is low and equals ⁇ 1.
  • the sinusoidal input signal is delayed 90 degrees with respect to the sinusoidal input signal of case 2 , and thus, the data at sample D 3 is low and equals ⁇ 1, the data at sample D 2 equals 0 , the data at sample D 1 is high and equals +1, and the data at sample D 0 equals 0.
  • the sinusoidal input signal is delayed 90 degrees with respect to the sinusoidal input signal of case 3 , and thus, the data at sample D 3 equals zero, the data at sample D 2 is low and equals ⁇ 1, the data at sample D 1 equals 0, and the data at sample D 0 is high and equals +1.
  • the filter selection outputs 316 shown in FIG. 1 5 represent the real and imaginary component 318 and 320 , respectively, of the sampled sinusoidal input signal 306 .
  • the number of samples taken for each time the filter is run, value Y discussed previously (see step 278 of FIG. 14 ), of the sinusoidal input signal 306 by the analog-to-digital converter 46 is set equal to four.
  • the four samples of the sinusoidal input signal are taken at four times over sampling 324 .
  • Steps 326 , 328 , and 330 are implemented in the filter 230 of FIG. 12 .
  • step 326 the value TempR at the output of the first subtractor 256 , a temporary value for storing the real component of the sampled input signal in the memory buffer (not shown), is set equal to the value of sample D 2 296 (X 1 at tap 250 ) subtracted from the value of sample D 0 300 (X 0 at tap 248 ).
  • Another value A at the output 266 of the second subtractor 238 ), another temporary value, is set equal to the value X′, which equals X n ⁇ 2 ⁇ X n ⁇ 1 (at the tap 262 of the n/ 2 th stage 260 ), subtracted from TempR 328 .
  • TempR is set equal to A added to the value of OutR, the output of the filter, which is stored-in the storage register 242 and equals the real component of the filter's output from the last time the filter was run.
  • OutR value is set equal to the value of TempR.
  • TempR is checked to see if it is positive 332 . If the value of TempR is greater than 0, Temp R is positive, and the ring buffer pointer is incremented 334 . If the value of TempR is not greater than 0, then value of TempR is negated, i.e., TempR equals the negative of TempR, the value of Aux, which is initially set equal to the hex value of 0203 336, is set equal to the value of Aux ended with the hex value FFFD 338 , and then, the ring buffer pointer is incremented.
  • TempR is not greater than 0
  • the value of TempR is negative
  • the value of TempR is inverted and the correction register, i.e., the Aux register, is adjusted by anding the value in the Aux register with FFFD to reset bit 1 of the Aux register.
  • the imaginary component 320 is calculated by again implementing the filter of FIG. 12 using data input values D 1 298 and D 3 294 , as was discussed previously for the real component using input values DO 300 and D 2 296 .
  • the second filer 142 is use to implement the steps 340 , 342 , and 344 in FIG. 16b .
  • the value of TempI is compared to the number 0 346. If the value of TempI is greater than 0, then TempI is positive, and the ring buffer pointer is incremented 348 . If the value of TempI is not greater than 0, then the value of TempI is inverted, the Aux value is ended with the hex value FDFF 350 , and the ring buffer pointer is incremented.
  • the value of TempR is compared to the value of TempI 352 . If the value of TempR is greater than the value of TempI, then the two upper bits of the Aux register are cleared 354 .
  • This process can be seen in the example case 2 236 and example case 4 240 of FIG. 15 , where the magnitude of the real component of the filter's output is greater than the imaginary component of the filter's output, and the lower two bits of the Aux register 354 within the square 356 are kept and the upper two bits of the Aux register are cleared resulting in the correction values 358 .
  • the value of TempR is set equal to the value of TempR added to three eights of the value of TempI 360 to approximate a square root of a sum of squares calculation.
  • the upper two bits of the Aux register are swapped with the lower two bits of the Aux register, and the resulting upper two bits of the Aux register are cleared 362 .
  • This process can be seen in the example case 1 234 and example case 3 238 of FIG. 15 , where the upper two bits of the Aux register, within the square 364 , are swapped with the lower two bits of the Aux register, and only the resulting lower two bits of the Aux register, i.e., the two bits within the square, are kept and the upper two bits of the Aux register are cleared resulting in the correction values 358 .
  • the value of TempR is set equal to the value of TempI added to three eights of the value of TempR 366 to approximate a square root of a sum of squares calculation.
  • the resulting correction values 358 shown in FIG. 15 indicate the amount of difference in alignment, i.e., difference in phase, between the assumed phase of the filter when constructed, defined by the coefficients that define the filter, and the sinusoidal input signal 306 .
  • h 0 was assumed to be +1 for the further reductions in the filter complexity shown in FIGS. 6, 10 , and 12 .
  • No correction is needed for case 1 234
  • a correction of 1 is needed for case 2 236
  • a correction of 2 is needed for case 3 238
  • a correction of 3 is needed for case 4 240 .
  • the correction value can be used by the system 12 to more precisely align the sample times of the analog-to-digital converter and the input data.
  • the value of TempR is compared to the peak maximum value 368 . If TempR is greater than the maximum value, then the maximum value is set equal to the value of TempR and value of the AUX register is subtracted from the index pointer 370 . Thus, the index counter is corrected by subtracting the value of the Aux register. Next, four is added to the index pointer 372 . If the value of TempR is not greater than the maximum value, then four is added to the index counter.
  • embodiments of the present invention provide for the use of a filter structure that allows the filtering and threshold process to be performed in real time, thus, reducing the memory storage requirements without the need of a high-speed processor. Since the depth detection system 12 does not require a high-speed processor, a lower-cost low-speed processor can be used. Also, embodiments of the filter 48 . according to the present invention provide for improved signal detection and high immunity to noise.
  • the matched filtering technique discussed in the detailed description can be used to detect many types of signals, e.g., a radar signal or an infrared signal, which may be transmitted from an external source. Depending upon the characteristics of the signal, only a subset of the components included in the depth determining system 12 illustrated in FIG. 2 would be used detect and filter the signal. Furthermore, additional components, beyond those depicted in FIG. 2 , may be used to implement the matched filtering technique. Accordingly, the scope of the invention is defined only by the following claims.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Acoustics & Sound (AREA)
  • Immunology (AREA)
  • Thermal Sciences (AREA)
  • Electromagnetism (AREA)
  • Fluid Mechanics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Measurement Of Levels Of Liquids Or Fluent Solid Materials (AREA)
  • Length Measuring Devices Characterised By Use Of Acoustic Means (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

A system for determining the depth of a fluid in a storage tank. The depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid. The system includes a transducer, an analog-to-digital converter, and a filter. The transducer is configured to sense the reflected pulsed wave and to generate an analog input signal that corresponds to the reflected pulsed wave. The analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal. The filter is coupled to the analog-to-digital converter. The filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • Priority is claimed under 35 U.S.C. § 119(e) to U.S. Provisional patent application Ser. No. 60/507,897, filed on Oct. 1, 2003, entitled: “DEPTH DETERMINING SYSTEM AND RELATED METHOD” by Larry Carter, which application is incorporated by reference herein.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The invention relates generally to the field of determining the level of a fluid in a storage tank. More specifically, the invention relates to an apparatus for measuring the time of receipt for a reflected acoustic wave.
  • 2. Description of the Related Art
  • The level of a fluid in a storage tank can be measured using various techniques. In one technique, a transducer is connected to the bottom surface of the storage tank. The transducer is excited by a pulse from a function generator. The vibration from the transducer excites a pulsed wave in the fluid within the storage tank, which propagates upward toward the fluid-gas interface, i.e., the interface between the top of the fluid and the gas above the fluid. At the fluid-gas interface, a portion of the wave is reflected back toward the transducer where it is received. Based on the reflected wave, the transducer generates an electrical signal, which is provided to a processing system. The processing system calculates the distance from the transducer to the top of the fluid, and thus, the depth of the fluid in the storage tank, based on the known value of the speed of sound through the fluid and the time measured for the wave to propagate from the transducer to the fluid/air interface and back to the transducer.
  • Accordingly, an accurate calculation of the depth of the fluid in the storage tank is dependent upon an accurate determination of the time at which the reflected wave is received at the transducer. It should, therefore, be appreciated that there is a need for an ultrasonic measurement system and method that accurately calculates the depth of a fluid in a storage tank by accurately determining the time of receipt of the reflected wave. The present invention satisfies this need.
  • SUMMARY OF THE INVENTION
  • Embodiments of the present invention include an ultrasonic measurement system that provides an accurate depth measurement of a fluid in a storage tank by accurately determining the time of receipt of a reflected wave induced in the storage tank by a transducer.
  • An exemplary embodiment of the present invention is a system for determining the depth of a fluid in a storage tank. The depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid. The system includes a transducer, an analog-to-digital converter, and a filter. The transducer is configured to sense the reflected pulsed wave and to generate an analog input signal that corresponds to the reflected pulsed wave. The analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal. The filter is coupled to the analog-to-digital converter. The filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal. The finite impulse response filter includes an n-stage shift register, where n is an even integer that is greater than or equal to four, n/2 subtractors coupled to the n-stage shift register, and n/2-1 adders coupled to the n-stage shift register.
  • In other, more detailed features of the invention, each subtractor of the n/2 subtractors has a first input terminal, a second input terminal that is coupled to a stage of the n-stage shift register, and an output terminal. Also, each adder of the n/2-1 adders has a first input terminal that is coupled to an output terminal of a subtractor, and a second input terminal that is coupled to a stage of the n-stage shift register. In addition, the first input terminal of one of the n/2 subtractors is coupled to that first stage of the n-stage shift register, and each of the first input terminals of the other subtractors is coupled to an output terminal of an adder.
  • In other, more detailed features of the invention, the finite impulse response filter is configured to calculate a digital output signal at time t1, Output(t1), based on the digital input signal at time t1, Input(t1), a digital output signal at time t0, Output(t0), and a data value in an nth stage of the n-stage shift register at time to, Xn−1(t0). Where t1 is the time at a next clock cycle after time t0 and Output(t1) is calculated based on the following equation: Output(t1)=Input (t1)−(Output(t0)+Xn−1(t0)).
  • In other, more detailed features of the invention, the system further includes a threshold and peak detector, a control circuit, and a storage device. The threshold and peak detector is coupled to the filter. The threshold and peak detector is configured to compare an amplitude of the digital output signal from the finite impulse response filter to a threshold value and to create a list of peaks, including an amplitude value and a time of each peak that exceeds the threshold value, in real time. The control circuit is coupled to both the filter and the threshold and peak detector. The control circuit is configured to receive the list of peaks from the threshold and peak detector. The storage device is coupled to the control circuit, and is configured to store the list of peaks received by the control circuit.
  • In other, more detailed features of the invention, the system further includes a signal generator and a driver. The signal generator is coupled between the control circuit and the transducer, and is configured to generate a generator signal that is used to stimulate the transducer to induce the pulsed wave. The driver is coupled between the signal generator and the transducer, and is configured to amplify the generator signal before the generator signal is coupled into to the transducer. Also, the filter includes a matched filter that is configured to compare the analog input to the generator signal.
  • In other, more detailed features of the invention, the control circuit calculates a value of the depth of the fluid in the storage tank based on the list of peaks. Also, the control circuit generates a digital pulse-width-modulated signal that varies in modulation based on the depth of the fluid in the storage tank. The system further includes a digital-to-analog converter and a level-signaling circuit. The digital-to-analog converter is coupled to the control circuit and configured to convert the digital pulse-width-modulated signal into an analog pulse-width-modulated signal. The level-signaling circuit is coupled to the digital-to-analog converter, and is configured to convert the analog pulse-width-modulated signal into a level-signaling output signal that correlates to the depth of the fluid in the storage tank.
  • In other, more detailed features of the invention, the system further includes a temperature sensor that is coupled to the control circuit. The temperature sensor is configured to provide the control circuit with a temperature value for the fluid in the storage tank. The control circuit adjusts the calculated value of the depth of the fluid in the storage tank based on the temperature value for the fluid in the storage tank.
  • In other, more detailed features of the invention, the threshold and peak detector recalculates the threshold value based on the value of the amplitude values of the digital output signal. Also, the system further includes an amplifier that is coupled between the transducer and the analog-to-digital converter.. The amplifier is configured to amplify the analog input signal.
  • In other, more detailed features of the invention, the filter includes a complex filter having a first finite impulse response filter and a second finite impulse response filter that sample the digital input signal at twice the frequency of the pulsed wave. The sampled digital input signal filtered by the first finite impulse response filter is 90° out of phase with respect to the sampled digital input signal filtered by the second finite impulse response filter. Also, the filter calculates a square root of a sum of squares value of a signal output from the first finite impulse response filter and a signal output from the second finite impulse response filter.
  • In other, more detailed features of the invention, the filter calculates an approximate value of a square root of a sum of squares value by adding the larger of an absolute value of a signal output from the first finite impulse response filter and an absolute value of a signal output from the second finite impulse response filter to 3/8times the smaller of the absolute value of the signal output from the first finite impulse response filter and the absolute value of the signal output from the second finite impulse response filter. The approximate value of the square root of the sum of squares value is calculated by shifting the n-stage shift register to the right twice for the first or second finite impulse response filter that has the smaller absolute value of output signal; adding an output of the twice right-shifted, n-stage shift register to the output of the first or second finite impulse response filter that has the larger absolute value, resulting in a first added value; shifting the n-stage shift register having the smaller absolute value of output signal once more to the right; and adding the output of the thrice right-shifted, n-stage shift register to the first added value.
  • In other, more detailed features of the invention, the filter is configured to determine the phase difference between the digital input signal and the coefficients that define the filter.
  • Another exemplary embodiment of the invention is a system for determining the depth of a fluid in a storage tank. The depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid. The system includes a transducer, an analog-to-digital converter, and a filter. The transducer is configured to sense the reflected pulsed wave and to generate an analog input signal that corresponds to the reflected pulsed wave. The analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal. The filter is coupled to the analog-to-digital converter. The filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal. The finite impulse response filter includes an n-stage shift register, where n is an integer that is greater than one, a subtractor that is coupled to the n-stage shift register, an adder that is coupled to both the n-stage shift register and the subtractor, and a storage register that is coupled to both the adder and the subtractor.
  • In other, more detailed features of the invention, the subtractor has a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal. The adder has a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal. The storage register has an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a system for determining the depth of a fluid in a storage tank. The depth of the fluid is determined after the detection of a pulsed wave that is reflected from the top surface of the fluid. The system includes a transducer, an analog-to-digital converter, and a filter. The transducer is configured to measure the reflected pulsed wave, and to generate an analog input signal that corresponds to the reflected pulsed wave. The analog-to-digital converter is coupled to the transducer, and configured to convert the analog input signal into a digital input signal. The filter is coupled to the analog-to-digital converter. The filter includes a finite impulse response filter that is configured to receive the digital input signal and to generate a digital output signal. The finite impulse response filter includes a two-stage shift register, a first subtractor that is coupled to the two-stage shift register, an n/2-stage shift register that is coupled to the first subtractor, where n is an even integer greater than or equal to four, a second subtractor that is coupled to both the first subtractor and the n/2-stage shift register, an adder that is coupled to the second subtractor, and a storage register that is coupled to the adder.
  • In other, more detailed features of the invention, the first subtractor has two input terminals and an output terminal, and each of the first subtractor input terminals is coupled to one of the stages of the two-stage shift register. The n/2-stage shift register has an input terminal that is coupled to the output terminal of the first subtractor. The second subtractor has a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/2th stage of the n/2-stage shift register, and an output terminal. The adder has a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal. The storage register has an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes an n-stage shift register, where n is an even integer that is greater than or equal to four, n/2 subtractors that are coupled to the n-stage shift register, and n/2-1 adders that are coupled to the n-stage shift register. Each subtractor of the n/2 subtractors has a first input terminal, a second input terminal that is coupled to a stage of the n-stage shift register, and an output terminal. Each adder of the n/2-1 adders has a first input terminal that is coupled to an output terminal of a subtractor, and a second input terminal that is coupled to a stage of the n-stage shift register. The first input terminal of one of the n/2 subtractors is coupled to the first stage of the n-stage shift register, and the first input terminal of each of the other subtractors is coupled to an output terminal of an adder.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes an n-stage shift register, where n is an integer that is greater than one, a subtractor, an adder, and a storage register. The subtractor has a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal. The adder has a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal. The storage register has an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Another exemplary embodiment of the invention is a finite impulse response filter that includes a two-stage shift register, a first subtractor, an n/2-stage shift register, where n is an even integer greater than or equal to four, a second subtractor, an adder, and a storage register. The first subtractor has two input terminals and an output terminal. Each of the first subtractor input terminals is coupled to one of the stages of the two-stage shift register. The n/2-stage shift register has an input terminal that is coupled to the output terminal of the first subtractor. The second subtractor has a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/2th stage of the n/2-stage shift register, and an output terminal. The adder has a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal. The storage register has an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
  • Other features of the invention should become apparent from the following description of the preferred embodiments taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 a is perspective drawing of an ultrasonic depth determining device having a transducer mounted to the top of a storage tank containing a fluid according to a preffered embodiment.
  • FIG. 1 b is perspective drawing of an ultrasonic depth determining device having a transducer mounted to the bottom of a storage tank containing a fluid according to another preferred embodiment.
  • FIG. 2 is a block diagram of the ultrasonic depth determining devices depicted in FIGS. 1 a and 1 b.
  • FIG. 3 a is a timing diagram of a pulsed waveform generated by the transducer.
  • FIG. 3 b is a timing diagram of a clipped reference waveform that corresponds to the pulsed waveform of FIG. 3 a, and represents weighting factors for a filter.
  • FIG. 4 is a timing diagram illustrating an amplitude of a signal output from a filter included in the ultrasonic depth determining device.
  • FIG. 5 is a block diagram of a filter including an n-stage shift register.
  • FIG. 6 is a block diagram of the filter illustrated in FIG. 5 without multipliers, where h0 through hn−1 of FIG. 5 are replaced by +1 or −1.
  • FIG. 7 is a block diagram of the filter illustrated in FIG. 6 where the n-stage shift register is an eight-stage shift register.
  • FIG. 8 is a block diagram of a complex filter.
  • FIG. 9 is a flow diagram of an approximation that can be performed as part of the complex filter of FIG. 8.
  • FIG. 10 is a block diagram of a filter including an n-stage shift register, a subtractor, an adder, and a storage register.
  • FIG. 11 is a block diagram of the filter illustrated in FIG. 10 where the n-stage shift register is an eight-stage shift register.
  • FIG. 12 is a block diagram of a filter including a two-stage shift register, a first subtractor, an n/2-stage shift register, a second subtractor, an adder, and a storage register.
  • FIG. 13 is a block diagram of the filter illustrated in FIG. 12 where the n/2-stage shift register is a four-stage shift register.
  • FIG. 14 is a flow diagram of a process for determining and storing peak values.
  • FIG. 15 is an illustration of four different cases of data input to a complex filter and the resulting real component of an input signal, imaginary component of an input signal, Aux register value, and correction for the phase difference between the input signal and the filter's assumed phase.
  • FIGS. 16 a-c are flow diagrams of a process used to determine the value of the real component of the input signal, the imaginary component of the input signal, the Aux register value, and the complex filter's output.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • With reference now to the illustrative drawings, and particularly to FIG. 1 a, there is shown a storage tank 10 with an ultrasonic depth determining system 12 positioned at an upper portion 14 of the storage tank that contains a fluid 16. The ultrasonic depth determining system includes a transducer 18 coupled to a top surface 20 of the storage tank, which induces an ultrasonic wave 22 that propagates through a gas 24 toward the fluid in the storage tank. The depth determining system also includes a processing system 26 that drives the transducer, monitors the transducer's output, and determines the depth 27 of the fluid in the storage tank. Referring additionally to FIG. 2, the transducer is typically a piezoelectric crystal 28 having opposed silver electroplated electrodes 30 and 32, which operates as a transmitting and receiving acoustic device. The transducer is coupled to the processing system using an insulated wire 34. In contrast, FIG. 1 b is an illustration of the storage tank with the ultrasonic depth determining system positioned at a lower portion 36 of the storage tank and the transducer coupled against the bottom surface 38 of the storage tank.
  • In the two embodiments depicted in FIGS. 1 a and 1 b, the transducer 18 induces an ultrasonic wave 22 in either the gas 24 or the fluid 16, which propagates toward the fluid-gas interface 40. When the wave reaches the fluid-gas interface, a portion 42 of the wave is reflected back toward the transducer located at either the upper portion 14 or the lower portion 36 of the storage tank 10. The reflected wave is sensed by the transducer and converted into electrical energy.
  • FIG. 2 is a block diagram of the depth determining system 12, which is used to generate the ultrasonic wave 22, detect the reflected wave 42, and determine the depth 27 of the fluid 16 in the storage tank 10. The depth determining system includes the transducer 18, an amplifier 44, an analog-to-digital (“A/D”) converter 46, a filter 48, a threshold and peak detector 50, a control circuit 52, a storage device 54, a signal generator 56, a driver 58, a digital-to-analog (“D/A”) converter 60, and a level-signaling circuit 62.
  • The control circuit 52 controls the operation of the depth determining system 12. The depth determining process begins with the control circuit providing a series of pulses on a first line 64 to the signal generator 56. In response to these pulses, the signal generator produces between approximately 4 cycles and approximately 32 cycles of a signal that can range in frequency from approximately 10 kilohertz (“kHz”) to approximately 120 kHz.
  • The signal output from the signal generator 56 is provided on a second line 66 to the driver 58, which amplifies the signal from the signal generator and outputs a high-voltage signal having a peak-to-peak voltage that can range from approximately 100 volts to approximately 1,200 volts. The high-voltage signal output from the driver is coupled via a third line 68 to one electrode 30 of the transducer 18. The high-voltage signal excites the transducer causing the transducer to vibrate, which induces a wave 22 either in the gas 24 or the fluid 16 adjacent to the transducer. The transducer is positioned and aligned so that the induced wave is directed towards an intended target, e.g., the fluid-gas interface 40 within the storage tank 10. The wave propagates through the fluid or gas in the storage tank and a portion 42 of the wave reflects off the fluid-gas interface back toward the transducer.
  • After the reflected wave 42 arrives at the transducer 18, the transducer converts the reflected wave's acoustic energy into electrical energy, more specifically, an electrical signal. The magnitude of the electrical energy produced by the transducer is less than the magnitude of the ultrasonic energy initially induced by the transducer due to several factors including: beam spreading, reflection losses at the fluid-gas interface 40, the acoustic impedance mismatches between the transducer and the transmission medium 16 and 24, transducer inefficiencies, and transmission loss due to the surrounding environment.
  • Referring additionally to FIG. 3 a, after the transducer 18 receives the reflected wave 42, the electrical signal produced by the transducer is provided on a fourth line 70 to the amplifier 44, which amplifies the electrical signal by a factor of at least 200 or more resulting in an amplified signal 72 having a peak amplitude 74. The amplified signal is provided on a fifth line 78 to the A/D converter 46. The amplification factor of the amplifier is selected to ensure that the signal input to the A/D converter even when the transducer is not receiving a reflected wave, always is greater than the quantization noise, i.e., the least significant bit of the A/D converter. The amplified signal is advantageous in that it facilities a more accurate differentiation of the reflected wave's electrical signal from baseline noise 76. The amplified signal also compensates for the loss of signal strength due to the factors described above.
  • The A/D converter 46 samples the amplified signal 72 at a rate that is four times the frequency of the signal output from the signal generator 56 (four times the desired detection frequency) and outputs a digitized version of the amplified signal. Next, the digitized signal output from the A/D converter is provided on a sixth line 80 to the filter 48.
  • Referring additionally to FIG. 3 b, a reference waveform 82 can be created by clipping the amplitude of the signal output from the signal generator 56 so that the amplitude 84 of the reference waveform only ranges in value from approximately +1 volt to approximately −1 volt. Thus, the frequency and length 86 of the reference waveform matches the frequency and length 88 of the signal output from the signal generator to the driver 58. The length of the reference waveform is provided to the filter 48 on a seventh line 90 in order to facilitate matched filtering.
  • The filter 48, examples of which are discussed in detail later in this document, performs a matched filtering technique or other correlation technique in which the signal input to the filter from the A/D converter 46 is compared to the reference waveform 82. Referring additionally to FIG. 4, the filter then generates an output signal 92, which reaches a peak value 94 when the signal from the A/D converter approximates the reference waveform.
  • The signal 92 output from the filter 48 is provided on an eighth line 96 to the threshold and peak detector 50. Initially, the threshold and peak detector compares the amplitude of the signal output from the filter to a threshold value 98, as illustrated in FIG. 4. Next, the threshold and peak detector detects the peaks 94 of the output signal that are above the threshold value. Finally, the threshold and peak detector provides electrical signals, which include the time values 100 associated with each peak that exceeds the threshold value, on a ninth line 102 to the control circuit 52. The control circuit utilizes the time values of the peaks to calculate the depth 27 of the fluid 16 in the storage tank 10.
  • In another embodiment of the invention, instead of calculating the depth 27 of the fluid 16 in real time, the control circuit 52 can forward the time values 100 of the peaks 94 to the storage device 54 via a tenth line 104, for fluid depth calculations to be determined at a later time. Advantageously, only the peaks that exceed the threshold value 98 are stored in the storage device, thus, reducing the memory requirements of the depth determining system 12.
  • During the depth calculation, the control circuit 52 determines a roundtrip time period, which is the time between the transmission of the ultrasonic wave 22 by the transducer 18 and the receipt of the reflected wave 42 by the transducer. The control circuit can monitor the depth 27 of the fluid 16 in the storage tank 10 at predetermined time intervals based on the roundtrip time period. For example, for a particular application, the control circuit can determine that the roundtrip time period is 5 millisecond and that the fluid in the storage tank should be monitored every 30 seconds.
  • Embodiments of the invention include a temperature sensor (not shown), which is coupled to the control circuit 52 and located near the transducer 18. The temperature sensor is used to monitor the temperature conditions influencing the transducer. The control circuit utilizes the temperature value from the temperature sensor to calculate an adjustment to the depth measurement due to changing temperatures of the fluid 16 and/or the gas 24. For example, when the temperature is 21° C., the total distance traveled by the pulsed wave 22 from the transducer located at the top 20 of a storage tank 10 (see FIG. 1 a) through air is d=v(sound)*t=(331.5+0.6*(21° C.)) m/sec*(0.005 sec)=1.72 meters, which includes a temperature correction. The calculated distance is divided in half since the distance between the transducer and the fluid-gas interface 40 is half the roundtrip distance traveled by the wave 22 and 42. Therefore, when the transducer is located at the top of the storage tank, the amount of fluid in the storage tank can be determined by taking the height 106 of the storage tank, e.g., 6 meters, and subtracting half the distance, d, e.g., d/2=0.86 meters, which results in a calculated value of 5.14 meters of fluid in the storage tank. Similar calculations can be performed for the embodiment illustrated in FIG. 1 b, where the transducer is coupled to the bottom surface 38 of the storage tank.
  • Overall, the present invention provides an accurate measurement of the depth 27 of a fluid 16 in a storage tank 10 because the time period for propagation of the wave 22 and 42 is accurately determined using the filter 48. Only the peak values 94 output from the filter are analyzed, thus, minimizing processing needs. Also, the calculated time period is corrected for variations in temperature.
  • In additional embodiments of the invention, the control circuit 52 generates a pulse-width-modulated (PWM) signal that varies according to the value of the calculated depth 27 of the fluid 16 in the storage tank 10. The PWM signal is provided on an eleventh line 108 to the D/A converter 60, which transforms the PWM signal into a voltage signal ranging in amplitude between approximately 0 volt and approximately +3.3 volts. The signal output from the D/A converter is provided on a twelfth line 110 to the level-signaling circuit 62, which outputs a signal having a voltage and/or current value that correlates to the depth, or level, of the fluid in the storage tank.
  • In additional embodiments of the invention, the level-signaling circuit 62 is an artificial load, which transforms the voltage signal output from the D/A converter 60 into to a load current that ranges in value between approximately +4 mA and approximately +20 mA. The artificial load typically includes a bipolar junction transistor (not shown) having its base coupled to the D/A converter and its collector coupled to Vcc (+5 volts). The value of the load current produced across the artificial load is proportional to the depth of the fluid 16 in the storage tank 10. For example, a load current of approximately +20 mA corresponds to a storage tank that is full of fluid while a load current of approximately +4 mA corresponds to a storage tank that is almost empty. Accordingly, the load current can be provided to an external device (not shown), and, in doing so, provide the external device with the depth of the fluid in the storage tank.
  • As discussed above, the filter 48 is used to determine the roundtrip propagation time of the wave 22 and 42 from the transducer 18, to the fluid-gas interface 40, and back to the transducer. Referring additionally to FIG. 5, the filter can include digital filters 112, however, there are limitations associated with the use of digital filters. In particular, most low-cost processors (not shown) lack the clock speed and the memory space required to implement classical digital signal processing (“DSP”) techniques, which are used in digital filters to improve signal detection and noise immunity.
  • Two approaches commonly are used to implement a digital filter 112. The first approach is to use a shift register 114 in combination with adders 116 and multipliers 118 that are structured to do addition and multiplication operations, respectively. These are called DSP processors. DSP processors run at high clock speeds, and thus, consume more power than is typically available for level measurement applications. Another disadvantage associated with DSP processors is their high cost.
  • In the second approach, the electrical signals generated from the transducer 18 based on the reflected wave 42 are stored in memory 54, and, at a later time, are processed using a low-speed processor (not shown). This method disadvantageously requires additional storage, which adds to the overall cost of the depth determining system 12.
  • Embodiments of the present invention include a version of a finite impulse response (“FIR”) filter 120, which is used to detect sinusoidal signals. The classical implementation of a FIR filter, illustrated in the block diagram of FIG. 5, includes an n-stage shift register 114 for the receipt of a sequence of input samples, where each stage is m samples wide, e.g., m equals 8, 10, or 12. Each stage 122-132 of the shift register has a tap 134 that is coupled to a multiplier 118, which multiplies the value of data in each stage of the shift register by a respective weighting factor, hi, where i is the reference number of the stage in the shift register. The outputs of the n multipliers are summed together using n-l adders 116, each adder having two input terminals 133 and an output terminal 135, resulting in the filter's output signal. Accordingly, for an n-stage shift register, n multiplication operations and n-1 addition operations are required to implement the filter function for the input string of samples.
  • In the case where the signal to be detected is sinusoidal, and the data sample rate is twice the frequency of the signal desired to be detected, the weighting factors, hi, can be reduced to either +1 or −1, as illustrated in FIG. 6. This results in the elimination of the multipliers 1 18 in FIG. 5, and every other adder 116 can be replaced with a subtractor 136, each subtractor having two input terminals 137 and an output terminal 139. Accordingly, the n multiplication operations have been eliminated, and the shift register's stage values merely are added or subtracted to produce the filter output signal. This reduces the processing steps required to produce the filter's output signal to n-i addition and subtraction operations.
  • When the weighting factors, hi, are +1 and −1, as illustrated in FIG. 6, the filter output can be described by the following equation:
    Output(t1)=Input(t1)−(Output(t0)+Xn−1, (t0))
  • where: Output(t0) is the data output from the filter 120 at time t0
  • Xn−1 (t0) is the data in the nth stage 132, or last stage, of the shift register 114 at time t0,
  • Input(t1) is the data input to the 0th stage 122, or first stage, of the shift register at time t1,
  • Output(t1) is the data output from the filter at time t1, t1 is the time at the next clock cycle after time t0.
  • The above equation is derived in the following example that includes an FIR filter 120 having an eight-stage shift register 138, as illustrated in FIG. 7. The shift register has stage values X0(t0), X1 (t0), X2(t0), X3(t0), X4(t0), X5(t0), X6(t0), and X7(t0) at a particular point in time, t0, and the output of the filter is:
    Output(t0)=X0(t0)−X1(t0)+X2(t0)−X3(t0)+X4(t0)−X5(t0)+X6(t0)−X7(t0)
  • After the next clock cycle, at time t1, the eight stages in the shift register 138 have values X0(t1), X1(t1), X2(t1), X3(t1), X4(t1), X5(t1), X6(t1), and X7(t1). Where X0(t1) is the most recent data input to the shift register. The output of the filter 120 at time t1 is:
    Output(t1)=X0(t1)−X1(t1)+X2(t1)−X3(t1)+X4(t1)−X5(t1)+X6(t1)−X7(t1)
    Since X1(t1)=X0(t0), X2(t1)=X1(t0), X3(t1)=X2(t0), X4(t1)=X3(t0), X5(t1)=X4(t0), X6(t1)=X5(t0), and X7(t1)=X6(t0), the output of the filter at time t1 is:
    Output(t1)=X0(t1) X0(t0)+X1(t0)−X2(t0)+X3(t0)−X4(t0)+X5(t0)−X6(t0)
    Output(t1)=X0(t1)−(X0(t0)−X1(t0)+X2(t0)−X3(t0)+X4(t0)−X5(t0)+X6(t0))
    Output(t1)=X0(t1)−(Output(t0)+X7(t0))
    In the general case, for an n-stage shift register, the above equation is:
    Output(t1)=X0(t1)−(Output(t0)+Xn−1(t0))
  • Accordingly, the output of the filter 120 at time t1 can be determined from the output at time t0, the samples input to the shift register 138 at time t0, and the n-1 th stage 132 of the shift register at time t0 using merely one addition operation and one subtraction operation independent of the length of the filter, i.e., the number of stages in the digital filter's shift register.
  • Implementing a digital filter 114 with a sample rate that is twice the signal frequency is not practical. The timing of the sample clock with respect to the phase of the signal input to the filter can result in the signal being sampled at or near it's zero crossing, and thus, the filter output can be zero or very low relative to the output when a sample is taken of the signal at its peak. To resolve this issue, referring to the block diagram of FIG. 8, two digital filters 140 and 142 are used, with one filter 142 that samples the input signal 90 degrees out of phase from the other filter 140. This can be accomplished by sampling the signal input to the A/D converter 46 at four times the desired frequency, and feeding every other sample to one of the two filters. The use of two filters that are 90 degrees out of phase with one another is commonly called a complex filter 144. The two filters shown in FIG. 8 can be, for example, the FIR filters 120 depicted in FIGS. 5, 6, and 7.
  • In this embodiment, the digital filter 144 of FIG. 8 takes the place of the filter 48 illustrated in FIG. 2, and thus, the input signal in FIG. 8, is the signal output from the A/D converter 46 of FIG. 2. In this embodiment, the A/D converter is operated at four times the frequency of the signal output from the signal generator 56. The digitized input signal is provided on a thirteenth line 146 to the first filter 140. The signal output from the first filter is coupled along a fourteenth line 148 to a first circuit 150 that squares the value of the signal output from the first filter. The squared first value is supplied on a fifteenth line 152 to an input terminal 154 of an adder 156.
  • Also, the digitized input signal is provided from the A/D converter 46 on a sixteenth line 158 to the second filter 142. The signal output from the second filter is supplied on a seventeenth line 164 to a second circuit 166 which squares the value of the signal output from the second filter. The squared second value is supplied on an eighteenth line 168 to another input terminal 170 of the adder 156. The signal output from the adder is supplied on a nineteenth line 172 to a circuit 174 that calculates the square root of the adder's output signal. The output of the circuit that calculates the square root is provided on a twentieth line 176 that couples to the threshold and peak detector circuit 50 in FIG. 2. Accordingly, the output of the filter 144 depicted in FIG. 8 is expressed in the below equation:
    Output=SQRT(Output1 2+Output2 2)
    where: Output1 is the signal output from the first filter 140, and Output2 is the signal output from the second filter 142.
  • An approximation of the square root of the sum of the squares calculation, shown in the above equation can be calculated using the following procedure. First, the absolute value is calculated for both Output1 and Output2. Next, the absolute value of Output1 is compared to the absolute value of Output2. An approximation of the output signal, Output, is determined by adding the larger of the absolute values to 3/8 times the smaller of the absolute values as indicated in the following equation:
    Output˜Larger Output+ 3/8*Smaller Output
    where: Larger Ouput is the larger of the absolute value of Output1 and the absolute value of Output2, and
  • Smaller Output is the smaller of the absolute value of Output1 and the absolute value of Output2.
  • Accordingly, when the absolute value of Output1 is greater than the absolute value of Output2, the value of Output is approximated by summing the absolute value of Output1 and 3/8 times the absolute value of Output2. Correspondingly, when the absolute value of Output2 is greater than the absolute value of Output1 , the value of Output is approximated by summing the absolute value of Output2 and 3/8 times the absolute value of Output1.
  • The above approximation of the square root of the sum of the squares calculation for the Output signal can be performed instead using the procedural steps illustrated in the flow diagram of FIG. 9. More specifically, the shift register 114 and 138 of the filter, the first filter 140 for Output or the second filter 142 for Output2 , is shifted twice to the right 178 and 180 for the signal, either Output1 or Output2, having the smaller absolute value. Next, the value of the shift register for the signal having the smaller absolute value is added 182 to the absolute value of the signal having the larger absolute value. Next, the shift register for the signal having the smaller absolute value is shifted once more to the right 184, and then added 186 to the previous sum. This procedure is used in place of the first and second circuits 150 and 166 that square the value of the filter outputs, the adder 156, and the circuit 174 that calculates the square root in the embodiment illustrated in FIG. 8.
  • The above embodiments of the present invention advantageously provide a simple FIR filter 120 that can be realized using only one addition operation and one subtraction operation per input sample regardless of the length of the digital filter. Also, embodiments of the present invention advantageously provide for a complex filter 144 that includes two FIR filters 140 and 142, each of which can be implemented using only one addition operation and one subtraction operation regardless of the length of the filters. Thus, the two FIR filters included in the complex filter can be implemented using only a total of two addition operations and two subtraction operations.
  • FIG. 10 illustrates another version 188 of an FIR filter 120 that is used in embodiments of the present invention to detect sinusoidal input signals. The filter illustrated in FIG. 10 is a simplification of the filter 120 depicted in FIG. 6. The filter illustrated in FIG. 10 includes an n-stage shift register 194, a subtractor 196, an adder 198, and a storage register 200. The n-stage shift register receives samples input to the filter. The first and last stages 202 and 204, respectively, of the n-stage shift register have taps 206 and 208, respectively, that are coupled to an input terminal 210 of the subtractor and an input terminal 212 of the adder, respectively. The other input terminal 214 of the adder is coupled to an output terminal 216 of the storage register, and receives the previous filter output signal (Output(t−1)) that is stored in the storage register. The other input terminal 218 of the subtractor is coupled to an output terminal 220 of the adder, and receives the output of the adder. The output signal on an output terminal 222 of the subtractor is received by the storage register at the storage register's input terminal 224. The overall output signal of the filter is the signal at the subtractor's output, which is the value in the last stage of the n-stage shift register added to the value in the storage register, and then that total subtracted from .the value in the first stage of the n-stage shift register.
  • FIG. 11 illustrates an example case 226 of the filter 188 illustrated in FIG. 10 where n equals eight. The eight-stage shift register 228 has stage values X0(t0), X1(t0), X2(t0), X3(t0), X4(t0), X5(t0), X6(t0), and X7(t0) at a particular point in time t0, and the output of the filter is:
    Output(t0)=X0(t0)−(Output(t−1)+X7(t0))
    Thus, the filters illustrated in FIGS. 10 and 11 advantageously reduce the total number of arithmetic operations performed by these filters in comparison to the filters 120 illustrated in FIGS. 6 and 7. Thus, the filters illustrated in FIGS. 10 and 1 are faster than the filters illustrated in FIGS. 6 and 7.
  • FIG. 12 illustrates another FIR filter 230 that is used in embodiments of the present invention. The filter illustrated in FIG. 12 is an approximation of the filter 188 illustrated in FIG. 10. The filter illustrated in FIG. 12 includes a two-stage shift register 232, a first subtractor 234,.an n/2-stage shift register 236, a second subtractor 238, an adder 240, and a storage register 242. The two-stage shift register receives samples input to the filter. Each stage 244 and 246 of the two-stage shift register has a tap 248 and 250, respectively, that is coupled to an input terminal 252 and 254, respectively, of the first subtractor, which subtracts the output of the first stage, X0, from the output of the second stage, X1. The output signal on an output terminal 256 of the first subtractor, i.e., X0-X1 is received by both the n/2-stage shift register and a first input terminal 258 of the second subtractor. The n/2th stage 260 of the n/2-stage shift register includes a tap 262 that is coupled to the second input terminal 264 of the second subtractor, which subtracts the output of the n/2th stage from the output of the first subtractor. An output terminal 266 of the second subtractor is coupled to a first input terminal 268 of the adder. A second input 270 of the adder is coupled to an output terminal 271 of the storage register, and an input terminal 272 of the storage register is coupled to an output terminal 273 of the adder. The overall output of the filter is the signal at the output terminal 273 of the adder, which is the value in the storage register subtracted from the value output from the second subtractor.
  • FIG. 13 illustrates an example case 274 of the filter 230 illustrated in FIG. 12 where n equals eight. The four-stage shift register 276 has stage Values X0(t0)−X1(t0), X2(t0)−X3(t0), X4(t0)−X5(t0), and X6(t0)−X7(t0) at a particular point in time t0, and the output of the filter illustrated in FIG. 13 is:
    Output(t0)=X0(t0)−X1(t0)−X6(t0)+X7(t0)+Output(t−1)
    Thus, the embodiments of the filters 230 and 274 illustrated in FIGS. 12 and 13, respectively, advantageously reduce the total number of arithmetic operations performed by the filters, and thus, are faster, in comparison to the filters 188 and 238 illustrated in FIGS. 10 and 11, respectively. The advantage of filters 230 and 274 over filters 188 and 226 is that the filter is run once for every two data points received at the input (X0and X1), and thus, are faster in comparison.
  • The filters 188, 226, 230, and 274 illustrated in FIGS. 10, 11, 12, and 13, respectively, can be the first and second filters 140 and 142 included in the complex filter 144 illustrated in FIG. 8. In which case, the sign and amplitude components of the real and imaginary terms of the input data can be examined and compared to determine a more precise alignment of the filter to the input data. Even though the complex filter is a coarse filter, an adjustment can be made after examining the sign and amplitude of the first and second filter outputs to achieve a filter output resolution equal to running the filter at full speed.
  • More specifically, referring to FIG. 14, signal peaks are stored in a peak buffer (not shown) included in the threshold and peak detector 50 using the following process. First, the filter is run Y times 278, and a maximum value and an index value of the maximum value of the filter output is stored during the Y times that the filter was run by the threshold and peak detector. Next, each measured maximum value is compared to a threshold value 280 by the threshold and peak detector. If the maximum value is above the threshold value 98, then the maximum value is compared to the value stored in the peak buffer 282. If the new maximum value is larger than the value in the peak list, then the maximum value and an index value, associated with the peak, that is included in a peak list is stored at memory location Z in the peak buffer. Next, the threshold value is set equal to half the maximum value 284. In this way, the threshold value is large enough to prevent the storage of erroneous maximum values, i.e., measurements of the baseline noise 76 that are incorrectly determined to be a peak. Thus, the output of the filter is stored in the peak buffer in place of the last measured peak value, and the threshold is set to half the maximum value. Next, the filter again is run Y times.
  • If the maximum value is not greater than the threshold value 98, then the threshold and peak detector 50 set the threshold value equal to the smaller of twice the maximum value or twice the current threshold 286. The threshold value is recalculated in this manner to avoid the detection of peaks in the baseline noise 76, and to insure detection of peaks 94 that occur later in time. Next, memory location Z of the peak buffer (not shown) is checked to see if the peak buffer location Z has a value of 0 (the peak buffer includes multiple memory address locations) 288. If so, the filter again is run Y times 278. If the memory location Z is not 0, memory location Z in the peak buffer is incremented 290 by the threshold and peak detector, so that the last peak is stored in the peak buffer and the pointer is moved to a new peak location in the peak buffer. The filter again is run Y times. Thus, when the measured maximum is not greater than the threshold, a new threshold value is calculated, and a test is performed to see if peak values were stored in the peak buffer. If so, then the peak is stored at another memory location after pointing to a new location in the peak buffer.
  • The previously mentioned adjustments to the filter 120, 188, 226, 230, and 274 are better understood in reference to FIGS. 15 and 16 a-c. Example sinusoidal data 292 input to a four stage (n=4) filter is illustrated in FIG. 15. In particular, the four samples 294-300 of the input filter's first stage 232 are shown for four different cases 234-240. Each of the cases represents the sinusoidal input signal having a different phase delay. Each sinusoidal input signal has been sampled by the analog-to-digital converter 46 and stored in an input buffer (not shown), included in the analog-to-digital converter, at four different times as represented by data sample D0 294, D1 296, D2 298, and D3 300, where D0 is the most recent sample and D3 is the oldest sample in the input buffer. The peaks 302 and 304 of the sinusoidal input signal 306 line up with the sample times 308-314 of the input filter in the four different cases illustrated in FIG. 15.
  • In case 1 234, the data 292 at sample D3 294 is high and equals +1, the data at sample D2 296 equals 0, the data at sample D1 298 is low and equals −1, and the data at sample D0 300 equals 0. In case 2 236, the sinusoidal input signal 306 is delayed 90 degrees with respect to the sinusoidal input signal of case 1, and thus, the data at sample D3 is 0, the data at sample D2 is high and equals +1, the data at sample D1 equals 0, and the data at sample D0 is low and equals −1. In case 3 238, the sinusoidal input signal is delayed 90 degrees with respect to the sinusoidal input signal of case 2, and thus, the data at sample D3 is low and equals −1, the data at sample D2 equals 0, the data at sample D1 is high and equals +1, and the data at sample D0 equals 0. In case 4 240, the sinusoidal input signal is delayed 90 degrees with respect to the sinusoidal input signal of case 3, and thus, the data at sample D3 equals zero, the data at sample D2 is low and equals −1, the data at sample D1 equals 0, and the data at sample D0 is high and equals +1.
  • The filter selection outputs 316 shown in FIG. 1 5 represent the real and imaginary component 318 and 320, respectively, of the sampled sinusoidal input signal 306. Referring additionally to FIG. 8, in the general case, the real and imaginary components are the signals output from the first filter 140 and second filter 142, respectively. More specifically, in the example of FIG. 15, R, the real component of the sampled input signal, and I, the imaginary component of the sampled input signal, are determined based on the following equations:
    R=D1−D3
    I=D0−D2
    In the complex filter scenario, the first filter filters the real component, R, of the sampled input signal and a second filter filters the imaginary component, I, of the sampled input signal.
  • Referring additionally to the process 322 illustrated in FIG. 16 a, in one embodiment of the present invention, the number of samples taken for each time the filter is run, value Y discussed previously (see step 278 of FIG. 14), of the sinusoidal input signal 306 by the analog-to-digital converter 46 is set equal to four. The four samples of the sinusoidal input signal are taken at four times over sampling 324. Steps 326, 328, and 330 are implemented in the filter 230 of FIG. 12. In step 326, the value TempR at the output of the first subtractor 256, a temporary value for storing the real component of the sampled input signal in the memory buffer (not shown), is set equal to the value of sample D2 296 (X1 at tap 250) subtracted from the value of sample D0 300 (X0at tap 248). Another value A (at the output 266 of the second subtractor 238), another temporary value, is set equal to the value X′, which equals Xn−2−Xn−1 (at the tap 262 of the n/2th stage 260), subtracted from TempR 328. Thus, the value that is output from the two-stage buffer 190 and 244 shown in FIGS. 10, 11, 12, and 13 is subtracted from, and then placed into, TempR. Next, the value X′, the last value in the shift register 236, is subtracted from the value of TempR. Then, in the next step 330, TempR is set equal to A added to the value of OutR, the output of the filter, which is stored-in the storage register 242 and equals the real component of the filter's output from the last time the filter was run. Next, the OutR value is set equal to the value of TempR.
  • Next, the value of TempR is checked to see if it is positive 332. If the value of TempR is greater than 0, Temp R is positive, and the ring buffer pointer is incremented 334. If the value of TempR is not greater than 0, then value of TempR is negated, i.e., TempR equals the negative of TempR, the value of Aux, which is initially set equal to the hex value of 0203 336, is set equal to the value of Aux ended with the hex value FFFD 338, and then, the ring buffer pointer is incremented. Thus, if TempR is not greater than 0, the value of TempR is negative, the value of TempR is inverted and the correction register, i.e., the Aux register, is adjusted by anding the value in the Aux register with FFFD to reset bit 1 of the Aux register.
  • Next, referring to FIG. 16 b, the imaginary component 320 is calculated by again implementing the filter of FIG. 12 using data input values D1 298 and D3 294, as was discussed previously for the real component using input values DO 300 and D2 296. The second filer 142 is use to implement the steps 340, 342, and 344 in FIG. 16b.
  • Next, the value of TempI is compared to the number 0 346. If the value of TempI is greater than 0, then TempI is positive, and the ring buffer pointer is incremented 348. If the value of TempI is not greater than 0, then the value of TempI is inverted, the Aux value is ended with the hex value FDFF 350, and the ring buffer pointer is incremented.
  • Next, referring to FIG. 16 c, the value of TempR is compared to the value of TempI 352. If the value of TempR is greater than the value of TempI, then the two upper bits of the Aux register are cleared 354. This process can be seen in the example case 2 236 and example case 4 240 of FIG. 15, where the magnitude of the real component of the filter's output is greater than the imaginary component of the filter's output, and the lower two bits of the Aux register 354 within the square 356 are kept and the upper two bits of the Aux register are cleared resulting in the correction values 358. Referring additionally to FIG. 9, the value of TempR is set equal to the value of TempR added to three eights of the value of TempI 360 to approximate a square root of a sum of squares calculation.
  • Correspondingly, if the value of TempR is not greater than the value of TempI, the upper two bits of the Aux register are swapped with the lower two bits of the Aux register, and the resulting upper two bits of the Aux register are cleared 362. This process can be seen in the example case 1 234 and example case 3 238 of FIG. 15, where the upper two bits of the Aux register, within the square 364, are swapped with the lower two bits of the Aux register, and only the resulting lower two bits of the Aux register, i.e., the two bits within the square, are kept and the upper two bits of the Aux register are cleared resulting in the correction values 358. Next, referring additionally to FIG. 9, the value of TempR is set equal to the value of TempI added to three eights of the value of TempR 366 to approximate a square root of a sum of squares calculation. By checking the value of the real component, TempR, and the imaginary component, TempI it can be determined whether the peak occurred at sample D0 294, D1 296, D2 298, or D4 300.
  • The resulting correction values 358 shown in FIG. 15 indicate the amount of difference in alignment, i.e., difference in phase, between the assumed phase of the filter when constructed, defined by the coefficients that define the filter, and the sinusoidal input signal 306. Referring additionally to FIG. 5, h0 was assumed to be +1 for the further reductions in the filter complexity shown in FIGS. 6, 10, and 12. No correction is needed for case 1 234, a correction of 1 is needed for case 2 236, a correction of 2 is needed for case 3 238, and a correction of 3 is needed for case 4 240. Thus, the correction value can be used by the system 12 to more precisely align the sample times of the analog-to-digital converter and the input data.
  • Next, the value of TempR is compared to the peak maximum value 368. If TempR is greater than the maximum value, then the maximum value is set equal to the value of TempR and value of the AUX register is subtracted from the index pointer 370. Thus, the index counter is corrected by subtracting the value of the Aux register. Next, four is added to the index pointer 372. If the value of TempR is not greater than the maximum value, then four is added to the index counter.
  • Advantageously, embodiments of the present invention provide for the use of a filter structure that allows the filtering and threshold process to be performed in real time, thus, reducing the memory storage requirements without the need of a high-speed processor. Since the depth detection system 12 does not require a high-speed processor, a lower-cost low-speed processor can be used. Also, embodiments of the filter 48. according to the present invention provide for improved signal detection and high immunity to noise.
  • The foregoing detailed description of the present invention is provided for purposes of illustration, and it is not intended to be exhaustive or to limit the invention to the particular embodiments disclosed. The embodiments may provide different capabilities and benefits, depending on the configuration used to implement the key features of the invention. For example, the matched filtering technique discussed in the detailed description can be used to detect many types of signals, e.g., a radar signal or an infrared signal, which may be transmitted from an external source. Depending upon the characteristics of the signal, only a subset of the components included in the depth determining system 12 illustrated in FIG. 2 would be used detect and filter the signal. Furthermore, additional components, beyond those depicted in FIG. 2, may be used to implement the matched filtering technique. Accordingly, the scope of the invention is defined only by the following claims.

Claims (18)

1.-32. (canceled)
33. A finite impulse response filter comprising:
a. an n-stage register, where n is an integer that is greater than one;
b. a subtractor having a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal;
c. an adder having a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal; and
d. a storage register having an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
34. A finite impulse response filter comprising:
a. a two-stage shift register;
b. a first subtractor having two input terminals and an output terminal, where each of the first subtractor input terminals is coupled to one of the stages of the two-stage shift register;
c. an n/2-stage shift register, where n is an even integer greater than or equal to four, having an input terminal that is coupled to the output terminal of the first subtractor;
d. a second subtractor having a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/2th stage of the n/2-stage shift register, and an output terminal;
e. an adder having a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal; and
f. a storage register having an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
35. A finite impulse response filter configured to receive a digital input signal and to produce a digital output signal, the finite impulse response filter comprising:
a. an input terminal that receives a digital input signal;
b. a shift register that stores a succession of values based on the digital input signal; and
c. a circuit that generates a filtered digital output signal based on (1) the previous value of the filtered digital output signal, (2) the current value of the digital input signal, and (3) a value stored in the shift register.
36. The finite impulse response filter defined in claim 35, wherein:
a. the shift register includes n stages, where n is an integer that is greater than one; and
b. the circuit comprises
i. a subtractor that is coupled to the n-stage shift register,
ii. an adder that is coupled to both the n-stage shift register and the subtractor, and
iii. a storage register that is coupled to both the adder and the subtractor.
37. The finite impulse response filter defined in claim 36, wherein:
a. the subtractor has a first input terminal that is coupled to one of the stages of the n-stage shift register, a second input terminal, and an output terminal;
b. the adder has a first input terminal that is coupled to another of the stages of the n-stage shift register, a second input terminal, and an output terminal that is coupled to the subtractor's second input terminal; and
c. the storage register has an input terminal that is coupled to the subtractor's output terminal, and an output terminal that is coupled to the adder's second input terminal.
38. The finite impulse response filter defined in claim 35, wherein:
a. the shift register has n/2 stages, where n is an even integer greater than or equal to four; and
b. the finite impulse response filter further comprises
i. a two-stage shift register,
ii. a first subtractor coupled to the two-stage shift register and to the n/2-stage shift register,
iii. a second subtractor coupled both to the first subtractor and to the n/2-stage shift register,
iv. an adder coupled to the second subtractor, and
V. a storage register coupled to the adder.
39. The finite impulse response filter defined in claim 38, wherein:
a. the first subtractor has two input terminals and an output terminal, and each of the first subtractor's input terminals is coupled to one of the stages of the two-stage shift register;
b. the n/2-stage shift register has an input terminal that is coupled to the output terminal of the first subtractor;
c. the second subtractor has a first input terminal that is coupled to the output terminal of the first subtractor, a second input terminal that is coupled to the n/2th stage of the n/2-stage shift register, and an output terminal;
d. the adder has a first input terminal that is coupled to the second subtractor's output terminal, a second input terminal, and an output terminal; and
e. the storage register has an input terminal that is coupled to the adder's output terminal, and an output terminal that is coupled to the adder's second input terminal.
40. The finite impulse response filter defined in claim 38, wherein the finite impulse response filter is configured to calculate a digital output signal at time t0, Output (t0), based on (1) the digital input signal at time to, Input (t0); (2) the digital output signal at time t1, Output (t1); and (3) a data value in the final stage of the n/2-stage shift register at time t0, Xn−2(t0)−Xn−1(t0), where t0 is the time at the current clock cycle and t1 was the time at the previous clock cycle, and Output (t0) is calculated based on the following equation:

Output (t0)=Input (t0)−Input (t1)−Xn−2(t0)+Xn−1(t0)+Output (t1).
41. The finite impulse response filter defined in claim 38, wherein:
a. the two-stage shift register is configured to store the current value of the digital input signal, Input (t0), and the previous value of the digital input signal, Input (t1);
b. the first subtractor is configured to determine the difference between Input (t0) and Input (t0), to produce a difference value X0−X1;
c. the n/2-stage shift register is configured to store previous n/2 successive difference values produced by the first subtractor;
d. the second subtractor is configured to determine the difference between the current difference value X0−X1 and the difference value stored in the final stage of the n/2-stage shift register, Xn−2−Xn−1, to produce an output value;
e. the adder is configured to determine the sum of the current output value produced by the second subtractor and the previous value of the digital output signal, Output (t1), to produce the current value of the digital output signal, Output (t0); and
f. the storage register is configured to store the previous value of the digital output signal, Output (t1), and provide it to the adder.
42. The finite impulse response filter defined in claim 38, wherein the finite impulse response filter is configured to calculate a digital output signal at time t0, Output (t0), based on (1) the difference between the digital input signal at time t0, Input (t0), and the digital input signal at time t1, Input (t1); (2) a digital output signal at time t1, Output (t1); and (3) the difference between the digital input signal at time tn−2, Input (tn−2), and the digital input signal at time tn−, Input (tn−1), which is stored in the final stage of the n/2-stage shift register at time t0.
43. A complex digital filter configured to produce a filtered digital output signal based on a sinusoidal input signal having a prescribed nominal frequency, the complex digital filer comprising:
a. an input circuit that samples the sinusoidal input signal at twice the prescribed nominal frequency, to produce first and second digital input signals that are 90 degrees out of phase with each other;
b. a first finite impulse response filter comprising
i. a first shift register that stores a succession of values based on the first digital input signal, and
ii. a first processor circuit that generates a first digital output signal based on (1) the previous value of the first digital output signal, (2) the current value of the first digital input signal, and (3) a value stored in the first shift register;
c. a second finite impulse response filter comprising
i. a second shift register that stores a succession of values based on the second digital input signal, and
ii. a second processor circuit that generates a second digital output signal based on (1) the previous value of the second digital output signal, (2) the current value of the second digital input signal, and (3) a value stored in the second shift register; and
d. an output circuit responsive to the first and second digital output signals, to produce a filtered digital output signal.
44. The complex digital filter defined in claim 43, wherein the output circuit calculates a square root of a sum of squares value of the first and second digital output signals.
45. The complex digital filter defined in claim 43, wherein the output circuit calculates an approximate value of a square root of a sum of squares value by adding the larger of an absolute value of the first digital output signal and an absolute value of the second digital output signal to 3/8 times the smaller of the absolute value of the first digital output signal and the absolute value of the second digital output signal.
46. The complex digital filter defined in claim 45, wherein the approximate value of the square root of the sum of squares value is calculated by:
a. shifting the n/2-stage shift register to the right twice for the first or second finite impulse response filter that has the smaller absolute value of output signal;
b. adding an output of the twice right-shifted, n/2-stage shift register to the output of the first or second finite impulse response filter that has the larger absolute value, resulting in a first added value;
c. shifting the n/2-stage shift register having the smaller absolute value of output signal once more to the right; and
d. adding the output of the thrice right-shifted, n/2-stage shift register to the first added value.
47. The complex digital filter defined in claim 43, wherein the output circuit is configured to determine the phase difference between the digital input signal and coefficients that define the filter.
48. The complex digital filter defined in claim 43, wherein:
a. the first and second shift registers each include n stages, where n is an integer that is greater than one; and
b. the first and second processor circuits each comprise
i. a subtractor that is coupled to the n-stage shift register,
ii. an adder that is coupled to both the n-stage shift register and the subtractor, and
iii. a storage register that is coupled to both the adder and the subtractor.
49. The complex digital filter defined in claim 43, wherein:
a. the first and second shift registers each have n/2 stages, where n is an even integer than or equal to four; and
b. the first and second finite impulse response filter each further comprise
i. a two-stage shift register,
ii. a first subtractor coupled to the two-stage shift register and to the n/2-stage shift register,
iii. a second subtractor coupled both to the first subtractor and to the n/2-stage shift register,
iv. an adder coupled to the second subtractor, and
v. a storage register coupled to the adder.
US11/411,669 2003-10-01 2006-04-25 Finite impulse response filter Abandoned US20060192567A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/411,669 US20060192567A1 (en) 2003-10-01 2006-04-25 Finite impulse response filter

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50789703P 2003-10-01 2003-10-01
US10/945,419 US7098669B2 (en) 2003-10-01 2004-09-20 Depth determining system
US11/411,669 US20060192567A1 (en) 2003-10-01 2006-04-25 Finite impulse response filter

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/945,419 Division US7098669B2 (en) 2003-10-01 2004-09-20 Depth determining system

Publications (1)

Publication Number Publication Date
US20060192567A1 true US20060192567A1 (en) 2006-08-31

Family

ID=34434892

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/945,419 Expired - Lifetime US7098669B2 (en) 2003-10-01 2004-09-20 Depth determining system
US11/411,669 Abandoned US20060192567A1 (en) 2003-10-01 2006-04-25 Finite impulse response filter

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/945,419 Expired - Lifetime US7098669B2 (en) 2003-10-01 2004-09-20 Depth determining system

Country Status (6)

Country Link
US (2) US7098669B2 (en)
EP (1) EP1676103A2 (en)
JP (1) JP2007508544A (en)
CN (1) CN100565131C (en)
TW (1) TWI343473B (en)
WO (1) WO2005036105A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012117052A1 (en) * 2011-03-03 2012-09-07 Continental Automotive Gmbh Arrangement and method for determining a concentration of a constituent of a fluid mixture
CN114928349A (en) * 2022-06-27 2022-08-19 奉加微电子(昆山)有限公司 Continuous time pipeline analog-to-digital converter and digital reconstruction filter thereof

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334470B1 (en) * 2004-09-30 2008-02-26 Siemens Milltronics Process Instruments, Inc. Digital interface and receiver for time-of-flight level measurement and pulse-echo ranging systems
US7679996B2 (en) * 2005-06-13 2010-03-16 Robert Ray Gross Methods and device for ultrasonic range sensing
DE102005041455A1 (en) * 2005-08-31 2007-03-15 Abb Patent Gmbh Automated device e.g. field device and control device, has first program assigned to microcontroller for conversion of data bit stream and second program assigned to microcontroller for recognition of frequency-modulated line signal
DE102005043479A1 (en) * 2005-09-13 2007-03-15 Abb Patent Gmbh Automation technology device for communication of spatially distributed functional units, has chain network with two comparators, scanning level, time-delay relay and mixer stage whereby output of scanning level is connected to mixer input
DE102005043481A1 (en) * 2005-09-13 2007-03-15 Abb Patent Gmbh Automation technical device e.g. protocol converter, for use as component of higher-level device, has counter and microcontroller, where program execution of microcontroller is interrupted by interrupt request for handling counter
DE102005043485A1 (en) 2005-09-13 2007-03-15 Abb Patent Gmbh Automation technical equipment has several spatial distributed functional units whereby they communicate with each other by means of common transmission protocol
DE102005043482A1 (en) * 2005-09-13 2007-03-15 Abb Patent Gmbh Automation technology device for communication among of spatially distributed functional units, has ladder network with monoflop, scanning device, low-pass filter and comparator, for reconstruction of received data
US8803683B2 (en) * 2006-09-13 2014-08-12 Trackpoint Systems, Llc System, method, and device for measuring and reporting changing levels of liquids in storage tanks
DE102007009451B4 (en) * 2007-02-27 2010-04-01 Uts Biogastechnik Gmbh Biogas plant fermenter with a motor-height-adjustable submersible mixer
US7775106B2 (en) * 2008-02-01 2010-08-17 Schlumberger Technology Corporation Non-contact radar based level measurement device
US20110232381A1 (en) * 2010-03-25 2011-09-29 Al-Absi Munir A System for monitoring liquid level in underground storage tank
CN101839747A (en) * 2010-04-30 2010-09-22 常州联力自动化科技有限公司 Ultrasonic water level sensor for mines
US8583387B2 (en) 2010-06-04 2013-11-12 Ssi Technologies, Inc. Ultrasonic level, on-board diagnostic assessment
CN102721942A (en) * 2012-06-29 2012-10-10 中国科学院声学研究所 Acoustic positioning system and acoustic positioning method for object in building environment
US11566932B2 (en) 2014-07-09 2023-01-31 Husky Corporation Sonic monitor system for a tank
EP3147774A1 (en) * 2015-09-25 2017-03-29 Gemalto Sa Random clock generator
US10408663B2 (en) 2016-04-08 2019-09-10 Flowline, Inc. Ultrasonic level sensor with reflectors
US11002587B2 (en) 2016-04-08 2021-05-11 Flowline, Inc. Ultrasonic level sensor with sound trap
JP6665792B2 (en) * 2017-01-16 2020-03-13 株式会社デンソー Liquid level detector
US10802111B2 (en) 2017-02-06 2020-10-13 Magnetrol International, Inc. Through air radar level transmitter with measurement of first moving echo
JP7243171B2 (en) * 2018-12-18 2023-03-22 株式会社Soken Object detection device

Citations (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2188628A (en) * 1936-11-27 1940-01-30 Siemens App Und Maschinen Gmbh Measuring instrument
US2852937A (en) * 1955-04-07 1958-09-23 Honeywell Regulator Co Liquid level indicating apparatus
US3243702A (en) * 1964-11-27 1966-03-29 Honeywell Inc Control apparatus
US3535637A (en) * 1967-10-26 1970-10-20 Saab Ab Calibration of electrical measuring transducer devices
US3680365A (en) * 1970-02-17 1972-08-01 Mcgarvey G Summers Strain gage monitor
US3710244A (en) * 1971-01-11 1973-01-09 G Rauchwerger Capacitance probe for detecting moisture with very long cables
US3720813A (en) * 1971-08-23 1973-03-13 Damon Corp Interpolative readout apparatus
US3740533A (en) * 1970-01-23 1973-06-19 Ballast Nedam Groep Nv Method of controlling a process and apparatus for the performance of the method
US3797311A (en) * 1972-02-11 1974-03-19 R Blanchard Fluid level meter
US3864974A (en) * 1971-01-11 1975-02-11 George P Rauchwerger Capacitance probe and system for precision measurement of liquid level
US3890836A (en) * 1973-10-15 1975-06-24 Draf Tool Co Inc Automatic temperature control system analyzer
US3913084A (en) * 1973-03-26 1975-10-14 Wisconsin Alumni Res Found Noise quality detector for electric motors or other machines
US3958159A (en) * 1972-11-27 1976-05-18 Rauchwerger George P Capacitance probe and system for precision measurement of liquid level
US4000650A (en) * 1975-03-20 1977-01-04 Bindicator Company Method and apparatus for ultrasonic material level measurement
US4101865A (en) * 1975-10-24 1978-07-18 Endress & Hauser Gmbh & Co. Sonic echo-sounder for the measurement of levels of substances
US4130018A (en) * 1977-08-30 1978-12-19 Envirotech Corporation Ultrasonic transducer with reference reflector
US4145914A (en) * 1977-07-25 1979-03-27 Jack A. Perry Echo location system which provides for measuring liquid level and flow rate and flow volume of flowing liquids
US4170765A (en) * 1975-04-17 1979-10-09 Marvtek, Corporation Liquid level sensor
US4176396A (en) * 1977-09-23 1979-11-27 The Charles Stark Draper Laboratory, Inc. Apparatus for directly measuring machine tool wear
US4183007A (en) * 1978-02-22 1980-01-08 Fischer & Porter Company Ultrasonic transceiver
US4201093A (en) * 1978-07-20 1980-05-06 Metriguard, Inc. Ultrasonic sheet material testing apparatus
US4201085A (en) * 1978-12-14 1980-05-06 Larson Roger G Apparatus for determining the liquid level in a tank
US4264788A (en) * 1979-01-31 1981-04-28 Princo Instruments, Inc. Damped ultrasonic detection unit
US4295370A (en) * 1979-03-12 1981-10-20 Emhart Industries, Inc. Capacitive scheme for measuring the level of a liquid
US4404841A (en) * 1981-03-28 1983-09-20 Robert Bosch Gmbh Optical combustion sensor system
US4480476A (en) * 1981-06-24 1984-11-06 Samodovitz Arthur J Process for causing an interface to vibrate and then truncating resulting ringing
US4530372A (en) * 1982-09-09 1985-07-23 Conoco Inc. Liquid level controller
US4570155A (en) * 1982-09-27 1986-02-11 Gateway Scientific, Inc. Smoke alarm activated light
US4596144A (en) * 1984-09-27 1986-06-24 Canadian Corporate Management Co., Ltd. Acoustic ranging system
US4603581A (en) * 1984-02-14 1986-08-05 Nippon Soken, Inc. Sensing apparatus
US4619002A (en) * 1984-07-02 1986-10-21 Motorola, Inc. Self-calibrating signal strength detector
US4671124A (en) * 1986-04-03 1987-06-09 Productronix, Inc. Load monitor for cyclic machine
US4676100A (en) * 1984-10-31 1987-06-30 Berwind Corporation Capacitance-type material level indicator
US4716536A (en) * 1985-04-16 1987-12-29 The Foxboro Company Measurement calibration
US4785411A (en) * 1986-08-29 1988-11-15 Motorola, Inc. Cascade filter structure with time overlapped partial addition operations and programmable tap length
US4868797A (en) * 1987-09-23 1989-09-19 Fischer & Porter Company Time-shared AGC for ultra-sound liquid level meter
US4984449A (en) * 1989-07-03 1991-01-15 Caldwell System Corp. Ultrasonic liquid level monitoring system
US5017909A (en) * 1989-01-06 1991-05-21 Standex International Corporation Capacitive liquid level sensor
US5031068A (en) * 1987-11-06 1991-07-09 Hansen Technologies Corporation Liquid level control system for refrigeration apparatus
US5099454A (en) * 1989-07-20 1992-03-24 Materiel Et Auxiliaire De Signalisation Et De Controls Pour L'automation Liquid presence detector having a composite waveguide for acoustic waves
US5111683A (en) * 1989-08-16 1992-05-12 Hospal Industrie Calibration method for a pulse response flowmeter
US5131271A (en) * 1990-04-16 1992-07-21 Magnetrol International, Inc. Ultrasonic level detector
US5162748A (en) * 1991-11-29 1992-11-10 General Electric Company Switchable FET distortion generator
US5245333A (en) * 1991-09-25 1993-09-14 Rosemount Inc. Three wire low power transmitter
US5317520A (en) * 1991-07-01 1994-05-31 Moore Industries International Inc. Computerized remote resistance measurement system with fault detection
US5345426A (en) * 1993-05-12 1994-09-06 Hewlett-Packard Company Delay interpolator for digital phased array ultrasound beamformers
US5372029A (en) * 1990-09-22 1994-12-13 Brandes; Bernd Method of monitoring the quality of an object or state
US5483501A (en) * 1993-09-14 1996-01-09 The Whitaker Corporation Short distance ultrasonic distance meter
US5513531A (en) * 1993-09-01 1996-05-07 Combustion Engineering, Inc. Ultrasonic system for measurement of thin layers
US5546005A (en) * 1995-01-09 1996-08-13 Flowline Inc. Guarded capacitance probe and related measurement circuit
US5550790A (en) * 1995-02-10 1996-08-27 Kistler-Morse Corporation Acoustic transducer for level measurement in corrosive chemical environments
US5553479A (en) * 1993-03-24 1996-09-10 Flowline Inc. Threshold level calibration method and apparatus
US5578764A (en) * 1994-07-11 1996-11-26 Yokogawa Electric Corporation Coriolis type mass flowmeter utilizing phase shifters for phase shifting of the output signals
US5586068A (en) * 1993-12-08 1996-12-17 Terayon Corporation Adaptive electronic filter
US5648987A (en) * 1994-03-24 1997-07-15 Samsung Electronics Co., Ltd. Rapid-update adaptive channel-equalization filtering for digital radio receivers, such as HDTV receivers
US5737963A (en) * 1995-09-28 1998-04-14 Endress+Hauser Gmbh +Co. Ultrasonic transducer
US5822274A (en) * 1996-04-12 1998-10-13 Flowline Inc. Method and apparatus for acoustically measuring the level of liquid in a tank
US5895848A (en) * 1996-01-16 1999-04-20 Flowline Inc. Apparatus and method for level sensing in a container
US5912826A (en) * 1994-12-24 1999-06-15 Cambridge Consultants Limited Data processing method and apparatus
US5930200A (en) * 1998-05-08 1999-07-27 Garmin Corporation Depth sounder with object identification feature
US5937010A (en) * 1992-03-26 1999-08-10 Rockwell Semiconductor Systems, Inc. Sample interpolator and method of generating additional samples of a sampled waveform using a programmable sample divider
US5968111A (en) * 1997-02-04 1999-10-19 Medison Co., Ltd. Circular median filter
US5996407A (en) * 1996-06-14 1999-12-07 Parker-Hannifin Corporation Multi-frequency ultrasonic liquid level gauging system
US20020002572A1 (en) * 2000-06-12 2002-01-03 Masami Kanasugi Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter
US6360240B2 (en) * 1998-01-29 2002-03-19 Sanyo Electric Co., Ltd. Digital filters
US6484088B1 (en) * 1999-05-04 2002-11-19 Ssi Technologies, Inc. Fuel optimization system with improved fuel level sensor
US6665695B1 (en) * 2000-01-14 2003-12-16 Texas Instruments Incorporated Delayed adaptive least-mean-square digital filter
US6718354B1 (en) * 1996-07-01 2004-04-06 Sun Microsystems, Inc. Signal interpolation and decimation exploiting filter symmetry
US6750798B2 (en) * 2002-05-10 2004-06-15 Denso Corporation Apparatus for processing knock sensor signal
US6868431B1 (en) * 1999-10-25 2005-03-15 Freescale Semiconductor, Inc. Circuit and method for processing data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE67915C (en) * R. KARGES in Braunschweig Meat cutting machine
DE52010C (en) * 1884-12-18 1890-05-10 H. J. E. jensen in Hamburg, Rodingsmarkt 1 Cleaning device on drum filters. (6
DE3933474C2 (en) 1989-10-06 1994-01-27 Endress Hauser Gmbh Co Level measuring device
US5050423A (en) 1989-12-04 1991-09-24 Motorola, Inc. Multi-variable sensor calibration
US5437194A (en) 1991-03-18 1995-08-01 Panametrics, Inc. Ultrasonic transducer system with temporal crosstalk isolation
US5233352A (en) * 1992-05-08 1993-08-03 Cournane Thomas C Level measurement using autocorrelation
USD367915S (en) 1992-10-02 1996-03-12 Flowline Inc. Controller electronics enclosure for liquid handling equipment
USD352010S (en) 1992-10-02 1994-11-01 Flowline Inc. Liquid level sensor
USD350297S (en) 1992-10-02 1994-09-06 Flowline Inc. Fluid sensor mounting track
KR100350026B1 (en) 2000-06-17 2002-08-24 주식회사 메디슨 Ultrasound imaging method and apparatus based on pulse compression technique using a spread spectrum signal
US6545946B1 (en) * 2002-02-14 2003-04-08 Rosemount Aerospace Inc. Method and apparatus for eliminating substantially false echoes produced by electrical noise induced into high gain receiver circuits

Patent Citations (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2188628A (en) * 1936-11-27 1940-01-30 Siemens App Und Maschinen Gmbh Measuring instrument
US2852937A (en) * 1955-04-07 1958-09-23 Honeywell Regulator Co Liquid level indicating apparatus
US3243702A (en) * 1964-11-27 1966-03-29 Honeywell Inc Control apparatus
US3535637A (en) * 1967-10-26 1970-10-20 Saab Ab Calibration of electrical measuring transducer devices
US3740533A (en) * 1970-01-23 1973-06-19 Ballast Nedam Groep Nv Method of controlling a process and apparatus for the performance of the method
US3680365A (en) * 1970-02-17 1972-08-01 Mcgarvey G Summers Strain gage monitor
US3864974A (en) * 1971-01-11 1975-02-11 George P Rauchwerger Capacitance probe and system for precision measurement of liquid level
US3710244A (en) * 1971-01-11 1973-01-09 G Rauchwerger Capacitance probe for detecting moisture with very long cables
US3720813A (en) * 1971-08-23 1973-03-13 Damon Corp Interpolative readout apparatus
US3797311A (en) * 1972-02-11 1974-03-19 R Blanchard Fluid level meter
US3958159A (en) * 1972-11-27 1976-05-18 Rauchwerger George P Capacitance probe and system for precision measurement of liquid level
US3913084A (en) * 1973-03-26 1975-10-14 Wisconsin Alumni Res Found Noise quality detector for electric motors or other machines
US3890836A (en) * 1973-10-15 1975-06-24 Draf Tool Co Inc Automatic temperature control system analyzer
US4000650A (en) * 1975-03-20 1977-01-04 Bindicator Company Method and apparatus for ultrasonic material level measurement
US4000650B1 (en) * 1975-03-20 1995-11-14 Endress Hauser Gmbh Co Method and apparatus for ultrasonic material level measurement
US4170765A (en) * 1975-04-17 1979-10-09 Marvtek, Corporation Liquid level sensor
US4101865A (en) * 1975-10-24 1978-07-18 Endress & Hauser Gmbh & Co. Sonic echo-sounder for the measurement of levels of substances
US4145914A (en) * 1977-07-25 1979-03-27 Jack A. Perry Echo location system which provides for measuring liquid level and flow rate and flow volume of flowing liquids
US4130018A (en) * 1977-08-30 1978-12-19 Envirotech Corporation Ultrasonic transducer with reference reflector
US4176396A (en) * 1977-09-23 1979-11-27 The Charles Stark Draper Laboratory, Inc. Apparatus for directly measuring machine tool wear
US4183007A (en) * 1978-02-22 1980-01-08 Fischer & Porter Company Ultrasonic transceiver
US4201093A (en) * 1978-07-20 1980-05-06 Metriguard, Inc. Ultrasonic sheet material testing apparatus
US4201085A (en) * 1978-12-14 1980-05-06 Larson Roger G Apparatus for determining the liquid level in a tank
US4264788A (en) * 1979-01-31 1981-04-28 Princo Instruments, Inc. Damped ultrasonic detection unit
US4295370A (en) * 1979-03-12 1981-10-20 Emhart Industries, Inc. Capacitive scheme for measuring the level of a liquid
US4404841A (en) * 1981-03-28 1983-09-20 Robert Bosch Gmbh Optical combustion sensor system
US4480476A (en) * 1981-06-24 1984-11-06 Samodovitz Arthur J Process for causing an interface to vibrate and then truncating resulting ringing
US4530372A (en) * 1982-09-09 1985-07-23 Conoco Inc. Liquid level controller
US4570155A (en) * 1982-09-27 1986-02-11 Gateway Scientific, Inc. Smoke alarm activated light
US4603581A (en) * 1984-02-14 1986-08-05 Nippon Soken, Inc. Sensing apparatus
US4619002A (en) * 1984-07-02 1986-10-21 Motorola, Inc. Self-calibrating signal strength detector
US4596144A (en) * 1984-09-27 1986-06-24 Canadian Corporate Management Co., Ltd. Acoustic ranging system
US4596144B1 (en) * 1984-09-27 1995-10-10 Federal Ind Ind Group Inc Acoustic ranging system
US4676100A (en) * 1984-10-31 1987-06-30 Berwind Corporation Capacitance-type material level indicator
US4716536A (en) * 1985-04-16 1987-12-29 The Foxboro Company Measurement calibration
US4671124A (en) * 1986-04-03 1987-06-09 Productronix, Inc. Load monitor for cyclic machine
US4785411A (en) * 1986-08-29 1988-11-15 Motorola, Inc. Cascade filter structure with time overlapped partial addition operations and programmable tap length
US4868797A (en) * 1987-09-23 1989-09-19 Fischer & Porter Company Time-shared AGC for ultra-sound liquid level meter
US5031068A (en) * 1987-11-06 1991-07-09 Hansen Technologies Corporation Liquid level control system for refrigeration apparatus
US5017909A (en) * 1989-01-06 1991-05-21 Standex International Corporation Capacitive liquid level sensor
US4984449A (en) * 1989-07-03 1991-01-15 Caldwell System Corp. Ultrasonic liquid level monitoring system
US5099454A (en) * 1989-07-20 1992-03-24 Materiel Et Auxiliaire De Signalisation Et De Controls Pour L'automation Liquid presence detector having a composite waveguide for acoustic waves
US5111683A (en) * 1989-08-16 1992-05-12 Hospal Industrie Calibration method for a pulse response flowmeter
US5131271A (en) * 1990-04-16 1992-07-21 Magnetrol International, Inc. Ultrasonic level detector
US5372029A (en) * 1990-09-22 1994-12-13 Brandes; Bernd Method of monitoring the quality of an object or state
US5317520A (en) * 1991-07-01 1994-05-31 Moore Industries International Inc. Computerized remote resistance measurement system with fault detection
US5245333A (en) * 1991-09-25 1993-09-14 Rosemount Inc. Three wire low power transmitter
US5162748A (en) * 1991-11-29 1992-11-10 General Electric Company Switchable FET distortion generator
US5937010A (en) * 1992-03-26 1999-08-10 Rockwell Semiconductor Systems, Inc. Sample interpolator and method of generating additional samples of a sampled waveform using a programmable sample divider
US5553479A (en) * 1993-03-24 1996-09-10 Flowline Inc. Threshold level calibration method and apparatus
US5345426A (en) * 1993-05-12 1994-09-06 Hewlett-Packard Company Delay interpolator for digital phased array ultrasound beamformers
US5513531A (en) * 1993-09-01 1996-05-07 Combustion Engineering, Inc. Ultrasonic system for measurement of thin layers
US5483501A (en) * 1993-09-14 1996-01-09 The Whitaker Corporation Short distance ultrasonic distance meter
US5586068A (en) * 1993-12-08 1996-12-17 Terayon Corporation Adaptive electronic filter
US5648987A (en) * 1994-03-24 1997-07-15 Samsung Electronics Co., Ltd. Rapid-update adaptive channel-equalization filtering for digital radio receivers, such as HDTV receivers
US5578764A (en) * 1994-07-11 1996-11-26 Yokogawa Electric Corporation Coriolis type mass flowmeter utilizing phase shifters for phase shifting of the output signals
US5912826A (en) * 1994-12-24 1999-06-15 Cambridge Consultants Limited Data processing method and apparatus
US5546005A (en) * 1995-01-09 1996-08-13 Flowline Inc. Guarded capacitance probe and related measurement circuit
US5550790A (en) * 1995-02-10 1996-08-27 Kistler-Morse Corporation Acoustic transducer for level measurement in corrosive chemical environments
US5737963A (en) * 1995-09-28 1998-04-14 Endress+Hauser Gmbh +Co. Ultrasonic transducer
US5895848A (en) * 1996-01-16 1999-04-20 Flowline Inc. Apparatus and method for level sensing in a container
US5822274A (en) * 1996-04-12 1998-10-13 Flowline Inc. Method and apparatus for acoustically measuring the level of liquid in a tank
US5996407A (en) * 1996-06-14 1999-12-07 Parker-Hannifin Corporation Multi-frequency ultrasonic liquid level gauging system
US6718354B1 (en) * 1996-07-01 2004-04-06 Sun Microsystems, Inc. Signal interpolation and decimation exploiting filter symmetry
US5968111A (en) * 1997-02-04 1999-10-19 Medison Co., Ltd. Circular median filter
US6360240B2 (en) * 1998-01-29 2002-03-19 Sanyo Electric Co., Ltd. Digital filters
US6510445B2 (en) * 1998-01-29 2003-01-21 Sanyo Electric Co., Ltd. Digital filters
US5930200A (en) * 1998-05-08 1999-07-27 Garmin Corporation Depth sounder with object identification feature
US6484088B1 (en) * 1999-05-04 2002-11-19 Ssi Technologies, Inc. Fuel optimization system with improved fuel level sensor
US6868431B1 (en) * 1999-10-25 2005-03-15 Freescale Semiconductor, Inc. Circuit and method for processing data
US6665695B1 (en) * 2000-01-14 2003-12-16 Texas Instruments Incorporated Delayed adaptive least-mean-square digital filter
US20020002572A1 (en) * 2000-06-12 2002-01-03 Masami Kanasugi Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter
US6750798B2 (en) * 2002-05-10 2004-06-15 Denso Corporation Apparatus for processing knock sensor signal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012117052A1 (en) * 2011-03-03 2012-09-07 Continental Automotive Gmbh Arrangement and method for determining a concentration of a constituent of a fluid mixture
US20140041442A1 (en) * 2011-03-03 2014-02-13 Stephan Heinrich Arrangement And Method For Determining A Concentration Of A Constituent Of A Fluid Mixture
CN114928349A (en) * 2022-06-27 2022-08-19 奉加微电子(昆山)有限公司 Continuous time pipeline analog-to-digital converter and digital reconstruction filter thereof

Also Published As

Publication number Publication date
CN100565131C (en) 2009-12-02
JP2007508544A (en) 2007-04-05
US7098669B2 (en) 2006-08-29
WO2005036105A9 (en) 2005-08-11
EP1676103A2 (en) 2006-07-05
WO2005036105A3 (en) 2005-06-16
WO2005036105A2 (en) 2005-04-21
TWI343473B (en) 2011-06-11
US20050072227A1 (en) 2005-04-07
CN1864050A (en) 2006-11-15
TW200523529A (en) 2005-07-16

Similar Documents

Publication Publication Date Title
US20060192567A1 (en) Finite impulse response filter
TW512650B (en) Pulsing intelligent RF modulation controller
JP5430151B2 (en) Ultrasonic fault detection system using analog-digital conversion system with wide dynamic range
JPH11506534A (en) Low-power signal processing and measurement equipment
EP0856145A1 (en) Digital speed determination in ultrasonic flow measurements
US6530890B2 (en) Ultrasound diagnostic apparatus and method for measuring blood flow velocity using doppler effect
WO2009125843A1 (en) Ultrasonic wave propagation time measurement system
JP2774270B2 (en) Method and apparatus for suppressing fixed target echoes in distance measurements according to the pulse transit time principle
US20170350739A1 (en) Measurement apparatus, measurement method, and program
EP0671610B1 (en) Apparatus for diagnosing sound source and vibration source
US7054229B2 (en) Multi-line towed acoustic array shape measurement unit
EP0338592B1 (en) An ultrasonic doppler blood flow velocity detection apparatus and a method for detecting blood flow velocity
KR20110095272A (en) Method for determining the starting instant of a periodically oscillating signal response
CA2405656A1 (en) Method for determining echo distance using autocorrelation
JP2002048867A (en) Acoustic survey device
Möller et al. A measurement technique for highly nonlinear transfer functions
KR20050063455A (en) Method for measuring thickness of metal sheet by using electromagnetic acoustic transducer
JP2000258211A (en) Electromagnetic flowmeter
JP4229231B2 (en) Analog-to-digital conversion method
Atkinsa et al. Sonar target-phase measurement and effects of transducer-matching
JPH08201349A (en) Ultrasonic flaw detection method
JP3995578B2 (en) Storage battery internal impedance measuring device and storage battery internal impedance measuring method
JPH05288730A (en) Ultrasonic flaw detector
SU1527577A1 (en) Method of detecting proparating cracks
JP2015002557A (en) Flow imaging

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION