Ejemplo n.º 1
0
        /// <summary>
        /// Filters entire <paramref name="signal"/> by processing each signal sample in a loop.
        /// </summary>
        /// <param name="filter">Online filter</param>
        /// <param name="signal">Input signal</param>
        public static double[] FilterOnline(this IOnlineFilter64 filter, double[] signal)
        {
            var output = new double[signal.Length];

            for (var i = 0; i < signal.Length; i++)
            {
                output[i] = filter.Process(signal[i]);
            }

            return(output);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Online filtering
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public double Process(double input)
 {
     if (_isRight)
     {
         _isRight = false;
         return(_filterRight.Process(input));
     }
     else
     {
         _isRight = true;
         return(_filterLeft.Process(input));
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Processes one sample.
 /// </summary>
 /// <param name="sample">Input sample</param>
 public double Process(double sample)
 {
     if (_isRight)
     {
         _isRight = false;
         return(_filterRight.Process(sample));
     }
     else
     {
         _isRight = true;
         return(_filterLeft.Process(sample));
     }
 }