文章目录
- PID控制器
- 二阶广义积分器
- PR谐波抑制器
- 陷波器
- 全通滤波器
- 重复控制器
- 连续域离散化的几种方法
有S域和Z域

PID控制器
-
传递函数:
-
bode图:
-
m代码
%% PID控制器 % 连续域 kp = 100; ki = 10; kd = 10; Ts = 1/50000; num = [kd kp ki]; den = [1 0]; Gpid = tf(num,den) Gzpid = c2d(Gpid,Ts,'tustin'); p = bodeoptions; p.Grid = 'on'; p.FreqUnits = 'Hz'; bodeplot(Gpid,'g',p); %hold on %bodeplot(Gzpid,'r.',p); %hold off
-
simulink略去。。。。。。常识啦,哈哈哈
二阶广义积分器
二阶广义积分器能对特定频率交流分量进行跟踪、移相,可用于实现电压信号的正、负序分离及滤波,
-
传递函数:
-
G1 bode图
-
G2 bode图
由滤波器的幅频特性与相频特性可知,
滤波器在频率w0处的增益为1,输出信号qV与V的相位差为90°,
表明滤波器可完成对给定频率交流信号进行无差跟踪与移相。 -
m代码
%% 二阶广义积分器 k = 1; f = 50; w0 = 2 * pi * f; Ts = 1 / 50000; % D(s)=v'/v num1 = [k*w0 0]; den1 = [1 k*w0 w0^2]; G2s1 = tf(num1, den1); G2z1 = c2d(G2s1, Ts, 'tustin'); % Q(s)=qv'/ v num2 = [k*w0^2]; den2 = [1 k*w0 w0^2]; G2s2 = tf(num2, den2); G2z2 = c2d(G2s2, Ts, 'tustin'); % bode plot and analysis p = bodeoptions; p.Grid = 'on'; p.FreqUnits = 'Hz'; bodeplot(G2s1, 'b', p); bodeplot(G2s2, 'b', p); % hold on % bodeplot(G2z1, 'r', p); % hold off
-
simulink仿真
PR谐波抑制器
-
传递函数
-
bode图
-
m代码
%% PR谐振控制器 % 连续域 Kr = 1; f = 50; fh = 0.2; wc = 2 * pi * fh; w0 = 2 * pi * f; Ts = 1 / 50000; num1 = [Kr*2*wc 0]; den1 = [1 2*wc w0^2]; Gspr = tf(num1, den1) Gzpr = c2d(Gspr, Ts, 'tustin') % bode plot and analysis p = bodeoptions; p.Grid = 'on'; p.FreqUnits = 'Hz'; bodeplot(Gzpr, 'b', p);
-
simulink仿真
陷波器
- 传递函数
- Bode图
- m代码
%% 陷波器-与PR相反 % 连续域 Kr = 1; f = 50; fh = 0.2; wc = 2 * pi * fh; w0 = 2 * pi * f; Ts = 1 / 50000; num = [1 0 w0^2]; den = [1 2*wc w0^2]; Gstrap = tf(num, den) Gztrap = c2d(Gstrap, Ts, 'tustin') % bode plot and analysis p = bodeoptions; p.Grid = 'on'; p.FreqUnits = 'Hz'; bodeplot(Gstrap, 'g', p); % hold on % bodeplot(G2z1, 'r', p); % hold off
- simulink仿真
全通滤波器
需要得到一个与原信号有相位差的信号,可以看作是一个信号发生器
- 传递函数
- bode图
- m代码
%% 全通滤波器 % 连续域 k = 1; f = 50; w0 = 2 * pi * f; Ts = 1 / 50000; num = [1 -k*w0 w0^2]; den = [1 w0 w0^2]; Gsf = tf(num, den) Gzf = c2d(Gsf, Ts, 'tustin'); % bode plot and analysis p = bodeoptions; p.Grid = 'on'; p.FreqUnits = 'Hz'; bodeplot(Gsf, 'y', p); % hold on % bodeplot(Gzf, 'r', p); % hold off
- simulink仿真
重复控制器
依据内模原理
- simulink仿真
继续放大!!!
制造一个输入信号的传递函数模型,去抑制干扰带来的周期性的变化!!!
连续域离散化的几种方法
视频链接:https://www.bilibili.com/video/BV1zC4y1t7Cs/?spm_id_from=333.337.search-card.all.click&vd_source=000517e2f52ac26c3dd3a8f0f47a1852
资料链接:
链接:https://pan.baidu.com/s/1L2cj8_NhlF0QLnGUdtut-Q
提取码:nN8q