annotate signals/@sigresample/design.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
parents 289445d368a7
children
rev   line source
samer@1 1 function so=design(sig,p,q)
samer@1 2 f1=rate(sig.source);
samer@1 3 f2=rate(sig);
samer@1 4 if isfield(sig.opts,'passband')
samer@1 5 relpass=2*sig.opts.passband/min(f1,f2);
samer@1 6 elseif isfield(sig.opts,'relpass')
samer@1 7 relpass=sig.opts.relpass;
samer@1 8 elseif isfield(sig.opts,'reltrans')
samer@1 9 relpass=(1-sig.opts.reltrans);
samer@1 10 else
samer@1 11 relpass=nan;
samer@1 12 end
samer@1 13
samer@1 14 if isnan(relpass) && ~isfield(sig.opts,'order')
samer@1 15 so=dsp.FIRRateConverter(p,q,mfilt.firsrc(p,q).Numerator);
samer@1 16 else
samer@1 17 tw = max(0.01,1-relpass)*min(f1,f2)/2;
samer@1 18 if isfield(sig.opts,'astop')
samer@1 19 fsrc=fdesign.rsrc(p,q,'Nyquist',max(p,q),'TW,Ast',tw,sig.opts.astop,p*f1);
samer@1 20 else
samer@1 21 if isfield(sig.opts,'order'), order = sig.opts.order; else order = 12; end
samer@1 22 fsrc=fdesign.rsrc(p,q,'Nyquist',max(p,q),'N,TW',2*order*max(p,q),tw,p*f1);
samer@1 23 end
samer@1 24 so=design(fsrc,'kaiserwin','SystemObject',true);
samer@1 25 end
samer@1 26 end