В каждый момент времени t (каждые 10 мс) я получаю набор целых
{i_{0,t}, i_{1,t}, i_{2,t}}_t
который идет в отдельные буферы:
seq_0 = [...,i_{0,t-2},i_{0,t-1},i_{0,t},...], seq_1 and seq_2
Мне нужно сделать в реальном времени вычисления последовательностей для набора скользящего окна разных размеров. Например: для раздвижного окна размера 3
Буду вычислять функцию f()
на образцах, полученных в срок t
, t-1
, t-2
в каждой буферизованной последовательности.
at time t for seq_0 I compute f([i_{0,t-2},i_{0,t-1},i_{0,t}])
Я хотел бы получить несколько советов по структуре данных (с ++) или дизайну кода.
На практике мне бы хотелось 4 разных размера раздвижного окна.
Заранее спасибо.
Вы могли бы использовать кольцевой буфер с размером, равным ширине самого большого окна.
Других решений пока нет …