Mercurial > hg > ishara
annotate sequences/windowparams.m @ 19:1eb0ea29ec40
Doesn't belong here.
author | samer |
---|---|
date | Thu, 17 Jan 2013 13:32:19 +0000 |
parents | 672052bd81f8 |
children |
rev | line source |
---|---|
samer@0 | 1 function [span,jump]=windowparams(sz,frame,hop,width,opts) |
samer@0 | 2 % windowparams - compute windowing parameters to get buffers of a certain size |
samer@0 | 3 % |
samer@0 | 4 % windowparams :: |
samer@0 | 5 % [[1,2]] ~ 'size of signal [channels,length]', |
samer@0 | 6 % natural ~ 'desired frame length', |
samer@0 | 7 % natural ~ 'desired hop per frame', |
samer@0 | 8 % natural|[] ~ 'desired number of frames per buffer or [] for all', |
samer@0 | 9 % options { |
samer@0 | 10 % natural : jump/[] ~'override window jump' |
samer@0 | 11 % } |
samer@0 | 12 % -> natural ~ 'recommended window span', |
samer@0 | 13 % natural ~ 'recommended window jump'. |
samer@0 | 14 |
samer@0 | 15 channels = sz(1); |
samer@0 | 16 length = sz(2); |
samer@0 | 17 |
samer@0 | 18 if isempty(width) |
samer@0 | 19 width=channels*(floor((length-frame)/hop)+1); |
samer@0 | 20 end |
samer@0 | 21 |
samer@0 | 22 span = (hop*(width-1)+frame)/channels; |
samer@0 | 23 jump = (hop*width)/channels; |
samer@0 | 24 |
samer@0 | 25 if nargin>4 && isfield(opts,'jump'), jump = channels*hop*opts.jump; end |
samer@0 | 26 |
samer@0 | 27 |