Homemade disdrometer, programming help wanted

I’ve just got round to running the three sample WAV files through some analysis software. A spectrogram shows the fundamental resonant frequency at around 90Hz (further analysis shows the peak at 88.82Hz). I wonder if the 86 Hz quoted previously was the software trying to match the frequency to an equivalent musical note? Anyway there’s definitely a fundamental resonant frequency at round 85-90Hz. There are also minor resonant frequencies at 335Hz and 502Hz with some lower level resonances at 703Hz and 786Hz. As suspected the samples showed some quite severe clipping due to input overload.

Unfortunately I haven’t found any software which can simulate a narrow bandpass filter centered on 89Hz to allow me to watch the amplitude of that frequency. It would be nice to see real peaks in amplitude matching up to the individual drops.

Some other thoughts…

  1. The signal overloading needs to be addressed somehow. I can imagine this will be an even bigger problem for hail!

  2. I think th size of the ‘resonant surface’ needs to be much smaller. During heavy rain the individual drops run into each other, probably because the surface reverberates too long after each hit. A smaller surface will have fewer drops hitting at one time and will also move the natural reverb frequency much higher (although it may also move the natural resonant frequency much higher as well).

  3. It would be interesting to experiment with different surface types, e.g. thicker/thinner, elastic/inelastic, as well as different 3D shapes. The domed/pyramid shapes might be interesting to try.

I pretty much agree with all of the above. In the interim, I did a little research and I think next I’ll see about some sort of piezo film transducer.

I dunno what I did with the link I found, but as soon as I relocate it, I’ll post it.

We haven’t had significant rain in weeks. This weekend, it rained. But, unfortunately, my wife and I also ordered a bunch of closet stuff from easyclosets.com last weekend, which came Friday by UPS (24 boxes, 843 pounds/382 kilos). They sent a special truck… So, instead of listening to the rain with my disdrometer transducer, I’ve been in the closet all weekend.

(Sitting back waiting for the inevitable “coming out of the closet” jokes…)

I found this paper on an impact disdrometer design while Googling disdrometer.
Quite interesting.
He says that despite great effort, their individual units vary ba a factor of 3, so individual calibration is required.

http://fermi.jhuapl.edu/people/chapman/disdrom_paper.pdf

Steve

My ham radio club had a booth at an event at a science center. One of the other booths had a laser beam communications rig built by a high school science class. This modulates a laser and sends the beam across the room to a detector, where the sound is reproduced. They sprayed aerosol air freshener into the air to make the beam visible. While they were doing this the, the tiny airborne droplets in the beam produced a sound like frying eggs from the detector.

If you expanded an unmodulated laser beam to, say, an inch in diameter, and shot it to a detector a foot away, the amount of reduction of the signal that the detector produced would be porportional to the cross sectional area of the beam that was blocked by hydrometeors and flying insects. A drop of a particular size would produce a characteristic ramped step in the output as it entered and left the beam. If the sensitive volume was such that you did not have a lot of drops in the detector at the same time, perhaps you could characterize them by examining the time domain output of a rig such as this.

Steve

Interesting idea with the laser, although does it need to be a laser? Could this be done just using any light beam?

You could also have three scanning lasers (like a shop checkout) which fixed each rain drop in 3D space. Doesn’t sound like a home project though!

You could probably use a regular light source.
You would possibly have a problem with interference from ambient light
Since a laser is monochromatic, you could put a very narrow bandwidth optical filter in front of the detector to reject most of the ambient light. Come to think of it, the light source does not need to be coherent, just monochromatic. I think leds are pretty close to being monochromatic.

Also: ambient solar illumination would change very slowly, compared to the much more rapid fluctuations from passing drops. Proper signal processing could likely remove this contribution.

Another thought: A Doppler ultrasonic sensor located under the sensor volume could determine the vertical velocity of the drops. If the top and bottom of the beam were flat, you could directly calculate the size of the drops from the time length of the ramp signal produced as the drop enters or leaves the beam.

Steve

This is starting to remind me of a question I was asked a few years ago. I didn’t find an answer for that at the time and I think some of these ideas might suffer from a similar problem.

The basic issue I can see is how you differentiate between rain drops in a 2D world. Think of an tiny slit allowing light to pass from a small light source into your ‘rain chamber’ and strike a sensor on the opposite wall of the chamber. Now let a single drop of rain fall through the light and it will cast a shadow on a sensor. This shows that a drop has fallen. The drop size can’t be estimated though, because if the drop falls close to the slit it will cast a larger shadow on the sensor than if it falls near the sensor. If you can arrange for a light source with parallel ‘rays’ then you’d be OK, but I’m not sure how easy it would be to engineer such a light source (or a suitable sensor).

However, the bigger problem is that rain doesn’t come in neat single drops just when you want it. You’ll get drops of slightly different sizes, drops with internal wobbles giving the drop an odd shape, drops that arrive in a pair but when viewed together appear to be a single larger drop, drops falling in parallel where the drop nearer the light source effectively masks one nearer the sensor and probably a few more problem combinations too. I’m not sure how you would identify and deal with these cases.

It’s a somewhat similar issue to the ‘acoustic plate’ idea. At least with the plate you do get individual percussion events as each drop falls, but you’ll also get problems there where one drop falls on top of another drop that’s just landed. The first drop will cushion the second drop to an extent and probably make it sound like a smaller drop fell.

I can see how to collect the raw light/audio data, but I’m not sure how you turn it into useful info about drop rates and drop sizes.

A little OT, but thats an awsome app. Real handy to find where noise is at in real-time. Much better than using Soundforge to pick out noise or shelling out for a scope.

Regarding the light based sensor idea…

I wonder if a bar code scanner might be modified, especially a hand held one that will read a bar from several inches away.

I think the problem with the optical approach is the difficulty of handling concurrent drops. In the audio system two drops hitting the plate simultaneously impart their combined energy to the plate and (presumably) the total is recorded fairly accurately. In the optical system if one drop is behind another drop the system will never see it.

What about using more than one of optics? Can you have 2 or more scanners at the same level?

What about using more than one of optics?

While Googlilng disdrometer I found one that had two flat sheets of laser, oriented at right angles to each other, and separated by about 1/2 inch vertically. The laser sheets were actually horizontal scanners. When a drop fell through the sensing volume, they could get the drop size, the X and Y position, and the velocity of the drop (by the time between the first and second sheets). Unfortunately, I can’t find it anymore, and I don’t know, but I don’t think they handled simultaneous drops.

Steve

Somebody should look into the technology used for drum pads. These are rubber like pads that produce a signal proportional to how hard you strike them with a drum stick, and are used as inputs to trigger drum machines. If we could make one that is much more sensitive…

Along this line, what about a sensor based on the condenser microphone principle. Two charged plates are placed close to each other. When one of the plates vibrates, the capacitance between them changes, which produces a changing voltage. I had thought about stretching a sheet of aluminized Mylar, as a diaphragm, a short distance above an aluminum plate. However, this would have a few problems: the diaphragm would ring with its natural frequency when struck, it would respond differently when struck near the edge than in the center, if it was hit hard enough the diaphragm would touch the aluminum backplate and short out the whole thing.

How about putting some closed cell foam dielectric in the middle? Some of that sheet packing material you sometimes get, about 1/32 to 1/16 inch thick. Using contact cement, glue it on to an aluminum plate, and glue some space blanket material on top, aluminized side down. The foam is resilient enough to deform a little when a drop falls on the diaphragm, and thus produce a signal, but it would restrict the deformation to a small region, giving the same response at different locations on the sensor. The internal friction in the foam would provide damping and keep the diaphragm from ringing, and it would prevent the diaphragm form shorting out when struck too hard.

Steve

Time to resurrect this. :slight_smile:

Disdrometer is probably more than I really want, since the term implies measuring size and velocity. What I really want is just a way to know when the rain starts (sooner than the first click of the tipping bucket) and maybe a qualitative indication of intensity.

After I started this and built the plate transducer, it pretty much stopped raining. That was about the time I found an app called Skypipe. It’s made for amateur radio astronomy but can be used for just about any signal you can jack into the audio inputs. The radiosky.com site mentions seismography and weather in addition to radio astronomy.

This has been a wetter season, and, today, I remembered all of that, installed Skypipe, hooked up my plate transducer, and got it running before the rain started.

So far, I’d say the concept and implementation is pretty sound (pardon the expression). Even in the high wind, there was no discernible falsing and the trace was flat. Ones it started raining, the trace matched the perceived intensity. Below is a screen grab of a unitless trace representing rainfall intensity.

I don’t thing Skypipe has enough features to be the killer app for this (intensity trigger, uploading, etc) but it’s a cool proof of concept.

The radar shows we are in for some pretty intense rain here in the next few hours. It’ll be interesting to watch this.

The time scale is the last 20 minutes, and the hours are not clock time, but started at zero from program start time.

Uploading would not be a big deal, a relatively simple screen capture would do that. Trigger is a different issue, what did you have in mind? For instance it would be easy to scan along a defined line for red pixels. All a bit Rube Goldberg but it would work…

It’s been pretty interesting to watch the strip chart tonight. I made it 60 minutes long, and stretched it out somewhat.

You can see the shower bands go through and the intensity building. The end time of this is about 9:15 PM PST.

the updated sound drivers I have added to WD have sound input, and nice sound graphing…looks just like this program…
so I could add direct support for this to WD :wink:

Hi

This disdrometer stuff is very interesting, I hadn’t heard of one before today. I’m making a remote weather station based around a couple of AVRs (like a PIC only better…) with a radio link.

So far it only does pressure, temperature, light and battery status, but I want to do the full monty and I have plenty of spare A2D channels.

It strike me that the disdrometer would work really nicely with a bucket rain gauge.

I reckon you would only need to do three things:

Count the peaks (i.e. new drop arrivals)
Their height (size of drop)

You could use a correction factor to allow for the fact that as more drops arrive you are more likely to have overlapping events)

Finally, stick a passive high-pass filter on the input and you should be able to differentiate out hail, which should make a sharper impact than a raindrop?

Looking at the strip chart, I guess that ( possibly applying a transformation first) then measuring the area under the curve might be the easy way to go.

That would be cool! Plus maybe an alert of some sort for the onset of rain, and some adjustable intensity settings for an uploadable tag or graphic (light rain, moderate rain, heavy rain, downpour, get on the ark…)

Hi
the component I have sure seems to do what I wanted…had a volume peak notification system…but after about 5 times of that event firing it would stop firing…

so I will have to try and find an alternative,…