public void Filter(Harmonics harm, double[] output, double f0) { for (int i = 0; i < output.Length; i++) { for (int j = 0; j < order - 1; j++) { buffer[j] = buffer[j + 1]; } buffer[order - 1] = harm.getSample(f0, i); double sum = 0; for (int j = 0; j < buffer.Length; j++) { sum += buffer[j]; } output[i] = sum / order; } }