changeset 18:01eba86df030

-Moved scripts to new scripts dir -Fixed a bug in the IIR gammatone gain that was causing a resonance at 3kHz -Changes HCL default for do_lowpass to true
author tomwalters
date Mon, 22 Feb 2010 12:42:47 +0000
parents f4e712d41321
children a2dddc107d55
files build_docs.sh build_python_module.sh lint_all.sh scripts/build_docs.sh scripts/build_python_module.sh scripts/lint_all.sh src/Modules/BMM/ModuleGammatone.cc src/Modules/NAP/ModuleHCL.cc
diffstat 8 files changed, 22 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/build_docs.sh	Sat Feb 20 21:03:57 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-#!/bin/bash
-doxygen doc/Doxyfile
-
--- a/build_python_module.sh	Sat Feb 20 21:03:57 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#!/bin/bash
-cd swig
-python setup.py "build_ext"
-python setup.py install
-cd ..
--- a/lint_all.sh	Sat Feb 20 21:03:57 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-#!/bin/bash
-find -E . -iregex ".*\.(h|cc|c)" | grep -v "ConvertUTF" | grep -v "SimpleIni" | xargs lint/cpplint.py --filter=-build/header_guard
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build_docs.sh	Mon Feb 22 12:42:47 2010 +0000
@@ -0,0 +1,3 @@
+#!/bin/bash
+doxygen doc/Doxyfile
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build_python_module.sh	Mon Feb 22 12:42:47 2010 +0000
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd swig
+python setup.py "build_ext"
+python setup.py install
+cd ..
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/lint_all.sh	Mon Feb 22 12:42:47 2010 +0000
@@ -0,0 +1,3 @@
+#!/bin/bash
+find -E . -iregex ".*\.(h|cc|c)" | grep -v "ConvertUTF" | grep -v "SimpleIni" | xargs lint/cpplint.py --filter=-build/header_guard
+
--- a/src/Modules/BMM/ModuleGammatone.cc	Sat Feb 20 21:03:57 2010 +0000
+++ b/src/Modules/BMM/ModuleGammatone.cc	Mon Feb 22 12:42:47 2010 +0000
@@ -92,6 +92,7 @@
   for (int ch = 0; ch < num_channels_; ++ch) {
     double cf = centre_frequencies_[ch];
     double erb = ERBTools::Freq2ERBw(cf);
+    // LOG_INFO("%e", erb);
 
     // Sample interval
     double dt = 1.0f / input.sample_rate();
@@ -110,17 +111,18 @@
     complex<double> ec = exp(2.0 * exponent);
     complex<double> two_cf_pi_t(2.0 * cpt, 0.0);
     complex<double> two_pow(pow(2.0, (3.0 / 2.0)), 0.0);
-    complex<double> p = -2.0 * ec * dt
-                       + 2.0 * exp(-(b * dt) + exponent) * dt;
+    complex<double> p1 = -2.0 * ec * dt;
+    complex<double> p2 = 2.0 * exp(-(b * dt) + exponent) * dt;
     complex<double> b_dt(b * dt, 0.0);
 
     double gain = abs(
-      (p * (cos(two_cf_pi_t) - sqrt(3.0 - two_pow) * sin(two_cf_pi_t)))
-      * (p * (cos(two_cf_pi_t) + sqrt(3.0 - two_pow) * sin(two_cf_pi_t)))
-      * (p * (cos(two_cf_pi_t) - sqrt(3.0 + two_pow) * sin(two_cf_pi_t)))
-      * (p * (cos(two_cf_pi_t) + sqrt(3.0 + two_pow) * sin(two_cf_pi_t)))
-      / pow(-2.0 / exp(2.0 * b_dt) - 2.0 * ec + 2.0 * (1.0 + ec)
-            / exp(b_dt), 4.0));
+      (p1 + p2 * (cos(two_cf_pi_t) - sqrt(3.0 - two_pow) * sin(two_cf_pi_t)))
+      * (p1 + p2 * (cos(two_cf_pi_t) + sqrt(3.0 - two_pow) * sin(two_cf_pi_t)))
+      * (p1 + p2 * (cos(two_cf_pi_t) - sqrt(3.0 + two_pow) * sin(two_cf_pi_t)))
+      * (p1 + p2 * (cos(two_cf_pi_t) + sqrt(3.0 + two_pow) * sin(two_cf_pi_t)))
+      / pow((-2.0 / exp(2.0 * b_dt) - 2.0 * ec + 2.0 * (1.0 + ec)
+            / exp(b_dt)), 4));
+    LOG_INFO("%e", gain);
 
     // The filter coefficients themselves:
     const int coeff_count = 3;
--- a/src/Modules/NAP/ModuleHCL.cc	Sat Feb 20 21:03:57 2010 +0000
+++ b/src/Modules/NAP/ModuleHCL.cc	Mon Feb 22 12:42:47 2010 +0000
@@ -37,7 +37,7 @@
                         "and lowpass filtering";
   module_version_ = "$Id: ModuleHCL.cc 4 2010-02-03 18:44:58Z tcw $";
 
-  do_lowpass_ = parameters_->DefaultBool("nap.do_lowpass", false);
+  do_lowpass_ = parameters_->DefaultBool("nap.do_lowpass", true);
   do_log_ = parameters_->DefaultBool("nap.do_log_compression", false);
   lowpass_cutoff_ = parameters_->DefaultFloat("nap.lowpass_cutoff", 1200.0);
   lowpass_order_ = parameters_->DefaultInt("nap.lowpass_order", 2);