From fabb155ccc2010021ba6e7a3d4818b851c331478 Mon Sep 17 00:00:00 2001
From: Jacob Gilbert <jacob.gilbert@protonmail.com>
Date: Fri, 22 Jan 2021 21:30:45 -0800
Subject: gr-fft: adding additional window options to win_type enum

Adding Nuttall, Welch, Parzen, Exponential, Riemann, Gaussian, and Tukey window options to the win_type enum for use with the various filter design functions

Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
---
 gr-fft/python/fft/bindings/window_python.cc | 36 ++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 13 deletions(-)

(limited to 'gr-fft/python/fft/bindings/window_python.cc')

diff --git a/gr-fft/python/fft/bindings/window_python.cc b/gr-fft/python/fft/bindings/window_python.cc
index 3e9cdeec5e..cc0fb6d589 100644
--- a/gr-fft/python/fft/bindings/window_python.cc
+++ b/gr-fft/python/fft/bindings/window_python.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020 Free Software Foundation, Inc.
+ * Copyright 2020,2021 Free Software Foundation, Inc.
  *
  * This file is part of GNU Radio
  *
@@ -14,7 +14,7 @@
 /* BINDTOOL_GEN_AUTOMATIC(0)                                                       */
 /* BINDTOOL_USE_PYGCCXML(0)                                                        */
 /* BINDTOOL_HEADER_FILE(window.h)                                                  */
-/* BINDTOOL_HEADER_FILE_HASH(22de6d8875628eec777952b4902a09e9)                     */
+/* BINDTOOL_HEADER_FILE_HASH(de72e082a5bc1eeed7c4b3221025eb02)                     */
 /***********************************************************************************/
 
 #include <pybind11/complex.h>
@@ -34,15 +34,25 @@ void bind_window(py::module& m)
     py::class_<window, std::shared_ptr<window>> window_class(m, "window", D(window));
 
     py::enum_<gr::fft::window::win_type>(window_class, "win_type")
-        .value("WIN_HAMMING", gr::fft::window::WIN_HAMMING)                 // 0
-        .value("WIN_HANN", gr::fft::window::WIN_HANN)                       // 1
-        .value("WIN_BLACKMAN", gr::fft::window::WIN_BLACKMAN)               // 2
-        .value("WIN_RECTANGULAR", gr::fft::window::WIN_RECTANGULAR)         // 3
-        .value("WIN_KAISER", gr::fft::window::WIN_KAISER)                   // 4
-        .value("WIN_BLACKMAN_hARRIS", gr::fft::window::WIN_BLACKMAN_hARRIS) // 5
-        .value("WIN_BLACKMAN_HARRIS", gr::fft::window::WIN_BLACKMAN_HARRIS) // 5
-        .value("WIN_BARTLETT", gr::fft::window::WIN_BARTLETT)               // 6
-        .value("WIN_FLATTOP", gr::fft::window::WIN_FLATTOP)                 // 7
+        .value("WIN_HAMMING", gr::fft::window::WIN_HAMMING)                     // 0
+        .value("WIN_HANN", gr::fft::window::WIN_HANN)                           // 1
+        .value("WIN_HANNING", gr::fft::window::WIN_HANNING)                     // 1
+        .value("WIN_BLACKMAN", gr::fft::window::WIN_BLACKMAN)                   // 2
+        .value("WIN_RECTANGULAR", gr::fft::window::WIN_RECTANGULAR)             // 3
+        .value("WIN_KAISER", gr::fft::window::WIN_KAISER)                       // 4
+        .value("WIN_BLACKMAN_hARRIS", gr::fft::window::WIN_BLACKMAN_hARRIS)     // 5
+        .value("WIN_BLACKMAN_HARRIS", gr::fft::window::WIN_BLACKMAN_HARRIS)     // 5
+        .value("WIN_BARTLETT", gr::fft::window::WIN_BARTLETT)                   // 6
+        .value("WIN_FLATTOP", gr::fft::window::WIN_FLATTOP)                     // 7
+        .value("WIN_NUTTALL", gr::fft::window::WIN_NUTTALL)                     // 8
+        .value("WIN_BLACKMAN_NUTTALL", gr::fft::window::WIN_BLACKMAN_NUTTALL)   // 8
+        .value("WIN_NUTTALL_CFD", gr::fft::window::WIN_NUTTALL_CFD)             // 9
+        .value("WIN_WELCH", gr::fft::window::WIN_WELCH)                         // 10
+        .value("WIN_PARZEN", gr::fft::window::WIN_PARZEN)                       // 11
+        .value("WIN_EXPONENTIAL", gr::fft::window::WIN_EXPONENTIAL)             // 12
+        .value("WIN_RIEMANN", gr::fft::window::WIN_RIEMANN)                     // 13
+        .value("WIN_GAUSSIAN", gr::fft::window::WIN_GAUSSIAN)                   // 14
+        .value("WIN_TUKEY", gr::fft::window::WIN_TUKEY)                         // 15
         .export_values();
 
     py::implicitly_convertible<int, gr::fft::window::win_type>();
@@ -51,7 +61,7 @@ void bind_window(py::module& m)
         .def_static("max_attenuation",
                     &window::max_attenuation,
                     py::arg("type"),
-                    py::arg("beta") = 6.7599999999999998,
+                    py::arg("param") = 6.7599999999999998,
                     D(window, max_attenuation))
 
 
@@ -188,7 +198,7 @@ void bind_window(py::module& m)
                     &window::build,
                     py::arg("type"),
                     py::arg("ntaps"),
-                    py::arg("beta") = 6.76,
+                    py::arg("param") = 6.76,
                     py::arg("normalize") = false,
                     D(window, build))
 
-- 
cgit v1.2.3