为什么有人会使用经验求和而不是数值积分方法?

计算科学 数值分析 一体化
2021-12-27 13:23:25

在科学计算应用程序的上下文中,使用来自(强大的)嵌入式系统的数据,获取原始数据(但来自校准的采集电子设备),我被要求将这些数据(在 RT 中)与经验和相结合,而不是使用常用的数值方法。(重要提示:即使我们正在处理嵌入式系统,计算能力也不是问题)。

当我问为什么不使用这些常用的数值方法(例如辛普森、中点规则、梯形规则等)时,我无法得到任何答案。然后,我想知道为什么有人要以这种方式执行它。

嵌入式系统上的采集应用程序是 C++03,用 GCC 4.4.7 编译,执行的平均值看起来有点像这样(每次执行采集时都会执行此代码):

float sum = 0.0; 
for (int i = 0; i < DATA_BLOCK_LENGTH; i++) {
    sum += data[i]
}
sum /= DATA_BLOCK_LENGTH;

这个片段让您了解代码从接收到的信号轨迹中执行平均;信号在大多数情况下通常看起来像这样(沿着整个信号迹线有一个或两个尖峰)。

采集跟踪示例 之前的常数 DATA_BLOCK_LENGTH 通常设置为最大值(2048,即电子缓冲区的大小)。度量是等间距的样本。

0个回答
没有发现任何回复~