在实际的Simulink进行应用层建模时,需要对输入的数据进行滤波,防止信号发生的突变超过了临界值而溢出。我们可以使用Simulink的基础组件搭建一个均值滤波数据处理模型来对输入的数据处理之后再进行逻辑或实际的使用。


1.Simulink的均值滤波数据处理模型

均值滤波:均值滤波就是连续取N个数,然后做平均值计算,算法比较简单。优点缺点都明显。这里计算时减掉一个最大值和一个最小值使曲线尽量丝滑。

1.1 Meanfilter子系统

 


1.2 测试仿真模型

使用Counter Limited组件作为输入的数据源模拟采样的物理值变化。

模型文件

 

模型配置参数

 

仿真结果

 


2.Tapped Delay组件

Tapped Delay组件将标量信号延迟多个采样周期并输出所有延迟版本。


库:
Simulink / Discrete
HDL Coder / Discrete
功能:
(1)Tapped Delay 模块将输入延迟指定数量的采样周期,并为每个延迟
提供一个输出信号。例如,当您为延迟数指定 4 且输出向量排序为最早
时,该模块提供四个输出 - 第一个输出延迟四个采样周期,第二个输出
延迟三个采样周期,依此类推。使用此模块可以适时离散化信号,或以
不同的速率对信号进行重采样。
(2)该模块接受一个标量输入,并生成包含每个增量延迟的数据的输出向量。
使用输出向量排序参数指定输出向量中的延迟信号顺序:
最早输出向量以最早的延迟版本开始,以最新的延迟版本结束的顺序。
最近输出向量以最新的延迟版本开始,以最早的延迟版本结束的顺序。
通过初始条件参数指定第一个采样周期的输出向量。谨慎选择此参数
可以减少不需要的输出行为。
(3)通过采样时间参数指定采样之间的时间间隔。通过延迟数参数指定
延迟数量。值 -1 指示模块通过反向传播来继承延迟数量。
每个延迟相当于 Unit Delay 模块。

模型测试N值变化

 

仿真结果

 


N较大时:信号平滑度较高,但灵敏度较低。
N较小时:信号平滑度较低,但灵敏度较高。

3.参考内容

[1] https://ww2.mathworks.cn/help/simulink/slref/tappeddelay.html

[2] CSDN作者的Akangya的文章《MATLAB-Simulink均值滤波》,文章链接为:https://blog.csdn.net/KK_546464/article/details/131538311

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐