Why does two sine waves of different phase give different output after double integration?
3 次查看(过去 30 天)
显示 更早的评论
I have a sine wave here which I double integrate, in first image I set phase to zero, whereas the phase in the second image is set to pi/2. The blue line is the input sine wave and yellow is output. The initial conditions in both integrators are set to zero.
the gain is a constant in this case so I don't think that is causing the difference in output.
Why does it look like there's integral wind-up of sorts in one case and is not present in the other?
I have attached the simulink and matlab file to debug/reproduce this result.
0 个评论
采纳的回答
Jon
2023-5-12
编辑:Jon
2023-5-12
There is not an any error. This is just the physics/calculus of the situation.
In the first case (zero phase) the input acceleration is sin(wt). So starting from an initial velocity of zero and initial position of zero (the initial states of the integrators), the body would accelerate up to some maximum positive velocity, then decelerated down to zero velocity. So the velocity is always positive and in one period the mass has net displacement, x. Then you do it for another cycle and it is displaced another net positive x.
With the acceleration phase shifted by pi/2, the acceleration is first positive then negative then positive and then negative. So the velocity increases to some positive value then decreases to a negative value back to a positive values and then back to zero. The resulting change in position is zero, it first increases, gets to some maximum and then returns to the starting point.
2 个评论
Jon
2023-5-12
编辑:Jon
2023-5-12
Yes, you could also change the initial condition on the first integrator to approximately -0.0016, and you will now have no net change in position per cycle, so the position does not grow. I just estimated the value needed to make the velocity have zero mean, but you could probably derive this analytically.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!