Discrete-time Derivative

4 views (last 30 days)
Alexander Babin
Alexander Babin on 22 Mar 2020
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

Answers (0)

Categories

Find more on Arduino Hardware 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!