11.13.08
Posted in PhD An Acoustic Disdrometer at 3:12 pm by philwinder
I have just computed the absorption coefficients for the drop impacts, instead of a pulse generation.
To do this, I imported the raw drop data into Matlab and manually set all of the areas that had any bubble noise to zero. Then I went back to my software and averaged the pulses like before. Back in matlab I filtered the average (because there was a VLF frequency that would mess up the power measurements) and calculated the mean power.
The results gave an average absorption coefficient of 0.49. A slightly better, but similar result that from yesterday. This helps to conclude the anechoic nature of the lining.
Phil
Permalink
11.11.08
Posted in PhD An Acoustic Disdrometer at 1:05 pm by philwinder
I have now completed the anechoic lining tests and reached an acceptable combination of materials.
To recap, over the last couple of weeks I have used an audio frequency amplifier to increase the transmit power of the pulsed tx signal. I expected this to provide poor results since the pulse was 6.6 uS long, hence providing a spectrum containing a sinc function with the first zero at about 150kHz. However, despite the amplifiers (probable) low pass filters it produced a pulsed signal that could be used and most importantly, at a higher power.
With this power I could now repeat the metal tube tests and actually see the reflection and after about 6 repetitions came to a descision on which material combination to use: a single sheet of heavy rubber backed with foam. The rubber provided some absorbive attenuation, and what doesn’t get absorbed is scattered by the foam.
Armed with the new material I constructed a test tank from a oversized plastic A4 box, typically used for storage, and lined it with the rubber-foam combination. Below are the results from a pulsed tx test from within the tank. Note that the absorption coefficients are not normalised to an area and therefore cannot be directly associated with a sabin coefficient, or equivilent.

From the two tests (these results were very stable) an average absorption coefficient of 0.46 was attained. Just to make sure, I did swap the anechoic around (so that the rubber was on the inside, next to the box wall) and results were poor, indicating that the foam was scattering before the rubber has had time to absorb.
Next time… Results from the (un)infamous stairs test.
Permalink
10.14.08
Posted in PhD An Acoustic Disdrometer at 3:01 pm by philwinder
For about 2 weeks now I have been struggling to find a test that I could perform to ascertain the absorption coefficient in a small tank. The problem is that this tank is only 0.5 m x 1.5 m x 0.3 m and most tests are producing spurious reflections that are masking the reflection that I want. For example, if I were to lay the material under test at one end of the tank and transmit, most of the returning signal will be 1) masked by the reflections from the bottom, surface and side resonances and 2) spread due to the path length difference in the returning waves. These two problems effectively ruin a clean experiment and the only solution is to use a pipe.
The transmission signal being used is pulse-like since we did not have the capabilities to transmit a burst of a sinusoid at a predetermined frequency (which would have been nice) and set the pulse length to something like the impact pulse of a raindrop (50 uS).
Unfortunately, the hydrophones I have are hardly directional, so a lot of energy is transmitted to the side walls of the tube (perpendicular to the hydrophone direction) and bounce around there for ever. To attempt to eliminate this I wrapped the Rx in rubber to eliminate (absorb) some of the sound energy resonating in the pipe. However, this damped the Tx slightly and reduced the receiving area on the hydrophone by an order of magnitude; the reflected pulse was therefore ridiculously small in amplitude.
Hence another experiment was devised to exploit the fact that we cannot remove these resonances. The material under test was place at the bottom of the tank stuck to a metal plate (aluminium to produce a perfect reflection) with the hydrophones placed on top. A coil of rubber was then placed around the test bed to attempt to reduce some of the reflections from the sides of the tank (this seemed to work fairly well). A pulse was then transmitted and allowed to reverberate from the material to the surface and back again. With just metal, the reverberations lasted a long time (about 2.5 mS/3.6 m), but with the absorbing materials the reverberations quickly petered out.
This effect can be clearly seen in the graph, although for a quantitative result I averaged the entire pulse-reverberations over approximately 100 transmissions, squared the data to get the power of the signal and then took the mean. As some example values:
- Metal = 0.3477
- White Absorber = 0.1628
- Egg Foam = 0.0774
- Flat Foam = 0.0723
Surprisingly some open cell foam performed better than the specifically designed acoustic absorption material, however most of this could be due to scattering. According to these results the acoustic absorption material had an absorption coefficient of approximately 0.5, but the foam had a coefficient of 0.8. Considering the foam is about 100th of the price of the absorber, I don’t think that is too bad!
It must be noted that these experiments were designed and performed under our own criteria, namely the droplet-like pulse shape, and they were entirely non-standardised. It does however illustrate that similar, if not better performance can be obtained from much cheaper alternatives.

Permalink
10.04.08
Posted in Qt at 7:04 pm by philwinder
Just to remind myself for next time, when entering variables into windows’ PATH, all entries seperated by a semicolon MUST NOT have a space in between. If you do then the compiler (mingw32-make) complain about:
‘g++’ is not recognized as an internal or external command
Permalink
09.22.08
Posted in PhD An Acoustic Disdrometer at 4:34 pm by philwinder
The Final Preamplifier for the acousic disdrometer has been designed and built and is working well. Below are a few pictures. The only thing that I would do differently next time is make the whole thing single supply rather than dual supply. Becuase I have used a rail splitter and connected the ground from that to the ground on the outputs, when connecting to an oscilloscope, the non-earth potential shorts against the oscilloscopes ground which is connected directly to earth. Short answer is the power pack -> oscilloscope is creating a big circuit so when trying to force the ground to some other potential (mid-rail for example) it’s never going to win!
PCB, Built PCB, Preamp Cased with Hydrophones
Permalink
07.31.08
Posted in Linux Ubuntu at 4:52 pm by philwinder
I tried to get the open-source drivers working, but it just messed things up. So I used this guide to install the propriatey drivers.
Permalink
Posted in PIC at 11:31 am by philwinder
I am about to try PikLab with SDCC (Both available via Synaptic Package Manager) and an ICD2. To install the IDC2 I followed this tutorial. It’s supposed to be for the Pic Kit 2, but its just about the same for the ICD2. SDCC also requires GPUtils, so install that too.
One problem so far is that you cannot have spaces in the path of the project being used. Complication will fail and report:
Segmentation fault
+ "/usr/bin/gplink" -I"/usr/bin/../share/sdcc/lib/pic16" -I"/usr/share/sdcc/lib/pic16" -c -m -w -r -o xxxxxxxxxxxxxx
*** Exited with status: 1 ***
Permalink
07.29.08
Posted in Linux Ubuntu at 9:28 am by philwinder
*************************************
Update: As of Ubuntu 8.10, my Buffalo adaptor was recognised instantly and WPA2 works out of the box. Well done ubuntu!
*************************************
Background:
I am using a Buffalo WLI-U2-KG54 USB wireless device and the default linux USB driver (the rt2500usb) would not support WPA encryption and it would not work at all. After days of searching through other drivers including the ndiswrapper route/hack I found that USB devices based upon the rt25xx chip should use the rt2570 driver. Note that this guide should also work with the real rt2500 driver and its varients. Just replace filenames and identifiers where nessecary.
Assumptions:
A Fresh Install of Ubuntu 8.04.1 (Hardy Heron)
No Local internet access (but access from another computer)
Using WPA TKIP encryption. For any other type of encryption you will have to make some changes. But what they are I dont know.
Lets Go!
- After a clean install boot up and insert the installation CD
- Go to System -> Administration -> Synaptic Package Manager
- Go to Settings -> Repositories and Uncheck all checks and check the CDROM. This removes the internet and adds the cd as a source of files.
- Now search for “Build-Essential”. Right click on Build-Essential and click “Mark for Installation”. If it asks say yes to installing its dependancies too. Click Apply and install. Close.
- Get on the internet and download “http://rt2×00.serialmonkey.com/rt2570-cvs-daily.tar.gz“. These are the drivers that we are going to install. Save them onto a flash disk or something and go back to the ubuntu PC.
- Open up your flash disk and open up /home/. Copy the tar.gz file accross to your home folder.
- Right click on the tar.gz file in the home folder and click “Extract here”.
- Now right click and rename the folder to something nice like “rt2570″
- Open Applications->Accessories->Terminal.
- Now cd to that directory with “cd /home/<yourname>/rt2570
- And cd to the Module directory with “cd Module/”
- Type “Make” to compile the driver
- Type “Make Install” to install the driver
- Type “cd ../../” to get out of the folders and type “rm -r rt2570″. This removes the folder we just had.
- Now we need to get rid of the old drivers. Type “rmmod rt2500usb”, “rmmod rt2×00usb”, “rmmod rt2×00lib”, “rmmod mac80211″
- Use “lsmod” to find any more drivers that your specific card might be using (for example if you are not using the rt2500usb driver). Then rmmod them.
- Start the correct module with “modprobe rt2570″
- Now for the moment of truth. To test type “ifconfig -a” and see if your wireless adapter is at the bottom. It will be called rausb0 or ra0 depending if it is a usb device or not.
- Turn the device on with “ifconfig rausb0 up”. (replace rausb0 with your version from now on)
- And look for some networks! “iwlist rausb0 scan”. Now if you find some networks, happy days its all working. Remember the SSID of that network. If it isnt, then either your router is wrong, you have the wrong driver or you have made a mistake.
- Now we need to stop the old drivers restarting next time we boot so there are two options. First is delete the files or second is this. type “gedit /etc/modprobe.d/blacklist”.
- At the bottom of the file add “blacklist rt2500usb”, “blacklist rt2×00usb”, “blacklist rt2×00lib”, “blacklist mac80211″. All on seperate lines. This blocks attempts to start the old driver. Save and Close.
- Now open “gedit /etc/network/interfaces”.
- This is an important bit, so I will do it in a code box. After the auto lo and iface lo inet loopback lines enter this:
auto rausb0 # place your card name instead of all rausb0's
iface rausb0 inet dhcp
pre-up ifconfig rausb0 up
pre-up ifconfig rausb0 down
pre-up ifconfig rausb0 up
pre-up sudo iwconfig rausb0 mode Managed
pre-up sudo iwpriv rausb0 auth 3
pre-up sudo iwpriv rausb0 enc 3
pre-up sudo iwconfig rausb0 essid "<your ssid from before>"
pre-up sudo iwpriv rausb0 wpapsk <your wpa password>
pre-up sudo iwconfig rausb0 essid "<your ssid from before>"
Note the quotes around the ssid. The reason why you have to put the ssid twice is so that the wpapsk key can be generated properly. I think that all of my problems were because of this. I was only doing it once for ages. The up down stuff at the start seems to make it more stable. The auth 3 means wpa and the enc 3 means TKIP. If yours is different then take a look at the iwpriv-readme in the driver folder.
Now restart and that should be it. Next time it reboots the dhclient should find you an address!! yay. Note that running “/etc/init.d/networking restart” also restarts the network, but doesnt always work. The first time it seems to, but after that I dont get any DHCP offers. Dont know why, restart and it should be ok.
Hope that helps. Ive spent 3 whole days doing that. And I mean whole days.
Permalink
07.18.08
Posted in Electronics, PhD An Acoustic Disdrometer at 2:03 pm by philwinder
I have come to the conclusion that voltage amplifiers are better than charge amplifiers. Equations state that the gain should be the capacitance of the hydrophone divided by the capacitance of the integrating capacitor. When creating two circuits with (about) the same gain, the voltage amplifier always outperforms the charge amplifier.
This could be because of a few things. Firstly, the capacitance of the hydrophone stated in the datasheet may not be true, or the capacitance undesirably alters with frequency. Or secondly, it could be because the hydrophone, as a model, is a better voltage source than it is a charge source, however this is implicitly the same thing. I.e. When the structure of the ceramic changes, a charge is formed via electrons jumping into non-stable spaces. This forms a potential between the terminals on either side of the ceramic and when one side is connected to ground and the other to a load, a current flows.
So, in reality, for hydrophones at least, the two circuits are attempting to accomplish the same thing. However, I would be worried that the integration in the charge amplifier would cause the signal to be altered from the delta like pulse to some sinc wave; single-handedly demolishing the drop size-impact pulse relationship.
Feel free to correct me if I am wrong, and here are some images of the results. The charge amplifier simply didnt have enough gain to get the required results.



Incidently, a differential configuration did not work very well at all. I thought a differential amplifier would remove a lot of the mains noise, but it didn’t. Most of the mains must be picked up in the actual circuit, rather than the wire. To remove the noise I would have to use a DC servo, adding complexity and possibly more capacitors in the path of the signal.
Permalink
07.08.08
Posted in Projects, Electronics, PIC at 9:45 am by philwinder
I have implemented a new microcontroller that has simultaneous sampling and a slightly higher sampling rate. I could then interpolate the data with pretty good results using a simple padding + band pass filtering technique. The higher the SNR the better it worked.
However, I have hit a great big wall. It all boils down to the fact that I have used 2 rows of transducers to make the spacing 1 wavelength.
For the following results, Consider the situation where x is the horizontal plane, y is the vertical plane and z is the distance between the source and the target. If the target is slightly elevated in the y plane, the top and bottommost transducers would receive an echo at different times. Furthermore, due to multipath dispersion I am also receiving further echoes from different y directions. So to counteract this, I would have to scan not only in the x plane, but in the y plane too, and this was accomplished by summing all of the results in the y direction to produce a plot of the targets in the x plane. However, by delaying the signals in the y plane, the x plane in some situations became erroneous. It looks like I am getting some sort of aliasing in the x plane. I think that this is because of instead of having a beam pattern from 4 transducers, I am getting 2 x 2 transducer patterns, so not only do I now have a very very wide beam width, I will have some nasty sidelobes too (since if you just consider the 2 transducers, the spacing is 2 x wavelength.)
On the up side, the hardware works great!
So all around, this was pretty much a disaster, and I am not looking forward to remaking all of the hardware. So for beta 2 I will need:
to source some smaller transducers so that I can get 1/2 x wavelength spacing in a linear fashion. Possibly go higher in frequency to get a better z resolution.
use a dedicated ADC with 8 transducers, rather than 4. Get something with a faster sampling rate too.
remake the hardware
The hardest thing I see is sourcing the peizoceramics from somewhere. Does anyone know of where I can get any cheaply online? Self enclosed transducers would be ideal, but I would be willing to mess with the naked ceramics myself if I had too…
Permalink
« Previous entries