Finding inflection points of a noisy signal
Hi, I’d like to find the inflection points of this noisy signal. Do you have any suggestions on how to do this?
fs = 100; %Hz
dt = 1 / fs;
t = 0:dt:2;
x = sin(3 * pi * t) - (3 * cos(11 * pi * t));
x_noise = x + (1.5 * rand(size(x)));
NOTE:-
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
Differentiation is a noise amplification process. Why does that matter here? And what do I mean by that claim, anyway?
First, the claim. Computing a derivative goes back to a finite difference, thus deltay/deltax, taken as a limit as deltax goes to zero. If your data is noisy, then the noise in y is divided by a tiny number, thus amplifying the noise.
Another way to look at it if you prefer, you can view estimation of the derivative from data as trying to solve a first kind integral equation, something known to be ill-posed. ill-posed means here that the solution amplifies any noise in the data heavily.
Worse, higher order derivatives are larger amplifiers of noise in the data. So computing the second derivative (in the presence of noise) is a more difficult problem than computing the first derivative.
Why is any of this relevant to the question at hand? Because an inflection point is a point where the second derivative changes sign! So, you want to infer where that second derivative changes sign, therefore you need to estimate that second derivative function in the presence of significant noise.
Don’t expect magic to happen here. It won’t. That noise will cause all sorts of nasty stuff to happen to you.
x = linspace(0,2*pi,100);
y = sin(x) + randn(size(x))/5;
plot(x,y,'o')
grid on
Yes. We all know the inflection point happens at x == pi. But this noise is pretty nasty. Any kind of local smoothing you do will be overwhelmed by that noise. Even visually, I can conclude the inflection point is somewhere between 2.5 and 3.5, but I’m not sure I would have much more confidence than that.
SEE COMPLETE ANSWER CLICK THE LINK