【发布时间】:2021-08-26 15:35:35
【问题描述】:
我正在使用 Simulink 使用经过训练的 Fine-KNN 模型进行实时分类。模型的输入数据是一个 50 点移动平均向量 [6x1]。为此,我使用 DSP 移动平均块和滑动窗口技术(窗口大小 = 50 并使用代码生成器进行模拟)。当我比较这个块的输入和输出的实时值时,我得到以下图:
从图中可以清楚地看出,输出有问题,因为输入和输出之间存在很大差异。可能是什么问题或我做错了什么?
编辑(根据 Cris 的评论):
以下是一些屏幕截图,用于展示 Simulink 中的一些建模参数:
-
显示用于测量实际输入和移动平均输出的探针以及移动平均模块参数的屏幕截图 Probes
-
可能影响模型性能的其他模块参数: 一种。 OPC Config real-time block parameters 湾。 OPC Read block parameters
PS:我能想到的一个问题是,实际输入以 10 毫秒的时间步长实时馈送到移动平均线,我不确定移动平均线块是否有缓冲区可以存储到“窗口长度”数据不断出现。我的意思是,移动平均块可能在很长一段时间内无法访问输入信号的 50 个值,我不确定它如何处理这种情况。
【问题讨论】:
-
不看代码很难知道哪里出了问题。
-
开始时的“斜坡”是由于您的 PS,即当没有足够的样本时它在缓冲区中使用 0,导致平均值逐渐增加。但是,您的实际问题是由根据我的回答中展示的问题
标签: matlab signal-processing simulink moving-average