设置阈值以触发或停止对 C

问题描述

我试图模拟我的数据采集卡何时以数据流模式获取数据并进行数据处理。 pi16Buffer 表示通道 1 和通道 2 混合的长波形数据,因此我使用 for 循环将数据 de-interleavech1Buffer[i]ch2Buffer[i]。其次,将 ch1Buffer 归一化为 ch2Buffer,称它们为 Corrected。根据{{​​1}}值,使用Corrected触发if值计算sum。但是,我得到的都是Area under curve,请检查我的示例代码是否有任何设置错误?我想从 0 中得到 3 个总和。

AUC

解决方法

这部分有一个错误:

i

当循环完成时,u32Size/2 的值为 ch1Buffer[i],并且没有分配给 ch1Buffer[i]。换句话说 - 由于使用了 callocch2Buffer[i] 为零。这同样适用于 Corrected = 0.0 / 0.0; // not good

所以你在做:

    for (i = 0; i < u32Size; i++) {
        AUC += Corrected;
    }

另外,这段代码

Corrected = ch1Buffer[i] / ch2Buffer[i];

很奇怪……你一直在循环中添加相同的值。

也许这行:u32Size 应该在 for 循环内。

顺便说一句:您将 sapply 元素分配给数组,但您只使用了其中的一半。