for(t=0; t<=1; t+=1e-4)
{
input [n] = 2 + sin(w*t);
}
嗨,我是C编码新手。我正在尝试编程一个移动平均滤波器,用于DSP控制器,以连续计算波形的平均值。
在这一步中,我想从步长为1e-4的正弦波中采样数据,并将它们保存到缓冲区中。缓冲区大小应为1000.但在这种情况下,“t”不是整数,那么我怎么能这样做呢?谢谢你的帮助!!!
答案 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);
}