从事开关电源研发的工程师,尤其是模拟控制的电源设计师,比较熟悉连续时域、连续频域的传递函数分析。那如何把模拟控制变成数字控制呢?因为计算机或者cpu它本质上是一个采样系统,只能处理离散系统,所以要把连续域变换成离散域,并且离散域的方程才能成为差分方程的形式,也只有差分方程才好写成c代码控制。我们今天分享,如何把连续频域变成离散域的其中一种变换方法:tustin变换法(双线性变换法),这也是实际研发中非常常用的一种变换方法。
我们开始举例,已知连续校正环节传递函数d(s)为:
其中变换器的开关频率为fs=250khz。如何设计双线性变换法所得的离散控制器d(z),并比较d(s)与d(z)的频率特性呢?
1)先利用matlab把d(s)离散成d(z):
① tustin变换法(双线性变换法):
fs=250000;
t=1/fs;
ds=tf([13.970 5.2206e5 4.4244e9],[1 1.0573e5 0]);
dz=c2d(ds,t,'tustin')
transfer function:
12.41 z^2 - 23.03 z + 10.68
z^2 - 1.651 z + 0.6509
sampling time: 4e-006
2)利用matlab绘制离散控制器d(z)的频率特性,代码如下:
t=4e-6;
w=0:1:4*pi/t;
f=w/2/pi;
num_d_s=[13.970 5.2206e5 4.4244e9];
den_d_s=[1 1.0753 0];
num_d_z=[12.41 -23.03 10.68];
den_d_z=[1 -1.651 0.6509];
[m_d_s,p_d_s]=bode(num_d_s,den_d_s,w);
[m_d_s,p_d_s]=bode(num_d_s,den_d_s,w);
[m_d_z,p_d_z]=dbode(num_d_z,den_d_z,t,w);
subplot(2,1,2),plot(f,p_d_s,'-',f,p_d_z,'-');
xlabel('frequency(hz)'),ylabel('phase(deg)');
axis([0 2/t -100 100]);
grid on;
subplot(2,1,1),plot(f,20log10(m_d_s),'-',f,20log10(m_d_z),'-'),title('bodediagrams');
xlabel('frequency(hz)'),ylabel('magnitude(db)');
axis([0 2/t 0 40]);
grid on;
3)连续控制器d(s)与离散控制器d(z)的频率特性如下图1:
图1 仿真图
以上就是 tustin变换法(双线性变换法)的简单过程,简单的3个步骤,既可以得到连续域与离散域的仿真图,是不是很简单呢?另一个问题,数字控制还有其他变换方法吗?有的,并且在实际产品开发中也比较常用,我们下次继续分享。
RISC-V市场持续高涨,晶心科技营收创历史次高
日本公司研制“变形金刚” 可由手机控制
下载速率达762Mbps,时延19毫秒,美国运营商Verizon抢先进入5G时代
芯片工程师的那些“黑话”
一文汇总最精华汽车电机内部技术原理
数字电源中如何把连续频域变换为离散域(一)
GSM 协会公布2011年移动世界大会的新增主题演讲嘉宾
基于USB总线的多路电话录音系统
增强现实与虚拟现实技术之间的联系是什么?
TI无线连接技术选择指南介绍
以太网io模块4-20mA转网口转TCP/IP台达PLC扩展
新颖的网线自动检测装置
赛灵思气势如虹 点燃智能创新战火
System Verilog中的Bits与Bytes是等价的吗
Kilopass凭借其革命性的VLT技术改变DRAM产业格局
蚂蚁暂缓上市,阿里反垄断调查是个机遇
AT89C2051设计的无线防盗报警器,Wireless burglar alarm
工业机器人设计过程详解
官方发布i9-9900K与AMD2700X的性能差距
BLE与物联网利诱难忍,恩智浦终于“上钩”了