Я пытаюсь реализовать алгоритм смещения высоты тона в Simulink, который использует кольцевой/круговой буфер, но я не знаю, как это делается. Я передаю аудиосигнал с помощью микрофона, и я хочу сохранить данные в кольцевом буфере, чтобы изменить высоту звука, и я хотел бы знать, как реализовать такой буфер.
Создание кольцевого/кругового буфера в matlab/simulink
Ответы (1)
Самый простой способ — увеличить индекс массива таким образом, чтобы он зацикливался.
bufSize = 10;
circBuffer = zeros(bufSize,1);
for i = 1:15
ind = mod(i-1,bufSize) + 1;
circBuffer(ind) = i;
end
Вам нужно что-то более сложное, чем это?
person
Chris Taylor
schedule
02.05.2014
Ах, okej, спасибо, я думаю, что понял идею. Остается проблема, как я могу передавать данные в буфер.
- person user3585110; 02.05.2014