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.
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 t0, 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 ⅜ 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.
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.
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 preferred embodiment.
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.
a is a timing diagram of a pulsed waveform generated by the transducer.
b is a timing diagram of a clipped reference waveform that corresponds to the pulsed waveform of
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.
With reference now to the illustrative drawings, and particularly to
In the two embodiments depicted in
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 1200 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
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
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
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
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
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
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
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
When the weighting factors, hi, are +1 and −1, as illustrated in
Output(t1)=Input(t1)−(Output(t0)+Xn−1(t0))
where:
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
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(X0)−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−1th 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
In this embodiment, the digital filter 144 of
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
Output=SQRT(Output12+Output22)
where:
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 ⅜ times the smaller of the absolute values as indicated in the following equation:
Output≈Larger Output+⅜*Smaller Output
where:
Accordingly, when the absolute value of Output, is greater than the absolute value of Output2, the value of Output is approximated by summing the absolute value of Output1 and ⅜ 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 ⅜ 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
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.
Output(t0)=X0(t0)−(Output(t−1)+X7(t0))
Thus, the filters illustrated in
Output(t0)=X0(t0)−X1(t0)−X6(t0)+X7(t0)+Output(t−1)
Thus, the embodiments of the filters 230 and 274 illustrated in
The filters 188, 226, 230, and 274 illustrated in
More specifically, referring to
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
In case 1234, the data 292 at sample D3294 is high and equals +1, the data at sample D2296 equals 0, the data at sample D1298 is low and equals −1, and the data at sample D0300 equals 0. In case 2236, 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 3238, 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 4240, 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
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
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 anded 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
Next, the value of TempI is compared to the number 0346. 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 anded with the hex value FDFF 350, and the ring buffer pointer is incremented.
Next, referring to
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 1234 and example case 3238 of
The resulting correction values 358 shown in
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
Priority is claimed under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application 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.
Number | Name | Date | Kind |
---|---|---|---|
2188628 | Freystedt | Jan 1940 | A |
2852937 | Maze | Sep 1958 | A |
3243702 | Schuck | Mar 1966 | A |
3535637 | Goransson | Oct 1970 | A |
3680365 | Summers | Aug 1972 | A |
3710244 | Rauchwerger | Jan 1973 | A |
3720813 | Badessa | Mar 1973 | A |
3740533 | van Zeggelaar | Jun 1973 | A |
3797311 | Blanchard et al. | Mar 1974 | A |
3864974 | Rauchwerger | Feb 1975 | A |
3890836 | McKenzie et al. | Jun 1975 | A |
3913084 | Bollinger et al. | Oct 1975 | A |
3958159 | Rauchwerger | May 1976 | A |
4000650 | Snyder | Jan 1977 | A |
4101865 | Schurr | Jul 1978 | A |
4130018 | Adams et al. | Dec 1978 | A |
4145914 | Newman | Mar 1979 | A |
4170765 | Austin et al. | Oct 1979 | A |
4176396 | Howatt | Nov 1979 | A |
4183007 | Baird | Jan 1980 | A |
4201085 | Larson | May 1980 | A |
4201093 | Logan | May 1980 | A |
4264788 | Keidel et al. | Apr 1981 | A |
4295370 | Bristol | Oct 1981 | A |
4404841 | Franke et al. | Sep 1983 | A |
4480476 | Samodovitz | Nov 1984 | A |
4530372 | Overton et al. | Jul 1985 | A |
4570155 | Skarman et al. | Feb 1986 | A |
4596144 | Panton et al. | Jun 1986 | A |
4603581 | Yamanoue et al. | Aug 1986 | A |
4619002 | Thro | Oct 1986 | A |
4671124 | Seliga | Jun 1987 | A |
4676100 | Eichberger | Jun 1987 | A |
4716536 | Blanchard | Dec 1987 | A |
4868797 | Soltz | Sep 1989 | A |
4984449 | Caldwell et al. | Jan 1991 | A |
5017909 | Goekler | May 1991 | A |
5031068 | Hansen, III et al. | Jul 1991 | A |
5099454 | Dieulesaint et al. | Mar 1992 | A |
5111683 | Fond | May 1992 | A |
5131271 | Haynes et al. | Jul 1992 | A |
5162748 | Katz | Nov 1992 | A |
5245333 | Anderson et al. | Sep 1993 | A |
5317520 | Castle | May 1994 | A |
D350297 | Weisel | Sep 1994 | S |
5345426 | Lipschutz | Sep 1994 | A |
D352010 | Curbbun | Nov 1994 | S |
5372029 | Brandes | Dec 1994 | A |
5483501 | Park et al. | Jan 1996 | A |
D367915 | Daugherty | Mar 1996 | S |
5513531 | Sapia et al. | May 1996 | A |
5546005 | Rauchwerger | Aug 1996 | A |
5550790 | Velamoor et al. | Aug 1996 | A |
5553479 | Rauchwerger | Sep 1996 | A |
5578764 | Yokoi et al. | Nov 1996 | A |
5737963 | Eckert et al. | Apr 1998 | A |
5822274 | Haynie et al. | Oct 1998 | A |
5895848 | Wilson et al. | Apr 1999 | A |
5930200 | Kabel | Jul 1999 | A |
5996407 | Hewitt | Dec 1999 | A |
6484088 | Reimer | Nov 2002 | B1 |
6545946 | Huss et al. | Apr 2003 | B1 |
Number | Date | Country |
---|---|---|
1 164 385 | Dec 2001 | EP |
WO 9105226 | Apr 1991 | WO |
WO 9108443 | Jun 1991 | WO |
WO 9519559 | Jul 1995 | WO |
Number | Date | Country | |
---|---|---|---|
20050072227 A1 | Apr 2005 | US |
Number | Date | Country | |
---|---|---|---|
60507897 | Oct 2003 | US |