annotate dsp/unbuffer.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
parents c3b0cd708782
children
rev   line source
samer@32 1 function x=unbuffer(X,hop,H)
samer@32 2 % unbuffer - overlap-and-add signal reconstruction (opposite of buffer)
samer@32 3 %
samer@32 4 % unbuffer ::
samer@32 5 % [[N,T]] ~'overlapping frames',
samer@32 6 % natural ~'hop size',
samer@32 7 % ([[N]] | N:natural->[[N]]) ~'window or window function'
samer@32 8 % -> [[T]].
samer@32 9
samer@32 10
samer@32 11 [N L]=size(X);
samer@32 12 T=N+(L-1)*hop;
samer@32 13 x=zeros(T,1);
samer@32 14 K=1:N;
samer@32 15 if (nargin<3), H=hanning(N);
samer@32 16 elseif ~isnumeric(H)
samer@32 17 % assume it's a window function handle
samer@32 18 H=feval(H,N);
samer@32 19 end
samer@32 20
samer@32 21 for k=1:L
samer@32 22 x(K)=x(K)+H.*X(:,k);
samer@32 23 K=K+hop;
samer@32 24 end
samer@32 25