How to extrapolate a sinusoidal signal in simulink?

2 views (last 30 days)
Hi,
I need to extrapolate a sinusoidal signal because I need to know its value before a certain step time.
My sinusoidal signal is 50Hz and the sample time is 0.5 ms. So I want the value of the signal 0.5 ms before.
In electronics we can tune a PLL to anticipate or delay a sinusoidal signal but I think it cannot be done with the existent blocks in simscape.
I've made an extrapolator but it has an error of 3% and I don't know if there is a better way to do it.
Thanks!

Answers (1)

Raef aboelsaud
Raef aboelsaud on 3 Nov 2018
You can use fourth-order Lagrange extrapolation, If the sinusoidal signal is i, the extrapolated value for one step will be
i[k+1] = 4i[k]−6i[k−1]+4i[k−2]−i[k−3].
Where k is discrete time instant

Community Treasure Hunt

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

Start Hunting!