• 大小: 937B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-25
  • 语言: 其他
  • 标签: matlab  

资源简介

可与随机减量技术及自然激励技术结合用于模态参数识别

资源截图

代码片段和文件信息

function [ABCD]=era(hnNTsdef);

% Eigensystem Realization Algorithm (ERA)
%
% Author: Samuel da Silva - UNICAMP
% e-mail: samsilva@fem.unicamp.br
% Date: 2006/10/20

% [ABCD]=era(hnNTsdef);

% Inputs:
%    h: discrete-time impulse response
%    n: order of the system
%    N: number of samples to assembly the Hankel matrix
%    Ts: sample time
%    def: if = 1: the output will be the discrete-time state-space model
%         if = 2: the output will be the continuous-time state-space model
%          
% Otputs:
%    [ABCD]: state-space model
%  
% Note: For now it works to SISO systems and it is necessary the control toolbox
%
% References: Juang J. N. and Phan M. Q. “Identification and Control of
% Mechanical Systems“ Cambridge University Press 2001

% Hankel matrix
H0 = hankel(h(2:N+1));            % k = 0
H1 = hankel(h(3:N+2));            % k = 1;

% Factorization of the Hankel matrix by use of SVD
[RSigmaS] = svd(H0);   
% R and S are orthonormal and Sigma is a rectangular matrix

Sigman = Sigma(1:n1:n);            

Wo = R(:1:n)*Sigman^0.5;           % observability matrix
Co = Sigman^.5*S(:1:n)‘;           % controllability matrix

% The identified system matrix are:
A = Sigman^-.5*R(:1:n)‘*H1*S(:1:n)*Sigman^-.5;            % dynamic matrix
B = Co(:1);                    % input matrix
C = Wo(1:);                    % output matrix
D = h(1);                       % direct-transmission matrix

sysdisc = ss(ABCDTs);       % discrete-time system

if def == 2                            
    syscont = d2c(sysdisc‘zoh‘);       % Conversion of discrete LTI models to continuous time
    [ABCD]=ssdata(syscont);          % continuous system
end

%--------------------------------------------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1840  2018-07-11 20:25  era.m

评论

共有 条评论