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

--

--

--

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Vulnerability-Lab Management

Join the Marsbase OTC Army

Tartarus — TryHackMe — Writeup

Systango- Your Credible Agile Development Partner

WIP — When to use Implicitly Unwrapped Optionals (or IUOs)

Configuration of Hadoop ClusterUsing Ansible

Hack the Box (JEEVES)

Raiden Pulse #15: News from November 2020 — January 2021

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Technical Source

Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

More from Medium

linearize a model with symbolic entries in Gains, Constants and other blocks

Should the Dutch Labour party and the Dutch Green party merge: answered with data science

Struggling to forecast many years ahead

Titanic — Machine Learning from Disaster (Kaggle Competition) — Version 8.0