This file has been on the FEX for a while without much attention, so let me take a look.
It is a pretty specialized area, where I am not an expert, so I would not rate this tool on its intended usage. (Some of the pieces are pretty generic, so the eigen.m code is something I could talk about. It was well written.)
However, I can talk about the overall tool itself, in terms of the code. Every part I looked at had excellent documentation. There were internal comments, H1 lines, all things I like to see. Where appropriate, I found matrix operations instead of loops, etc.
Hi Leon, thanks for pointing out. I tried findpeaks in the signal processing toolbox, and but it returned "No peaks found." Possibly, in the later versions (version I am using now is kinda old), the function has been corrected to locate the peak. Actually, I am not so concerned about the error because it only arises when there are instances of adjacent samples having exactly the same value on the left side of the peak, e.g., findpeaks([1 2 2.001 3 3 2 1]) returns the correct answer. In most cases, at least in the context of HHT/EMD or general signal processing, such occurrences are rare. Sorry I could not be more helpful.