%Transfer function identification with frequency test
clear all;
close all;
ts=0.001;
a=25;b=133;c=10;
sys=tf(b,[1,a,c]);
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
Am=0.5;
kk=0;
for F=1:0.5:10
kk=kk+1;
FF(kk)=F;
u_1=0.0;u_2=0.0;
y_1=0;y_2=0;
for k=1:1:20000
time(k)=k*ts;
u(k)=Am*sin(1*2*pi*F*k*ts); % Sine Signal with different frequency
y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
u_2=u_1;u_1=u(k);
y_2=y_1;y_1=y(k);
end
plot(time,u,'r',time,y,'b'); %Dynamic Simulation
pause(0.2);
for i=10001:1:15000
fai(1,i-10000) = sin(2*pi*F*i*ts);
fai(2,i-10000) = cos(2*pi*F*i*ts);
end
Fai=fai';
fai_in(kk)=0;
Y_out=y(10001:1:15000)';
cout=inv(Fai'*Fai)*Fai'*Y_out;
fai_out(kk)=atan(cout(2)/cout(1)); % Phase Frequency(Deg.)
if fai_out(kk)>0
fai_out(kk)=fai_out(kk)-pi;
end
Af(kk)=sqrt(cout(1)^2+cout(2)^2); % Magnitude Frequency(dB)
mag_e(kk)=20*log10(Af(kk)/Am); % in dB.
ph_e(kk)=(fai_out(kk)-fai_in(kk))*180/pi; % in Deg.
if ph_e(kk)>0
ph_e(kk)=ph_e(kk)-360;
end
end
FF=FF';
%%%%%%%%%%%%%%% Closed system modelling
mag_e1=Af'/Am; %From dB.to ratio
ph_e1=fai_out'-fai_in'; %From Deg. to rad
hp=mag_e1.*(cos(ph_e1)+j*sin(ph_e1)) ; %Practical frequency response vector
na=2; % Second order transfer function
nb=0;
w=2*pi*FF; % in rad./s
% bb and aa gives real numerator and denominator of transfer function
[bb,aa]=invfreqs(hp,w,nb,na); % w(in rad./s) contains the frequency values
G=tf(bb,aa) % Transfer function fitting
figure(1);
bode(sys,'r',G,'k:');
legend('practical model','estimate model');
没有合适的资源?快使用搜索试试~ 我知道了~
基于Matlab实现PID控制器的整定(源码+数据).rar
共32个文件
m:21个
mdl:8个
asv:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 6 下载量 38 浏览量
2023-07-21
09:51:56
上传
评论 2
收藏 58KB RAR 举报
温馨提示
1、资源内容:基于Matlab实现PID控制器的整定(源码+数据).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计中的部分功能,作为“参考资料”使用。 3、解压说明:本资源需要电脑端使用WinRAR、7zip等解压工具进行解压,没有解压工具的自行百度下载即可。 4、免责声明:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。由于作者大厂工作较忙,不提供答疑服务,如不存在资源缺失问题概不负责,谢谢理解。
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab实现PID控制器的整定(源码+数据).rar (32个子文件)
基于Matlab实现PID控制器的整定(源码+数据)
chap2_5.m 885B
chap2_12int.m 60B
chap2_1sim.mdl 17KB
chap2_2sim.mdl 22KB
chap2_3.m 687B
chap2_13sim.mdl 21KB
chap2_8sim.mdl 18KB
chap2_1plot.m 91B
chap2_12sim.mdl 21KB
chap2_8plot.m 313B
chap2_8plant.m 705B
chap2_2plot.m 166B
chap2_3.asv 686B
chap2_12save.mat 4KB
chap2_4tuning.m 360B
chap2_14.m 2KB
chap2_10.m 1KB
chap2_6plot.m 246B
chap2_11main.m 131B
chap2_6int.m 141B
chap2_11sim.mdl 20KB
chap2_7.m 288B
chap2_6sim.mdl 24KB
chap2_13eq.m 215B
chap2_5.asv 899B
chap2_5tuning.m 416B
chap2_8ctrl.m 747B
chap2_4sim.mdl 25KB
chap2_13main.m 134B
chap2_11plant.m 215B
chap2_9.m 1KB
chap2_4plot.m 159B
共 32 条
- 1
Matlab仿真实验室
- 粉丝: 3w+
- 资源: 2405
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页