I am working with a retired Professor who is an expert in underwater sound. I am interested in interfacing one of his hydrophones (underwater microphone) into my Arduino and log the sound to SD Card. At the moment, we just listen to his hydrophones through a fibre-optic link, which is great for periodical listening, but I want to remotely log (not cause I am lazy, but to get 24 hour records of sounds).
Now, I think we would use an external ADC (12 bit) to convert the sound from the hydrophone and log that digital feed. Replaying it back through a DAC. We'd probably log for 10 minutes on, 10 min off or something like that..
Has anyone tried this? Any lessons learned that would help me develop it?
The arduino will have some difficulty in doing that but it can handle starting and stopping a recording device that uses an SD card. Any MP3 player/recorder can easily be hacked to be run by the arduino by manipulating the buttons. It can turn on, start recording, stop recording etc.
To do all of this yourself I think an Arduino mega with audiophile grade ADC can do it but you're looking at a lot of components and design work.
Having said that what is the fiber optic link? What is it's protocol? That may be a way to get a good digital recording...
We were thinking about going down the cheapo MP3 style voice recorder. We will be looking at different frequencies, I think well beyond the normal hearing range of 20 kHz, at an extreme something like the snap of a shrimp at 130 kHz....
You guys are right, this is going to be a very big challenge. The probable method would be to attach a decent recorder such as: M-Audio MicroTrack II, using the Arduino as a programmable timer to turn on and off. As we mature the device, we can make the arduino listen for events and record the sounds made after (but I think we would have to buffer the recording then...)
As for the fibre-optic link, I am not 100% sure, the Prof has built a hydrophone with a ADC that passes the sound up the fibre-optic to a DAC that converts it back to a 3.5mm jack. Works very well. I can get more information if you're interested.
Well at least double the sample rate so you are looking to go at least 260KHz sample rate. Also you won't be able to write to an SD card at that sort of speed. Given 16 bit samples that is about half a meg of memory per second of recording.
So to get 24 hours of sound even with 10 on and 10 off (making 12 hours) you need about 22 Gig of memory.
Yeah, it seems that we would need significant memory, am definitely going down the external recorder controlling route. Probably an M-Audio MicroTrack or a Zoom H2 Handy Recorder as my recording device at 96kHz. Time-lapse will be done using the arduino to turn on and off the device.
We should be able to get 192kHz by splitting the mono signal from the hydrophone into two streams and doing some analogue wizardry to split the signal. The prof said:
"One thing which annoys me - always - is that since the MicroTrack will have stereo right and left channels and we are (at the moment at least) only recording mono, it should be possible to effectively record up to 2 x 96 = 192 kHz. To do this, one needs to select a mid-range frequency (~96 kHz) and then do an in-phase and quadrature demodulate to baseband. The method effectively treats the signal as though it was two independent single-sideband processed, one above and one below the "carrier frequency" of 96 kHz."
I don't pretend to understand this..
Obviously lots of work to do to make it interface with Arduino.. If anyone has ever done this before with these recorders, I'd love to hear from you.
The interest in the fiber optic is yours. You can take the raw digital off the fiber and store that. I'm not sure the arduino can do it but the mega surely can. You'd just need to tie in to the digital output of the fiber's receiver. You will get the exact output of the ADC in the hydrophone then with no distortions from converting to analog and recording. All you need is the protocol the ADC is speaking.
That was my first thought, to log the outgoing ADC feed from the hydrophone, if the Mega and SD card is quick enough to log (I have one on back order) then that will be great! Full range of the hydrophone!
In the meantime I have purchased myself a Zoom H2 96kHz/24 bit recorder. I am going to interface the arduino into this by wiring up the on off switch (power control) and record start/stop.