How to adjust damping for design of closed loop controller

46 Views Asked by At

I have an 18 state state space model that I would like to discretize. To derive the sampling time, I decided to use the natural frequency and damping ratio from pole placement. The natural frequencies that I got were OK but the dampings are too low. Two out of the 18 damping ratios were actually negative. Does anyone know how I can increase the damping ratios that were negative to positive numbers? How do I select the poles of the closed loop system? The code that I wrote in Matlab is written below. Thanks.

A_c= "System matrix"
B_c= "Input matrix"

%% Continuous-Time Control Design
lambda_tilde_c = eig(A_c)
K_c = place(A_c,B_c,lambda_tilde_c);
K_c = -K_c;

%% Analysis of the Continous-Time Closed-Loop System
lambda = eig(A_c+B_c*K_c);              % eigenvalues
[omega_0, zeta] = damp(A_c+B_c*K_c);    % natural frequencies (in rad/s) and damping
f = omega_0/(2*pi);                     % natural frequencies (in Hz)

%% Selection of the Sampling Period
T_r = omega_0(1)^(-1)*exp(acos(zeta(1))/tan(acos(zeta(1)))); % 
h = T_r/10