Discrete-time Derivative

2 次查看(过去 30 天)
Alexander Babin
Alexander Babin 2020-3-22
Dear friends!
I am simulating a system with an ADC which acquires signals from two sensors at some N Hz rate, converting a continuous signal into descrete. I then intend to use an LQR controller for the full state of the system, which consists of four states: the two I can acquire from the sensors and other two I can obtain by means of determination of their derivatives: X=[x; theta; x dot; theta dot]. So I have put in the Discrete-time Derivative block in my Simulink program, but when I compare signal theta dot from the continuous system and the theta dot I get from this derivative block, there seem to occur extremely high peaks where the derivative tends to its local extremum. Please, check the figure I have attached. You can barely see it, but there is also a yellow line showing the actual continuous-time derivative, its maximum amplitude is about 14 and its a slowly damping out oscillation signal. The magnitude of peaks seem to depend on the sampling rate proportionally: at 100 Hz the peaks are at about 600, at 200Hz - at about 1200 and at 50Hz - at about 300. I have no idea where to go with this.
If you have any suggestions or thoughts, please, do share with me!
Best Regards, Alex

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Arduino Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by