acquire an audio signal from an hydrophone

hello, I need to acquire an audio signal from an hydrophone. The system is composed by two arduino (one is connected to the underwater buzzer that send the message and another arduino is connected to hydrophone that receive the message) the problem is the connection interface of hydrophone because It is an audio jack. I need to create an interface to connect the jack of hydrophone with the arduino. there is a shield or other solution???

You'll need a preamp to boost the "microphone" output from a few millivolts to around 1V. You'll probably need a gain of somewhere between 100 and 1000.

You can buy a microphone preamp or you can make a preamp with an op-amp and 2 resistors. Since we don't know the loudness of the sound or the sensitivity of the microphone, you'll need to experiment and you'll probably need a pot to adjust the gain or to attenuate the signal. (Virtually all mic preamps have a volume/gain control for the same reason.)

You'll also need to bias the input, since the Arduino can be damaged by negative voltages (the negative half of the AC audio waveform.

Note that most op-amps operate from bipolar power supplies. Although, it's also possible to bias the op-amp circuit instead of biasing the Arduino's input.

the preamp is not a problem, I know the Specifications of hydrophone and i will design. My problem is acquire the signal and convert the signal in the position of the underwater pinger.
The pinger (I know the specifications) send a message the hydrophone receive and convert the signal in the position of pinger

The hydropone specifications is:
Sensitivity: -180dB re: 1V/µPa (+/- 4dB 20Hz-4KHz)
Useful range: <10 Hz to >100KHz
Output impedance: 2 KΩ
Power: 0.3 mA

The pinger specifications:
Operating voltage: 0.7/15Vdc
Operating current: 11mA @12Vdc
Frequency: 3.5kHz ±15%
Sound pressure level: 71dB
Tone: continuous

convert the signal in the position of the underwater pinger.

Do you hope to actually locate the pinger? This is not possible with one hydrophone, and very difficult with several hydrophones. It is most likely an impossible task for an Arduino.

My problem is not the location. My problem is how to record sounds in order to process them. In the initial post I wrote hydrophone, but in fact I own three hydrophones placed on three different buoys and arranged in a triangular formation. My problem is record this sound from the pingers to be able to develop. there are some shield allowing recording of the sounds, but do not know which is more suitable for my purposes.

My problem is how to record sounds

Why would you want to do that with an Arduino, especially in a marine environment, where you face extremely challenging corrosion problems?

Because is not so expensive and because i have possibility to close hermetically the arduino

My problem is not the location. My problem is how to record sounds in order to process them. In the initial post I wrote hydrophone, but in fact I own three hydrophones placed on three different buoys and arranged in a triangular formation. My problem is record this sound from the pingers to be able to develop. there are some shield allowing recording of the sounds, but do not know which is more suitable for my purposes.

I’d suggest using a 4-input* [u]audio interface[/u] and a regular computer. Then, you can use MATLAB, a MATLAB clone, or your own software to analyze the recorded audio.

I’m not sure if such a shield exists… I’ve never looked for a recording shield. But, I’m pretty sure you’re NOT going to find a shield with 3 (or more) audio inputs.

You might be able to use two stereo shields (if you can find one).

I’m not sure if the Arduino is even appropriate for this… If you are using a shield, the shield should have it’s own ADC & memory, so the Arduino would only be a controller for it. Then, there’s a question of how much processing power you need to do whatever processing you need to do. Then, you need some way to output/display your results.

  • Interfaces with 3 microphone inputs are not as common.

Arduino ADC has a range of 0-5V (or 0-AVREF if you change reference) but I believe that your signal has negative values so you have to shift it in a manner that all values are above 0.
Furtermore it is a 10 bit ADC, you have 1024 values. You may consider to use an ARM based Arduino like the DUE or the much cheaper STM32. They all have a 12 bit ADC, they are much faster and have more flash and RAM.