for循环C编码中的数组插入

时间:2017-10-03 17:19:31

标签: c controller signal-processing moving-average

    for(t=0; t<=1; t+=1e-4)
    {
        input [n] = 2 + sin(w*t);
    }

嗨,我是C编码新手。我正在尝试编程一个移动平均滤波器,用于DSP控制器,以连续计算波形的平均值。

在这一步中,我想从步长为1e-4的正弦波中采样数据,并将它们保存到缓冲区中。缓冲区大小应为1000.但在这种情况下,“t”不是整数,那么我怎么能这样做呢?谢谢你的帮助!!!

2 个答案:

答案 0 :(得分:1)

也许您想使用微秒,以便您可以使用整数进行采样。你只需调整公式,结果就是一致的。

答案 1 :(得分:0)

永远不要将浮点值用作循环索引。使用整数:

double t = 0.0;
for (int i = 0; i < 1000; i += 1) {
    t = i / 1000.0;
    input[i] = 2.0 + sin(w * t);
}