How to extrapolate a sinusoidal signal in simulink?

1 view (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

Categories

Find more on Simulink in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!