Советы по эффективной обработке скользящего окна потока

В каждый момент времени 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 разных размера раздвижного окна.

Заранее спасибо.

3

Решение

Вы могли бы использовать кольцевой буфер с размером, равным ширине самого большого окна.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]