I have finished rewriting all the subroutines now and I have manage to increase the speed even more. When rewriting, I got rid of any grossly underperforming code and now at 100mm/h it runs through in just under a second.
But once again, the errors are still plaguing the system. At this rainfall rate there are quite a few ghost drops and therefore still quite a lot of missed drops. The one I have just done is at 9% and I can clearly see at least 2 ghost drops. Have to investigate this further.
However, I think its about time I stopped for Christmas, so I don’t think I will be doing much except maybe showing a few people what I have done over the holidays.
Merry Christmas all!
Update
Just a quick update, I continued tarting up the code, and it now reports all ghost drops and all missing drops and why they were missed (ghosting/verification/etc.). Ive just done a beefy test at 100mm/h over 1 second:
run(’..\..\Create Samples\V0_7\V0_7′); V0_9;
7966 Drops Generated
Elapsed time is 143.394716 seconds.
12.7% Error
Thats without all the warning and debug messages. As a results Ive found that the thresholding/peak detection routine does not always find all the pulses. In fact, it only finds them at very slow rain rates. As a consequence I have had to pad the data so they are all the same length. So I am definitely going to have to look into that.
The graph also now shows the errors so it makes them easier to pick out. So just for formality, here are a few screenshots and program outputs:
run(’..\..\Create Samples\V0_7\V0_7′); V0_9;
79 Drops Generated
Elapsed time is 1.486008 seconds.
Ghost Detected at: (0.2093440.1,-0.3657250.1) Due to Pulses: 3774,3492,3380,3705
Ghost Detected at: (0.3033100.1,-0.0157940.1) Due to Pulses: 3619,3407,3602,3758
Ghost Detected at: (-0.0449920.1,0.3495790.1) Due to Pulses: 3481,3749,3880,3702
Ghost Detected at: (0.0771620.1,-0.4683740.1) Due to Pulses: 4014,3790,3505,3864
Ghost Detected at: (0.3148400.1,0.0721700.1) Due to Pulses: 4199,4023,4276,4384
Drop Missed: Number 6. The data did not pass varification tests.
Drop Missed: Number 30. The data was eaten by Ghosts!
Drop Missed: Number 31. The data was eaten by Ghosts!
Drop Missed: Number 32. The data was eaten by Ghosts!
Drop Missed: Number 33. The data did not pass varification tests.
Drop Missed: Number 36. The data was eaten by Ghosts!
Drop Missed: Number 37. The data was eaten by Ghosts!
Drop Missed: Number 38. The data was eaten by Ghosts!
Drop Missed: Number 39. The data was eaten by Ghosts!
Drop Missed: Number 40. The data was eaten by Ghosts!
Drop Missed: Number 41. The data was eaten by Ghosts!
Drop Missed: Number 56. The data did not pass varification tests.
79 drops originally, we have found 67
15.2% Error
And Some output Screenshots: