gpt4 book ai didi

c - 通过添加数组c来实现延迟效果

转载 作者:行者123 更新时间:2023-11-30 15:46:21 35 4
gpt4 key购买 nike

假设我有 2 个数组,缓冲区 1 和缓冲区 2。这两个数组具有完全相同的数据并且长度相同。我可以将这两个数组的结果加在一起,如下所示:

for (n=0; n<100; n++)
buffer3[n] = (buffer1[n] + buffer2[n]);

假设每个缓冲区都包含构成正弦波的数据点。如果我能够将 1 个数组中的点移动 180 度并再次添加它们,这会导致取消,对吗?我认为 90 到 180 度之间的点会导致生成的正弦波振幅变低,直到最终抵消 - 如果您愿意,可以称为过滤效果。

我尝试使用以下代码执行此操作,但问题是当 n 为 51 时,[n + 50] 的值为 101...无效吧?

for (n=0; n<100; n++)
buffer3[n] = (buffer1[n] + buffer2[n+50]);

我认为这里需要使用循环缓冲区或类似的东西,但我不确定如何将它集成到上面的代码中,我理解它与 n 出界有关但就是不知道如何实现我想要的;这可能吗?

最佳答案

int offset = 50;
for (n=0; n<100; n++){
buffer3[n] = (buffer1[n] + buffer2[(n+offset)%100]);

关于c - 通过添加数组c来实现延迟效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18467065/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com