Mercurial > forge
changeset 2536:ef77528be884 octave-forge
Fix for 4 argument call to grpdelay
author | adb014 |
---|---|
date | Sun, 01 Oct 2006 09:24:40 +0000 |
parents | 839db0fc239a |
children | 9e23e2efe480 |
files | main/signal/inst/grpdelay.m |
diffstat | 1 files changed, 22 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/main/signal/inst/grpdelay.m Sun Oct 01 08:15:03 2006 +0000 +++ b/main/signal/inst/grpdelay.m Sun Oct 01 09:24:40 2006 +0000 @@ -92,37 +92,38 @@ usage("[g, w]=grpdelay(b [, a [, n [, 'whole' [, Fs]]]])"); end HzFlag=0; - if nargin<5 - Fs=1; % return w in radians per sample - if nargin<4, whole=''; - elseif ~ischar(whole) - Fs = whole; - HzFlag=1; - whole = ''; - end - if nargin<3, nfft=512; end - if nargin<2, a=1; end - else - HzFlag=1; - end if length(nfft)>1 - if nargin>3 % grpdelay(B,A,F,Fs) + if nargin>4 + print_usage(); + elseif nargin>3 % grpdelay(B,A,F,Fs) Fs = whole; HzFlag=1; else % grpdelay(B,A,W) Fs = 1; end + Fs w = 2*pi*nfft/Fs; nfft = length(w); + else + if nargin<5 + Fs=1; % return w in radians per sample + if nargin<4, whole=''; + elseif ~ischar(whole) + Fs = whole; + HzFlag=1; + whole = ''; + end + if nargin<3, nfft=512; end + if nargin<2, a=1; end + else + HzFlag=1; + end + + if isempty(nfft), nfft = 512; end + if ~strcmp(whole,'whole'), nfft = 2*nfft; end + w = Fs*[0:nfft-1]/nfft; end - if isempty(nfft), nfft = 512; end - - % Debug output: - % b,a,nfft,whole,Fs,HzFlag - if ~strcmp(whole,'whole'), nfft = 2*nfft; end - - w = Fs*[0:nfft-1]/nfft; if ~HzFlag, w = w * 2*pi; end oa = length(a)-1; % order of a(z)