Esempio n. 1
0
 public float[] map(final float[] data) {
   final float[] out = new float[data.length * upFactor / downFactor];
   for (int i = 0; i < data.length; i++) {
     final float sample = data[i];
     for (int j = 0; j < upFactor; j++) {
       final Filters.FIRFilter filter = filters[j];
       filter.addToDelayLine(sample);
       final int upsampledIndex = i * upFactor + j;
       if (upsampledIndex % downFactor == 0) {
         out[upsampledIndex / downFactor] = (float) filter.filter();
       }
     }
   }
   return out;
 }
Esempio n. 2
0
 public float[] map(final float[] data) {
   final int outLength = data.length * factor;
   if (out == null || out.length != outLength) {
     out = new float[outLength];
   } else {
     Arrays.fill(out, 0);
   }
   for (int i = 0; i < data.length; i++) {
     final float sample = data[i];
     for (int j = 0; j < factor; j++) {
       final Filters.FIRFilter filter = filters[j];
       filter.addToDelayLine(sample);
       out[i * factor + j] = (float) filter.filter();
     }
   }
   return out;
 }