diff scripts/signal/hamming.m @ 20236:230c1e2a678d

blackman, hamming, hanning: Simplify handling of periodic window option * blackman.m, hamming.m, hanning.m: Simplify logic for handling periodic or symmetric window option.
author Mike Miller <mtmiller@octave.org>
date Sat, 04 Apr 2015 14:12:10 -0400
parents d209fbae38ae
children f1d0f506ee78
line wrap: on
line diff
--- a/scripts/signal/hamming.m
+++ b/scripts/signal/hamming.m
@@ -45,11 +45,11 @@
     error ("hamming: M must be a positive integer");
   endif
 
-  periodic = false;
+  N = m - 1;
   if (nargin == 2)
     switch (opt)
       case "periodic"
-        periodic = true;
+        N = m;
       case "symmetric"
         ## Default option, same as no option specified.
       otherwise
@@ -60,14 +60,8 @@
   if (m == 1)
     c = 1;
   else
-    if (! periodic)
-      m = m - 1;
-    endif
-    c = 0.54 - 0.46 * cos (2 * pi * (0:m)' / m);
-  endif
-
-  if (periodic)
-    c = c(1:end-1);
+    m = m - 1;
+    c = 0.54 - 0.46 * cos (2 * pi * (0 : m)' / N);
   endif
 
 endfunction