I am very new to signal processing. I am trying to extract a signal from my data using otsu threholding but it's not fully accurate. In this case I know that there is going to be a single signal in the data. It looks something like this --

Original data

I get the histogram of the signal. It is a bimodal histogram. I give those counts to the [otsuthresh][2] function in MATLAB. It returns the threshold between 0 and 1. Then I take the histogram of the same signal but normalized with the cdf, which looks something like this, Normalized histogram of data

I binarize the data at the threshold value percentile and I can extract the signal out of it. The extract signal looks something like this (ignore the part where extracted signal drops to zero),

Extracted signal from original data

My questions are as follows:-

  1. How can I find the exact beginning of the signal (roughly at x = 200)? I tried increasing/decreasing the number of histograms but it didn't really help. Once I find the exact beginning of the signal, I can consider that to be zero and offset the rest of the signal by that amount.
  2. What should I do in the case where I don't know how many signals are there in my data? Can you suggest me some resources considering the fact that I'm very new to signal processing?

For your info, the data is strain measurements of a beam, including the noise, measured with time.


Your Answer

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

Browse other questions tagged or ask your own question.