2014-10-08 39 views
0

我有一个N乘7矩阵对应一个7通道输入。 我想在30个样本的窗口中缓冲该输入,并重叠29个样本。带矩阵的缓冲区函数

对于1个信道输入我会使用函数缓冲器

timeinterval = 30; 
timeoverlap = 29;  
buf=buffer(input_vec,timeinterval,timeoverlap,'nodelay'); 

是否有可能通过7矩阵使用缓冲功能与N?我找不到如何帮助。

由于

+0

你的目标用于3D矩阵的结果,对第三维缓冲区索引? – 2014-10-08 09:03:13

+0

是的,这将是很好 – gabboshow 2014-10-08 09:04:55

+0

我也打开其他解决方案,高度偏好不会产生大量输出的...因为我正在处理很长的输入来按顺序分析我有一些内存限制.. – gabboshow 2014-10-08 09:07:34

回答

0

如果结果是需要是3D阵列,信号最后索引,则:

%// Usually the test cases are given :-) 
signals  = repmat(transpose(1:100), 1,7); 
buff_length = 5; 

%// No one-liners today 
n_signals = size(signals, 2); 
buff_cell = cell(1, n_signals); 
for k = 1:n_signals 
     buff_cell{k} = buffer(signals(:,k), buff_length); 
end; 

result = cat(3, buff_cell{:});