This is a question at the crossroads of mathematics and programming.
I have a sequence of values that are generated every $300$ms. (Not exactly, but I know the exact time point of each value). I am sending a sequence of values at the same rate, which each being the result of the application of a known function to each of these values. This poses no problem.
Now, I'd like to send values at a more frequent rate. (like every $50$ms) I would like to extrapolate the values to send according to the last (e.g. $4$) real values to send. (i.e. the results of the application of the function to the received values).
For this, I am imagining a solution where I generate a polynomial/exponential/something-al function that goes through the $4$ last points, and then I generate extra values to send, thanks to this function, until I get another real value to send, at which point I will regenerate the function with the last $4$ points, and so on.
Given $4$ points, how may I generate this function? I am looking for a function on time, not a parametric function.
You could use Lagrange interpolation.
Apply the given formulae with $k=3$; you will be fitting the previous 4 points with a cubic polynomial.
I think there is a problem with your basic idea, though. When you get a new point, you will recompute the interpolant. And the new interpolant won't join smoothly with the previous one unless you do something to force this.