this.rate = rate;
int half = rate*designFactor;
int N = 2*half + 1;
double[] kernel = ( new HammingWindow(N) ).getArray();
for (int i = 1; i <= half; i++) {
kernel[ half + i ] *= (double) ( Math.sin(Math.PI * i / rate) / ( Math.PI * i / rate ) );
kernel[ half - i ] = kernel[ half + i ];
}