Can I use ''PLACE'' matlab function to find feedback gain for discrete state space controller?

63 views (last 30 days)
I am using PLACE function in MATLAB to find feedback gain for continuous system and I am getting desired output. But when I am using PLACE function for discrete system then I am not getting correct feedback gain. Can I use PLACE function for discrete? If not then suggest me some another way to find feedback gain matrix for discrete system.
  6 Comments
Ankitkumar Viradiya
Ankitkumar Viradiya on 17 Nov 2017
C=eye(4) and D=[0 0 0 0] I have directly usesd these matrices in simulink state-space block. I have chosen my pole with assumption of damping factor and natural frequency. I have used P= [-0.811 -1.622 -0.811+1.84j -0.811-1.84j] for my system. Using these same poles I am getting different output for continuous and discrete system.

Sign in to comment.

Accepted Answer

Birdman
Birdman on 17 Nov 2017
Hi Ankitkumar,
I have checked every possible situation to make sure that we are not doing any mistake at the beginning. I checked the validity of the sample time you have chosen and etc. When I plotted the Bode diagram for your system, I found out that we have to sample the system with at least T=0.023 seconds and since your sampling is faster than this, we will not encounter any problem. All the things are valid but one thing that is not valid is that you try to calculate K matrix for discrete time system by trying to assign s-domain poles in z-domain poles. Firstly, you have to convert s-domain poles to z-domain poles by a mathematical calculation and then you can easily implement the feedback matrix. Here is the following code:
A=[0 1 0 0;0 -2.470 -0.7568 0.0006897;0 0 0 1;0 4.7568 20.3250 -0.01852]; B=[0;0.2470 ;0 ;-0.4756];C=eye(4);D=zeros(4,1);
sys=ss(A,B,C,D);%continuous system
Ts=0.01;
sysDisc=c2d(sys,Ts,'tustin');%discrete system
pCont=[-5 -7 -0.811+1.84j -0.811-1.84j];%poles in s-domain
pDisc=exp(pCont.*Ts);%poles in z-domain
cont=place(A,B,pCont)
disc=place(sysDisc.A,sysDisc.B,pDisc)
When you run the code, you will see that cont and disc matrices are almost the same. Note that disc matrix will change according to the sampling time of yours which means sampling your system faster is not an smart choice. Be careful with that.
  4 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Control System Toolbox 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!