annotate sequences/windowparams.m @ 2:7357e1dc2ad6
Simplified scheduler library with new schedule representation.
author |
samer |
date |
Sat, 22 Dec 2012 16:17:51 +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
|