How can I split the signal in matlab

34 views (last 30 days)
I have 25 signals. these signals exist as a double. that is, when I want to plot a signal I have, I write the plot (t1, y1) command. I am sharing the screenshot of this graph of my signal with you. My goal here is to divide the signal in two from the place I marked. The left side of the graph is noise, and the right side of the graph is noise + signal. Since I have 25 different signals, the noise width of each is different. The code that I want to write here is that these 25 signals can be automatically divided into two as noise and noise + signal.
  3 Comments
studentmatlaber
studentmatlaber on 7 Mar 2021
this is a signal from a sensor. The left side of the graph is the ambient noise. On the right, the signal is detected. I will divide the signal from the place I marked and take the energy of the noise (for 25 signals) and look at the histogram.
Walter Roberson
Walter Roberson on 8 Mar 2021
I don't see it. To me the ambient noise appears to be approximately +/- 0.05 .

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 8 Mar 2021
How about
index = find(signal > 0.47, 1, 'first');
noisyLeftSide = signal(1:index);
goodRightSide = signal(index+1 : end);
  4 Comments
studentmatlaber
studentmatlaber on 9 Mar 2021
We manually set the 0.47 value in this chart, but I have 600 signals. Can it be written into a code that can automatically determine this threshold value?
Walter Roberson
Walter Roberson on 9 Mar 2021
No, but we just might be able to estimate the +/- 0.05-ish noise that I propose is the true ambient noise. It is not clear to me that 0.47 is objectively justifiable.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!