%PID Controller with Partial differential 偏微分PID控制器
clear all;
close all;
ts=0.001;%采样时间
sys=tf(5.235e005,[1,87.35,1.047e004,0]);%被控对象为三阶传递函数
dsys=c2d(sys,ts,'z'); %把上面的连续时间传递函数转换为离散模型
[num,den]=tfdata(dsys,'v');%该离散模型的分子分母多项式系数
u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;%初始化值
y_1=0;y_2=0;y_3=0;
yn_1=0;
error_1=0;error_2=0;ei=0;
kp=0.20;ki=0.05;%PID比例系数
sys1=tf([1],[0.04,1]); %Low Freq Signal Filter,
dsys1=c2d(sys1,ts,'tustin'); %转换离散模型时。。。。
[num1,den1]=tfdata(dsys1,'v');%该离散模型的分子分母多项式系数
f_1=0; %初始化
M=3;
for k=1:1:1000 %步进,for循环,循环一次给time和r变量矩阵赋值
time(k)=k*ts; %每次循环赋值
yd(k)=20; %Step Signal 阶跃信号
%Linear model
y(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;
%这个函数真的没看懂
if M==1 %No noisy signal
error(k)=yd(k)-y(k); %误差
filty(k)=y(k);
end
n(k)=5.0*rands(1); %Noisy signal
yn(k)=y(k)+n(k);
if M==2 %No filter
filty(k)=yn(k);
error(k)=yd(k)-filty(k);
end
if M==3 %Using low frequency filter
filty(k)=-den1(2)*f_1+num1(1)*(yn(k)+yn_1);
error(k)=yd(k)-filty(k);
end
%I separation
if abs(error(k))<=0.8
ei=ei+error(k)*ts;
else
ei=0;
end
u(k)=kp*error(k)+ki*ei;
%----------Return of PID parameters------------
yd_1=yd(k);
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=y(k);
f_1=filty(k);
yn_1=yn(k);
error_2=error_1;
error_1=error(k);
end
figure(1);
subplot(211);
plot(time,yd,'r',time,filty,'k:','linewidth',2);
xlabel('time(s)');ylabel('yd,y');
legend('Ideal position signal','Position tracking');
subplot(212);
plot(time,u,'r','linewidth',2);
xlabel('time(s)');ylabel('u');
figure(2);
plot(time,n,'r','linewidth',2);
xlabel('time(s)');ylabel('Noisy signal');
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基本PID控制.rar (63个子文件)
chap1
chap1_3nplot.m 150B
chap1_2plot.asv 230B
chap1_14plot.m 150B
exm070401.m 389B
chap1_6plant.m 132B
chap1_14int.m 155B
chap1_2.mdl 24KB
chap1_3plant.m 908B
chap1_15.m 1KB
chap1_27f.m 744B
chap1_5.mdl 21KB
chap1_3s.m 797B
chap1_24.asv 1KB
chap1_4plot.m 150B
chap1_24.m 1KB
chap1_12.m 959B
chap1_7ctrl.asv 254B
chap1_17.m 681B
chap1_20.asv 1KB
chap1_6.m 730B
chap1_14.mdl 24KB
chap1_11.mdl 25KB
chap1_5plant.m 805B
chap1_1.mdl 23KB
chap1_5ctrl.m 703B
chap1_19int.m 248B
chap1_20.m 1KB
chap1_3n.mdl 23KB
chap1_7plot.m 150B
chap1_8s.m 2KB
chap1_8plot.m 150B
chap1_16.asv 1KB
chap1_8.mdl 19KB
chap1_16.m 1KB
chap1_3plot.m 150B
chap1_21.m 1KB
chap1_27.mdl 24KB
chap1_10.m 1KB
chap1_18.m 2KB
chap1_27plot.m 293B
chap1_23.m 1KB
slprj
grt
chap1_3
tmwinternal
minfo.mat 1KB
sl_proj.tmw 81B
chap1_3_grt_rtw
build_exception.mat 1KB
chap1_5plot.asv 151B
chap1_7ctrl.m 255B
chap1_2plot.m 151B
chap1_13.m 1KB
chap1_3.mdl 23KB
exm070301.m 478B
chap1_11plot.m 150B
chap1_25.m 1006B
chap1_4.mdl 27KB
chap1_19plot.m 150B
chap1_9.m 1KB
chap1_3ns.m 222B
chap1_3nplant.m 271B
chap1_28.m 1KB
chap1_26.m 1KB
chap1_22.m 2KB
chap1_7.mdl 19KB
chap1_19.mdl 29KB
chap1_5plot.m 151B
共 63 条
- 1
资源评论
林当时
- 粉丝: 100
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 无限弹窗的各种常用代码(cpp和bat)
- FME模板演示:DLG转成dwg数据,还原地物样式
- 基于Keras的LSTM多变量时间序列预测python源码+文档说明
- 基于Keras+LSTM多变量时间序列预测Python源码+文档说明.zip
- FME模板演示:提取CAD扩展属性,以提取地物编码为例
- 基于Keras+LSTM多变量时间序列预测Python源码+文档说明.zip
- 一个基于tun/tap设备编写的简易的tcp/ip协议栈
- 安卓的期末大作业,做的是一个天气预报app
- 基于mediapipe在unity中实现姿态追踪python源码+使用说明.zip
- 基于Python+Flask+Echarts的疫情爬虫&数据可视化项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功