I’m doing some experimental measurements of ultrasound in a water tank. The goal is to get the pressure distributions in the water and on the surface, where the ultrasonic transducer is attached. All measurements are done with a Brüel & Kjaer 8103 hydrophone. I have an established workflow but I’m unsure whether all processing steps are correct. Most of the equations I found in the B&K technical documentation that came with the hydrophone (unfortunately very outdated, from 1992, even though the hydrophone was purchased recently). Do you think the steps below are correct?

Firstly, the hydrophone is connected to an amplifier and oscilloscope. The data is obtained as a time wave with 10000 data points, in mV. Sampling frequency is around 10 MHz (the frequency range that I’m interested in is between 20-60 kHz). Then, the correction of the amplifier is applied, by calculating the gain. This is done by dividing the output sensitivity (mV/Pa) by the transducer sensitivity (mV/Pa), resulting in values between 4-40 (dB?) depending on the amplifier settings. Then the raw amplitude values are divided by 10^(gain/20).

I then carry a Fast Fourier transform on a window correction using the Hanning window. I do the FFT in R, using the fft() function. To get the amplitude I use 4* absolute values after the FFT divide by the total number of data points. After having frequency resolved data (which I ensured is correct by running it with a signal of known frequency) I correct for the sensitivity of the hydrophone, obtained by the manufacturer. I do this by calculating a transfer factor: 10e8*10^(sensitivity/20). The values in Pa are obtained by dividing the amplitude (after FFT) by the aforementioned transfer factor.

Final values are around 80 KPa. Unfortunately I have no exact expectation of the range of the pressure I would expect with ultrasound transducer powers that I use. Any suggestions/recommendations are very welcomed. There are many questions asked that I have come across on how to transform the raw voltage signal in pressure but this only leads to more confusion.

Transfer factor formula obtained from here: https://www.translatorscafe.com/unit-converter/de-DE/microphone-sensitivity/ Thanks a lot

  • \$\begingroup\$ You need to specify the acoustic projector you are using and its drive level. If you know the projector transmitting sensitivity (Pa/volt), the drive level (volts) and the distance between the projector and hydrophone, you can calculate the acoustic pressure level at the hydrophone. You can then compare this to the level you have measured. Expect an error of several dB as acoustic measurements are not that accurate due to variations of temperature, uncertainties of the actual projector and hyddophone sensitivities and other factors. \$\endgroup\$
    – Barry
    Oct 11, 2022 at 12:59
  • \$\begingroup\$ What about multiple reflections in the tank? \$\endgroup\$
    – Antonio51
    Oct 11, 2022 at 15:19
  • \$\begingroup\$ Do you want to "see" something as this (videos) laboiteverte.fr/du-sable-qui-vibre-sur-une-table \$\endgroup\$
    – Antonio51
    Oct 11, 2022 at 15:51
  • \$\begingroup\$ Of all the B&K kit I've used (this was 20 years ago) always came with full details in the manual and associated application notes. Their documentation one of the best. \$\endgroup\$
    – D Duck
    Dec 20, 2023 at 20:57

1 Answer 1


My answer comes from an underwater acoustics perspective which means dB scaling is used throughout to make the arithmetic easier.

The transducer kit comes with a calibration printout for the actual hydrophone as shown below. If your hydrophone didn't come with this, you'll need to consult the specification sheet and use the typical sensitivity which makes the experiment questionable.

enter image description here
Calibration sheet from an actual B&K 8103 transducer.

Hydrophone Sensitivity
From the graph, find the Open Circuit Voltage (OCV) sensitivity.
In the above example chart the base sensitivity is -211.5 dB//1V/uPa as shown in the upper red boxed area.
At 60 kHz, the sensitivity is -211.5 - 2.0 = -213.5 dB//1V/uPa.

Thus, at 60 kHz the OCV = -213.5 dB//1V/uPa.

Receive Level
To find the Sound Pressure Level (SPL) at the hydrophone:
\$ SPL = (Vout_{dB} - G) + OCV \;\;\$ in dB//1µPa

\$ Vout_{dB} \$ = measured rms output voltage of the amplifier in dBV
\$ G \$ = gain of amplifier in dB

In the following comments, I refer to doing computations using oscilloscope maths functions. If you use a math tool such as R, the comments are still valid, i.e., know how the tool functions.

A continuous (CW) signal is not recommended for acoustic measurements unless you have a very large free-field test range.

Acoustic measurements are generally done using burst signals so reflections don't corrupt the measurement. This means using a FFT may not be a good choice since there will be limited cycles to perform the FFT maths. You may be better off using a time windowed Vrms voltage reading that encompasses a number of complete cycles. Averaging is highly desirable since this reduces noise and gives better bit-depth (dependent on the complexity of the oscilloscope). Be sure to trigger the oscilloscope on the transmit burst.

Set the burst rate (number of transmit pings per second) so tank reverberation does not influence the measurements from previous bursts reverberation. 10 bursts per second is a good starting point.

To determine what pulse length you should use, perhaps use a 100 cycle burst at the desired frequency and monitor the received signal. At some time, the signal will become corrupt due to constructive/destructive interference from reverberation. Set the number of cycles of the burst so the received signal isn't corrupt. You state that the hydrophone is near the surface which means you get corruption from the surface bounce. Same goes for the projector which will send energy bouncing off of various surfaces. You can also test for surface bounce issues by causing ripples on the water surface. If the signal changes with surface ripples, you have surface interference which is undesirable. It is best if you can locate the projector and hydrophone at least 1 metre from any surfaces, especially at the frequencies you are considering.

If you are going to use the FFT function, use flattop windowing. This gives the most accurate amplitude reading of the various common window types due to low ripple and wide bandwidth.
Be sure the FFT gives a rms reading. Some oscilloscope don't.
Be sure the signal covers the whole screen width. FFTs on better oscilloscopes will compute the FFT on the displayed signal.
When using bursts, be sure that you're getting the right amplitude results. Certain oscilloscopes, like inexpensive Rigol scopes, give wrong amplitude results for delayed burst signals.
As previously mentioned, you need lots of cycles for FFTs. Burst signals in small water tanks generally do not have enough cycles to compute a good FFT which is why I recommend using the oscilloscope's Vrms measurement function.

Be sure you measure the gain of the amplifier over the frequency span of interest. The frequency response of the amplifier may be different at different gain settings. Heed the old adage: Know your test equipment!

If you add cable to the existing hydrophone cable, this may affect the sensitivity. The additional cable will act as a capacitive load on a complex impedance which creates a voltage divider and reduces the sensitivity. The simple hydrophone output capacitance is around 3.7 nF (see the lower red box in the example chart) which means a couple metres of cable probably won't affect the sensitivity much. To be sure, you need to perform a measurement with and without the additional cable.

The input impedance of the amplifier should be high impedance, > 100k ohms for your frequency range of 20 kHz to 60 kHz (or did you mean 20 Hz to 60 kHz?).
Also check that the amplifier input capacitance won't affect the measurements. I would suspect that anything under 100 pF should be OK. Again, test.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.