2014-10-08 66 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{:});