From 3101180897b624fbb5eab8a3b0682aaa12a8db39 Mon Sep 17 00:00:00 2001
From: Ethan Blackwood <ethanbblackwood@gmail.com>
Date: Sun, 4 Nov 2018 01:03:23 -0500
Subject: [PATCH 1/3] Add hilbert transformer files

---
 PC_front.png                     | Bin 10807 -> 0 bytes
 PhaseCalculator_flow.pdf         | Bin 161201 -> 0 bytes
 PhaseCalculator_flow.xml         |   1 -
 README.md                        |  11 +-
 Source/ARModeler.h               |  38 ++-
 Source/HTransformers.cpp         | 155 +++++++++
 Source/HTransformers.h           |  78 +++++
 Source/PhaseCalculator.cpp       | 568 +++++++++++++++++++++----------
 Source/PhaseCalculator.h         | 161 +++++----
 Source/PhaseCalculatorCanvas.cpp |  28 +-
 Source/PhaseCalculatorCanvas.h   |   3 -
 Source/PhaseCalculatorEditor.cpp | 347 +++++++------------
 Source/PhaseCalculatorEditor.h   |  70 ++--
 ht_pc.png                        | Bin 0 -> 11915 bytes
 ht_pc_menu1.png                  | Bin 0 -> 18437 bytes
 ht_pc_menu2.png                  | Bin 0 -> 13800 bytes
 16 files changed, 925 insertions(+), 535 deletions(-)
 delete mode 100644 PC_front.png
 delete mode 100644 PhaseCalculator_flow.pdf
 delete mode 100644 PhaseCalculator_flow.xml
 create mode 100644 Source/HTransformers.cpp
 create mode 100644 Source/HTransformers.h
 create mode 100644 ht_pc.png
 create mode 100644 ht_pc_menu1.png
 create mode 100644 ht_pc_menu2.png

diff --git a/PC_front.png b/PC_front.png
deleted file mode 100644
index 50f3d2652c355b5125783a57f066a48bc2a6e04c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10807
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

diff --git a/PhaseCalculator_flow.pdf b/PhaseCalculator_flow.pdf
deleted file mode 100644
index 9ed3d50cce423fa6ab49216f0fa96bdd4af08243..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161201
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
Y1O>YX27i6#00azl>miUx%R>kM2JnuChX4Qo

diff --git a/PhaseCalculator_flow.xml b/PhaseCalculator_flow.xml
deleted file mode 100644
index 07c26eb..0000000
--- a/PhaseCalculator_flow.xml
+++ /dev/null
@@ -1 +0,0 @@
-<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" version="8.6.8" editor="www.draw.io" type="device"><diagram name="Page-1" id="90fc9ea5-aef4-fcdc-7f95-ef9970270fa7">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</diagram></mxfile>
\ No newline at end of file
diff --git a/README.md b/README.md
index de60705..88cf760 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,8 @@ The closed-loop system incorporating this plugin is described in the following a
 
 Blackwood, E., Lo, M., Widge, A. S. (2018). Continuous phase estimation for phase-locked neural stimulation using an autoregressive model for signal prediction. 40th International Conference of the IEEE Engineering in Medicine and Biology Society, in press.
 
-<img src="PC_front.png" width="328" /> <img src="PC_vis.png" width="350" />
+<img src="ht_pc.png" width="200" /><img src="ht_pc_menu1.png" width="200"/><img src="ht_pc_menu2.png" width="200"/>
+<img src="PC_vis.png" width="350" />
 
 ## Installation
 
@@ -14,9 +15,9 @@ Blackwood, E., Lo, M., Widge, A. S. (2018). Continuous phase estimation for phas
 
 ### Step 1: Decide which version to use.
 
-* You are on the `master` branch, which uses the Fourier-transform-based [Hilbert transform](https://en.wikipedia.org/wiki/Hilbert_transform) over a sliding window to estimate the analytic signal (from which we derive the phase). We have been testing variants of this algorithm in our lab since mid-2016, and it is now fairly polished, but is somewhat less computationally efficient than the newer version.
+* You are on the `hilbert-transformer` branch, which uses a [Hilbert transformer](https://www.intechopen.com/books/matlab-a-fundamental-tool-for-scientific-computing-and-engineering-applications-volume-1/digital-fir-hilbert-transformers-fundamentals-and-efficient-design-methods) FIR filter instead - actually one of several, depending on the frequency band you are filtering to. This is more efficient than the original (published) algorithm since it doesn't require as much AR model-based prediction nor calculating an FFT on each step. However, it's not as well-tested.
 
-* If you want, you can switch to the `hilbert-transformer` branch, which uses a [Hilbert transformer](https://www.intechopen.com/books/matlab-a-fundamental-tool-for-scientific-computing-and-engineering-applications-volume-1/digital-fir-hilbert-transformers-fundamentals-and-efficient-design-methods) FIR filter instead - actually one of several, depending on the frequency band you are filtering to. This is more efficient since it doesn't require as much AR model-based prediction nor calculating an FFT on each step. However, it's not as well-tested.
+* If you want, you can switch to the `master` branch, which uses the Fourier-transform-based [Hilbert transform](https://en.wikipedia.org/wiki/Hilbert_transform) over a sliding window to estimate the analytic signal (from which we derive the phase). We have been testing variants of this algorithm in our lab since mid-2016, and it is now fairly polished, but is somewhat less computationally efficient than the newer version.
 
 * Alternatively, you can use the `tnel-development` (old algorithm) or `hilbert-transformer` (new algorithm) branch of [tne-lab/plugin-GUI](https://github.com/tne-lab/plugin-GUI/tree/tnel-development), which is a fork of the Open Ephys GUI source code with this plugin and some other useful ones already built in. Then you don't even need this repository or the rest of the instructions! (If you're on Linux though, you'll still have to install FFTW as described below.) Beware though, these are development branches and will be more unstable than `open-ephys/plugin-GUI/master`.
 
@@ -55,9 +56,9 @@ Blackwood, E., Lo, M., Widge, A. S. (2018). Continuous phase estimation for phas
 
 * ***Important!*** Since the phase estimation algorithm is somewhat processor-intensive, by default all input channels are disabled. To enable the channels you would like to estimate the phase (or other component) of, select them in the "PARAM" section of the drawer. If "PH+MAG" is selcected as the output, this will also create the additional magnitude outputs for each selected input.
 
-* Use "Low cut" and "High cut" to select the desired frequency passband. (Inputs should be unfiltered; the Phase Calculator uses its own bandpass filter.)
+* In the "freq range" dropdown menu, choose a range of frequencies that includes the band you want to filter to. This determines which of the pre-designed Hilbert transformer filters is used internally (since if we tried to use one filter for all frequencies, it would end up with terrible performance everywhere). Note that the delta band is just too low to get a reasonably accurate phase estimate, even when downsampling to 500 Hz as this plugin does (before interpolating the output).
 
-* The "Buffer length," "Past," and "Future" settings control the size and contents of the "Hilbert buffer" that is passed through the Hilbert transform to get the analytic (complex) signal for each channel. The "Past" length is the number of received samples to include on each iteration, including the current "processing buffer" (buffer of new data, whose size can be changed in the Audio Settings). The "Future" length is the number of samples of band-limited signal predicted using an autoregressive model to include. (See Blackwood, Lo & Widge, 2018 (once published) for more explanation of the algorithm.) The defaults are reasonable for a 4-8 Hz passband with a short processing buffer size. A longer buffer length generally increases the estimation accuracy at the cost of greater processing time. Also, one should optimally center the last (current) processing buffer of "past" data within the Hilbert buffer by setting "Future" to half of "Buffer Length" minus half of the processing buffer size. This ensures the maximal accuracy of the region of the Hilbert output corresponding to the current buffer.
+* Use "Low cut" and "High cut" to select the desired frequency passband. (Inputs should be unfiltered; the Phase Calculator uses its own bandpass filter internally.) Changing the frequency range will automatically set a default high and low cut, but they can be changed to filter to any band within the range.
 
 * "AR Refresh" and "Order" control the autoregressive model used to predict the "future" portion of the Hilbert buffer. AR parameters are estimated using Burg's method. The default settings seem to work well, but other settings (particularly lower orders) may also work well.
 
diff --git a/Source/ARModeler.h b/Source/ARModeler.h
index a82e520..357c3c1 100644
--- a/Source/ARModeler.h
+++ b/Source/ARModeler.h
@@ -24,14 +24,9 @@
 
 class ARModeler {
 public:
-    ARModeler() : arOrder(1), inputLength(2)
+    ARModeler(int order = 1, int length = 2, int strideIn = 1, bool* success = nullptr)
     {
-        reallocateStorage();
-    }
-
-    ARModeler(int order, int length, bool* success = nullptr) : ARModeler()
-    {
-        bool s = setParams(order, length);
+        bool s = setParams(order, length, strideIn);
         if (success != nullptr)
         {
             *success = s;
@@ -41,15 +36,18 @@ class ARModeler {
     ~ARModeler() { }
 
     // returns true if successful.
-    bool setParams(int order, int length)
+    bool setParams(int order, int length, int strideIn)
     {
-        if (order < 1 || order >= length)
+        int newStridedLength = calcStridedLength(length, strideIn);
+        if (order < 1 || newStridedLength < order + 1)
         {
             jassertfalse;
             return false;
         }
         arOrder = order;
         inputLength = length;
+        stride = strideIn;
+        stridedLength = newStridedLength;
         reallocateStorage();
         return true;
     }
@@ -76,12 +74,12 @@ class ARModeler {
             double sn = 0.0;
             double sd = 0.0;
             int j;
-            int jj = inputLength - n;
+            int jj = stridedLength - n;
 
             for (j = 0; j < jj; j++)
             {
-                t1 = inputseries[j + n] + pef[j];
-                t2 = inputseries[j] + per[j];
+                t1 = inputseries[stride * (j + n)] + pef[j];
+                t2 = inputseries[stride * j] + per[j];
                 sn -= 2.0 * t1 * t2;
                 sd += (t1 * t1) + (t2 * t2);
             }
@@ -99,8 +97,8 @@ class ARModeler {
 
             for (j = 0; j < jj; j++)
             {
-                per[j] = per[j] + t1 * pef[j] + t1 * inputseries[j + n];
-                pef[j] = pef[j + 1] + t1 * per[j + 1] + t1 * inputseries[j + 1];
+                per[j] = per[j] + t1 * pef[j] + t1 * inputseries[stride * (j + n)];
+                pef[j] = pef[j + 1] + t1 * per[j + 1] + t1 * inputseries[stride * (j + 1)];
             }
         }
     }
@@ -116,13 +114,21 @@ class ARModeler {
     void resetPredictionError()
     {
         j_per.clearQuick();
-        j_per.insertMultiple(0, 0, inputLength);
+        j_per.insertMultiple(0, 0, stridedLength);
         j_pef.clearQuick();
-        j_pef.insertMultiple(0, 0, inputLength);
+        j_pef.insertMultiple(0, 0, stridedLength);
+    }
+
+    static int calcStridedLength(int inputLength, int stride)
+    {
+        jassert(stride > 0);
+        return (inputLength + (stride - 1)) / stride;
     }
 
     int arOrder;
     int inputLength;
+    int stridedLength;
+    int stride;
     Array<double> j_per;
     Array<double> j_pef;
     Array<double> j_h;
diff --git a/Source/HTransformers.cpp b/Source/HTransformers.cpp
new file mode 100644
index 0000000..457ed7d
--- /dev/null
+++ b/Source/HTransformers.cpp
@@ -0,0 +1,155 @@
+/*
+------------------------------------------------------------------
+
+This file is part of a plugin for the Open Ephys GUI
+Copyright (C) 2018 Translational NeuroEngineering Lab
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "HTransformers.h"
+
+namespace Hilbert
+{
+    namespace
+    {
+        const Array<float> HIGH_GAM_VALID({ 60, 200 });
+        const Array<float> HIGH_GAM_DEFAULT({ 70, 150 });
+        const Array<float> HIGH_GAM_EXTREMA({ 81.6443, 123.1104, 169.3574 });
+        const int HIGH_GAM_DELAY = 3;
+        // from Matlab: firls(6, [60 200]/250, [1 1], 'hilbert')
+        const double HIGH_GAM_TRANSFORMER[HIGH_GAM_DELAY] = {
+            -0.10383410506573287,
+            0.0040553935691102303,
+            -0.59258484603659545
+        };
+
+        const Array<float> MID_GAM_VALID({ 40, 90 });
+        const Array<float> MID_GAM_DEFAULT({ 40, 90 });
+        const Array<float> MID_GAM_EXTREMA({ 64.4559 });
+        const int MID_GAM_DELAY = 2;
+        // from Matlab: firls(4, [35 90]/250, [1 1], 'hilbert')
+        const double MID_GAM_TRANSFORMER[MID_GAM_DELAY] = {
+            -0.487176162115735,
+            -0.069437334858668653
+        };
+
+        const Array<float> LOW_GAM_VALID({ 30, 55 });
+        const Array<float> LOW_GAM_DEFAULT({ 30, 55 });
+        const Array<float> LOW_GAM_EXTREMA({ 43.3609 });
+        const int LOW_GAM_DELAY = 2;
+        // from Matlab: firls(4, [30 55]/250, [1 1], 'hilbert')
+        const double LOW_GAM_TRANSFORMER[LOW_GAM_DELAY] = {
+            -1.5933788446351915,
+            1.7241339075391682
+        };
+
+        const Array<float> BETA_VALID({ 10, 40 });
+        const Array<float> BETA_DEFAULT({ 12, 30 });
+        const Array<float> BETA_EXTREMA({ 21.5848 });
+        const int BETA_DELAY = 9;
+        // from Matlab: firpm(18, [12 30 40 240]/250, [1 1 0.7 0.7], 'hilbert')
+        const double BETA_TRANSFORMER[BETA_DELAY] = {
+            -0.099949575596234311,
+            -0.020761484963254036,
+            -0.080803573080958854,
+            -0.027365064225587619,
+            -0.11114477443975329,
+            -0.025834076852645271,
+            -0.16664116044989324,
+            -0.015661948619847599,
+            -0.45268524264113719
+        };
+
+        const Array<float> ALPHA_THETA_VALID({ 4, 18 });
+        const Array<float> ALPHA_THETA_DEFAULT({ 4, 8 });
+        const Array<float> ALPHA_THETA_EXTREMA({ /* none */ });
+        const int ALPHA_THETA_DELAY = 9;
+        // from Matlab: firpm(18, [4 246]/250, [1 1], 'hilbert')
+        const double ALPHA_THETA_TRANSFORMER[ALPHA_THETA_DELAY] = {
+            -0.28757250783614413,
+            0.000027647225074994485,
+            -0.094611325643268351,
+            -0.00025887439499763831,
+            -0.129436276914844,
+            -0.0001608427426424053,
+            -0.21315096860055227,
+            -0.00055322197399797961,
+            -0.63685698210351149
+        };
+
+        const String C_GAMMA{ L"\u03b3" };
+        const String C_BETA{ L"\u03b2" };
+        const String C_ALPHA_THETA{ L"\u03b1/\u03b8" };
+    }
+
+    String validBandToString(const Array<float>& band)
+    {
+        jassert(band.size() == 2);
+        return " (" + String(band[0]) + "-" + String(band[1]) + " Hz)";
+    }
+    
+    // exported constants
+
+    extern const std::map<int, String> BAND_NAME = {
+        { HIGH_GAM, "Hi "  + C_GAMMA       + validBandToString(HIGH_GAM_VALID)    },
+        { MID_GAM,  "Mid " + C_GAMMA       + validBandToString(MID_GAM_VALID)     },
+        { LOW_GAM,  "Lo "  + C_GAMMA       + validBandToString(LOW_GAM_VALID)     },
+        { BETA,              C_BETA        + validBandToString(BETA_VALID)        },
+        { ALPHA_THETA,       C_ALPHA_THETA + validBandToString(ALPHA_THETA_VALID) }
+    };
+
+    extern const std::map<int, Array<float>> VALID_BAND = {
+        { HIGH_GAM,    HIGH_GAM_VALID    },
+        { MID_GAM,     MID_GAM_VALID     },
+        { LOW_GAM,     LOW_GAM_VALID     },
+        { BETA,        BETA_VALID        },
+        { ALPHA_THETA, ALPHA_THETA_VALID }
+    };
+
+    extern const std::map<int, Array<float>> DEFAULT_BAND = {
+        { HIGH_GAM,    HIGH_GAM_DEFAULT    },
+        { MID_GAM,     MID_GAM_DEFAULT     },
+        { LOW_GAM,     LOW_GAM_DEFAULT     },
+        { BETA,        BETA_DEFAULT        },
+        { ALPHA_THETA, ALPHA_THETA_DEFAULT }
+    };
+
+    extern const std::map<int, Array<float>> EXTREMA = {
+        { HIGH_GAM,    HIGH_GAM_EXTREMA    },
+        { MID_GAM,     MID_GAM_EXTREMA     },
+        { LOW_GAM,     LOW_GAM_EXTREMA     },
+        { BETA,        BETA_EXTREMA        },
+        { ALPHA_THETA, ALPHA_THETA_EXTREMA }
+    };
+
+    extern const std::map<int, int> DELAY = {
+        { HIGH_GAM,    HIGH_GAM_DELAY    },
+        { MID_GAM,     MID_GAM_DELAY     },
+        { LOW_GAM,     LOW_GAM_DELAY     },
+        { BETA,        BETA_DELAY        },
+        { ALPHA_THETA, ALPHA_THETA_DELAY }
+    };
+
+    extern const std::map<int, const double*> TRANSFORMER = {
+        { HIGH_GAM,    HIGH_GAM_TRANSFORMER    },
+        { MID_GAM,     MID_GAM_TRANSFORMER     },
+        { LOW_GAM,     LOW_GAM_TRANSFORMER     },
+        { BETA,        BETA_TRANSFORMER        },
+        { ALPHA_THETA, ALPHA_THETA_TRANSFORMER }
+    };
+}
\ No newline at end of file
diff --git a/Source/HTransformers.h b/Source/HTransformers.h
new file mode 100644
index 0000000..11e84f2
--- /dev/null
+++ b/Source/HTransformers.h
@@ -0,0 +1,78 @@
+/*
+------------------------------------------------------------------
+
+This file is part of a plugin for the Open Ephys GUI
+Copyright (C) 2018 Translational NeuroEngineering Lab
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#ifndef H_TRANSFORMERS_H_INCLUDED
+#define H_TRANSFORMERS_H_INCLUDED
+
+#include <map>
+
+#include "../../../JuceLibraryCode/JuceHeader.h"
+
+/*
+
+Defines the Hilbert transformers appropriate to use for each frequency band.
+(The actual coeficcients and other values are in the corresponding cpp file.)
+- BAND_NAME:    display name for each frequency band.
+- VALID_BAND:   range of frequencies appropriate to use with each transformer
+- DEFAULT_BAND: band filled in by default when selecting each transformer
+- EXTREMA:      locations of local extrema of the magnitude response within VALID_BAND (if any).
+-               used to find the maximum and minimum response given a band of interest.
+- DELAY:        group delay of the transformer = # of samples to predict
+                also, the number of unique nonzero coefficients.
+- TRANSFORMER:  first DELAY coefficients for each filter.
+                the remaining DELAY+1 are 0, followed by the leading coefficients
+                again, negated and in reverse order.
+*/
+
+enum Band
+{
+    ALPHA_THETA = 0,
+    BETA,
+    LOW_GAM,
+    MID_GAM,
+    HIGH_GAM,
+    NUM_BANDS
+};
+
+namespace Hilbert
+{
+    const int FS = 500;
+
+    extern const std::map<int, String> BAND_NAME;
+
+    // each is a pair (lower limit, upper limit)
+    extern const std::map<int, Array<float>> VALID_BAND;
+
+    // each is a pair (low cut, high cut)
+    extern const std::map<int, Array<float>> DEFAULT_BAND;
+
+    extern const std::map<int, Array<float>> EXTREMA;
+
+    // samples of group delay (= order of filter / 2)
+    extern const std::map<int, int> DELAY;
+    
+    // contain the first delay[band] coefficients; the rest are redundant and can be inferred
+    extern const std::map<int, const double*> TRANSFORMER;
+}
+
+#endif // H_TRANSFORMERS_H_INCLUDED
\ No newline at end of file
diff --git a/Source/PhaseCalculator.cpp b/Source/PhaseCalculator.cpp
index 37b68e8..b5f781f 100644
--- a/Source/PhaseCalculator.cpp
+++ b/Source/PhaseCalculator.cpp
@@ -21,6 +21,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 */
 
+#include <cfloat> // DBL_MAX
+#include <cmath>  // sqrt
+
 #include "PhaseCalculator.h"
 #include "PhaseCalculatorEditor.h"
 
@@ -30,12 +33,6 @@ PhaseCalculator::PhaseCalculator()
     : GenericProcessor      ("Phase Calculator")
     , Thread                ("AR Modeler")
     , calcInterval          (50)
-    , lowCut                (4.0)
-    , highCut               (8.0)
-    , minNyquist            (FLT_MAX)
-    , hilbertLength         (16384)
-    , predictionLength      (8132) // = hilbertLength / 2 - (half of 120-sample buffer)
-    , haveSentWarning       (false)
     , outputMode            (PH)
     , visEventChannel       (-1)
     , visContinuousChannel  (-1)
@@ -45,6 +42,7 @@ PhaseCalculator::PhaseCalculator()
 {
     setProcessorType(PROCESSOR_TYPE_FILTER);
     setAROrder(20);
+    setBand(ALPHA_THETA, true);
 }
 
 PhaseCalculator::~PhaseCalculator() {}
@@ -98,18 +96,6 @@ void PhaseCalculator::setParameter(int parameterIndex, float newValue)
     int numInputs = getNumInputs();
 
     switch (parameterIndex) {
-    case HILBERT_LENGTH:
-        setHilbertLength(static_cast<int>(newValue));
-        break;
-
-    case PAST_LENGTH:
-        setPredLength(hilbertLength - static_cast<int>(newValue));
-        break;
-
-    case PRED_LENGTH:
-        setPredLength(static_cast<int>(newValue));
-        break;
-
     case RECALC_INTERVAL:
         calcInterval = static_cast<int>(newValue);
         break;
@@ -118,6 +104,10 @@ void PhaseCalculator::setParameter(int parameterIndex, float newValue)
         setAROrder(static_cast<int>(newValue));
         break;
 
+    case BAND:
+        setBand(static_cast<Band>(static_cast<int>(newValue)));
+        break;
+
     case LOWCUT:
         setLowCut(newValue);
         break;
@@ -175,38 +165,18 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
     {
         int chan = activeInputs[activeChan];
         int nSamples = getNumSamples(chan);
-        if (nSamples == 0)
+        if (nSamples == 0) // nothing to do
         {
             continue;
         }
 
-        // Filter the data.
-        float* wpIn = buffer.getWritePointer(chan);
-        filters[activeChan]->process(nSamples, &wpIn);
+        // filter the data
+        float* const wpIn = buffer.getWritePointer(chan);
+        filters[chan]->process(nSamples, &wpIn);
 
-        // If there are more samples than we have room to process, process the most recent samples and output zero
-        // for the rest (this is an error that should be noticed and fixed).
-        int hilbertPastLength = hilbertLength - predictionLength;
+        // shift old data and copy new data into historyBuffer (as much as can fit)
         int historyStartIndex = jmax(nSamples - historyLength, 0);
-        int outputStartIndex = jmax(nSamples - hilbertPastLength, 0);
-        
-        jassert(outputStartIndex >= historyStartIndex); // since historyLength >= hilbertPastLength
-        
         int nSamplesToEnqueue = nSamples - historyStartIndex;
-        int nSamplesToProcess = nSamples - outputStartIndex;
-
-        if (outputStartIndex != 0)
-        {
-            // clear the extra samples and send a warning message
-            buffer.clear(chan, 0, outputStartIndex);
-            if (!haveSentWarning)
-            {
-                CoreServices::sendStatusMessage("WARNING: Phase Calculator buffer is shorter than the sample buffer!");
-                haveSentWarning = true;
-            }
-        }
-
-        // shift old data and copy new data into historyBuffer
         int nOldSamples = historyLength - nSamplesToEnqueue;
 
         const double* rpBuffer = historyBuffer.getReadPointer(activeChan, nSamplesToEnqueue);
@@ -220,14 +190,14 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
             // shift old data
             for (int i = 0; i < nOldSamples; ++i)
             {
-                *wpBuffer++ = *rpBuffer++;
+                *(wpBuffer++) = *(rpBuffer++);
             }
 
             // copy new data
-            wpIn += historyStartIndex;
+            const float* rpIn = wpIn + historyStartIndex;
             for (int i = 0; i < nSamplesToEnqueue; ++i)
             {
-                *wpBuffer++ = *wpIn++;
+                *(wpBuffer++) = *(rpIn++);
             }
         }
 
@@ -237,22 +207,15 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
             bufferFreeSpace.set(activeChan, newBufferFreeSpace);
             if (newBufferFreeSpace == 0)
             {
-                // now that dataToProcess for this channel is full,
+                // now that the historyBuffer for this channel is full,
                 // let the thread start calculating the AR model.
                 chanState.set(activeChan, FULL_NO_AR);
             }
         }
 
         // calc phase and write out (only if AR model has been calculated)
-        if (chanState[activeChan] == FULL_AR) {
-
-            // copy data to dataToProcess
-            if (hilbertPastLength > 0)
-            {
-                rpBuffer = historyBuffer.getReadPointer(activeChan, historyLength - hilbertPastLength);
-                hilbertBuffer[activeChan]->copyFrom(rpBuffer, hilbertPastLength);
-            }
-
+        if (chanState[activeChan] == FULL_AR) 
+        {
             // read current AR parameters safely
             Array<double> localParams;
             localParams.resize(arOrder);
@@ -266,22 +229,57 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
                     pLocalParam[i] = rpParam[i];
                 }
             }
-            
 
-            // use AR(20) model to predict upcoming data and append to dataToProcess
-            // get beyond end of history buffer indirectly to avoid juce assertion failure
-            rpBuffer = historyBuffer.getReadPointer(activeChan, historyLength - 1) + 1;
-            double* wpHilbert = hilbertBuffer[activeChan]->getRealPointer(hilbertPastLength);
+            // use AR model to fill predSamps (which is downsampled) based on past data.
+            int htDelay = Hilbert::DELAY.at(band);
+            int stride = sampleRateMultiple[chan];
 
-            arPredict(rpBuffer, wpHilbert, predictionLength, pLocalParam, arOrder);
+            rpBuffer = historyBuffer.getReadPointer(activeChan, historyLength - dsOffset[chan]);
+            double* pPredSamps = predSamps.getRawDataPointer();
+            arPredict(rpBuffer, pPredSamps, pLocalParam, htDelay + 1, stride, arOrder);
 
-            // Hilbert-transform hilbertBuffer
-            forwardPlan[activeChan]->execute();
-            hilbertManip(hilbertBuffer[activeChan]);
-            backwardPlan[activeChan]->execute();
+            // identify indices of current buffer to execute HT
+            htInds.clearQuick();
+            for (int i = stride - dsOffset[chan]; i < nSamples; i += stride)
+            {
+                htInds.add(i);
+            }
+
+            int htOutputSamps = htInds.size() + 1;
+            if (htOutput.size() < htOutputSamps)
+            {
+                htOutput.resize(htOutputSamps);
+            }
+
+            // execute tranformer on current buffer
+            int kOut = -htDelay;
+            for (int kIn = 0; kIn < htInds.size(); ++kIn, ++kOut)
+            {
+                double samp = htFilterSamp(wpIn[htInds[kIn]], band, *htState[activeChan]);
+                if (kOut >= 0)
+                {
+                    double rc = wpIn[htInds[kOut]];
+                    double ic = htScaleFactor * samp;
+                    htOutput.set(kOut, std::complex<double>(rc, ic));
+                }
+            }
 
-            // calculate phase and write out to buffer
-            auto rpHilbert = hilbertBuffer[activeChan]->getComplexPointer(hilbertPastLength - nSamplesToProcess);
+            // copy state to transform prediction without changing the end-of-buffer state
+            htTempState = *htState[activeChan];
+            
+            // execute transformer on prediction
+            for (int i = 0; i <= htDelay; ++i, ++kOut)
+            {
+                double samp = htFilterSamp(predSamps[i], band, htTempState);
+                if (kOut >= 0)
+                {
+                    double rc = i == htDelay ? predSamps[0] : wpIn[htInds[kOut]];
+                    double ic = htScaleFactor * samp;
+                    htOutput.set(kOut, std::complex<double>(rc, ic));
+                }
+            }
+
+            // output with upsampling (interpolation)
             float* wpOut = buffer.getWritePointer(chan);
             float* wpOut2;
             if (outputMode == PH_AND_MAG)
@@ -292,39 +290,94 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
                 wpOut2 = buffer.getWritePointer(outChan2);
             }
 
-            for (int i = 0; i < nSamplesToProcess; ++i)
+            kOut = 0;
+            std::complex<double> prevCS = lastComputedSample[activeChan];
+            std::complex<double> nextCS = htOutput[kOut];
+            double prevPhase, nextPhase, phaseSpan, thisPhase;
+            double prevMag, nextMag, magSpan, thisMag;
+            bool needPhase = outputMode != MAG;
+            bool needMag = outputMode != PH;
+
+            if (needPhase)
             {
+                prevPhase = std::arg(prevCS);
+                nextPhase = std::arg(nextCS);
+                phaseSpan = circDist(nextPhase, prevPhase, Dsp::doublePi);
+            }
+            if (needMag)
+            {
+                prevMag = std::abs(prevCS);
+                nextMag = std::abs(nextCS);
+                magSpan = nextMag - prevMag;
+            }
+            int subSample = dsOffset[chan] % stride;
+
+            for (int i = 0; i < nSamples; ++i, subSample = (subSample + 1) % stride)
+            {
+                if (subSample == 0)
+                {
+                    // update interpolation frame
+                    prevCS = nextCS;
+                    nextCS = htOutput[++kOut];
+                    
+                    if (needPhase)
+                    {
+                        prevPhase = nextPhase;
+                        nextPhase = std::arg(nextCS);
+                        phaseSpan = circDist(nextPhase, prevPhase, Dsp::doublePi);
+                    }
+                    if (needMag)
+                    {
+                        prevMag = nextMag;
+                        nextMag = std::abs(nextCS);
+                        magSpan = nextMag - prevMag;
+                    }
+                }
+
+                if (needPhase)
+                {
+                    thisPhase = prevPhase + phaseSpan * subSample / stride;
+                    thisPhase = circDist(thisPhase, 0, Dsp::doublePi);
+                }
+                if (needMag)
+                {
+                    thisMag = prevMag + magSpan * subSample / stride;
+                }
+
                 switch (outputMode)
                 {
                 case MAG:
-                    wpOut[i + outputStartIndex] = static_cast<float>(std::abs(rpHilbert[i]));
+                    wpOut[i] = static_cast<float>(thisMag);
                     break;
-                
+
                 case PH_AND_MAG:
-                    wpOut2[i + outputStartIndex] = static_cast<float>(std::abs(rpHilbert[i]));
+                    wpOut2[i] = static_cast<float>(thisMag);
                     // fall through
                 case PH:
                     // output in degrees
-                    wpOut[i + outputStartIndex] = static_cast<float>(std::arg(rpHilbert[i]) * (180.0 / Dsp::doublePi));
+                    wpOut[i] = static_cast<float>(thisPhase * (180.0 / Dsp::doublePi));
                     break;
-                    
+
                 case IM:
-                    wpOut[i + outputStartIndex] = static_cast<float>(std::imag(rpHilbert[i]));
+                    wpOut[i] = static_cast<float>(thisMag * std::sin(thisPhase));
                     break;
                 }
             }
+            lastComputedSample.set(activeChan, prevCS);
+            dsOffset.set(chan, ((dsOffset[chan] + nSamples - 1) % stride) + 1);
 
             // unwrapping / smoothing
             if (outputMode == PH || outputMode == PH_AND_MAG)
             {
                 unwrapBuffer(wpOut, nSamples, activeChan);
                 smoothBuffer(wpOut, nSamples, activeChan);
+                lastPhase.set(activeChan, wpOut[nSamples - 1]);
             }
         }
         else // fifo not full or AR model not ready
         {
             // just output zeros
-            buffer.clear(chan, outputStartIndex, nSamplesToProcess);
+            buffer.clear(chan, 0, nSamples);
         }
 
         // if this is the monitored channel for events, check whether we can add a new phase
@@ -332,9 +385,6 @@ void PhaseCalculator::process(AudioSampleBuffer& buffer)
         {
             calcVisPhases(getTimestamp(chan) + getNumSamples(chan));
         }
-
-        // keep track of last sample
-        lastSample.set(activeChan, buffer.getSample(chan, nSamples - 1));
     }
 }
 
@@ -360,8 +410,6 @@ bool PhaseCalculator::disable()
 
     signalThreadShouldExit();
 
-    haveSentWarning = false;
-
     // reset states of active inputs
     Array<int> activeInputs = getActiveInputs();
     int nActiveInputs = activeInputs.size();
@@ -369,8 +417,11 @@ bool PhaseCalculator::disable()
     {
         bufferFreeSpace.set(activeChan, historyLength);
         chanState.set(activeChan, NOT_FULL);
-        lastSample.set(activeChan, 0);
-        filters[activeChan]->reset();
+        FloatVectorOperations::clear(htState[activeChan]->begin(), htState[activeChan]->size());
+        lastPhase.set(activeChan, 0);
+        lastComputedSample.set(activeChan, 0);
+        dsOffset.set(activeChan, sampleRateMultiple[activeChan]);
+        filters[activeInputs[activeChan]]->reset();
     }
 
     // clear timestamp and phase queues
@@ -397,7 +448,8 @@ void PhaseCalculator::run()
     Array<double> paramsTemp;
     paramsTemp.resize(arOrder);
 
-    int numActiveChans = getActiveInputs().size();
+    Array<int> activeInputs = getActiveInputs();
+    int numActiveChans = activeInputs.size();
 
     uint32 startTime, endTime;
     while (!threadShouldExit())
@@ -423,7 +475,7 @@ void PhaseCalculator::run()
             // end critical section
 
             // calculate parameters
-            arModeler.fitModel(data, paramsTemp);
+            arModelers[activeInputs[activeChan]]->fitModel(data, paramsTemp);
 
             // write params safely
             {
@@ -450,10 +502,44 @@ void PhaseCalculator::run()
 
 void PhaseCalculator::updateSettings()
 {
-    // handle changed sample rates
-    updateMinNyquist();
+    // update arrays that store one entry per input
+    int numInputs = getNumInputs();
+    int prevNumInputs = filters.size();
+    int numInputsChange = numInputs - prevNumInputs;
+
+    if (numInputsChange > 0)
+    {
+        // (temporary, until validateSampleRate call):
+        sampleRateMultiple.insertMultiple(-1, 1, numInputsChange);
+        dsOffset.insertMultiple(-1, 0, numInputsChange);
+
+        // add new objects at new indices
+        for (int i = prevNumInputs; i < numInputs; i++)
+        {
+            filters.add(new BandpassFilter());
+            // (temporary, until validateSampleRate call)
+            arModelers.add(new ARModeler());
+        }
+    }
+    else if (numInputsChange < 0)
+    {
+        // delete unneeded entries
+        sampleRateMultiple.removeLast(-numInputsChange);
+        dsOffset.removeLast(-numInputsChange);
+        filters.removeLast(-numInputsChange);
+        arModelers.removeLast(-numInputsChange);
+    }
+
+    // set filter parameters (sample rates may have changed)
     setFilterParameters();
 
+    // check whether active channels can be processed
+    Array<int> activeInputs = getActiveInputs();
+    for (int chan : activeInputs)
+    {
+        validateSampleRate(chan);
+    }
+
     // create new data channels if necessary
     updateSubProcessorMap();
     updateExtraChannels();
@@ -550,6 +636,14 @@ void PhaseCalculator::loadCustomChannelParametersFromXml(XmlElement* channelElem
     }
 }
 
+double PhaseCalculator::circDist(double x, double ref, double cutoff)
+{
+    const double TWO_PI = 2 * Dsp::doublePi;
+    double xMod = std::fmod(x - ref, TWO_PI);
+    double xPos = (xMod < 0 ? xMod + TWO_PI : xMod);
+    return (xPos > cutoff ? xPos - TWO_PI : xPos);
+}
+
 // ------------ PRIVATE METHODS ---------------
 
 void PhaseCalculator::handleEvent(const EventChannel* eventInfo,
@@ -573,66 +667,91 @@ void PhaseCalculator::handleEvent(const EventChannel* eventInfo,
     }
 }
 
-void PhaseCalculator::setHilbertLength(int newHilbertLength)
+void PhaseCalculator::setAROrder(int newOrder)
 {
-    if (newHilbertLength == hilbertLength) { return; }
-
-    float predLengthRatio = static_cast<float>(predictionLength) / hilbertLength;
-    hilbertLength = newHilbertLength;
-
-    static_cast<PhaseCalculatorEditor*>(getEditor())->refreshHilbertLength();
+    if (newOrder == arOrder) { return; }
 
-    // update dependent variables    
-    int newPredLength = static_cast<int>(roundf(predLengthRatio * hilbertLength));
-    setPredLength(newPredLength);
+    arOrder = newOrder;
+    updateHistoryLength();
 
     // update dependent per-channel objects
-    for (int i = 0; i < numActiveChansAllocated; i++)
+    int numInputs = getNumInputs();
+    for (int chan = 0; chan < numInputs; ++chan)
     {
-        // processing buffers
-        hilbertBuffer[i]->resize(hilbertLength);
+        bool s = arModelers[chan]->setParams(arOrder, historyLength, sampleRateMultiple[chan]);
+        jassert(s);
+    }
 
-        // FFT plans
-        forwardPlan.set(i, new FFTWPlan(hilbertLength, hilbertBuffer[i], FFTW_MEASURE));
-        backwardPlan.set(i, new FFTWPlan(hilbertLength, hilbertBuffer[i], FFTW_BACKWARD, FFTW_MEASURE));
+    for (int i = 0; i < numActiveChansAllocated; i++)
+    {
+        arParams[i]->resize(arOrder);
     }
 }
 
-void PhaseCalculator::setPredLength(int newPredLength)
+void PhaseCalculator::setBand(Band newBand, bool force)
 {
-    if (newPredLength == predictionLength) { return; }
+    if (!force && newBand == band) { return; }
+    if (newBand < 0 || newBand >= NUM_BANDS)
+    {
+        jassertfalse;
+        return;
+    }
+
+    band = newBand;
 
-    predictionLength = newPredLength;
-    static_cast<PhaseCalculatorEditor*>(getEditor())->refreshPredLength();
+    // set low and high cut to the defaults for this band, making sure to notify the editor
+    resetCutsToDefaults();
+
+    // resize htState for each active channel, htTempState, and predSamps
+    int delay = Hilbert::DELAY.at(band);
+    for (int i = 0; i < numActiveChansAllocated; ++i)
+    {
+        htState[i]->resize(delay * 2 + 1);
+    }
+    htTempState.resize(delay * 2 + 1);
+    predSamps.resize(delay + 1);
 }
 
-void PhaseCalculator::setAROrder(int newOrder)
+void PhaseCalculator::resetCutsToDefaults()
 {
-    if (newOrder == arOrder) { return; }
-    
-    arOrder = newOrder;
-    updateHistoryLength();
-    bool s = arModeler.setParams(arOrder, historyLength);
-    jassert(s);
+    auto& defaultBand = Hilbert::DEFAULT_BAND.at(band);
+    lowCut = defaultBand[0];
+    highCut = defaultBand[1];
 
-    // update dependent per-channel objects
-    for (int i = 0; i < numActiveChansAllocated; i++)
+    updateScaleFactor();
+    setFilterParameters();
+
+    auto editor = static_cast<PhaseCalculatorEditor*>(getEditor());
+    if (editor)
     {
-        arParams[i]->resize(arOrder);
+        editor->refreshLowCut();
+        editor->refreshHighCut();
     }
 }
 
 void PhaseCalculator::setLowCut(float newLowCut)
 {
     if (newLowCut == lowCut) { return; }
+    
+    auto editor = static_cast<PhaseCalculatorEditor*>(getEditor());
+    const Array<float>& validBand = Hilbert::VALID_BAND.at(band);
 
+    if (newLowCut < validBand[0] || newLowCut >= validBand[1])
+    {
+        // invalid; don't set parameter and reset editor
+        editor->refreshLowCut();
+        CoreServices::sendStatusMessage("Low cut outside valid band of selected filter.");
+        return;
+    }
+        
     lowCut = newLowCut;
     if (lowCut >= highCut)
     {
         // push highCut up
-        highCut = lowCut + PASSBAND_EPS;
-        static_cast<PhaseCalculatorEditor*>(getEditor())->refreshHighCut();
+        highCut = jmin(lowCut + PASSBAND_EPS, validBand[1]);
+        editor->refreshHighCut();
     }
+    updateScaleFactor();
     setFilterParameters();
 }
 
@@ -640,13 +759,25 @@ void PhaseCalculator::setHighCut(float newHighCut)
 {
     if (newHighCut == highCut) { return; }
 
+    auto editor = static_cast<PhaseCalculatorEditor*>(getEditor());
+    const Array<float>& validBand = Hilbert::VALID_BAND.at(band);
+
+    if (newHighCut <= validBand[0] || newHighCut > validBand[1])
+    {
+        // invalid; don't set parameter and reset editor
+        editor->refreshHighCut();
+        CoreServices::sendStatusMessage("High cut outside valid band of selected filter.");
+        return;
+    }
+
     highCut = newHighCut;
     if (highCut <= lowCut)
     {
         // push lowCut down
-        lowCut = highCut - PASSBAND_EPS;
-        static_cast<PhaseCalculatorEditor*>(getEditor())->refreshLowCut();
+        lowCut = jmax(highCut - PASSBAND_EPS, validBand[0]);
+        editor->refreshLowCut();
     }
+    updateScaleFactor();
     setFilterParameters();
 }
 
@@ -654,9 +785,8 @@ void PhaseCalculator::setVisContChan(int newChan)
 {
     if (newChan >= 0)
     {
-        Array<int> activeInputs = getActiveInputs();
-        int visActiveChan = activeInputs.indexOf(newChan);
-        jassert(visActiveChan >= 0 && visActiveChan < filters.size());
+        jassert(newChan < filters.size());
+        jassert(getActiveInputs().indexOf(newChan) != -1);
 
         // disable event receival temporarily so we can flush the buffer
         int tempVisEventChan = visEventChannel;
@@ -669,7 +799,7 @@ void PhaseCalculator::setVisContChan(int newChan)
         }
 
         // update filter settings
-        visReverseFilter.setParams(filters[visActiveChan]->getParams());
+        visReverseFilter.setParams(filters[newChan]->getParams());
         visEventChannel = tempVisEventChan;
     }
     visContinuousChannel = newChan;
@@ -684,13 +814,19 @@ void PhaseCalculator::setVisContChan(int newChan)
 
 void PhaseCalculator::updateHistoryLength()
 {
-    jassert(VIS_HILBERT_LENGTH >= (1 << MAX_HILB_LEN_POW));
-    int newHistoryLength = juce::jmax(
-        VIS_HILBERT_LENGTH,   // must have enough samples for current and delayed Hilbert transforms
-        arOrder + 1);         // must be longer than arOrder to train the AR model
+    Array<int> activeInputs = getActiveInputs();
+
+    // minimum - must have enough samples to do a Hilbert transform on past values for visualization
+    int newHistoryLength = VIS_HILBERT_LENGTH;
+    for (int chan : activeInputs)
+    {
+        newHistoryLength = jmax(newHistoryLength,
+            arOrder * sampleRateMultiple[chan] + 1,  // minimum to train AR model
+            Hilbert::FS * sampleRateMultiple[chan]); // use @ least 1 second to train model
+    }
 
     if (newHistoryLength == historyLength) { return; }
-    
+
     historyLength = newHistoryLength;
 
     // update things that depend on historyLength
@@ -701,54 +837,34 @@ void PhaseCalculator::updateHistoryLength()
         bufferFreeSpace.set(i, historyLength);
     }
 
-    bool s = arModeler.setParams(arOrder, historyLength);
-    jassert(s);
-}
-
-void PhaseCalculator::updateMinNyquist()
-{
-    float currMinNyquist = FLT_MAX;
-
-    auto ed = static_cast<PhaseCalculatorEditor*>(getEditor());
-    int nInputs = getNumInputs();
-    Array<int> activeInputs = getActiveInputs();
     for (int chan : activeInputs)
     {
-        float sampleRate = getDataChannel(chan)->getSampleRate();
-        currMinNyquist = jmin(currMinNyquist, sampleRate / 2);
+        bool success = arModelers[chan]->setParams(arOrder, historyLength, sampleRateMultiple[chan]);
+        jassert(success);
     }
+}
 
-    minNyquist = currMinNyquist;
-    if (highCut > minNyquist)
-    {
-        // push down highCut to make it valid
-        CoreServices::sendStatusMessage("Lowering Phase Calculator upper passband limit to the Nyquist frequency (" +
-            String(minNyquist) + " Hz)");
-        setHighCut(minNyquist);
-        ed->refreshHighCut();
-    }
+void PhaseCalculator::updateScaleFactor()
+{
+    htScaleFactor = getScaleFactor(band, lowCut, highCut);
 }
 
 void PhaseCalculator::setFilterParameters()
 {
-    Array<int> activeInputs = getActiveInputs();
-    int nActiveInputs = activeInputs.size();
-
+    int numInputs = getNumInputs();
+    jassert(filters.size() == numInputs);
     double currLowCut = lowCut, currHighCut = highCut;
     jassert(currLowCut >= 0 && currLowCut < currHighCut);
 
-    for (int activeChan = 0; activeChan < nActiveInputs; ++activeChan)
+    for (int chan = 0; chan < numInputs; ++chan)
     {
-        jassert(activeChan < filters.size());
-        int chan = activeInputs[activeChan];
-
         Dsp::Params params;
         params[0] = getDataChannel(chan)->getSampleRate();  // sample rate
         params[1] = 2;                                      // order
         params[2] = (currHighCut + currLowCut) / 2;         // center frequency
         params[3] = currHighCut - currLowCut;               // bandwidth
 
-        filters[activeChan]->setParams(params);
+        filters[chan]->setParams(params);
     }
 }
 
@@ -761,24 +877,51 @@ void PhaseCalculator::addActiveChannel()
     // simple arrays
     bufferFreeSpace.add(historyLength);
     chanState.add(NOT_FULL);
-    lastSample.add(0);
+    lastPhase.add(0);
+    lastComputedSample.add(0);
 
     // owned arrays
-    hilbertBuffer.add(new FFTWArray(hilbertLength));
-    forwardPlan.add(new FFTWPlan(hilbertLength, hilbertBuffer.getLast(), FFTW_MEASURE));
-    backwardPlan.add(new FFTWPlan(hilbertLength, hilbertBuffer.getLast(), FFTW_BACKWARD, FFTW_MEASURE));
     historyLock.add(new CriticalSection());
     arParamLock.add(new CriticalSection());
     arParams.add(new Array<double>());
     arParams.getLast()->resize(arOrder);
-    filters.add(new BandpassFilter());
+    htState.add(new Array<double>());
+    htState.getLast()->resize(Hilbert::DELAY.at(band) * 2 + 1);
+}
+
+bool PhaseCalculator::validateSampleRate(int chan)
+{
+    auto e = getEditor();
+    bool p, r, a;
+    e->getChannelSelectionState(chan, &p, &r, &a);
+    if (!p) { return false; }
+
+    // test whether sample rate is a multiple of HT_FS
+    float fsMult = getDataChannel(chan)->getSampleRate() / Hilbert::FS;
+    float fsMultRound = std::round(fsMult);
+    if (std::abs(fsMult - fsMultRound) < FLT_EPSILON)
+    {
+        // leave selected
+        int fsMultInt = static_cast<int>(fsMultRound);
+        sampleRateMultiple.set(chan, fsMultInt);
+        dsOffset.set(chan, fsMultInt);
+        bool s = arModelers[chan]->setParams(arOrder, historyLength, fsMultInt);
+        jassert(s);
+        return true;
+    }
+
+    // deselect and send warning
+    deselectChannel(chan);
+    CoreServices::sendStatusMessage("Channel " + String(chan + 1) + " was deselected because" +
+        " its sample rate is not a multiple of " + String(Hilbert::FS));
+    return false;
 }
 
 void PhaseCalculator::unwrapBuffer(float* wp, int nSamples, int activeChan)
 {
     for (int startInd = 0; startInd < nSamples - 1; startInd++)
     {
-        float diff = wp[startInd] - (startInd == 0 ? lastSample[activeChan] : wp[startInd - 1]);
+        float diff = wp[startInd] - (startInd == 0 ? lastPhase[activeChan] : wp[startInd - 1]);
         if (abs(diff) > 180)
         {
             // search forward for a jump in the opposite direction
@@ -824,20 +967,20 @@ void PhaseCalculator::unwrapBuffer(float* wp, int nSamples, int activeChan)
 void PhaseCalculator::smoothBuffer(float* wp, int nSamples, int activeChan)
 {
     int actualGL = jmin(GLITCH_LIMIT, nSamples - 1);
-    float diff = wp[0] - lastSample[activeChan];
+    float diff = wp[0] - lastPhase[activeChan];
     if (diff < 0 && diff > -180)
     {
         // identify whether signal exceeds last sample of the previous buffer within glitchLimit samples.
         int endIndex = -1;
         for (int i = 1; i <= actualGL; i++)
         {
-            if (wp[i] > lastSample[activeChan])
+            if (wp[i] > lastPhase[activeChan])
             {
                 endIndex = i;
                 break;
             }
             // corner case where signal wraps before it exceeds lastSample
-            else if (wp[i] - wp[i - 1] < -180 && (wp[i] + 360) > lastSample[activeChan])
+            else if (wp[i] - wp[i - 1] < -180 && (wp[i] + 360) > lastPhase[activeChan])
             {
                 wp[i] += 360;
                 endIndex = i;
@@ -848,10 +991,10 @@ void PhaseCalculator::smoothBuffer(float* wp, int nSamples, int activeChan)
         if (endIndex != -1)
         {
             // interpolate points from buffer start to endIndex
-            float slope = (wp[endIndex] - lastSample[activeChan]) / (endIndex + 1);
+            float slope = (wp[endIndex] - lastPhase[activeChan]) / (endIndex + 1);
             for (int i = 0; i < endIndex; i++)
             {
-                wp[i] = lastSample[activeChan] + (i + 1) * slope;
+                wp[i] = lastPhase[activeChan] + (i + 1) * slope;
             }
         }
     }
@@ -878,7 +1021,7 @@ void PhaseCalculator::updateSubProcessorMap()
         uint16 subProcessorIdx = chanInfo->getSubProcessorIdx();
         int procFullId = static_cast<int>(getProcessorFullId(sourceNodeId, subProcessorIdx));
         foundFullIds.add(procFullId);
-        
+
         if (subProcessorMap.contains(procFullId))
         {
             maxUsedIdx = jmax(maxUsedIdx, subProcessorMap[subProcessorIdx]);
@@ -1040,16 +1183,18 @@ void PhaseCalculator::calcVisPhases(juce::int64 sdbEndTs)
     }
 }
 
-void PhaseCalculator::arPredict(const double* readEnd, double* writeStart, int writeNum, const double* params, int order)
+void PhaseCalculator::arPredict(const double* lastSample, double* prediction,
+    const double* params, int samps, int stride, int order)
 {
-    for (int s = 0; s < writeNum; ++s)
+    for (int s = 0; s < samps; ++s)
     {
         // s = index to write output
-        writeStart[s] = 0;
+        prediction[s] = 0;
         for (int ind = s - 1; ind > s - 1 - order; --ind)
         {
             // ind = index of previous output to read
-            writeStart[s] -= params[s - 1 - ind] * (ind < 0 ? readEnd[ind] : writeStart[ind]);
+            prediction[s] -= params[s - 1 - ind] *
+                (ind < 0 ? lastSample[(ind + 1) * stride] : prediction[ind]);
         }
     }
 }
@@ -1071,7 +1216,7 @@ void PhaseCalculator::hilbertManip(FFTWArray* fftData)
 
     // normalize and double positive frequencies
     FloatVectorOperations::multiply(reinterpret_cast<double*>(wp + 1), 2.0 / n, numPosNegFreqDoubles);
-    
+
     if (hasNyquist)
     {
         // normalize but don't double Nyquist frequency
@@ -1081,3 +1226,72 @@ void PhaseCalculator::hilbertManip(FFTWArray* fftData)
     // set negative frequencies to 0
     FloatVectorOperations::clear(reinterpret_cast<double*>(wp + firstNegFreq), numPosNegFreqDoubles);
 }
+
+double PhaseCalculator::getScaleFactor(Band band, double lowCut, double highCut)
+{
+    double maxResponse = -DBL_MAX;
+    double minResponse = DBL_MAX;
+
+    Array<double> testFreqs({ lowCut, highCut });
+    // also look at any magnitude response extrema that fall within the selected band
+    for (double freq : Hilbert::EXTREMA.at(band))
+    {
+        if (freq > lowCut && freq < highCut)
+        {
+            testFreqs.add(freq);
+        }
+    }
+
+    // at each frequency, calculate the filter response
+    int nCoefs = Hilbert::DELAY.at(band);
+    for (double freq : testFreqs)
+    {
+        double normFreq = freq * Dsp::doublePi / (Hilbert::FS / 2);
+        std::complex<double> response = 0;
+
+        auto* transf = Hilbert::TRANSFORMER.at(band);
+        for (int kCoef = 0; kCoef < nCoefs; ++kCoef)
+        {
+            double coef = transf[kCoef];
+            
+            // near component
+            response += coef * std::polar(1.0, -(kCoef * normFreq));
+
+            // mirrored component
+            // there is no term for -nCoefs because that coefficient is 0.
+            response -= coef * std::polar(1.0, -((2 * nCoefs - kCoef) * normFreq));
+        }
+
+        double absResponse = std::abs(response);
+        maxResponse = jmax(maxResponse, absResponse);
+        minResponse = jmin(minResponse, absResponse);
+    }
+
+    // scale factor is reciprocal of geometric mean of max and min
+    return 1 / std::sqrt(minResponse * maxResponse);
+}
+
+double PhaseCalculator::htFilterSamp(double input, Band band, Array<double>& state)
+{
+    double* state_p = state.getRawDataPointer();
+
+    // initialize new state entry
+    int nCoefs = Hilbert::DELAY.at(band);
+    int order = nCoefs * 2;
+    jassert(order == state.size() - 1);
+    state_p[order] = 0;
+
+    // incorporate new input
+    auto& transf = Hilbert::TRANSFORMER.at(band);
+    for (int kCoef = 0; kCoef < nCoefs; ++kCoef)
+    {
+        double val = input * transf[kCoef];
+        state_p[kCoef] += val;          // near component
+        state_p[order - kCoef] -= val;  // mirrored component
+    }
+
+    // output and shift state
+    double sampOut = state_p[0];
+    memmove(state_p, state_p + 1, order * sizeof(double));
+    return sampOut;
+}
diff --git a/Source/PhaseCalculator.h b/Source/PhaseCalculator.h
index 3768ab9..c1a747d 100644
--- a/Source/PhaseCalculator.h
+++ b/Source/PhaseCalculator.h
@@ -45,17 +45,18 @@ accuracy of phase-locked stimulation in real time.
 #include <ProcessorHeaders.h>
 #include <DspLib/Dsp.h>  // Filtering
 #include <queue>
-#include "FFTWWrapper.h" // Fourier transform
-#include "ARModeler.h"   // Autoregressive modeling
+#include <array>
+
+#include "FFTWWrapper.h"   // Fourier transform
+#include "ARModeler.h"     // Autoregressive modeling
+#include "HTransformers.h" // Hilbert transformers & frequency bands
 
 // parameter indices
 enum Param
 {
-    HILBERT_LENGTH,
-    PAST_LENGTH,
-    PRED_LENGTH,
     RECALC_INTERVAL,
     AR_ORDER,
+    BAND,
     LOWCUT,
     HIGHCUT,
     OUTPUT_MODE,
@@ -82,6 +83,26 @@ enum OutputMode { PH = 1, MAG, PH_AND_MAG, IM };
 class PhaseCalculator : public GenericProcessor, public Thread
 {
     friend class PhaseCalculatorEditor;
+
+    // ------- constants ------------
+
+    // default passband width if pushing lowCut down or highCut up to fix invalid range,
+    // and also the minimum for lowCut.
+    // (meant to be larger than actual minimum floating-point eps)
+    static const float PASSBAND_EPS;
+
+    // priority of the AR model calculating thread (0 = lowest, 10 = highest)
+    static const int AR_PRIORITY = 3;
+
+    // "glitch limit" (how long of a segment is allowed to be unwrapped or smoothed, in samples)
+    static const int GLITCH_LIMIT = 200;
+
+    // process length for real-time visualization ground truth hilbert transform
+    // based on evaluation of phase error compared to offline processing
+    static const int VIS_HILBERT_LENGTH = 65536;
+    static const int VIS_TS_MIN_DELAY = 40000;
+    static const int VIS_TS_MAX_DELAY = 48000;
+
 public:
 
     PhaseCalculator();
@@ -124,6 +145,13 @@ class PhaseCalculator : public GenericProcessor, public Thread
     // for visualizer continuous channel
     void saveCustomChannelParametersToXml(XmlElement* channelElement, int channelNumber, InfoObjectCommon::InfoObjectType channelType) override;
     void loadCustomChannelParametersFromXml(XmlElement* channelElement, InfoObjectCommon::InfoObjectType channelType) override;
+    
+    /*
+     * Circular distance between angles x and ref (in radians). The "cutoff" is the maximum
+     * possible positive output; greater differences will be wrapped to negative angles.
+     * For interpolation, and also RosePlot visualization.
+     */
+    static double circDist(double x, double ref, double cutoff = 2 * Dsp::doublePi);
 
 private:
 
@@ -133,15 +161,15 @@ class PhaseCalculator : public GenericProcessor, public Thread
     void handleEvent(const EventChannel* eventInfo, const MidiMessage& event,
         int samplePosition = 0) override;
 
-    // Sets hilbertLength (which in turn influences predLength and historyLength)
-    void setHilbertLength(int newHilbertLength);
-
-    // Sets predLength (which in turn influences historyLength)
-    void setPredLength(int newPredLength);
-
     // Sets arOrder (which in turn influences historyLength and the arModeler)
     void setAROrder(int newOrder);
 
+    // Sets frequency band (which resets lowCut and highCut to defaults for this band)
+    void setBand(Band newBand, bool force = false);
+
+    // Resets lowCut and highCut to defaults for the current band
+    void resetCutsToDefaults();
+
     // Sets lowCut (which in turn influences highCut)
     void setLowCut(float newLowCut);
 
@@ -155,12 +183,17 @@ class PhaseCalculator : public GenericProcessor, public Thread
     // VIS_HILBERT_LENGTH, hilbertLength, predictionLength, and arOrder).
     void updateHistoryLength();
 
-    // Update minimum Nyquist frequency of active channels based on sample rates
-    void updateMinNyquist();
+    // Update the htScaleFactor depending on the lowCut and highCut of the filter.
+    void updateScaleFactor();
 
     // Update the filters of active channels. From FilterNode code.
     void setFilterParameters();
 
+    // If given input channel has an incompatible sample rate, deselect it (and send a warning).
+    // Otherwise, save the downsampling multiplier and initialize downsampling phase.
+    // Returns the new selection state of the channel.
+    bool validateSampleRate(int chan);
+
     // Allocate memory for a new active input channel
     void addActiveChannel();
 
@@ -195,13 +228,17 @@ class PhaseCalculator : public GenericProcessor, public Thread
 
     /*
      * arPredict: use autoregressive model of order to predict future data.
+     * 
+     * lastSample points to the most recent sample of past data that will be used to
+     * compute phase, and there must be at least stride * (order - 1) samples
+     * preceding it in order to do the AR prediction.
+     * 
      * Input params is an array of coefficients of an AR model of length 'order'.
-     * Writes writeNum future data values starting at location writeStart.
-     * *** assumes there are at least 'order' existing data points *before* readEnd
-     * to use to calculate first 'order' data points. readEnd can equal writeStart.
+     *
+     * Writes samps future data values to prediction.
      */
-    static void arPredict(const double* readEnd, double* writeStart, int writeNum,
-        const double* params, int order);
+    static void arPredict(const double* lastSample, double* prediction,
+        const double* params, int samps, int stride, int order);
 
     /*
      * hilbertManip: Hilbert transforms data in the frequency domain (including normalization by length of data).
@@ -209,15 +246,17 @@ class PhaseCalculator : public GenericProcessor, public Thread
      */
     static void hilbertManip(FFTWArray* fftData);
 
-    // ---- customizable parameters ------
+    // Get the htScaleFactor for the given band's Hilbert transformer,
+    // over the range from lowCut and highCut. This is the reciprocal of the geometric
+    // mean (i.e. mean in decibels) of the maximum and minimum magnitude responses over the range.
+    static double getScaleFactor(Band band, double lowCut, double highCut);
 
-    // number of samples to pass through the Hilbert transform in the main calculation
-    int hilbertLength;
+    // Execute the hilbert transformer on one sample and update the state.
+    static double htFilterSamp(double input, Band band, Array<double>& state);
 
-    // number of future values to predict (0 <= predictionLength <= hilbertLength - AR_ORDER)
-    int predictionLength;
+    // ---- customizable parameters ------
 
-    // size of historyBuffer ( = max(VIS_HILBERT_LENGTH, hilbertLength - predictionLength))
+    // size of historyBuffer ( >= VIS_HILBERT_LENGTH and long enough to train AR model effectively)
     int historyLength;
 
     // time to wait between AR model recalculations in ms
@@ -228,6 +267,9 @@ class PhaseCalculator : public GenericProcessor, public Thread
 
     OutputMode outputMode;
 
+    // frequency band (determines which Hilbert transformer to use)
+    Band band;
+
     // filter passband
     float highCut;
     float lowCut;
@@ -242,9 +284,8 @@ class PhaseCalculator : public GenericProcessor, public Thread
 
     int numActiveChansAllocated = 0;
 
-    // Storage area for filtered data to be read by the main thread to fill hilbertBuffer,
-    // by the side thread to calculate AR model parameters, and by the visualization event
-    // handler to calculate acccurate phases at past event times.
+    // Storage area for filtered data to be used by the side thread to calculate AR model parameters
+    // and by the visualization event handler to calculate acccurate phases at past event times.
     AudioBuffer<double> historyBuffer;
 
     // Keep track of how much of the historyBuffer is empty (per channel)
@@ -253,38 +294,49 @@ class PhaseCalculator : public GenericProcessor, public Thread
     // Keeps track of each channel's state (see enum definition above)
     Array<ChannelState> chanState;
 
-    // Buffers for FFTW processing
-    OwnedArray<FFTWArray> hilbertBuffer;
-
-    // Plans for the FFTW Fourier Transform library
-    OwnedArray<FFTWPlan> forwardPlan;  // FFT
-    OwnedArray<FFTWPlan> backwardPlan; // IFFT
-
     // mutexes for sharedDataBuffer arrays, which are used in the side thread to calculate AR parameters.
     // since the side thread only READS sharedDataBuffer, only needs to be locked in the main thread when it's WRITTEN to.
     OwnedArray<CriticalSection> historyLock;
 
     // for autoregressive parameter calculation
-    ARModeler arModeler;
+    OwnedArray<ARModeler> arModelers;
 
-    // keeps track of each channel's last output sample, to be used for smoothing.
-    Array<float> lastSample;
+    // for active input channels, equals the sample rate divided by HT_FS
+    Array<int> sampleRateMultiple;
 
     // AR model parameters
     OwnedArray<Array<double>> arParams;
     OwnedArray<CriticalSection> arParamLock;
 
-    // so that the warning message only gets sent once per run
-    bool haveSentWarning;
+    // storage area for predicted samples (to compensate for group delay)
+    Array<double> predSamps;
+
+    // state of each hilbert transformer (persistent and temporary)
+    OwnedArray<Array<double>> htState;
+    Array<double> htTempState;
+
+    // store indices of current buffer to feed into transformer
+    Array<int> htInds;
+
+    // store output of hilbert transformer
+    Array<std::complex<double>> htOutput;
+
+    // approximate multiplier for the imaginary component output of the HT (depends on filter band)
+    double htScaleFactor;
+
+    // keep track of each active channel's last non-interpolated ("computed") transformer output
+    // and the number of samples by which this sample precedes the start of the next buffer
+    // (ranges from 1 to sampleRateMultiple).
+    Array<std::complex<double>> lastComputedSample;
+    Array<int> dsOffset;
+
+    // keep track of last phase output, for glitch correction
+    Array<float> lastPhase;
 
     // maps full source subprocessor IDs of incoming streams to indices of
     // corresponding subprocessors created here.
     HashMap<int, uint16> subProcessorMap;
 
-    // for filtering - min Nyquist frequency over active channels
-    // (upper limit for highCut)
-    float minNyquist;
-
     // delayed analysis for visualization
     FFTWArray visHilbertBuffer;
     FFTWPlan  visForwardPlan, visBackwardPlan;
@@ -316,29 +368,6 @@ class PhaseCalculator : public GenericProcessor, public Thread
     OwnedArray<BandpassFilter> filters;
     BandpassFilter visReverseFilter;
 
-    // -------static------------
-
-    // default passband width if pushing lowCut down or highCut up to fix invalid range,
-    // and also the minimum for lowCut.
-    // (meant to be larger than actual minimum floating-point eps)
-    static const float PASSBAND_EPS;
-
-    // priority of the AR model calculating thread (0 = lowest, 10 = highest)
-    static const int AR_PRIORITY = 3;
-
-    // "glitch limit" (how long of a segment is allowed to be unwrapped or smoothed, in samples)
-    static const int GLITCH_LIMIT = 200;
-
-    // process length limits (powers of 2)
-    static const int MIN_HILB_LEN_POW = 9;
-    static const int MAX_HILB_LEN_POW = 16;
-
-    // process length for real-time visualization ground truth hilbert transform
-    // based on evaluation of phase error compared to offline processing
-    static const int VIS_HILBERT_LENGTH = 65536;
-    static const int VIS_TS_MIN_DELAY = 40000;
-    static const int VIS_TS_MAX_DELAY = 48000;
-
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PhaseCalculator);
 };
 
diff --git a/Source/PhaseCalculatorCanvas.cpp b/Source/PhaseCalculatorCanvas.cpp
index 62bf18c..042e5fd 100644
--- a/Source/PhaseCalculatorCanvas.cpp
+++ b/Source/PhaseCalculatorCanvas.cpp
@@ -491,7 +491,7 @@ void RosePlot::setReference(double newReference)
 
 void RosePlot::addAngle(double newAngle)
 {
-    newAngle = circDist(newAngle, 0.0);
+    newAngle = PhaseCalculator::circDist(newAngle, 0.0);
     angleData->insert(newAngle);
     rSum += std::exp(std::complex<double>(0, newAngle));
     repaint();
@@ -517,12 +517,8 @@ double RosePlot::getCircMean(bool usingReference)
     }
 
     double reference = usingReference ? referenceAngle : 0.0;
-    double meanRad = circDist(std::arg(rSum), reference);
-    // change range to [-90, 270), for ease of use
-    if (meanRad >= 3 * PI / 2)
-    {
-        meanRad -= 2 * PI;
-    }
+    // use range of (-90, 270] for ease of use
+    double meanRad = PhaseCalculator::circDist(std::arg(rSum), reference, 3 * PI / 2);
     return meanRad * 180 / PI;
 }
 
@@ -545,12 +541,12 @@ void RosePlot::labelTextChanged(Label* labelThatHasChanged)
         double doubleInput;
         double currReferenceDeg = referenceAngle * 180.0 / PI;
         bool valid = PhaseCalculatorEditor::updateControl(labelThatHasChanged,
-            -DBL_MAX, DBL_MAX, currReferenceDeg, &doubleInput);
+            -DBL_MAX, DBL_MAX, currReferenceDeg, doubleInput);
 
         if (valid)
         {
             // convert to radians
-            double newReference = circDist(doubleInput * PI / 180.0, 0.0);
+            double newReference = PhaseCalculator::circDist(doubleInput * PI / 180.0, 0.0);
             labelThatHasChanged->setText(String(newReference * 180.0 / PI), dontSendNotification);
             setReference(newReference);
             canvas->updateStatLabels();
@@ -570,8 +566,10 @@ RosePlot::circularBinComparator::circularBinComparator(int numBinsIn, double ref
 
 bool RosePlot::circularBinComparator::operator() (const double& lhs, const double& rhs) const
 {
-    int lhsBin = static_cast<int>(std::floor(circDist(lhs, referenceAngle) * numBins / (2 * PI)));
-    int rhsBin = static_cast<int>(std::floor(circDist(rhs, referenceAngle) * numBins / (2 * PI)));
+    double lhsDist = PhaseCalculator::circDist(lhs, referenceAngle);
+    double rhsDist = PhaseCalculator::circDist(rhs, referenceAngle);
+    int lhsBin = static_cast<int>(std::floor(lhsDist * numBins / (2 * PI)));
+    int rhsBin = static_cast<int>(std::floor(rhsDist * numBins / (2 * PI)));
     return lhsBin < rhsBin;
 }
 
@@ -602,12 +600,6 @@ void RosePlot::reorganizeAngleData()
     angleData.swapWith(newAngleData);
 }
 
-double RosePlot::circDist(double x, double ref)
-{
-    double xMod = std::fmod(x - ref, 2 * PI);
-    return (xMod < 0 ? xMod + 2 * PI : xMod);
-}
-
 void RosePlot::updateAngles()
 {
     float step = 2 * PI_F / numBins;
@@ -615,7 +607,7 @@ void RosePlot::updateAngles()
     for (int i = 0; i < numBins; ++i)
     {
         binMidpoints.set(i, step * (i + 0.5));
-        float firstAngle = static_cast<float>(circDist(PI / 2, step * (i + 1)));
+        float firstAngle = static_cast<float>(PhaseCalculator::circDist(PI / 2, step * (i + 1)));
         segmentAngles.set(i, { firstAngle, firstAngle + step });
     }
 }
\ No newline at end of file
diff --git a/Source/PhaseCalculatorCanvas.h b/Source/PhaseCalculatorCanvas.h
index cb99c98..b6a78c6 100644
--- a/Source/PhaseCalculatorCanvas.h
+++ b/Source/PhaseCalculatorCanvas.h
@@ -89,9 +89,6 @@ class RosePlot
         AngleDataMultiset(int numBins, double referenceAngle, AngleDataMultiset* dataSource);
     };
 
-    // circular distance in radians (return value is in [0, 2*pi))
-    static double circDist(double x, double ref);
-
     // make binMidpoints and segmentAngles reflect current numBins
     void updateAngles();
 
diff --git a/Source/PhaseCalculatorEditor.cpp b/Source/PhaseCalculatorEditor.cpp
index 2ac4ec7..f3621be 100644
--- a/Source/PhaseCalculatorEditor.cpp
+++ b/Source/PhaseCalculatorEditor.cpp
@@ -22,129 +22,90 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "PhaseCalculatorEditor.h"
 #include "PhaseCalculatorCanvas.h"
+#include "HTransformers.h"
 #include <climits> // INT_MAX
-#include <string>  // stoi, stof, stod
+#include <cfloat>  // FLT_MAX
+#include <cmath>   // abs
 
 PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool useDefaultParameterEditors)
-    : VisualizerEditor  (parentNode, 325, useDefaultParameterEditors)
+    : VisualizerEditor  (parentNode, 220, useDefaultParameterEditors)
     , extraChanManager  (parentNode)
     , prevExtraChans    (0)
 {
     tabText = "Event Phase Plot";
-    int filterWidth = 80;
+    int filterWidth = 120;
 
     PhaseCalculator* processor = static_cast<PhaseCalculator*>(parentNode);
 
-    lowCutLabel = new Label("lowCutL", "Low cut");
-    lowCutLabel->setBounds(10, 30, 80, 20);
-    lowCutLabel->setFont(Font("Small Text", 12, Font::plain));
+    bandLabel = new Label("bandL", "Freq range:");
+    bandLabel->setBounds(5, 25, 100, 20);
+    bandLabel->setFont({ "Small Text", 12, Font::plain });
+    bandLabel->setColour(Label::textColourId, Colours::darkgrey);
+    addAndMakeVisible(bandLabel);
+
+    bandBox = new ComboBox("bandB");
+    for (int b = 0; b < NUM_BANDS; ++b)
+    {
+        bandBox->addItem(Hilbert::BAND_NAME.at(b), b + 1);
+    }
+    bandBox->setSelectedId(processor->band + 1);
+    bandBox->setTooltip(FREQ_RANGE_TOOLTIP);
+    bandBox->setBounds(7, 42, 110, 20);
+    bandBox->addListener(this);
+    addAndMakeVisible(bandBox);
+
+    lowCutLabel = new Label("lowCutL", "Low:");
+    lowCutLabel->setBounds(5, 70, 50, 20);
+    lowCutLabel->setFont({ "Small Text", 12, Font::plain });
     lowCutLabel->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(lowCutLabel);
 
     lowCutEditable = new Label("lowCutE");
     lowCutEditable->setEditable(true);
     lowCutEditable->addListener(this);
-    lowCutEditable->setBounds(15, 47, 60, 18);
+    lowCutEditable->setBounds(50, 70, 35, 18);
     lowCutEditable->setText(String(processor->lowCut), dontSendNotification);
     lowCutEditable->setColour(Label::backgroundColourId, Colours::grey);
     lowCutEditable->setColour(Label::textColourId, Colours::white);
     addAndMakeVisible(lowCutEditable);
 
-    highCutLabel = new Label("highCutL", "High cut");
-    highCutLabel->setBounds(10, 70, 80, 20);
-    highCutLabel->setFont(Font("Small Text", 12, Font::plain));
+    lowCutUnit = new Label("lowCutU", "Hz");
+    lowCutUnit->setBounds(85, 70, 25, 18);
+    lowCutUnit->setFont({ "Small Text", 12, Font::plain });
+    lowCutUnit->setColour(Label::textColourId, Colours::darkgrey);
+    addAndMakeVisible(lowCutUnit);
+
+    highCutLabel = new Label("highCutL", "High:");
+    highCutLabel->setBounds(5, 100, 50, 20);
+    highCutLabel->setFont({ "Small Text", 12, Font::plain });
     highCutLabel->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(highCutLabel);
 
     highCutEditable = new Label("highCutE");
     highCutEditable->setEditable(true);
     highCutEditable->addListener(this);
-    highCutEditable->setBounds(15, 87, 60, 18);
+    highCutEditable->setBounds(50, 100, 35, 18);
     highCutEditable->setText(String(processor->highCut), dontSendNotification);
     highCutEditable->setColour(Label::backgroundColourId, Colours::grey);
     highCutEditable->setColour(Label::textColourId, Colours::white);
     addAndMakeVisible(highCutEditable);
 
-    hilbertLengthLabel = new Label("hilbertLength", "Buffer length:");
-    hilbertLengthLabel->setBounds(filterWidth + 8, 25, 180, 20);
-    hilbertLengthLabel->setFont(Font("Small Text", 12, Font::plain));
-    hilbertLengthLabel->setColour(Label::textColourId, Colours::darkgrey);
-    addAndMakeVisible(hilbertLengthLabel);
-
-    hilbertLengthBox = new ComboBox("Buffer size");
-    hilbertLengthBox->setEditableText(true);
-    for (int pow = PhaseCalculator::MIN_HILB_LEN_POW; pow <= PhaseCalculator::MAX_HILB_LEN_POW; ++pow)
-    {
-        hilbertLengthBox->addItem(String(1 << pow), pow);
-    }
-    hilbertLengthBox->setText(String(processor->hilbertLength), dontSendNotification);
-    hilbertLengthBox->setTooltip(HILB_LENGTH_TOOLTIP);
-    hilbertLengthBox->setBounds(filterWidth + 10, 45, 80, 20);
-    hilbertLengthBox->addListener(this);
-    addAndMakeVisible(hilbertLengthBox);
-
-    hilbertLengthUnitLabel = new Label("hilbertLengthUnit", "Samp.");
-    hilbertLengthUnitLabel->setBounds(filterWidth + 90, 45, 40, 20);
-    hilbertLengthUnitLabel->setFont(Font("Small Text", 12, Font::plain));
-    hilbertLengthUnitLabel->setColour(Label::textColourId, Colours::darkgrey);
-    addAndMakeVisible(hilbertLengthUnitLabel);
-
-    pastLengthLabel = new Label("pastLengthL", "Past:");
-    pastLengthLabel->setBounds(filterWidth + 8, 85, 60, 15);
-    pastLengthLabel->setFont(Font("Small Text", 12, Font::plain));
-    pastLengthLabel->setColour(Label::backgroundColourId, Colour(230, 168, 0));
-    pastLengthLabel->setColour(Label::textColourId, Colours::darkgrey);
-    addAndMakeVisible(pastLengthLabel);
-
-    predLengthLabel = new Label("predLengthL", "Future:");
-    predLengthLabel->setBounds(filterWidth + 70, 85, 60, 15);
-    predLengthLabel->setFont(Font("Small Text", 12, Font::plain));
-    predLengthLabel->setColour(Label::backgroundColourId, Colour(102, 140, 255));
-    predLengthLabel->setColour(Label::textColourId, Colours::darkgrey);
-    addAndMakeVisible(predLengthLabel);
-
-    pastLengthEditable = new Label("pastLengthE");
-    pastLengthEditable->setEditable(true);
-    pastLengthEditable->addListener(this);
-    pastLengthEditable->setText(String(processor->hilbertLength - processor->predictionLength), dontSendNotification);
-    pastLengthEditable->setBounds(filterWidth + 8, 102, 60, 18);
-    pastLengthEditable->setColour(Label::backgroundColourId, Colours::grey);
-    pastLengthEditable->setColour(Label::textColourId, Colours::white);
-    addAndMakeVisible(pastLengthEditable);
-
-    predLengthEditable = new Label("predLengthE");
-    predLengthEditable->setEditable(true);
-    predLengthEditable->addListener(this);
-    predLengthEditable->setText(String(processor->predictionLength), dontSendNotification);
-    predLengthEditable->setBounds(filterWidth + 70, 102, 60, 18);
-    predLengthEditable->setColour(Label::backgroundColourId, Colours::grey);
-    predLengthEditable->setColour(Label::textColourId, Colours::white);
-    addAndMakeVisible(predLengthEditable);
-
-    predLengthSlider = new Slider("predLength");
-    predLengthSlider->setLookAndFeel(&v3LookAndFeel);
-    predLengthSlider->setSliderStyle(Slider::LinearBar);
-    predLengthSlider->setTextBoxStyle(Slider::NoTextBox, false, 40, 20);
-    predLengthSlider->setScrollWheelEnabled(false);
-    predLengthSlider->setBounds(filterWidth + 8, 70, 122, 10);
-    predLengthSlider->setColour(Slider::thumbColourId, Colour(255, 187, 0));
-    predLengthSlider->setColour(Slider::backgroundColourId, Colour(51, 102, 255));
-    predLengthSlider->setTooltip(PRED_LENGTH_TOOLTIP);
-    predLengthSlider->addListener(this);
-    predLengthSlider->setRange(0, processor->hilbertLength, 1);
-    predLengthSlider->setValue(processor->hilbertLength - processor->predictionLength, dontSendNotification);
-    addAndMakeVisible(predLengthSlider);
+    highCutUnit = new Label("highCutU", "Hz");
+    highCutUnit->setBounds(85, 100, 25, 18);
+    highCutUnit->setFont({ "Small Text", 12, Font::plain });
+    highCutUnit->setColour(Label::textColourId, Colours::darkgrey);
+    addAndMakeVisible(highCutUnit);
 
     recalcIntervalLabel = new Label("recalcL", "AR Refresh:");
-    recalcIntervalLabel->setBounds(filterWidth + 140, 25, 100, 20);
-    recalcIntervalLabel->setFont(Font("Small Text", 12, Font::plain));
+    recalcIntervalLabel->setBounds(filterWidth, 25, 100, 20);
+    recalcIntervalLabel->setFont({ "Small Text", 12, Font::plain });
     recalcIntervalLabel->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(recalcIntervalLabel);
 
     recalcIntervalEditable = new Label("recalcE");
     recalcIntervalEditable->setEditable(true);
     recalcIntervalEditable->addListener(this);
-    recalcIntervalEditable->setBounds(filterWidth + 145, 44, 55, 18);
+    recalcIntervalEditable->setBounds(filterWidth + 5, 44, 55, 18);
     recalcIntervalEditable->setColour(Label::backgroundColourId, Colours::grey);
     recalcIntervalEditable->setColour(Label::textColourId, Colours::white);
     recalcIntervalEditable->setText(String(processor->calcInterval), dontSendNotification);
@@ -152,21 +113,21 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     addAndMakeVisible(recalcIntervalEditable);
 
     recalcIntervalUnit = new Label("recalcU", "ms");
-    recalcIntervalUnit->setBounds(filterWidth + 200, 47, 25, 15);
-    recalcIntervalUnit->setFont(Font("Small Text", 12, Font::plain));
+    recalcIntervalUnit->setBounds(filterWidth + 60, 47, 25, 15);
+    recalcIntervalUnit->setFont({ "Small Text", 12, Font::plain });
     recalcIntervalUnit->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(recalcIntervalUnit);
 
     arOrderLabel = new Label("arOrderL", "Order:");
-    arOrderLabel->setBounds(filterWidth + 140, 65, 60, 20);
-    arOrderLabel->setFont(Font("Small Text", 12, Font::plain));
+    arOrderLabel->setBounds(filterWidth, 65, 60, 20);
+    arOrderLabel->setFont({ "Small Text", 12, Font::plain });
     arOrderLabel->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(arOrderLabel);
 
     arOrderEditable = new Label("arOrderE");
     arOrderEditable->setEditable(true);
     arOrderEditable->addListener(this);
-    arOrderEditable->setBounds(filterWidth + 195, 66, 25, 18);
+    arOrderEditable->setBounds(filterWidth + 55, 66, 25, 18);
     arOrderEditable->setColour(Label::backgroundColourId, Colours::grey);
     arOrderEditable->setColour(Label::textColourId, Colours::white);
     arOrderEditable->setText(String(processor->arOrder), sendNotificationAsync);
@@ -174,8 +135,8 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     addAndMakeVisible(arOrderEditable);
 
     outputModeLabel = new Label("outputModeL", "Output:");
-    outputModeLabel->setBounds(filterWidth + 140, 87, 70, 20);
-    outputModeLabel->setFont(Font("Small Text", 12, Font::plain));
+    outputModeLabel->setBounds(filterWidth, 87, 70, 20);
+    outputModeLabel->setFont({ "Small Text", 12, Font::plain });
     outputModeLabel->setColour(Label::textColourId, Colours::darkgrey);
     addAndMakeVisible(outputModeLabel);
 
@@ -186,7 +147,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     outputModeBox->addItem("IMAG", IM);
     outputModeBox->setSelectedId(processor->outputMode);
     outputModeBox->setTooltip(OUTPUT_MODE_TOOLTIP);
-    outputModeBox->setBounds(filterWidth + 145, 105, 76, 19);
+    outputModeBox->setBounds(filterWidth + 5, 105, 76, 19);
     outputModeBox->addListener(this);
     addAndMakeVisible(outputModeBox);
 
@@ -200,21 +161,9 @@ void PhaseCalculatorEditor::comboBoxChanged(ComboBox* comboBoxThatHasChanged)
 {
     PhaseCalculator* processor = static_cast<PhaseCalculator*>(getProcessor());
 
-    if (comboBoxThatHasChanged == hilbertLengthBox)
+    if (comboBoxThatHasChanged == bandBox)
     {
-        int newId = hilbertLengthBox->getSelectedId();
-        int newHilbertLength;
-        if (newId) // one of the items in the list is selected
-        {            
-            newHilbertLength = (1 << newId);
-        }
-        else if (!updateControl(comboBoxThatHasChanged, 1 << PhaseCalculator::MIN_HILB_LEN_POW,
-            1 << PhaseCalculator::MAX_HILB_LEN_POW, processor->hilbertLength, &newHilbertLength))
-        {
-            return;
-        }
-
-        processor->setParameter(HILBERT_LENGTH, static_cast<float>(newHilbertLength));
+        processor->setParameter(BAND, static_cast<float>(bandBox->getSelectedId() - 1));
     }
     else if (comboBoxThatHasChanged == outputModeBox)
     {
@@ -226,34 +175,10 @@ void PhaseCalculatorEditor::labelTextChanged(Label* labelThatHasChanged)
 {
     PhaseCalculator* processor = static_cast<PhaseCalculator*>(getProcessor());
 
-    int sliderMax = static_cast<int>(predLengthSlider->getMaximum());
-
-    if (labelThatHasChanged == pastLengthEditable)
-    {
-        int intInput;
-        bool valid = updateControl(labelThatHasChanged, 0, processor->hilbertLength,
-            processor->hilbertLength - processor->predictionLength, &intInput);
-
-        if (valid)
-        {
-            processor->setParameter(PAST_LENGTH, static_cast<float>(intInput));
-        }        
-    }
-    else if (labelThatHasChanged == predLengthEditable)
+    if (labelThatHasChanged == recalcIntervalEditable)
     {
         int intInput;
-        bool valid = updateControl(labelThatHasChanged, 0, processor->hilbertLength,
-            processor->predictionLength, &intInput);
-        
-        if (valid)
-        {
-            processor->setParameter(PRED_LENGTH, static_cast<float>(intInput));
-        }
-    }
-    else if (labelThatHasChanged == recalcIntervalEditable)
-    {
-        int intInput;
-        bool valid = updateControl(labelThatHasChanged, 0, INT_MAX, processor->calcInterval, &intInput);
+        bool valid = updateControl(labelThatHasChanged, 0, INT_MAX, processor->calcInterval, intInput);
 
         if (valid)
         {
@@ -263,7 +188,7 @@ void PhaseCalculatorEditor::labelTextChanged(Label* labelThatHasChanged)
     else if (labelThatHasChanged == arOrderEditable)
     {
         int intInput;
-        bool valid = updateControl(labelThatHasChanged, 1, INT_MAX, processor->arOrder, &intInput);
+        bool valid = updateControl(labelThatHasChanged, 1, INT_MAX, processor->arOrder, intInput);
 
         if (valid)
         {
@@ -273,8 +198,7 @@ void PhaseCalculatorEditor::labelTextChanged(Label* labelThatHasChanged)
     else if (labelThatHasChanged == lowCutEditable)
     {
         float floatInput;
-        bool valid = updateControl(labelThatHasChanged, PhaseCalculator::PASSBAND_EPS,
-            processor->minNyquist - PhaseCalculator::PASSBAND_EPS, processor->lowCut, &floatInput);
+        bool valid = updateControl(labelThatHasChanged, 0.0f, FLT_MAX, processor->lowCut, floatInput);
 
         if (valid)
         {
@@ -284,35 +208,31 @@ void PhaseCalculatorEditor::labelTextChanged(Label* labelThatHasChanged)
     else if (labelThatHasChanged == highCutEditable)
     {
         float floatInput;
-        bool valid = updateControl(labelThatHasChanged, 2 * PhaseCalculator::PASSBAND_EPS,
-            processor->minNyquist, processor->highCut, &floatInput);
-
-        if (valid) 
+        bool valid = updateControl(labelThatHasChanged, 0.0f, FLT_MAX, processor->highCut, floatInput);
+        
+        if (valid)
         {
             processor->setParameter(HIGHCUT, floatInput);
         }
     }
 }
 
-void PhaseCalculatorEditor::sliderEvent(Slider* slider)
-{
-    if (slider == predLengthSlider)
-    {
-        int newVal = static_cast<int>(slider->getValue());
-        int maxVal = static_cast<int>(slider->getMaximum());
-        getProcessor()->setParameter(PRED_LENGTH, static_cast<float>(maxVal - newVal));
-    }
-}
-
 void PhaseCalculatorEditor::channelChanged(int chan, bool newState)
 {
-    auto pc = static_cast<PhaseCalculator*>(getProcessor());    
+    auto pc = static_cast<PhaseCalculator*>(getProcessor());
     if (chan < pc->getNumInputs())
     {
         Array<int> activeInputs = pc->getActiveInputs();
-        if (newState && activeInputs.size() > pc->numActiveChansAllocated)
-        {            
-            pc->addActiveChannel();
+        if (newState)
+        {
+            // check whether sample rate is compatible (and if not, disable channel)
+            if (!pc->validateSampleRate(chan)) { return; }
+
+            // ensure space allocated for per-active-channel arrays
+            if (activeInputs.size() > pc->numActiveChansAllocated)
+            {
+                pc->addActiveChannel();
+            }
         }
 
         if (pc->outputMode == PH_AND_MAG)
@@ -331,21 +251,14 @@ void PhaseCalculatorEditor::channelChanged(int chan, bool newState)
         }
         else
         {
-            // Can just do a partial update
-            pc->updateMinNyquist();     // minNyquist may have changed depending on active chans
-            pc->setFilterParameters();  // need to update in case the passband has changed
-            updateVisualizer();         // update the available continuous channels for visualizer
+            updateVisualizer(); // update the available continuous channels for visualizer
         }
     }
 }
 
 void PhaseCalculatorEditor::startAcquisition()
 {
-    GenericEditor::startAcquisition();
-    hilbertLengthBox->setEnabled(false);
-    predLengthSlider->setEnabled(false);
-    pastLengthEditable->setEnabled(false);
-    predLengthEditable->setEnabled(false);
+    bandBox->setEnabled(false);
     lowCutEditable->setEnabled(false);
     highCutEditable->setEnabled(false);
     arOrderEditable->setEnabled(false);
@@ -355,11 +268,7 @@ void PhaseCalculatorEditor::startAcquisition()
 
 void PhaseCalculatorEditor::stopAcquisition()
 {
-    GenericEditor::stopAcquisition();
-    hilbertLengthBox->setEnabled(true);
-    predLengthSlider->setEnabled(true);
-    pastLengthEditable->setEnabled(true);
-    predLengthEditable->setEnabled(true);
+    bandBox->setEnabled(true);
     lowCutEditable->setEnabled(true);
     highCutEditable->setEnabled(true);
     arOrderEditable->setEnabled(true);
@@ -433,15 +342,17 @@ void PhaseCalculatorEditor::saveCustomParameters(XmlElement* xml)
 
     xml->setAttribute("Type", "PhaseCalculatorEditor");
     PhaseCalculator* processor = (PhaseCalculator*)(getProcessor());
-    
+
     XmlElement* paramValues = xml->createNewChildElement("VALUES");
-    paramValues->setAttribute("hilbertLength", processor->hilbertLength);
-    paramValues->setAttribute("predLength", processor->predictionLength);
     paramValues->setAttribute("calcInterval", processor->calcInterval);
     paramValues->setAttribute("arOrder", processor->arOrder);
     paramValues->setAttribute("lowCut", processor->lowCut);
     paramValues->setAttribute("highCut", processor->highCut);
     paramValues->setAttribute("outputMode", processor->outputMode);
+
+    const Array<float>& validBand = Hilbert::VALID_BAND.at(processor->band);
+    paramValues->setAttribute("rangeMin", validBand[0]);
+    paramValues->setAttribute("rangeMax", validBand[1]);
 }
 
 void PhaseCalculatorEditor::loadCustomParameters(XmlElement* xml)
@@ -451,12 +362,9 @@ void PhaseCalculatorEditor::loadCustomParameters(XmlElement* xml)
     forEachXmlChildElementWithTagName(*xml, xmlNode, "VALUES")
     {
         // some parameters have two fallbacks for backwards compatability
-        hilbertLengthBox->setText(xmlNode->getStringAttribute("hilbertLength", 
-            xmlNode->getStringAttribute("processLength", hilbertLengthBox->getText())), sendNotificationSync);
-        predLengthEditable->setText(xmlNode->getStringAttribute("predLength",
-            xmlNode->getStringAttribute("numFuture", predLengthEditable->getText())), sendNotificationSync);
         recalcIntervalEditable->setText(xmlNode->getStringAttribute("calcInterval", recalcIntervalEditable->getText()), sendNotificationSync);
         arOrderEditable->setText(xmlNode->getStringAttribute("arOrder", arOrderEditable->getText()), sendNotificationSync);
+        bandBox->setSelectedId(selectBandFromSavedParams(xmlNode) + 1, sendNotificationSync);
         lowCutEditable->setText(xmlNode->getStringAttribute("lowCut", lowCutEditable->getText()), sendNotificationSync);
         highCutEditable->setText(xmlNode->getStringAttribute("highCut", highCutEditable->getText()), sendNotificationSync);
         outputModeBox->setSelectedId(xmlNode->getIntAttribute("outputMode", outputModeBox->getSelectedId()), sendNotificationSync);
@@ -475,34 +383,6 @@ void PhaseCalculatorEditor::refreshHighCut()
     highCutEditable->setText(String(p->highCut), dontSendNotification);
 }
 
-void PhaseCalculatorEditor::refreshPredLength()
-{
-    auto p = static_cast<PhaseCalculator*>(getProcessor());
-    int newPredLength = p->predictionLength;
-
-    jassert(predLengthSlider->getMinimum() == 0);
-    int maximum = static_cast<int>(predLengthSlider->getMaximum());
-    jassert(newPredLength >= 0 && newPredLength <= maximum);
-
-    predLengthSlider->setValue(maximum - newPredLength, dontSendNotification);
-    pastLengthEditable->setText(String(maximum - newPredLength), dontSendNotification);
-    predLengthEditable->setText(String(newPredLength), dontSendNotification);
-}
-
-void PhaseCalculatorEditor::refreshHilbertLength()
-{
-    auto p = static_cast<PhaseCalculator*>(getProcessor());
-    int newHilbertLength = p->hilbertLength;
-
-    hilbertLengthBox->setText(String(newHilbertLength), dontSendNotification);
-    predLengthSlider->setRange(0, newHilbertLength, 1);
-
-    // if possible, maintain prediction length while making past + pred = hilbertLength
-    int sliderVal = static_cast<int>(predLengthSlider->getValue());
-    pastLengthEditable->setText(String(sliderVal), dontSendNotification);
-    predLengthEditable->setText(String(newHilbertLength - sliderVal), dontSendNotification);
-}
-
 void PhaseCalculatorEditor::refreshVisContinuousChan()
 {
     auto p = static_cast<PhaseCalculator*>(getProcessor());
@@ -515,24 +395,61 @@ void PhaseCalculatorEditor::refreshVisContinuousChan()
 
 // static utilities
 
-template<>
-int PhaseCalculatorEditor::fromString<int>(const char* in)
+int PhaseCalculatorEditor::selectBandFromSavedParams(const XmlElement* xmlNode)
 {
-    return std::stoi(in);
-}
+    if (xmlNode->hasAttribute("rangeMin") && xmlNode->hasAttribute("rangeMax"))
+    {
+        // I don't trust JUCE's string parsing functionality (doesn't indicate failure, etc...)
+        float rangeMin, rangeMax;
+        if (readNumber(xmlNode->getStringAttribute("rangeMin"), rangeMin) &&
+            readNumber(xmlNode->getStringAttribute("rangeMax"), rangeMax))
+        {
+            // try to find a matching band.
+            for (auto keyVal : Hilbert::VALID_BAND)
+            {
+                int b = keyVal.first;
+                const Array<float>& validRange = keyVal.second;
 
-template<>
-float PhaseCalculatorEditor::fromString<float>(const char* in)
-{
-    return std::stof(in);
-}
+                if (validRange[0] == rangeMin && validRange[1] == rangeMax)
+                {
+                    return b;
+                }
+            }
+        }
+    }
 
-template<>
-double PhaseCalculatorEditor::fromString<double>(const char* in)
-{
-    return std::stod(in);
-}
+    // no match, or rangeMin and rangeMax were invalid
+    // try to find a good fit for lowCut and highCut
+    if (xmlNode->hasAttribute("lowCut") && xmlNode->hasAttribute("highCut"))
+    {
+        float lowCut, highCut;
+        if (readNumber(xmlNode->getStringAttribute("lowCut"), lowCut) && lowCut >= 0 &&
+            readNumber(xmlNode->getStringAttribute("highCut"), highCut) && highCut > lowCut)
+        {
+            float midCut = (lowCut + highCut) / 2;
+            int bestBand = 0;
+            float bestBandDist = FLT_MAX;
+            
+            for (auto keyVal : Hilbert::VALID_BAND)
+            {
+                int b = keyVal.first;
+                const Array<float>& validRange = keyVal.second;
+
+                float midBand = (validRange[0] + validRange[1]) / 2;
+                float midDist = std::abs(midBand - midCut);
+                if (validRange[0] <= lowCut && validRange[1] >= highCut && midDist < bestBandDist)
+                {
+                    bestBand = b;
+                    bestBandDist = midDist;
+                }
+            }
+            return bestBand;
+        }
+    }
 
+    // just fallback to first band
+    return 0;
+}
 
 // -------- ExtraChanManager ---------
 
diff --git a/Source/PhaseCalculatorEditor.h b/Source/PhaseCalculatorEditor.h
index 5cc749b..f9d658d 100644
--- a/Source/PhaseCalculatorEditor.h
+++ b/Source/PhaseCalculatorEditor.h
@@ -24,6 +24,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef PHASE_CALCULATOR_EDITOR_H_INCLUDED
 #define PHASE_CALCULATOR_EDITOR_H_INCLUDED
 
+#include <sstream>  // string parsing
 #include <VisualizerEditorHeaders.h>
 
 #include "PhaseCalculator.h"
@@ -44,9 +45,6 @@ class PhaseCalculatorEditor
     // implements Label::Listener
     void labelTextChanged(Label* labelThatHasChanged) override;
 
-    // overrides GenericEditor
-    void sliderEvent(Slider* slider) override;
-
     // update display based on current channel
     void channelChanged(int chan, bool newState) override;
 
@@ -64,16 +62,30 @@ class PhaseCalculatorEditor
     // display updaters - do not trigger listeners.
     void refreshLowCut();
     void refreshHighCut();
-    void refreshPredLength();
-    void refreshHilbertLength();
     void refreshVisContinuousChan();
 
 private:
 
-    // Utilities for parsing entered values
+    /*
+     * Select a frequency band when loading based on the saved information.
+     * Don't want to use the index in case bands are added/removed in the future (and it's less readable).
+     * Instead, try to match the min and max valid frequencies of the range. If that fails (or if
+     * the rangeMin and rangeMax attributes don't exist), find the band that encompasses lowCut and highCut
+     * and puts them closest to the center. Finally, if all else fails, just return the first band.
+     */
+    static int selectBandFromSavedParams(const XmlElement* xmlNode);
 
+    /*
+     * Tries to read a number of type out from input. Returns false if unsuccessful.
+     * Otherwise, returns true and writes the result to *out.
+     */
     template<typename T>
-    static T fromString(const char* in);
+    static bool readNumber(const String& input, T& out)
+    {
+        std::istringstream istream(input.toStdString());
+        istream >> out;
+        return !istream.fail();
+    }
 
     /* 
      * Return whether the control contained a valid input between min and max, inclusive.
@@ -83,26 +95,19 @@ class PhaseCalculatorEditor
      * In header to make sure specializations not used in PhaseCalculatorEditor.cpp
      * are still available to other translation units.
      */
-
     template<typename Ctrl, typename T>
     static bool updateControl(Ctrl* c, const T min, const T max,
-        const T defaultValue, T* out)
+        const T defaultValue, T& out)
     {
-        T parsedVal;
-        try
+        if (readNumber(c->getText(), out))
         {
-            parsedVal = fromString<T>(c->getText().toRawUTF8());
+            out = jmax(min, jmin(max, out));
+            c->setText(String(out), dontSendNotification);
+            return true;
         }
-        catch (const std::logic_error&)
-        {
-            c->setText(String(defaultValue), dontSendNotification);
-            return false;
-        }
-
-        *out = jmax(min, jmin(max, parsedVal));
 
-        c->setText(String(*out), dontSendNotification);
-        return true;
+        c->setText(String(defaultValue), dontSendNotification);
+        return false;
     }
 
     // keep track of the record status of each "extra" channel
@@ -131,21 +136,16 @@ class PhaseCalculatorEditor
     int prevExtraChans;
     ExtraChanManager extraChanManager;
 
+    ScopedPointer<Label>    bandLabel;
+    ScopedPointer<ComboBox> bandBox;
+
     ScopedPointer<Label>    lowCutLabel;
     ScopedPointer<Label>    lowCutEditable;
+    ScopedPointer<Label>    lowCutUnit;
+
     ScopedPointer<Label>    highCutLabel;
     ScopedPointer<Label>    highCutEditable;
-    
-    ScopedPointer<Label>    hilbertLengthLabel;
-    ScopedPointer<Label>    hilbertLengthUnitLabel;
-    ScopedPointer<ComboBox> hilbertLengthBox;
-
-    LookAndFeel_V3        v3LookAndFeel;
-    ScopedPointer<Slider> predLengthSlider;
-    ScopedPointer<Label>  pastLengthLabel;
-    ScopedPointer<Label>  pastLengthEditable;
-    ScopedPointer<Label>  predLengthLabel;
-    ScopedPointer<Label>  predLengthEditable;
+    ScopedPointer<Label>    highCutUnit;
 
     ScopedPointer<Label>    recalcIntervalLabel;
     ScopedPointer<Label>    recalcIntervalEditable;
@@ -158,7 +158,9 @@ class PhaseCalculatorEditor
     ScopedPointer<ComboBox> outputModeBox;
 
     // constants
-
+    const String FREQ_RANGE_TOOLTIP = "Each option corresponds internally to a Hilbert transformer " +
+        String("that is optimized for this frequency range. After selecting a range, you can adjust ") +
+        "'low' and 'high' to filter to any passband within this range.";
     const String HILB_LENGTH_TOOLTIP = "Change the total amount of data used to calculate the phase (powers of 2 are best)";
     const String PRED_LENGTH_TOOLTIP = "Select how much past vs. predicted data to use when calculating the phase";
     const String RECALC_INTERVAL_TOOLTIP = "Time to wait between calls to update the autoregressive models";
@@ -170,4 +172,4 @@ class PhaseCalculatorEditor
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PhaseCalculatorEditor);
 };
 
-#endif // PHASE_CALCULATOR_EDITOR_H_INCLUDED
\ No newline at end of file
+#endif // PHASE_CALCULATOR_EDITOR_H_INCLUDED
diff --git a/ht_pc.png b/ht_pc.png
new file mode 100644
index 0000000000000000000000000000000000000000..97108436f5d8b54f08a7d9d239208e8082ee3818
GIT binary patch
literal 11915
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
Q1NjXl1vU8+S(Cv31$l%%DgXcg

literal 0
HcmV?d00001

diff --git a/ht_pc_menu1.png b/ht_pc_menu1.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb79f8064e4e7b99763e06acfae3767bda61fe7a
GIT binary patch
literal 18437
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
bIp6(1+;=ed_4ag~00000NkvXXu0mjfHo`f0

literal 0
HcmV?d00001

diff --git a/ht_pc_menu2.png b/ht_pc_menu2.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b481363c5c32f5fd2666d924110b93380e98fe2
GIT binary patch
literal 13800
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
UP6s-`+gVQ(WL0HKq+ovk2fFt|82|tP

literal 0
HcmV?d00001


From 7af8d49e46789f861df7aac422682a18705b6ab8 Mon Sep 17 00:00:00 2001
From: Ethan Blackwood <ethanbblackwood@gmail.com>
Date: Thu, 24 Jan 2019 09:18:00 -0600
Subject: [PATCH 2/3] Restore canvas settings even when it's not open

---
 Source/PhaseCalculatorEditor.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Source/PhaseCalculatorEditor.cpp b/Source/PhaseCalculatorEditor.cpp
index f3621be..9bffe20 100644
--- a/Source/PhaseCalculatorEditor.cpp
+++ b/Source/PhaseCalculatorEditor.cpp
@@ -35,7 +35,8 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     tabText = "Event Phase Plot";
     int filterWidth = 120;
 
-    PhaseCalculator* processor = static_cast<PhaseCalculator*>(parentNode);
+    // make the canvas now, so that restoring its parameters always works.
+    canvas = new PhaseCalculatorCanvas(parentNode);
 
     bandLabel = new Label("bandL", "Freq range:");
     bandLabel->setBounds(5, 25, 100, 20);
@@ -48,7 +49,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     {
         bandBox->addItem(Hilbert::BAND_NAME.at(b), b + 1);
     }
-    bandBox->setSelectedId(processor->band + 1);
+    bandBox->setSelectedId(parentNode->band + 1);
     bandBox->setTooltip(FREQ_RANGE_TOOLTIP);
     bandBox->setBounds(7, 42, 110, 20);
     bandBox->addListener(this);
@@ -64,7 +65,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     lowCutEditable->setEditable(true);
     lowCutEditable->addListener(this);
     lowCutEditable->setBounds(50, 70, 35, 18);
-    lowCutEditable->setText(String(processor->lowCut), dontSendNotification);
+    lowCutEditable->setText(String(parentNode->lowCut), dontSendNotification);
     lowCutEditable->setColour(Label::backgroundColourId, Colours::grey);
     lowCutEditable->setColour(Label::textColourId, Colours::white);
     addAndMakeVisible(lowCutEditable);
@@ -85,7 +86,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     highCutEditable->setEditable(true);
     highCutEditable->addListener(this);
     highCutEditable->setBounds(50, 100, 35, 18);
-    highCutEditable->setText(String(processor->highCut), dontSendNotification);
+    highCutEditable->setText(String(parentNode->highCut), dontSendNotification);
     highCutEditable->setColour(Label::backgroundColourId, Colours::grey);
     highCutEditable->setColour(Label::textColourId, Colours::white);
     addAndMakeVisible(highCutEditable);
@@ -108,7 +109,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     recalcIntervalEditable->setBounds(filterWidth + 5, 44, 55, 18);
     recalcIntervalEditable->setColour(Label::backgroundColourId, Colours::grey);
     recalcIntervalEditable->setColour(Label::textColourId, Colours::white);
-    recalcIntervalEditable->setText(String(processor->calcInterval), dontSendNotification);
+    recalcIntervalEditable->setText(String(parentNode->calcInterval), dontSendNotification);
     recalcIntervalEditable->setTooltip(RECALC_INTERVAL_TOOLTIP);
     addAndMakeVisible(recalcIntervalEditable);
 
@@ -130,7 +131,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     arOrderEditable->setBounds(filterWidth + 55, 66, 25, 18);
     arOrderEditable->setColour(Label::backgroundColourId, Colours::grey);
     arOrderEditable->setColour(Label::textColourId, Colours::white);
-    arOrderEditable->setText(String(processor->arOrder), sendNotificationAsync);
+    arOrderEditable->setText(String(parentNode->arOrder), sendNotificationAsync);
     arOrderEditable->setTooltip(AR_ORDER_TOOLTIP);
     addAndMakeVisible(arOrderEditable);
 
@@ -145,7 +146,7 @@ PhaseCalculatorEditor::PhaseCalculatorEditor(PhaseCalculator* parentNode, bool u
     outputModeBox->addItem("MAG", MAG);
     outputModeBox->addItem("PH+MAG", PH_AND_MAG);
     outputModeBox->addItem("IMAG", IM);
-    outputModeBox->setSelectedId(processor->outputMode);
+    outputModeBox->setSelectedId(parentNode->outputMode);
     outputModeBox->setTooltip(OUTPUT_MODE_TOOLTIP);
     outputModeBox->setBounds(filterWidth + 5, 105, 76, 19);
     outputModeBox->addListener(this);
@@ -278,7 +279,6 @@ void PhaseCalculatorEditor::stopAcquisition()
 
 Visualizer* PhaseCalculatorEditor::createNewCanvas()
 {
-    canvas = new PhaseCalculatorCanvas(static_cast<PhaseCalculator*>(getProcessor()));
     return canvas;
 }
 

From edc22742f1be78f4f92fe282909404f1a60e9e64 Mon Sep 17 00:00:00 2001
From: Ethan Blackwood <ethanbblackwood@gmail.com>
Date: Thu, 24 Jan 2019 10:39:38 -0600
Subject: [PATCH 3/3] Add DOI badge and update reference

---
 README.md | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 88cf760..3312140 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
-# Phase Calculator Plugin
+# Phase Calculator Plugin [![DOI](https://zenodo.org/badge/134900173.svg)](https://zenodo.org/badge/latestdoi/134900173)
 
 A plugin for the [Open Ephys GUI](https://github.com/open-ephys/plugin-GUI) to estimate the phase of inputs within a specified passband in real time. Its primary purpose is to enable closed-loop stimulation, typically in combination with the [Crossing Detector](https://github.com/tne-lab/crossing-detector) and either the Pulse Pal or an external stimulation system that receives ZeroMQ events (for example, the LabVIEW implementation [here](https://github.com/tne-lab/closed-loop-stim)). It can also output the magnitude or imaginary component of the band-limited analytic signal instead of the phase. (The "PH+MAG" mode outputs both phase and magnitude, in separate channels.) Finally, the visualization tab or window can receive TTL events and display the delayed but precise phase of a specified input at the event onset samples in a rose plot. This allows real-time monitoring of stimulation accuracy.
 
-The closed-loop system incorporating this plugin is described in the following article, which should be cited in future publications:
+The following article describes the algorithm used by the previous version of this plugin and the closed-loop stimulation pipeline as a whole:
 
-Blackwood, E., Lo, M., Widge, A. S. (2018). Continuous phase estimation for phase-locked neural stimulation using an autoregressive model for signal prediction. 40th International Conference of the IEEE Engineering in Medicine and Biology Society, in press.
+Blackwood, E., Lo, M., Widge, A. S. (2018). Continuous phase estimation for phase-locked neural stimulation using an autoregressive model for signal prediction. 40th International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), Honolulu, HI, 4736-4739.
+
+If you are just using the plugin in your project, you can cite this version of the code using the DOI listed in the header of this file.
 
 <img src="ht_pc.png" width="200" /><img src="ht_pc_menu1.png" width="200"/><img src="ht_pc_menu2.png" width="200"/>
 <img src="PC_vis.png" width="350" />