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)