在matlab / simulink中创建一个环/循环缓冲区

时间:2014-05-02 14:03:41

标签: circular-buffer pitch-shifting

我试图在Simulink中使用环形/循环缓冲区实现音高变换算法,但我不知道如何完成。我使用麦克风传输音频信号,我想将数据存储在循环缓冲区中,以便改变音频的音调,我想知道如何实现这样的缓冲。

1 个答案:

答案 0 :(得分:0)

最简单的方法是以一种循环方式递增数组的索引。

bufSize = 10;
circBuffer = zeros(bufSize,1);

for i = 1:15
  ind = mod(i-1,bufSize) + 1;
  circBuffer(ind) = i;
end

你需要比这更复杂的东西吗?