1
$\begingroup$

I've recently asked a question on stack overflow asking for different topics one can visit to solve the problem of wave re-construction. One of the recommended solutions was to implement the Hilbert-Huang transform, as it can help in understanding non-linear/natural data.

Here are some samples and details surrounding their capture to help me state my question.

enter image description here

I am collecting pressure readings from a pressure sensor at 30Hz. When I put pressure on the sensor, the Y axis above expands. When I release the pressure, it slowly approaches towards the idle state. In this case, the idle state has a base pressure reading of roughly -30.

Samples ranging from 0 to 200, and even those ranging from 400 to 750, have a normal pattern of pressure readings. They are very natural, in that they are not always the same when increasing and decreasing. They are also very natural in that their pressure idles around -30.

The same cannot be said about the samples ranging from roughly 270 to 370. The reason that the samples looks significantly different than the remainder of the sampled data, is because I bend the sensor as I am applying and releasing pressure. Instead of idling around -30, my sample readings drop down to as low as -140. Note: I have highlighted the area of impact in red in the below image.

enter image description here

Ideally, what I'd like to play around and perform is re-construct that wave to be in line alike the rest of the data. The green line in the below graph draws out what i expect to see as a final result of re-constructing the wave. ( It's just a rough sketch to explain the idea )

enter image description here

With that in mind, onto what my question is about.

Below you will find the generated HHT results of my sample data, with MATLAB.

enter image description here

Interestingly enough, as soon as IMF of the 2nd and 3rd round come about, the "abnormal" noise is very evident between samples of 300 to 350ish. Ideally, what I'd like to do is minimize this tone to be in line with the rest of the data.

Questions:

While my noob HHT understanding is poor, would it be logical to set the stop criteria ( in this case ) to IMF of C2 or C3, and use the results to somehow subtract out the IMF from the original wave to re-construct the wave as i desire?

Is there maybe a better way I can expand my utilization of HHT to solve my problem? ( Any topics or brainstorming ideas would help )

UPDATE after Cye's reccoemndation I managed to filter out CF2 and CF3, however, the results were not as I expected. ( Image below ) The graph only became smoother, but that large dip was still present.

enter image description here

$\endgroup$
1
$\begingroup$

As a pragmatic applied mathematician who has job to do, say, rather than to prove something via theorem or induction, my first approach would be to reconstruct the time series without IMF C2 and C3 and see what happens. I think that's the equivalent of using noise filters in the FFT or deleting outliers in a data set.

As an aside, I'm impressed that you could pick up and utilize the HHT so quickly. Kudos to you.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks for your feedback and support Cye. Reconstructing the time series from IMF is going to be a great challenge. Resources seems to be very scarce for this topic. If you stumble across something that might be useful for me, please do share it. $\endgroup$ – angryip Aug 10 '17 at 19:25
  • $\begingroup$ It's been years since I've worked with HHT, but since you can plot the IMFs don't you have them as separate vectors? I'm just suggesting to add up them all up excluding the bad actors. BTW, what HHT software are you using. I can't even find mine on the the latest Matlab software I have. (Mind you, I've been retired about four years.) $\endgroup$ – Cye Waldman Aug 13 '17 at 16:11
  • $\begingroup$ @CyeWaldman I am using matlab as well. I found some libraries online that helped me get through this. && I finally managed to filter out CF2 and CF3. ( I updated the question with the results ). Regardless of which frequency I tried to eliminate, the large dip would not disappear. hmmm Idea: What if I took a set of readings that were normal, without bending the sensor, and found the ratio between the CF values. Then, applied some sort of a mathematical function to make the CF values ( which have bending in them ) exert same power levels? Though, I am not sure how i'd be able to do this tbh $\endgroup$ – angryip Aug 29 '17 at 13:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.