Esempio n. 1
0
 private void convolve(double[] basesignal, Mitov.SignalLab.BlockBuffer blockBuffer)
 {
     int samples=0;
     for (int offset = 0; offset < size; offset++)
     {
         Result[row, offset] = 0.0d;
         samples = 0;
         for (int i = 0; i < Math.Min(size, blockBuffer.GetSize()); i++)
         {
             int offsetPos = i + offset - (size / 2);
             if (offsetPos >= 0 && offsetPos < blockBuffer.GetSize())
             {
                 Result[row, offset] += basesignal[i] * blockBuffer[offsetPos];
             }
             samples++;
         }
         Result[row, offset] = Result[row, offset] / samples;
     }
     row++;
 }