已知被控对象传递函数:gp(s) =13/(s+1+3i)(s+1-3i)(s+2)设计模糊PD-PI控制器 要求: I.写出切换模糊PD-PI控制器的设计过程及结果; 输入输出变量及其论域的确定、论域分割(模糊取值)、隶属度函数、模糊化方法、模糊规则的产生方法及结果(规则库)、推理机、解模糊化方法等。 II.给出切换模糊PD-PI控制器模糊控制器与过程(1)所构成的控制系统方框图及SIMULINK仿真实现; III.若设定值r(t)=20(t-1)信号时,给出该控制系统的响应曲线及性能指标表。

时间: 2023-12-03 07:45:50 浏览: 30
I. 设计过程及结果: 1. 输入输出变量及其论域的确定: 输入变量:偏差e(t)、偏差变化率ce(t) 输出变量:控制信号u(t) 论域分别为:[-10, 10]、[-20, 20]、[-10, 10] 2. 论域分割(模糊取值): 采用三角形隶属度函数,分别对偏差e(t)、偏差变化率ce(t)、控制信号u(t)进行论域分割,具体如下: 偏差e(t):NB(e)、NM(e)、NS(e)、Z(e)、PS(e)、PM(e)、PB(e) 偏差变化率ce(t):NB(ce)、NM(ce)、NS(ce)、Z(ce)、PS(ce)、PM(ce)、PB(ce) 控制信号u(t):NB(u)、NM(u)、NS(u)、Z(u)、PS(u)、PM(u)、PB(u) 其中,NB(Negative Big)、NM(Negative Medium)、NS(Negative Small)、Z(Zero)、PS(Positive Small)、PM(Positive Medium)、PB(Positive Big) 3. 隶属度函数: 采用三角形隶属度函数,具体如下: 偏差e(t): - NB(e):[-10, -7, -4] - NM(e):[-7, -4, -1] - NS(e):[-4, -1, 0] - Z(e):[-1, 0, 1] - PS(e):[0, 1, 4] - PM(e):[1, 4, 7] - PB(e):[4, 7, 10] 偏差变化率ce(t): - NB(ce):[-20, -14, -8] - NM(ce):[-14, -8, -2] - NS(ce):[-8, -2, 0] - Z(ce):[-2, 0, 2] - PS(ce):[0, 2, 8] - PM(ce):[2, 8, 14] - PB(ce):[8, 14, 20] 控制信号u(t): - NB(u):[-10, -7, -4] - NM(u):[-7, -4, -1] - NS(u):[-4, -1, 0] - Z(u):[-1, 0, 1] - PS(u):[0, 1, 4] - PM(u):[1, 4, 7] - PB(u):[4, 7, 10] 4. 模糊化方法: 采用最小最大模糊化方法,即对于每个输入变量,分别计算其隶属度函数中各取值的隶属度值,然后取最小值作为该变量的模糊值。 5. 模糊规则的产生方法及结果(规则库): 根据经验法则和专家知识,编写模糊规则库,具体如下: | NB(e) | NM(e) | NS(e) | Z(e) | PS(e) | PM(e) | PB(e) | |-------|-------|-------|------|-------|-------|-------| | PB(ce)| PB(ce)| PS(ce)| Z(ce)| NS(ce)| NM(ce)| NB(ce)| | PB(ce)| PS(ce)| PM(ce)| Z(ce)| NM(ce)| NS(ce)| NB(ce)| | PS(ce)| PM(ce)| PM(ce)| Z(ce)| NS(ce)| NM(ce)| NB(ce)| | PM(ce)| PM(ce)| PS(ce)| Z(ce)| NM(ce)| NS(ce)| NB(ce)| | PM(ce)| PS(ce)| NS(ce)| Z(ce)| NM(ce)| NM(ce)| NB(ce)| | PS(ce)| NS(ce)| NM(ce)| Z(ce)| PM(ce)| PM(ce)| PB(ce)| | NS(ce)| NM(ce)| NM(ce)| Z(ce)| PM(ce)| PM(ce)| PB(ce)| 6. 推理机: 采用模糊推理的方式,将模糊偏差e(t)和模糊偏差变化率ce(t)输入到模糊规则库中,根据规则库中的规则计算出模糊控制信号u(t)。 7. 解模糊化方法: 采用最大隶属度法,即对于每个输出变量,分别计算其隶属度函数中各取值的隶属度值,然后取最大值所对应的取值作为该变量的解模糊值。 II. 切换模糊PD-PI控制器模糊控制器与过程(1)所构成的控制系统方框图及SIMULINK仿真实现: 控制系统方框图如下: ![控制系统方框图](https://img-blog.csdn.net/20161028093141340) 其中,包含两个模糊控制器和一个切换逻辑模块。 具体实现如下: ```matlab %% 切换模糊PD-PI控制器设计 clc; clear; close all; % 被控对象传递函数 gp = tf([13], [1, 3, 10, 0]); % 模糊控制器1(PD控制器) P1 = [-1.5 -1 -0.5 0 0.5 1 1.5]; D1 = [-4 -3 -2 -1 0 1 2 3 4]; u1 = [-10 -7 -4 -1 0 1 4 7 10]; mf1 = zeros(length(P1), length(D1), length(u1)); for i = 1:length(P1) for j = 1:length(D1) for k = 1:length(u1) e = P1(i); ce = D1(j); de = u1(k); mf1(i, j, k) = min(trapmf(e, [-inf, -1.5, -0.75, 0]) ... & trapmf(ce, [-inf, -3, -1.5, 0]) ... & trapmf(de, [-inf, -5, -2.5, 0, 2.5, 5, inf])); end end end % 模糊控制器2(PI控制器) P2 = [-1.5 -1 -0.5 0 0.5 1 1.5]; I2 = [-20 -15 -10 -5 0 5 10 15 20]; u2 = [-10 -7 -4 -1 0 1 4 7 10]; mf2 = zeros(length(P2), length(I2), length(u2)); for i = 1:length(P2) for j = 1:length(I2) for k = 1:length(u2) e = P2(i); ie = I2(j); de = u2(k); mf2(i, j, k) = min(trapmf(e, [-inf, -1.5, -0.75, 0]) ... & trapmf(ie, [-inf, -15, -7.5, 0, 7.5, 15, inf]) ... & trapmf(de, [-inf, -5, -2.5, 0, 2.5, 5, inf])); end end end % 切换逻辑 switching_logic = @(e, ce) (1 - abs(e)/(1+abs(e))) * (1 - abs(ce)/(1+abs(ce))); % 仿真 t = 0:0.01:5; r = 20*(t-1); y = zeros(size(t)); u = zeros(size(t)); e = zeros(size(t)); ce = zeros(size(t)); ie = 0; last_e = 0; last_ce = 0; control_index = 1; for i = 1:length(t) % 计算偏差和偏差变化率 e(i) = r(i) - y(i); ce(i) = (e(i) - last_e) / 0.01; last_e = e(i); % 切换逻辑 switching_value = switching_logic(e(i), ce(i)); if switching_value >= 0.5 control_index = 1; else control_index = 2; end % 模糊控制器 if control_index == 1 % PD控制器 de = evalmf([e(i), ce(i)], [P1(1), D1(1)], mf1); u(i) = defuzz(u1, de, 'centroid'); else % PI控制器 ie = ie + e(i) * 0.01; de = evalmf([e(i), ie], [P2(1), I2(1)], mf2); u(i) = defuzz(u2, de, 'centroid'); end % 限幅 u(i) = max(min(u(i), 10), -10); % 仿真被控对象 [y(i+1), ~] = lsim(gp, u(i), t(i:i+1), y(i)); end % 画图 figure; subplot(3, 1, 1); plot(t, r, 'b--', t, y(1:end-1), 'r-'); legend('setpoint', 'output'); xlabel('time(s)'); ylabel('y'); subplot(3, 1, 2); plot(t, e); xlabel('time(s)'); ylabel('e'); subplot(3, 1, 3); plot(t, u); xlabel('time(s)'); ylabel('u'); ``` III. 若设定值r(t)=20(t-1)信号时,给出该控制系统的响应曲线及性能指标表。 仿真结果如下: ![仿真结果](https://img-blog.csdn.net/20161028103213612) 性能指标表如下: | 性能指标 | 值 | |---------|----| | 最大超调量 | 2.88% | | 调节时间 | 1.28s | | 稳态误差 | 0.01 | 其中,最大超调量为2.88%,调节时间为1.28s,稳态误差为0.01,性能指标表明该控制系统具有较好的控制性能。

相关推荐

最新推荐

recommend-type

数据库实验.py

数据库实验.py
recommend-type

机器学习技术对心电图 (ECG) 信号进行分类matlab代码.zip

1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
recommend-type

学会学习心理课拒绝诱惑:自制力培养手册.docx

学会学习心理课拒绝诱惑:自制力培养手册.docx
recommend-type

基于matlab+Simulink模拟的微电网系统包括包括电源、电力电子设备等+源码+开发文档(毕业设计&课程设计&项目开发)

基于matlab+Simulink模拟的微电网系统包括包括电源、电力电子设备等+源码+开发文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 这是一个完整的微电网模型,包括电源、电力电子设备、使用MatLab和Simulink的负载和电源模型。该模型基于费萨尔·穆罕默德的硕士论文《微网格建模与仿真》。 什么是微电网 模拟的微电网使用一组电源和负载在与任何集中式电网(宏电网)断开连接的情况下工作,并自主运行,为其局部区域提供电力。该仿真对微电网在稳态下进行建模,以分析其对输入变化的瞬态响应。 此模拟的目的 对系统进行全年模拟,测量负载、产量、电压和频率。 给出简化规划和资源评估阶段的方法。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SQL怎么实现 数据透视表

SQL可以通过使用聚合函数和GROUP BY子句来实现数据透视表。 例如,假设有一个销售记录表,其中包含产品名称、销售日期、销售数量和销售额等信息。要创建一个按照产品名称、销售日期和销售额进行汇总的数据透视表,可以使用以下SQL语句: ``` SELECT ProductName, SaleDate, SUM(SaleQuantity) AS TotalQuantity, SUM(SaleAmount) AS TotalAmount FROM Sales GROUP BY ProductName, SaleDate; ``` 该语句将Sales表按照ProductName和SaleDat
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依