1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
假如设计好了一个控制器,得到了它的传递函数,那么该怎么在单片机中实现它呢?里面都是微积分,该怎么编程呢?这就要设计到传函的离散化了。
1:离散化 1.1、离散化的目的
我们这里讲的离散化都是借助matlab工具进行的,matlab提供多种离散化的方法; dsys=c2d(sys,ts,’method’); % 传函离散,其中ts表示离散的采样周期,method表示离散的方法;sys表示s域传函,dsys表示对应的z域传函; 其中method包括以下几种方法:
假设一个低通滤波器的传函为: 我们先用matlab工具看下他的特性; >> num=1; den=[6.687e-4,1]; sys=tf(num,den); p=bodeoptions; p.FreqUnits= 'Hz'; bode(sys,p) 看下他的伯德图: 从图中可以看到该低通滤波器截止频率为237Hz,截止频率处的相移位45度; 我们也用simulink搭建一个仿真,验证下当该滤波器输入一个237HZ的正弦波时,输出是不是一个为-3dB衰减,且相移45度的正弦波; 仿真如下: 波形如下: 图中sine ware和sin wave1两个波形是相差90度的,而滤波出来的Transfer Fcn波形可以正好相差45度,衰减-3dB; 我们现在用matlab对他进行离散化 num=1; den=[6.687e-4,1]; sys=tf(num,den); ts=64e-6; >> dsys=c2d(sys,ts,'z') dsys = 0.09127 ---------- z - 0.9087 然后我们用simulink再搭建他对应的离散传函下的系统特性有没有变化; 采样时间为ts=64e-6; 波形如下: 从图中可以看出滤波出来的DiscreteTransfer Fcn波形正好相差45度,衰减-3dB;所以他的离散下的特性没变; 下面将离散域下的函数转化为差分方程 假设输入为x,输出为y; 转化为上面的差分方程后,就可以在单片机中实现了,我们也可以在simulink中用sfun仿真; 看下转化为数字滤波后的特性是否发生变化。同样输入赋值为1,频率为237HZ的正玄波。 仿真如下: sfun如下: function y = fcn(u) persistent yl; %定义一个静态变量 if isempty(yl) %给静态变量赋初值 yl=0; end persistent ul; if isempty(ul) ul=0; end y=0.9086*yl+0.09136*ul; yl=y; ul=u; 仿真波形如下: 从图中可以看出滤波出来的MATLAB Function波形正好相差45度,衰减-3dB; 注意:可能有的人会问,一阶低通滤波器的差分方程的形式不应该是 : 是的。这个是用一阶后项差分法离散后得出的差分方程; 因为没有找到,matlab中传函怎么进行一阶后项差分离散 其实我们也可以定义符号变量进行替代。 >> syms s z Ts;%定义符号变量 s=(1-z^-1)/Ts;%一阶后项差分sys=1/(s+1);subs(sys,,[z])%传递函数中用z替代s ans = -1/((1/z - 1)/Ts - 1) 化成差分方程的形式: 以上整个就是传函的离散化的单片机实现的过程了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3314 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9059 浏览 16 评论
4088 浏览 18 评论
1179浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 14:24 , Processed in 1.260267 second(s), Total 78, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号