Transfer functions of data

18 visualizaciones (últimos 30 días)
Amazing Trans
Amazing Trans el 4 de Oct. de 2012
Hi there,
I have a csv file that have 3 column that consists of 3000 data. Column 1 is time in ms. Column 2 is the data of first value datas. (Commanded velocity) Column 3 is the data of second value datas. (Actual Velocity)
I would like to do a transfer function of the first with second. and plot a bode plot then find the natural frequency.
what i did was below. I guess tf is not the first thing i should be using to do a tf of 2 sets of values. Anybody know what i should use?
if true
% code
data = xlsread('data.csv');
Gc = tf(data(:,1),data(:,2))
<--- this is the part where it says the values of the "num" and den properties must be row vectors or cell arrays of row vectors, where each vector is nonempty and containing numeric data.
end
  2 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 4 de Oct. de 2012
can you be more clear?
what Gc = tf(data(:,1),data(:,2)) means
Amazing Trans
Amazing Trans el 4 de Oct. de 2012
I want a transfer function between a input and output. column 2 is the input, column 3 is the output/actual value.

Iniciar sesión para comentar.

Respuestas (1)

Rajiv Singh
Rajiv Singh el 4 de Oct. de 2012
Editada: Rajiv Singh el 4 de Oct. de 2012
If I understood the question, you want the transfer function between input, recorded in the second column, against y which is recorded in the third column. If so, you need a transfer function estimation function such as TFEST, or OE.
Ts = data(2,1)-data(1,1); % assuming uniform time grid
z = iddata(data(:,3), data(:,2), Ts)
model = tfest(z, 2); % second order transfer function

Categorías

Más información sobre Linear Model Identification en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by