The present disclosure is directed at a sound velocity sensor for underwater use and at a method for determining underwater sound velocity.
A sound velocity sensor is a device used to measure the velocity of sound in a particular medium. Certain types of sound velocity sensors are designed for underwater use, which permits them to measure the velocity of sound as it propagates through water. The velocity of sound in water varies with parameters such as the salinity and temperature of the water. While in some applications a rough approximation for the velocity of sound in water (e.g., 1,500 m/s) may be adopted without practical detriment, in other applications a more accurate measurement may be preferred or required.
According to a first aspect, there is provided a sound velocity sensor for underwater use. The sound velocity sensor comprises an acoustic transmitter for generating an acoustic signal; an acoustic receiver for receiving the acoustic signal; a path length portion defining an acoustic path and positioned such that the acoustic signal propagates along the acoustic path from the acoustic transmitter to the acoustic receiver; a temperature sensor in direct contact with the path length portion; and a controller communicatively coupled to the temperature sensor, acoustic transmitter, and acoustic receiver. The controller is configured to generate the acoustic signal using the acoustic transmitter; determine a transit time of the acoustic signal from the acoustic transmitter to the acoustic receiver; determine a temperature of the path length portion using the temperature sensor; and determine the velocity of the acoustic signal from the transit time and a length of the acoustic path. Determining the velocity comprises compensating for a temperature-related change in the length of the acoustic path using the temperature of the path length portion.
The temperature sensor may be partially or entirely embedded within the path length portion.
The sound velocity sensor may further comprise a base. The base may comprise a logging board communicatively coupled to the controller. The acoustic transmitter, the acoustic receiver, the path length portion, and the temperature sensor may comprise part of a sensor head that is releasably couplable to the base.
The controller may comprise part of the sensor head. Alternatively, the controller may comprise part of the base.
The controller may compensate for the temperature-related change in length of the acoustic path by determining an uncompensated velocity value without taking into account the temperature of the path length portion determined using the temperature sensor; and scaling the uncompensated velocity value by a temperature scaling factor determined using a coefficient of thermal expansion of the path length portion and the temperature of the path length portion.
The acoustic signal may propagate from the acoustic transmitter to the acoustic receiver without being reflected.
Alternatively, the acoustic transmitter and acoustic receiver may comprise part of an acoustic transducer, and the path length portion may comprise an acoustic reflector positioned to direct a reflection of the acoustic signal back to the acoustic transducer.
The controller may be further configured to determine a maximum amplitude of the reflection; compare the maximum amplitude to a reflection threshold; and when the maximum amplitude is less than the reflection threshold, generate another acoustic signal of larger amplitude than the acoustic signal that is the source of the reflection.
The reflection may comprise a first reflection. The acoustic signal may reverberate between the acoustic transducer and the acoustic reflector, and reverberations between the acoustic transducer and the acoustic reflector may comprise the first reflection and a second reflection of the acoustic signal off the acoustic reflector. Determining the transit time may comprise determining a time difference between receiving the first and second reflections at the acoustic transducer.
The first and second reflections may be the first and second reflections of the acoustic signal that the acoustic transducer receives.
Determining the time difference between receiving the first and second reflections may comprise performing a cross-correlation of the first and second reflections.
Determining the transit time of the acoustic signal may comprise obtaining and averaging samples of the acoustic signal, determining the temperature of the path length portion may comprise obtaining and averaging samples of the temperature as measured by the temperature sensor, and the temperature may be sampled at a higher frequency than the acoustic signal.
According to another aspect, there is provided a method for determining underwater sound velocity. The method may comprise generating an acoustic signal underwater; directing the acoustic signal along an underwater acoustic path, wherein the acoustic path is defined by a path length portion that directly contacts a temperature sensor; determining a transit time of the acoustic signal along the acoustic path; determining a temperature of the path length portion using the temperature sensor; and determining the velocity of the acoustic signal from the transit time and a length of the acoustic path. Determining the velocity may comprise compensating for a temperature-related change in the length of the acoustic path using the temperature of the path length portion.
The temperature sensor may be partially or entirely embedded within the path length portion.
Compensating for the temperature-related change in the length of the acoustic path may comprise determining an uncompensated velocity value without taking into account the temperature of the path length portion determined using the temperature sensor; and scaling the uncompensated velocity value by a temperature scaling factor determined using a coefficient of thermal expansion of the path length portion and the temperature of the path length portion.
Directing the acoustic signal may be done without reflecting the acoustic signal. Alternatively, directing the acoustic signal may comprise reflecting the acoustic signal back towards a source of the acoustic signal.
The method may further comprise determining a maximum amplitude of a reflection resulting from reflecting the acoustic signal; comparing the maximum amplitude to a reflection threshold; and when the maximum amplitude is less than the reflection threshold, generating another acoustic signal of larger amplitude than the acoustic signal that is the source of the reflection.
Reflecting the acoustic signal may cause the acoustic signal to reverberate along the acoustic path. Reverberations may comprise a first reflection and a second reflection. Determining the transit time may comprise determining a time difference between receiving the first and second reflections at an acoustic receiver.
The first and second reflections may be the first and second reflections of the acoustic signal that the acoustic receiver receives.
Determining the time difference between receiving the first and second reflections may comprise performing a cross-correlation of the first and second reflections.
Determining the transit time of the acoustic signal may comprise obtaining and averaging samples of the acoustic signal, determining the temperature of the path length portion may comprise obtaining and averaging samples of the temperature as measured by the temperature sensor, and the temperature may be sampled at a higher frequency than the acoustic signal.
According to another aspect, there is provided a non-transitory computer readable medium having encoded thereon computer program code that is executable by a processor. The computer program code, when executed, causes the processor to perform the method of any of the foregoing aspects or suitable combinations thereof.
This summary does not necessarily describe the entire scope of all aspects. Other aspects, features and advantages will be apparent to those of ordinary skill in the art upon review of the following description of specific embodiments.
In the accompanying drawings, which illustrate one or more example embodiments:
Sound velocity (hereinafter interchangeably referred to as the “speed of sound”) is defined as the distance travelled per unit of time by a sound wave as it propagates through a medium. Sound velocity is not constant across different types of media located in different environments. For example, sound travels at a different velocity in water than in air, and even within the same medium travels at a different velocity at one temperature than another.
A sound velocity sensor for underwater use (hereinafter interchangeably referred to as an “underwater sound velocity sensor”) may be used to measure the velocity of sound in water. In one type of underwater sound velocity sensor, a sound wave is generated and the amount of time the wave takes to propagate a certain and known distance is measured. Given the known distance and measured propagation time, an estimate for the sound velocity may be determined.
The embodiments herein are directed at an underwater sound velocity sensor and at a method for determining underwater sound velocity. The sensor and method determine underwater sound velocity by measuring the amount of time required for a sound wave to propagate a path length. A temperature sensor is placed in direct contact with a path length portion, which defines the path length. This allows a controller to obtain an accurate measurement of the temperature of the path length portion. The controller obtains the coefficient of thermal expansion (“CTE”) of the path length portion and, combined with the measured temperature and a reference path length corresponding to a reference temperature of the path length portion, determines any change in path length resulting from a difference between the measured and reference temperatures. This allows the controller to compensate for a temperature related expansion or contraction of the path length, which increases accuracy of the sound velocity measurement. The sound wave may propagate along the acoustic path without being reflected; alternatively, a reflector may be located along the acoustic path and be used to reflect the sound wave, for example, back towards its source.
The sensor 100 generally comprises a transducer portion 120 on which is mounted a path length portion 102. As shown in
The transducer portion 120 comprises at its top end the acoustic transducer 126 and at its bottom end a threaded male connector 124 terminating in a communications port 116. Between and communicatively coupled to each of the transducer 126 and port 116 is a controller 108 that comprises an embedded circuit board (“sensor board”), as discussed in further detail in
A thermistor 106, which is an example type of temperature sensor and which is visible in
Referring now to
Referring first to
Each of the controller 108 and logger board 128 comprises a microcontroller (the microcontroller on the controller 108 is hereinafter the “sensor board microcontroller 132” and the microcontroller on the logger board 128 is hereinafter the “logger board microcontroller 130”). The microcontrollers 128,130 are communicatively coupled to each other via the communications port 116. The controller 108 also comprises a complex programmable logic device (“CPLD”) 136, memory 138 in the form of static random access memory (“SRAM”), excitation circuitry 140 for exciting the transducer 126, an oscillator 134, a first and a second analog-to-digital converter (“ADC”) 142a,b, the acoustic transducer 126, and the thermistor 106. The transducer 126 and thermistor 106 send analog readings to the first and second ADCs 142a,b, respectively, for conversion into digital signals that are communicated to the sensor board microcontroller 132. The first ADC 142a is communicatively coupled to the sensor board microcontroller 132 and to the memory 138 via a 9-pin data bus D8-D0 while the second ADC 142b is communicatively coupled to the sensor board microcontroller 132 via a Serial Peripheral Interface (“SPI”) bus. The CPLD 136 is also communicatively coupled to the sensor board microcontroller 132 via a 9-pin bus address A8-A0 and a start line, to the memory 138 via another 9-pin address bus A8-A0, and to the excitation circuitry 140. The oscillator 134 is communicatively coupled to the CPLD 136 and the ADCs 142a,b. The excitation circuitry 140 is communicatively coupled in parallel to the transducer 126 with the first ADC 142a.
The acoustic transducer 128 may comprise a piezoelectric element and the excitation circuitry may comprise a piezoelectric driver integrated circuit. Each of the microcontrollers 128,130 may comprise an STMicroelectronics™ STM32L476 microcontroller. Firmware may be developed for the microcontrollers 128,130 using the Attolic TrueSTUDIO™ integrated development environment and the STMicroelectronics STM32CubeMX™ and GCC toolchains. The CPLD 136 may be programmed using Altium Designer™ software. Each of the microcontrollers 128,130 comprises a processor and a memory (neither shown), such as EEPROM, communicatively coupled together, with the memory having stored thereon computer program code for execution by the processor.
Referring now to the different embodiment of
Referring now to
The method 300 begins at block 302 and proceeds to two loops: an acoustic signal timing loop and a temperature measurement loop. While the method 300 depicts the loops as being performed in parallel using, for example, some type of context switching, in different embodiments (not depicted) they may instead be performed sequentially.
In the acoustic signal timing loop, the controller 108 first generates the acoustic signal at block 304. This is done by having the sensor board microcontroller 132 send a start pulse over the start line to the CPLD 136. In response, the CPLD 136 provides a ping pulse to the excitation circuitry 140, which the transducer 126 translates into physical vibration that corresponds to the acoustic signal. The acoustic signal and reflections thereof reverberate along the acoustic path defined by the arms 144, between the acoustic transducer 126 and reflector 104 as described above. Reflections of the acoustic signal impact the transducer 126, which consequently generates an electrical signal that the first ADC 142a digitizes and sends to the memory 138 for storage. On each cycle of the oscillator 134, the CPLD 136 sends a new address to the memory 138 via the address bus so that each sample from the first ADC 142a is stored in a new memory location. Once data acquisition is complete, the CPLD 136 ends excitation of the transducer 126 and hands over the address bus to the sensor board microcontroller 132 and waits for another start signal from the microcontroller 132 before generating another acoustic signal and acquiring more data. The CPLD 136 may wait a certain period of time before assuming the data acquisition is complete (e.g., the period of time required for reverberations to decrease to approximately zero amplitude) or may continuously compare measured values to a minimum threshold in order to determine that data acquisition is complete. The sensor board microcontroller 132 subsequently addresses the memory 138 using the address buses via the CPLD 136, and acquires data from the memory 138 via the data bus.
It may be beneficial for the measured reflection pulses 404a-d to have a high amplitude without clipping the ADC 142a. To accomplish this, the controller 108 determines a maximum amplitude of the first reflection pulse 404a and compares that amplitude to a reflection threshold. For example, in
Concurrently with block 306, the controller 108 in the temperature measurement loop performs block 312, and obtains temperature data from the thermistor 106 via the second ADC 142b. The second ADC 142b sends digitized temperature data directly to the sensor board microcontroller 108. In a different embodiment the temperature data may also be sent to the memory 138.
At blocks 308 and 314, the controller 108 determines acoustic signal transmit time in terms of number of samples (referred to as “raw counts” in
At block 314, the controller 108 obtains the raw output of the thermistor via the SPI bus and determines the temperature from that output using, for example, a polynomial transfer function or the Steinhart-Hart Equation.
Example output from blocks 308 and 314 is presented below in Table 1, with each row of values corresponding to a different acoustic signal.
At blocks 310 and 316, the controller averages the transit time values in raw counts and the temperature. Averaging may be done differently, depending on the embodiment.
In one embodiment, the controller 108 and, more particularly, the sensor board microcontroller 132, applies a simple moving average of the last N transit time values in raw counts and the last M determined temperatures, with N and M optionally, but not necessarily, equalling each other. In certain embodiments, M<N to facilitate more accurate temperature data. Using the data of Table 1, for N=5 and M=2, the output immediately after the fifth acoustic signal of block 310 is 3711.08 and block 316 is 2.349408° C. In the depicted embodiment, for each generated acoustic signal the controller 108 updates the transit time and temperature averages. Furthermore, while in this example a simple moving average is used, in different embodiments a different type of averaging may be used, or no averaging at all may be used. Examples different types of averages are a cumulative average of all recorded data to date, a weighted average (moving or otherwise), and an exponential average (moving or otherwise).
At block 318, the controller 108 and, more particularly, the sensor board microcontroller 132, determines a temperature-compensated sound velocity from the determined transit time and temperature. In the depicted embodiment, the determined transit time and temperature are the averages output by blocks 310 and 316. Using the example above, immediately following the fifth acoustic signal the determined transit time is 3711.08 raw counts and the associated temperature reading is 2.349408° C.
The time corresponding to the number of raw counts can be determined using the sampling frequency. In this example embodiment, the sampling frequency is 77.76 MHz. Consequently, the time corresponding to 3711.08 raw counts is 47.725 μs. The total distance traveled corresponding to this time is twice the acoustic path length, which in this example is 3.33 cm; total travel distance is consequently 6.66 cm. Traveling 6.66 cm in 47.725 μs corresponds to a velocity of 1395.49 m/s, before performing any temperature compensation (this velocity is the “uncompensated velocity”).
The controller 108, and more particularly the sensor board microcontroller 132, adjusts the uncompensated velocity to take into account the temperature by applying Equation (1):
SV
comp
=SV
uncomp·[1+CTE(T−T0)] (1)
where SVcomp is the temperature-compensated sound velocity, SVuncomp is the uncompensated sound velocity, CTE is the coefficient of thermal expansion of the arms 144, T is the measured temperature, and T0 is a reference temperature for which the acoustic path length is the reference path length (i.e., the temperature at which any temperature-caused change in path length is deemed to be zero).
Assuming T0 to be 0° C. in this example, applying Equation (1) where SVuncomp=1395.49 m/s, T=2.349408° C., and the arms 144 are made of titanium having a CTE of 9.8×10−6/° C., SVcomp=1,395.52 m/s.
At block 320, the controller 108 and, more particularly, the sensor board microcontroller 132, outputs the temperature-compensated sound velocity to the sensor base 110 and, more particularly, the logger board microcontroller 130. The base 110 may subsequently output the temperature-compensated sound velocity to external memory. As discussed above, the base 110 in certain embodiments is not present, in which case the method 300 omits or modifies block 320, as appropriate. Additionally or alternatively, the controller 108 may output any or all of the raw data used to determine the temperature-compensated sound velocity, such as the raw data obtained from the thermistor 106 and transducer 126 and the averaged raw count and temperate data.
Referring now to
At block 602, the controller 108 begins performing a control loop using a control process 510. The controller 108 proceeds to block 604 where it performs an initialization and configuration routine using a configuration process 512, which is bidirectionally communicative with the control process 510. The configuration process 512 obtains configuration data from and is also able to write configuration data to EEPROM. Example configuration data comprises information such as serial number, transmission rate, and firmware version.
At block 604 the controller 108 also starts communications using a communications process 508. The communications process 508 sends commands to the control process 510, and the control process 510 sends results and responses to the communications process 508. The communications process 508 sends configuration data to the configuration process 512, which writes that data to EEPROM as described above.
The communications process 508 is bidirectionally communicative with a UART 504 via an interrupt request (“IRQ”) 506, and also without using interrupts via in and out buffers. The UART 504 is bidirectionally communicative with a logger 502, which in the present example embodiment comprises the logger board 128.
At block 606, the controller 108 determines whether a command is ready to be performed. The controller 108 does this by checking to see whether a command ready (“CMD Ready”) flag has been set. Example commands comprise whether to enter a diagnostic mode in which all data the controller 108 obtains is output in raw form to the logger 502. Commands may be sent to the controller 108 via the logger 502. If no command is ready, the controller 108 returns to block 606 and awaits a command. If a command is ready, the controller 108 proceeds to block 608 where it clears the CMD Ready flag, and to block 610 where it gets the command from a circular buffer. At block 612, if the command is to enter “normal mode”, which in the depicted embodiment refers to the mode in which the temperature-compensated sound velocity is determined, the controller 108 proceeds to block 614 where it begins performing a sound velocity loop (“SV loop”) and a temperature loop (“TMP loop”). Otherwise, the controller 108 returns to block 606.
When the controller 108 enters the TMP loop, it proceeds to block 636 in the method 600 and a temperature process 516 in the data flow diagram 500. The temperature process 516 enables a thermistor circuit 520 that supplies current to the thermistor 106, which outputs raw temperature data (“thermistor samples” in the data flow diagram 500) to the first ADC 142a. The first ADC 142a outputs the thermistor samples to the temperature process 516. In the method 600, upon expiry of a thermistor timer at block 638 the controller 108 acquires samples at block 640 and stores them in a circular buffer. Once a sufficient number of samples has been acquired as determined at block 642, the controller 108 sets a “Therm Ready” flag. In the embodiment of
When the controller 108 enters the SV loop, it proceeds to block 652 in the method 600 and a sound velocity process 514 in the data flow diagram 500. The sound velocity process 514 enables a timer process 526 and direct memory access (“DMA”) process 528 to directly access the memory 138. The timer process 526 runs a sound velocity timer (“SV Timer”) and a capture timer (“Capture Timer”). When SV Timer expires, an SV Timer IRQ is generated at block 654, following which the CPLD 136 generates the acoustic signal and begins to measure reflections (referred to as “echoes” in
The controller 108 subsequently enters the normal loop at block 616 and proceeds to block 618 where it determines whether sufficient temperature data has been captured in order to generate a reliable temperature by checking the Therm Ready flag. If yes, the controller clears the Therm Ready flag at block 620 and proceeds to block 622 where it obtains the temperature. The controller 108 does this by performing a “get temperature” process at block 644. The controller 108 proceeds to block 646 where the temperature process 516 obtains thermistor samples stored at block 640 and determines the temperature at block 648, as discussed in respect of
Following obtaining the temperature, the controller 108 proceeds to block 624. In the event the Therm Ready flag is not set at block 618, the controller 108 proceeds directly to block 624 from block 618. At block 624, the controller 108 determines whether the Echo Ready flag is set. If it is, it proceeds to block 626 where it clears the Echo Ready Flag and to block 628 where it determines SVcomp. To determine SVcomp, the controller 108 performs a “get sound velocity” process at block 666. The controller 108 determines SVcomp at block 668 from the echo samples that are stored in the controller's 108 EEPROM and temperature reading as described above in respect of
After SVcomp is determined, the controller 108 at block 630 outputs SVcomp to the logger 502 and proceeds to block 632 where it checks to see if another command is ready to be performed by checking the CMD Ready flag. If the Echo Ready flag is not set at block 624, the controller 108 proceeds directly to block 632 from block 624. If there is no new command ready to be performed, the controller 108 loops back to block 618. If a new command is ready to be performed, the controller 108 proceeds to block 634 where it stops the SV and TMP loops, and proceeds back to block 606.
While particular embodiments have been described in the foregoing, it is to be understood that other embodiments are possible and are intended to be included herein. It will be clear to any person skilled in the art that modifications of and adjustments to the foregoing embodiments, not shown, are possible. For example, in the depicted embodiments the acoustic transmitter and acoustic receiver are embodied by the single acoustic transducer 126. However, in different embodiments (not depicted), the acoustic transmitter and receiver may be distinct from each other.
As another example, in the depicted embodiments the reflector 104 reflects the acoustic signal so that the acoustic transducer receives reflections of the acoustic signal. However, in a different embodiment (not depicted) the acoustic signal may propagate from an acoustic transmitter to an acoustic receiver without being reflected. For example, the reflector 104 in the embodiment of
As another example, the thermistor 106 in the depicted embodiments is embedded entirely within the path length portion 102 when the sensor 100 is assembled. In different embodiments (not depicted), the thermistor 106 may be differently positioned. For example, in one different embodiment the thermistor 106 may be positioned on the outside of the sensor 100 and be directly exposed to water when in use. In another different embodiment, the thermistor 106 may be only partially contained within the path length portion 102, with one or more portions of the thermistor 106 on the exterior of the sensor 100, in the transducer portion 120, or both.
Additionally, while the thermistor 106 is used as a temperature sensor in the depicted embodiment, in different embodiments (not depicted) a different type of temperature sensor may be used. For example, a thermocouple or a resistance thermometer may be used instead of or in addition to the thermistor 106.
As another example, while in the depicted embodiments the sensor 100 comprises a sensor head that is releasably couplable into the base 110, in different embodiments (not depicted) the functionality of the sensor head and base 110 may be combined into an integrated unit, or the logging functionality of the base 110 may be omitted entirely (e.g., the sensor 100 of
Directional terms such as “top”, “bottom”, “up”, “down”, “front”, and “back” are used in this disclosure for the purpose of providing relative reference only, and are not intended to suggest any limitations on how any article is to be positioned during use, or to be mounted in an assembly or relative to an environment. The term “couple” and similar terms, and variants of them, as used in this disclosure are intended to include indirect and direct coupling unless otherwise indicated. For example, if a first component is communicatively coupled to a second component, those components may communicate directly with each other or indirectly via another component. Additionally, the singular forms “a”, “an”, and “the” as used in this disclosure are intended to include the plural forms as well, unless the context clearly indicates otherwise.
The word “approximately” as used in this description in conjunction with a number or metric means within 5% of that number or metric.
It is contemplated that any feature of any aspect or embodiment discussed in this specification can be implemented or combined with any feature of any other aspect or embodiment discussed in this specification, except where those features have been explicitly described as mutually exclusive alternatives.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CA2017/050286 | Mar 2017 | US |
Child | 15887743 | US |