⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oatf1.m

📁 《MATLAB在控制系统中的应用》实例程序
💻 M
字号:
%在参数确定情况下,使用OATF前馈滤波方法抑制柔性结构振动程序,  文件名:OATF1.m
%OATF1

clear %清理工作间变量

%初始化
wn=10;eta=0.05;td=0.05;ts=0.05;%给固有频率、阻尼比率、OATF周期和采样周期赋值
wd=wn*sqrt(1-eta^2);%求出阻尼频率
delta=td/ts;

%定义输入信号
for i=0:20
    u(i+1)=1/2+1/2*(sin(pi*(i*ts-1/2)));
end
for i=21:120
    u(i)=1;
end
figure(1); %第一个图形
plot(u),grid on %显示出输入信号径线图并给图形加上网格
title('参考输入') %图形标题

%定义对象传递函数
num=[2*wn*eta,wn^2];den=[1,2*wn*eta,wn^2];
G=tf(num,den);%求出对应OATF的传递函数值
Gd=c2d(G,ts);%离散化

%定义OATF传递函数
m=1-2*cos(wd*td)*exp(-eta*wn*td)+exp(-2*eta*wn*td);
num1=[1,-2*cos(wd*td)*exp(-eta*wn*td),exp(-2*eta*wn*td)];
den1=[m,0,0];
C=tf(num1,den1,ts);%被控对象的离散传递函数
sys=C*Gd;

%计算对象响应
y=lsim(sys,u);
figure(2); %第二个图形
plot(y) %画出误差的收敛情况
title('参数已知下OATF滤波后的系统响应') %图形标题
grid

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -