annotate signals/resamplex.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
parents beb8a3f4a345
children
rev   line source
samer@1 1 function s=resamplex(fs,sigs,varargin)
samer@37 2 opts=options(varargin{:});
samer@1 3 [s1,sx]=feval(rsx1(sigs{1},sigs(2:end)));
samer@1 4 s=siglzcat(s1,sx);
samer@1 5
samer@1 6 function f=rsx1(h,t), f=@()rsx3({h},rate(h),t); end
samer@1 7 function [s1,sx]=rsx3(heads,fh,tails)
samer@1 8 if ~isempty(tails) && rate(tails{1})==fh
samer@1 9 [s1,sx]=rsx3([heads,tails(1)],fh,tails(2:end));
samer@1 10 else
samer@1 11 s1=resample(fs,sigcat(heads{:}),opts);
samer@1 12 if isempty(tails), sx=[];
samer@1 13 else sx=rsx1(tails{1},tails(2:end));
samer@1 14 end
samer@1 15 end
samer@1 16 end
samer@1 17 end
samer@1 18
samer@1 19 function s=resamplex1(fs,signals)
samer@1 20 s=rsx1(signals);
samer@1 21
samer@1 22 function s=rsx1(signals)
samer@1 23 s=rsx3(signals(1),rate(signals{1}),signals(2:end));
samer@1 24 end
samer@1 25
samer@1 26 function s=rsx3(heads,fh,tails)
samer@1 27 if ~isempty(tails) && rate(tails{1})==fh
samer@1 28 s=rsx3([heads,tails(1)],fh,tails(2:end));
samer@1 29 else
samer@1 30 headsig=resample(fs,sigcat(heads{:}),opts);
samer@1 31 if isempty(tails), s=headsig;
samer@1 32 else s=siglzcat(headsig, @()deal(rsx1(tails),[]));
samer@1 33 end
samer@1 34 end
samer@1 35 end
samer@1 36 end
samer@1 37