控制器开发---低通滤波器设计

本文介绍了控制器开发中低通滤波器的重要性,通过MATLAB的fdatool工具进行滤波器仿真,并详细展示了如何设计、保存和转换滤波器系数。在1000Hz采样频率和300Hz截止频率下,分析了滤波器的幅频特性及可能带来的相位滞后问题,强调了实际系统集成中滤波器设计的考量因素。
摘要由CSDN通过智能技术生成

低通滤波器是控制器开发常用的滤波算法,整车常用的信号一般都为低频,而一些噪声信号频率都较高,所以当控制器硬件采集到模拟信号或数字信号可以先进行低通滤波处理,这样可以有效的防止无效频段数据对控制器的干扰。
下面将结合matlab的滤波器设计工具fdatool,先对滤波器进行仿真,将滤波仿真效果好的参数生成传递函数,然后编译成C代码写入控制器软件。
在matlab命令行输入fdatool,弹出fdatool设置界面:
在这里插入图片描述
如果是手写代码,建议滤波器的阶数设计成2,因为2阶的传递函数换算要简单些,虽然阶数越高过滤效果更好,但是不适合手动换算。可以多增加几个2阶的滤波器看最后调试的效果。但如果是matlab模型编写的代码的化,则一步到位,阶数增加按仿真的效果来评估。本滤波器设置的采样频率Fs=1000Hz,截止频率Fc=300Hz,可以看到该滤波器的幅频特性曲线的限值效果。
仿真完成之后,将传递函数的系数保存下来,如下图所示:
在这里插入图片描述
如此,就将低通滤波器离散的传递函数系数保存了下来,接下来需要将其传递函数换算出来,需要用到如下指令:
load(‘lowpass.mat’) %加载系数
sysd=tf(Num,[1,zeros(1,length(Num)-1)],1e-3);%生成传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值