• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: matlab  

资源简介

基于脉冲响应辨识的matlab程序,对过程施加M序列的扰动,辨识起过程脉冲响应函数

资源截图

代码片段和文件信息

clc
clear
%---------------------------相关法辨识脉冲函数---------------------------------
%获得辨识所需数据
%1、白噪声
N=1000;           %设置实验长度
A = [1  -1.5  0.7]; %建立系统模型
B= [0 1 0.5];
Model= idpoly(AB);       %理想系统模型
Model_white_error= idpoly(AB1);      %模型中加入白噪声
U= iddata([]idinput(N‘prbs‘)); %设置输入信号(采样间隔为1s的1000个输入)‘prbs‘为二值伪随机信号M序列  格式为iddata(输出 输入 取样频率)
E= iddata([]idinput(N‘rgs‘)); %设置噪声信号为白噪声    ‘rgs’为高斯随机信号
Y= sim(Model_white_error[U E]);   %获得输出数据


%辨识
%1、白噪声
Z=[Y U]; %得到输入和输出组
Z=dtrend(Z); %滤波处理         dtrend()函数将原始数据实现去趋势处理,即零均值化、平稳化处理;
%  第二幅图像
figure 
[irrcl] = cra(Z10001);     %采用相关分析法估计对象的脉冲响应

%其中ir为对象脉冲响应的估计

plot(ir(2:50));    %绘制辨识结果曲线
xlabel(‘t‘)ylabel(‘y‘)title(‘辨识结果曲线‘) 
grid

评论

共有 条评论