Patent Description:
Embodiments relate to ultrasonic flow meters. Embodiments also relate to the measurement of the flow of fluid through a fluid channel.

With the advancement of integrated circuitry industry, electronic gas meters have started to emerge. An example of such gas meters is an ultrasonic gas meter, which includes ultrasonic sensors (e.g., transducers or transmitters/receivers), which are attached to the upstream and downstream sides of a fluid passage through which the gas flows. Ultrasonic gas meters can be configured to measure the flow velocity of the gas flowing through the fluid passage based on the arrival times of ultrasonic waves, and calculate the volumetric flow value of the gas based on the flow velocity of the gas, thereby deriving the usage amount of the gas. As should be understood, an ultrasonic gas meter is capable of measuring the usage amount of the gas so long as there is provided a fluid passage for measuring the flow value. Therefore, it is easy to reduce the size of the ultrasonic gas meter.

Conventional ultrasonic flow rate measurement devices can be arranged as follows: inflow and outflow ports for gases can be disposed in the top face of a flowmeter in order to install the device by hanging from piping, or inflow and outflow ports of a flowmeter can be coupled with straight piping. In particular, a flowmeter for use in a gas meter can be configured as follows: the inflow and outflow ports can be coupled with each other via a U-shaped and cylindrical gas-flow path member that can be disposed inside of the gas meter, and a measuring tube for measuring a gas flow velocity can be disposed in the gas-flow path member.

Current solutions for ultrasonic flow meter measurements are typically not accurate enough to meet increasingly stringent temperature requirements. New ultrasonic flow measurement applications may require very tight requirements. This temperature dependency is not the same from device to device. In addition, additional errors may arise from gas dependencies and existing solutions do not leave much room for improving accuracies.

<NPL>, discloses ultrasonic transducers in a flow meter with measurement of a differential time of flight down to a few nanosecond.

The following summary is provided to facilitate an understanding of some of the features of the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the specification, claims, drawings, and abstract as a whole.

It is, therefore, one aspect of the disclosed embodiments to provide for improved methods and systems for flow measurement according to claim <NUM> and to claim <NUM>.

Preferential embodiments are disclosed in claims <NUM>-<NUM>, <NUM> and <NUM>.

It is yet another aspect of the disclosed embodiments to provide for improvements in the accuracy of absolute-time-of-flight measurements.

The aforementioned aspects and other objectives can now be achieved as described herein.

According to the claimed invention, a method for flow measurement in a flow channel associated with a first transducer and a second transducer, comprising: calculating an absolute-time-of-flight with respect to a flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train; determining a delta-time-of-flight with a cross correlation of two signals with respect to the flow of the fluid in the flow channel; and calculating a flow rate of the flow of the fluid in the flow channel based on the absolute-time-of-flight and the delta-time-of-flight, wherein calculating the flow rate includes measuring the absolute-time-of-flight of 3xlength ("<NUM>") between the first transducer and the second transducer, and then subtracting the Absolute-Time-of-Flight of 1xlength between the first transducer and the second transducer, to eliminate the electrical and acoustic delays, and wherein measuring the absolute-time-of-flight of <NUM> between the first transducer and the second transducer includes dividing 2xlength (<NUM>) between the first transducer and the second transducer by a first term 'c+v', and dividing 1xlength between the first transducer and the second transducer by a second term 'c-v', and wherein the first term and the second term are based on speed of sound and a medium velocity of the fluid in the flow channel.

In an embodiment of the method, calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight, can further involve calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight measured upstream and downstream in the flow channel, and the delta-time-of-flight.

In an embodiment of the method, calculating the absolute-time-of-flight with respect to the flow of the fluid in the flow channel by reflected signals, reflected and unreflected signals, or a pulse train, can further involve: measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a first acoustic path of the flow channel from a first transducer to a second transducer to determine a first absolute-time-of-flight; and measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a second acoustic path of the flow channel from a first transducer to a second transducer to determine a second absolute-time-of-flight, and calculating a third absolute-time-of-flight by the difference between the first absolute-time-of-flight and the second absolute-time-of-flight.

In an embodiment of the method, an acoustic path including the first acoustic path or the second acoustic path can comprise reflected or reflected and unreflected signals between the first transducer and the second transducer; and the first transducer and the second transducer can comprise the same transducer.

In an embodiment of the method, the reflected signals, the reflected and unreflected signals or the pulse train can comprise one or more of: ultrasound; acoustic sound.

In an embodiment of the method, the absolute-time-of-flight can be used to calculate the speed of sound by dividing the length of the acoustic path with the absolute-time-of-flight.

In another aspect, according to the claimed invention, a system for flow measurement, comprising: a gas meter having a first transducer, a second transducer, and a flow channel between the first transducer and the second transducer, wherein: an absolute-time-of-flight with respect to a flow of a fluid in the flow channel is calculated by reflected signals, reflected and unreflected signals, or a pulse train; a delta-time-of-flight with respect to the flow of the fluid in the flow channel is determined with a cross correlation of two signals; and a flow rate of the flow of the fluid in the flow channel is calculated based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight, wherein calculating the flow rate includes measuring the absolute-time-of-flight of 3xlength ("<NUM>") between the first transducer and the second transducer, and then subtracting the Absolute-Time-of-Flight of 1xlength between the first transducer and the second transducer, to eliminate the electrical and acoustic delays, and wherein measuring the absolute-time-of-flight of <NUM> between the first transducer and the second transducer includes dividing 2xlength (<NUM>) between the first transducer and the second transducer by a first term 'c+v', and dividing 1xlength between the first transducer and the second transducer by a second term 'c-v', and wherein the first term and the second term are based on speed of sound and a medium velocity of the fluid in the flow channel.

In an embodiment of the system, the flow rate of the flow of the fluid can be calculated based on the absolute-time-of-flight measured upstream and downstream in the flow channel, and the delta-time-of-flight.

In another aspect according to the claimed invention, a non-transitory computer readable medium having stored thereon computer executable instructions which when executed by a processor cause the processor to perform a method for flow measurement in a flow channel associated with a first transducer and a second transducer, the method comprising: calculating an absolute-time-of-flight with respect to a flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train; determining a delta-time-of-flight with a cross correlation of two signals with respect to the flow of the fluid in the flow channel; and calculating a flow rate of the flow of the fluid in the flow channel based on the absolute-time-of-flight and the cross-correlation of the delta-time-of-flight, wherein calculating the flow rate includes measuring an absolute-time-of-flight of 3xlength ("<NUM>") between the first transducer and the second transducer, and then subtracting the Absolute-Time-of-Flight of 1xlength between the first transducer and the second transducer, to eliminate the electrical and acoustic delays, and wherein measuring the absolute-time-of-flight of <NUM> between the first transducer and the second transducer includes dividing 2xlength (<NUM>) between the first transducer and the second transducer by a first term 'c+v', and dividing 1xlength between the first transducer and the second transducer by a second term 'c-v', and wherein the first term and the second term are based on speed of sound and a medium velocity of the fluid in the flow channel.

In an embodiment of the system, the instructions for calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight, can be further configured for: calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight measured upstream and downstream in the flow channel, and the delta-time-of-flight.

In an embodiment of the non-transitory computer readable medium, the instructions for calculating an absolute-time-of-flight with respect to a flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train, can be further configured for: measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a first acoustic path of the flow channel from a first transducer to a second transducer to determine a first absolute-time-of-flight; and measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a second acoustic path of the flow channel from a first transducer to a second transducer to determine a second absolute-time-of-flight, and calculating a third absolute-time-of-flight by the difference between the first absolute-time-of-flight and the second absolute-time-of-flight.

The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.

The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate one or more embodiments and are not intended to limit the scope thereof.

Subject matter will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific example embodiments. Subject matter may, however, be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any example embodiments set forth herein; example embodiments are provided merely to be illustrative. Likewise, a reasonably broad scope for claimed or covered subject matter is intended. Among other issues, subject matter may be embodied as methods, devices, components, or systems. Accordingly, embodiments may, for example, take the form of hardware, software, firmware, or a combination thereof. The following detailed description is, therefore, not intended to be interpreted in a limiting sense.

Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, phrases such as "in one embodiment" or "in an example embodiment" and variations thereof as utilized herein may not necessarily refer to the same embodiment and the phrase "in another embodiment" or "in another example embodiment" and variations thereof as utilized herein may or may not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of example embodiments in whole or in part.

In general, terminology may be understood, at least in part, from usage in context. For example, terms such as "and," "or," or "and/or" as used herein may include a variety of meanings that may depend, at least in part, upon the context in which such terms are used. Generally, "or" if used to associate a list, such as A, B, or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B, or C, here used in the exclusive sense. In addition, the term "one or more" as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures, or characteristics in a plural sense. Similarly, terms such as "a," "an," or "the", again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.

The disclosed embodiments can be implemented in the context of a flow meter that can measure flow (e.g., fluid velocity) of a fluid via ultrasound, acoustic sound, or light. An example of a flow meter is an ultrasonic gas meter, which can measure flow using ultrasound. The fluid flow may be measured by time of flight of an ultrasonic signal through the fluid, or by measuring the ultrasonic Doppler effect, or by other ultrasound signal processing techniques. Fluid flow may be measured by multiplying fluid velocity by the interior area of a pipe (e.g., a flow channel).

As will be discussed in greater detail herein, measurements of fluid flow can involve (<NUM>) calculating the absolute-time-of-flight with respect to the flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train, (<NUM>) determining the delta-time-of-flight with a cross correlation of two signals with respect to the flow of the fluid in the flow channel, and (<NUM>) calculating the flow rate of the flow of the fluid in the flow channel based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight.

<FIG> illustrates a schematic diagram depicting an ultrasonic flow meter <NUM>, which can be implemented in accordance with an embodiment. The ultrasonic flow meter <NUM> includes a flow channel <NUM> through which a fluid (e.g., a gas, liquid, etc) may flow. One or more transducers including, for example, a first transducer <NUM> and a second transducer <NUM>, can be disposed within the ultrasonic flow meter <NUM>. The inflow direction of the fluid with respect to the ultrasonic flow meter <NUM> is indicated by arrow <NUM>. The out-flow direction of the fluid with respect to the ultrasonic flow meter <NUM> is indicated by arrow <NUM>. The flow of the fluid in the flow channel <NUM> is generally indicated by arrow <NUM> and arrow <NUM>. The flow channel <NUM> may be implemented as a pipe, which in operation has a fluid therein, being a liquid or a gas, such as natural gas.

Dashed arrows <NUM> and <NUM> depicted in <FIG> are indicative of signal paths between the first transducer <NUM> and the second transducer <NUM>. In some embodiments, the first transducer <NUM> and the second transducer <NUM> can be implemented as piezoelectric transducer elements that can employ piezoelectric crystals or piezoelectric ceramics that are set into vibration when a pulsed voltage signal (receipt from a transmitter) is applied to their piezoelectric element, thereby generating ultrasonic waves. In operation, ultrasonic pulses can be alternately transmitted by one of the piezoelectric elements and can be received by the other piezoelectric element of the pair needed for a flow measurement.

The term time-of-flight (TOF) as utilized herein can relate to the time-of-flight principle, which can involve measuring the distance between a sensor and an object, based on the time difference between the emission of a signal and its return to the sensor, after being reflected by an object.

<FIG> illustrates a diagram <NUM> depicting calculations of flow with respect to the ultrasonic flow meter <NUM> depicted in <FIG>. As shown in <FIG>, the absolute-time-of-flight <NUM>, the absolute-time-of-flight <NUM>, and the delta-time-of-flight <NUM> can be calculated according to the following equations and parameters: <MAT> <MAT> <MAT>.

The resulting value <NUM> can be calculated as follows: <MAT>.

Based on the foregoing, the following methodology can be implemented:.

<FIG> illustrates the flow channel <NUM> and first transducer <NUM> and the second transducers <NUM>, in accordance with an embodiment. Current calculations of the absolute-time-of-flight across one length of the flow channel -- AbsTOF (<NUM>) - can involve sending n (e.g., <NUM>) pulses <NUM> with an ultrasonic frequency (e.g., <NUM>-<NUM>) from the first transducer <NUM> to the second transducer <NUM>. A possible response is shown in the graph <NUM> depicted in <FIG>.

As discussed previously, current/conventional approaches suffer from a number of problems, including the fact that electric (µC) transducers, acoustics and other delays can create offsets. These offsets may not be constant over temperature, and may not be constant from device to device. Such offsets may also be gas dependent. As will be discussed in greater detail below, these offsets can be combined as Tel as shown in <FIG>.

<FIG> illustrates a schematic diagram of the flow channel <NUM> with respect to the first transducer <NUM> and the second transducers <NUM> and a methodology based on the combination of a <NUM> and delta-time-of-flight (dTOF) with cross correlation, in accordance with an embodiment. The flow channel <NUM> is shown at both the left hand side the right hand side of <FIG>. The flow channel <NUM> shown at the left hand side is shown as a <NUM> implementation, while the flow channel <NUM> shown at the right hand side of <FIG> is depicted as a <NUM> implementation (i.e., see the three representative arrows within the flow channel <NUM>). The approach shown in <FIG> results in the elimination of unwanted offsets.

The absolute-time-of-flight can be calculated with respect to the flow of the fluid in the flow channel by reflected signals, reflected and unreflected signals, or a pulse train. The delta-time-of-flight is determined with a cross correlation of two signals with respect to the flow of the fluid in the flow channel (see the <NUM> echo implementation at the right hand side of <FIG>). The flow rate of the flow of the fluid in the flow channel can thus be calculated based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight.

The flow rate can be calculated based on the following formulations.

For the absolute-time-of-flight T<NUM> in the downstream direction with the first ultrasonic waves travelling with the flow velocity v: <MAT> with.

For the absolute-time-of-flight T<NUM> in the upstream direction with the first ultrasonic waves travelling against the flow velocity v: <MAT> With.

For absolute-time-of-flight T<NUM> in downstream direction with the first ultrasonic waves travelling with the flow velocity v <MAT>.

For the absolute-time-of-flight T<NUM> in upstream direction with the first ultrasonic waves travelling against the flow velocity v <MAT>.

Thus, the following features can be implemented according to the methodology shown in <FIG>:.

The embodiment depicted in <FIG> can thus involve combining <NUM> Echo for Absolute Time-Of-Flight ("AbsTOF") with Delta-Time-Of-Flight (dTOF) cross correlation to achieve an improved flow measurement over a high temperature range. The embodiments can include measuring the absolute-time-of-flight of the 3xlength ("<NUM>") and then subtracting the Absolute-Time-of-Flight of the 1xlength to eliminate the electrical and acoustic delays.

This approach can enable better accuracies across temperature, gases, and from device to device. It can be appreciated, however, that the disclosed embodiments are limited to <NUM> implementations. That is, instead of <NUM>, the disclosed approach can be implemented according to any number of L (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc) for both acoustic paths. The formulas shown in <FIG> can be used to calculate the offset Tel and use a correction table for <NUM> (e.g., 1x Temperature, 1x AbsTOF, 1x Tel). The disclosed embodiments can enable fewer measurements and less energy consumption, which is particularly important for battery driven gas meters. In case the amplitude for <NUM> is not high enough, more pulses may be used for the <NUM> and <NUM> measurements without the need to change the electronics.

<FIG> illustrates a flow chart of operations depicting logical operational steps of a method <NUM> for flow measurement, in accordance with an embodiment. As shown at block <NUM>, a step, operation or instruction can be implemented for calculating the absolute-time-of-flight with respect to the flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train. Next, as shown at bock <NUM>, step, operation or instruction can be implemented for determining the delta-time-of-flight with a cross correlation of two signals with respect to the flow of the fluid in the flow channel. Thereafter, as depicted at block <NUM>, a step, operation or instruction can be implemented for calculating the flow rate of the flow of the fluid in the flow channel based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight.

Note that the operation/step shown at block <NUM> (i.e., calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight and the cross correlation of the delta-time-of-flight) can further involve a step, operation or instruction for calculating the flow rate of the flow of the fluid based on the absolute-time-of-flight measured upstream and downstream in the flow channel, and the delta-time-of-flight. In addition, the steps or operations of calculating an absolute-time-of-flight with respect to a flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train, as shown at block <NUM> can further involve measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a first acoustic path of the flow channel from a first transducer to a second transducer to determine a first absolute-time-of-flight; and measuring the absolute-time-of-flight with respect to the flow of the fluid in the flow channel across a second acoustic path of the flow channel from a first transducer to a second transducer to determine a second absolute-time-of-flight, and calculating a third absolute-time-of-flight by the difference between the first absolute-time-of-flight and the second absolute-time-of-flight.

The disclosed solution can also be summarized as follows:.

The techniques described herein can be applied to various types of flow measurement device and systems such as ultrasonic flow meters including but not limited to ultrasonic gas meters. In the above description, specific details of various embodiments are provided. However, some embodiments may be practiced with less than all of these specific details. In other instances, certain methods, procedures, components, structures, and/or functions are described in no more detail than to enable the various embodiments of the invention, for the sake of brevity and clarity.

<FIG> illustrates a block diagram depicting a computing machine <NUM> and system applications, according to certain example embodiments. <FIG> illustrates the computing machine <NUM> and a system applications module <NUM>. The computing machine <NUM> can correspond to any of the various computers, mobile devices, laptop computers, servers, embedded systems, or computing systems presented herein. The module <NUM> can comprise one or more hardware or software elements, e.g. other OS application and user and kernel space applications, designed to facilitate the computing machine <NUM> in performing the various methods and processing functions presented herein.

The computing machine <NUM> can include various internal or attached components such as a processor <NUM>, system bus <NUM>, system memory <NUM>, storage media <NUM>, input/output interface <NUM>, a network interface <NUM> for communicating with a network <NUM>, e.g. local loop, cellular/GPS, Bluetooth, or WIFI, and a series of sensors <NUM>, e.g. any of the sensors such as the first transducer <NUM>, the second transducer <NUM>, and so on, identified in relation to <FIG>. Note that in some embodiments, each sensor among the series of sensors <NUM> such as sensor <NUM>, sensor n, etc. as shown in <FIG> may be representative of an ultrasonic meter or another type of flow meter as discussed herein. That is, the computing system <NUM> may communicate with and/or control one or more ultrasonic meters or a group of ultrasonic meters, depending upon the metering implementation.

The computing machines can be implemented as a computer system, an embedded controller, a laptop, a server, a mobile device, a smartphone, a wearable computer, a customized machine, any other hardware platform, or any combination or multiplicity thereof. The computing machines can be a distributed system configured to function using multiple computing machines interconnected via a data network or bus system.

The processor <NUM> can be designed to execute code instructions in order to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands. The processor <NUM> can be configured to monitor and control the operation of the components in the computing machines and to process instructions such as the various steps and operations described and shown herein. The processor <NUM> can be a general purpose processor, a processor core, a multiprocessor, a reconfigurable processor, a microcontroller, a digital signal processor ("DSP"), an application specific integrated circuit ("ASIC"), a controller, a state machine, gated logic, discrete hardware components, any other processing unit, or any combination or multiplicity thereof. The processor <NUM> can be a single processing unit, multiple processing units, a single processing core, multiple processing cores, special purpose processing cores, coprocessors, or any combination thereof. According to certain embodiments, the processor <NUM> along with other components of the computing machine <NUM> can be a software based or hardware based virtualized computing machine executing within one or more other computing machines.

The system memory <NUM> can include non-volatile memories such as read-only memory ("ROM"), programmable read-only memory ("PROM"), erasable programmable read-only memory ("EPROM"), flash memory, or any other device capable of storing program instructions or data with or without applied power. The system memory <NUM> can also include volatile memories such as random access memory ("RAM"), static random access memory ("SRAM"), dynamic random access memory ("DRAM"), and synchronous dynamic random access memory ("SDRAM"). Other types of RAM also can be used to implement the system memory <NUM>. The system memory <NUM> can be implemented using a single memory module or multiple memory modules. While the system memory <NUM> is depicted as being part of the computing machine, one skilled in the art will recognize that the system memory <NUM> can be separate from the computing machine <NUM> without departing from the scope of the subject technology. It should also be appreciated that the system memory <NUM> can include, or operate in conjunction with, a non-volatile storage device such as the storage media <NUM>.

The storage media <NUM> can include a hard disk, a floppy disk, a compact disc read-only memory ("CD-ROM"), a digital versatile disc ("DVD"), a Blu-ray disc, a magnetic tape, a flash memory, other non-volatile memory device, a solid state drive ("SSD"), any magnetic storage device, any optical storage device, any electrical storage device, any semiconductor storage device, any physical-based storage device, any other data storage device, or any combination or multiplicity thereof. The storage media <NUM> can store one or more operating systems, application programs and program modules, data, or any other information. The storage media <NUM> can be part of, or connected to, the computing machine. The storage media <NUM> can also be part of one or more other computing machines that are in communication with the computing machine such as servers, database servers, cloud storage, network attached storage, and so forth.

The applications module <NUM> and other OS application modules can comprise one or more hardware or software elements configured to facilitate the computing machine with performing the various methods and processing functions presented herein. The applications module <NUM> and other OS application modules can include one or more algorithms or sequences of instructions stored as software or firmware in association with the system memory <NUM>, the storage media <NUM> or both. The storage media <NUM> can therefore represent examples of machine or computer readable media on which instructions or code can be stored for execution by the processor <NUM>. Machine or computer readable media can generally refer to any medium or media used to provide instructions to the processor <NUM>.

Such machine or computer readable media associated with the applications module <NUM> and other OS application modules can comprise a computer software product. It should be appreciated that a computer software product comprising the applications module <NUM> and other OS application modules can also be associated with one or more processes or methods for delivering the applications module <NUM> and other OS application modules to the computing machine via a network, any signal-bearing medium, or any other communication or delivery technology. The applications module <NUM> and other OS application modules can also comprise hardware circuits or information for configuring hardware circuits such as microcode or configuration information for an FPGA or other PLD. In one exemplary embodiment, applications module <NUM> and other OS application modules can include algorithms capable of performing the functional operations described by the flow charts and computer systems presented herein.

The input/output ("I/O") interface <NUM> can be configured to couple to one or more external devices, to receive data from the one or more external devices, and to send data to the one or more external devices. Such external devices along with the various internal devices can also be known as peripheral devices. The I/O interface <NUM> can include both electrical and physical connections for coupling the various peripheral devices to the computing machine or the processor <NUM>. The I/O interface <NUM> can be configured to communicate data, addresses, and control signals between the peripheral devices, the computing machine, or the processor <NUM>. The I/O interface <NUM> can be configured to implement any standard interface, such as small computer system interface ("SCSI"), serial-attached SCSI ("SAS"), fiber channel, peripheral component interconnect ("PCP"), PCI express (PCIe), serial bus, parallel bus, advanced technology attached ("ATA"), serial ATA ("SATA"), universal serial bus ("USB"), Thunderbolt, FireWire, various video buses, and the like. The I/O interface <NUM> can be configured to implement only one interface or bus technology. Alternatively, the I/O interface <NUM> can be configured to implement multiple interfaces or bus technologies. The I/O interface <NUM> can be configured as part of, all of, or to operate in conjunction with, the system bus <NUM>. The I/O interface <NUM> can include one or more buffers for buffering transmissions between one or more external devices, internal devices, the computing machine, or the processor <NUM>.

The I/O interface <NUM> can couple the computing machine to various input devices including mice, touch-screens, scanners, electronic digitizers, sensors, receivers, touchpads, trackballs, cameras, microphones, keyboards, any other pointing devices, or any combinations thereof. The I/O interface <NUM> can couple the computing machine to various output devices including video displays, speakers, printers, projectors, tactile feedback devices, automation control, robotic components, actuators, motors, fans, solenoids, valves, pumps, transmitters, signal emitters, lights, and so forth.

The computing machine <NUM> can operate in a networked environment using logical connections through the NIC <NUM> to one or more other systems or computing machines across a network. The network can include wide area networks (WAN), local area networks (LAN), intranets, the Internet, wireless access networks, wired networks, mobile networks, telephone networks, optical networks, or combinations thereof. The network can be packet switched, circuit switched, of any topology, and can use any communication protocol. Communication links within the network can involve various digital or an analog communication media such as fiber optic cables, free-space optics, waveguides, electrical conductors, wireless links, antennas, radio-frequency communications, and so forth.

The processor <NUM> can be connected to the other elements of the computing machine or the various peripherals discussed herein through the system bus <NUM>. It should be appreciated that the system bus <NUM> can be within the processor <NUM>, outside the processor <NUM>, or both. According to some embodiments, any of the processors <NUM>, the other elements of the computing machine, or the various peripherals discussed herein can be integrated into a single device such as a system on chip ("SOC"), system on package ("SOP"), or ASIC device.

Embodiments may comprise a computer program that embodies the functions described and illustrated herein, wherein the computer program is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions. However, it should be apparent that there could be many different ways of implementing embodiments in computer programming, and the embodiments should not be construed as limited to any one set of computer program instructions unless otherwise disclosed for an exemplary embodiment. Further, a skilled programmer would be able to write such a computer program to implement an embodiment of the disclosed embodiments based on the appended flow charts, algorithms and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use embodiments. Further, those skilled in the art will appreciate that one or more aspects of embodiments described herein may be performed by hardware, software, or a combination thereof, as may be embodied in one or more computing systems. Moreover, any reference to an act being performed by a computer should not be construed as being performed by a single computer as more than one computer may perform the act.

The example embodiments described herein can be used with computer hardware and software that perform the methods and processing functions described previously. The systems, methods, and procedures described herein can be embodied in a programmable computer, computer-executable software, or digital circuitry. The software can be stored on computer-readable media. For example, computer-readable media can include a floppy disk, RAM, ROM, hard disk, removable media, flash memory, memory stick, optical media, magneto-optical media, CD-ROM, etc. Digital circuitry can include integrated circuits, gate arrays, building block logic, field programmable gate arrays (FPGA), etc..

The example systems, methods, and acts described in the embodiments presented previously are illustrative, and, in alternative embodiments, certain acts can be performed in a different order, in parallel with one another, omitted entirely, and/or combined between different example embodiments, and/or certain additional acts can be performed, without departing from the scope and spirit of various embodiments. Accordingly, such alternative embodiments are included in the description herein.

As used herein, phrases such as "between X and Y" and "between about X and Y" should be interpreted to include X and Y. As used herein, phrases such as "between about X and Y" mean "between about X and about Y. " As used herein, phrases such as "from about X to Y" mean "from about X to about Y.

As used herein, "hardware" can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, "software" can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications, on one or more processors (where a processor includes one or more microcomputers or other suitable data processing units, memory devices, input-output devices, displays, data input devices such as a keyboard or a mouse, peripherals such as printers and speakers, associated drivers, control cards, power sources, network devices, docking station devices, or other suitable devices operating under control of software systems in conjunction with the processor or other devices), or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application.

As used herein, the term "couple" and its cognate terms, such as "couples" and "coupled," can include a physical connection (such as a copper conductor), a virtual connection (such as through randomly assigned memory locations of a data memory device), a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections. The term "data" can refer to a suitable structure for using, conveying or storing data, such as a data field, a data buffer, a data message having the data value and sender/receiver address data, a control message having the data value and one or more operators that cause the receiving system or component to perform a function using the data, or other suitable hardware or software components for the electronic processing of data.

It should also be noted that at least some of the steps and operations for the methods described herein may be implemented using software instructions stored on a computer useable storage medium for execution by a computer. As an example, an embodiment of a computer program product can include a computer useable storage medium to store a computer readable program.

The computer-useable or computer-readable storage medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of non-transitory computer-useable and computer-readable storage media include a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Current examples of optical disks include a compact disk with read only memory (CD-ROM), a compact disk with read/write (CD-R/W), a digital video disk (DVD), Flash memory, and so on.

Alternatively, embodiments may be implemented entirely in hardware or in an implementation containing both hardware and software elements. In embodiments that do utilize software, the software may include but is not limited to firmware, resident software, microcode, etc. Embodiments can be implemented, for example, at the stack level including a sensor, which may be a hardware device with some embedded software measuring/detecting & transmitting data (e.g. temperature, pressure, motion). Embodiments may also be implemented as embedded software that runs in a device/unit (e.g., firmware). Embodiments may also be implemented at the IOT (Internet of Things) stack level. For example, embodiments may be implemented in the context of a hardware device with some embedded software for measuring/detecting & transmitting data (e.g. temperature, pressure, motion). Measured data, for example, such as flow data, can be stored inside the flow meter.

Embodiments may also be implemented in the context of a microcontroller. In general, the utilized microcontroller can be optimized for flow measurement as discussed herein.

In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures.

Claim 1:
A method for flow measurement in a flow channel associated with a first transducer and a second transducer, the method comprising:
calculating an absolute-time-of-flight with respect to a flow of a fluid in a flow channel by reflected signals, reflected and unreflected signals, or a pulse train;
determining a delta-time-of-flight with a cross correlation of two signals with respect to the flow of the fluid in the flow channel; and
calculating a flow rate of the flow of the fluid in the flow channel based on the absolute-time-of-flight and the delta-time-of-flight, wherein the method is characterised by: calculating the flow rate includes measuring the absolute-time-of-flight of 3xlength ("<NUM>") between the first transducer and the second transducer, and then subtracting the Absolute-Time-of-Flight of 1xlength between the first transducer and the second transducer, to eliminate the electrical and acoustic delays, and wherein measuring the absolute-time-of-flight of <NUM> between the first transducer and the second transducer includes dividing 2xlength (<NUM>) between the first transducer and the second transducer by a first term 'c+v', and dividing 1xlength between the first transducer and the second transducer by a second term 'c-v', and wherein the first term and the second term are based on speed of sound and a medium velocity of the fluid in the flow channel.