Skip to content

{ Category Archives } PhD An Acoustic Disdrometer

This is the catagory for my current PhD. Its abstract is to develop and create a device that can measure the size and distributions of raindrops by listening to the sound that they create in water.

Chosen a Language, Subset and IDE

I think I have finally chosen all the things I need to get cracking with the real software. No more of this nancy Matlab.
Ive chosen C++, mainly because it will be more beneficial to me in the future.  Companies really need you to know c++, and I can learn C# on top of that if [...]

Record Deletion Update

As I thought, by changing the code to copy the good records rather than trying to delete the bad ones is a million times faster.  The 20 second code from yesterday is now down to 8 seconds.  Now the real possible combination sorting isnt even on the profiler any more, its that fast.  The slowest [...]

More Speed!

Found something very interesting with the profiler. In the file “Find_Best_Combination.m”, line 56, there is the code:
Possible_Combinations(Temp_Index,:) = [];
Line 56: Possible_Combinations(Temp_Index,:) = []; 220223 Calls, 7.095 s
So basically it takes for ever to delete a record that is in the middle of a set of data. Maybe instead of deleting a record, I [...]

New Working Multilateration routines

Note: What I do need to do is create some new tests to see if we are actually capturing the correct drop pulses, or just collecting combinations of pulses and pretending they are a drop. Causing not 1, but 2 gross errors in the data. I might leave this until we start writing [...]

Quick Software Update

Ive recently been playing with a new analytical solution to the multilateration problem, but its complicated and I dont fully understand the maths behind it yet because it was Kevin’s work, not mine.  Ive been implementing it into the disdrometer simulation software but results are poor so far.  The largest problem is that the principle [...]

First Rain Data

Im in the middle of writing the Optical Disdrometer data sorting code, and I have managed to get the first image out of it.  Excel looks the best, but damn, why didnt Microsoft add an “export current chart to image” function.  I had to find some VBA and put it in a macro.
The code needs [...]

Algorithm Comparison

Suprise result here.  Drum roll please….
It turns out that the FMinSearch algorithm was the quickest by about a factor of 2!  Finally got the lsqnonlin function working by messing with the options.  The profiles of the results are shown below:
FMinSearch Profile (2.189s)
FMinUnc Profile (4.355s)
LSqNonLin Profile (3.577s)
mmFSolve Profile (Custom user’s file) (5.814s)

Slight Speed Increase

Speeded up the code slightly (0.2s to be exact) by changing the peak detection routine.  This new one has come from a PDF entitled “Writing Fast Matlab Code” by Pascal Getreuer in 2006.  Below are a local copy of the PDF and the profiles of the slower and faster code.
Writing Fast Matlab Code PDF
Slower Peak [...]

Moving from a square to a circular tank

EDIT: Scratch this, it turns out, it wasn’t that at all. Implemented the ideas below, and it still didnt work. Couldnt figure out why. Had a break, a cup of tea, and noticed that vista was starting to get sluggish. Did a customary restart, restarted Matlab, and boom. Back down to [...]

Damn Multilateration

Over the past couple of days I have been battling with solving the multilateration equations.  Today I got them working in the guise of a numerical solution using matlabs fminsolve function.  It took a while to figure out how it worked, but when it did, it worked straight away.  The next thing was to throw [...]