diff options
Diffstat (limited to 'gr-fft/python/fft')
-rw-r--r-- | gr-fft/python/fft/bindings/window_python.cc | 5 | ||||
-rw-r--r-- | gr-fft/python/fft/qa_window.py | 37 |
2 files changed, 40 insertions, 2 deletions
diff --git a/gr-fft/python/fft/bindings/window_python.cc b/gr-fft/python/fft/bindings/window_python.cc index 51dd7200d1..e04a6c59df 100644 --- a/gr-fft/python/fft/bindings/window_python.cc +++ b/gr-fft/python/fft/bindings/window_python.cc @@ -13,8 +13,8 @@ /* If manual edits are made, the following tags should be modified accordingly. */ /* BINDTOOL_GEN_AUTOMATIC(0) */ /* BINDTOOL_USE_PYGCCXML(0) */ -/* BINDTOOL_HEADER_FILE(window.h) */ -/* BINDTOOL_HEADER_FILE_HASH(b55c3b96105267729782fc5262efa28a) */ +/* BINDTOOL_HEADER_FILE(window.h) */ +/* BINDTOOL_HEADER_FILE_HASH(22de6d8875628eec777952b4902a09e9) */ /***********************************************************************************/ #include <pybind11/complex.h> @@ -176,6 +176,7 @@ void bind_window(py::module& m) py::arg("type"), py::arg("ntaps"), py::arg("beta") = 6.76, + py::arg("normalize") = false, D(window, build)) ; diff --git a/gr-fft/python/fft/qa_window.py b/gr-fft/python/fft/qa_window.py new file mode 100644 index 0000000000..f5afd2640d --- /dev/null +++ b/gr-fft/python/fft/qa_window.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +# +# Copyright 2020 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# SPDX-License-Identifier: GPL-3.0-or-later +# +""" +Unit tests for fft.window +""" + +import numpy +from gnuradio import gr_unittest +from gnuradio import fft + +class test_window(gr_unittest.TestCase): + """ + Unit tests for fft.window + """ + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_normwin(self): + """ + Verify window normalization + """ + win = fft.window.build(fft.win_type.WIN_BLACKMAN_hARRIS, 21, normalize=True) + power = numpy.sum([x*x for x in win])/len(win) + self.assertAlmostEqual(power, 1.0) + +if __name__ == '__main__': + gr_unittest.run(test_window) |