public void setParameters(float dividingRatio, boolean polynomialSteps, int shiftClockFreq) {
		this.dividingRatio = (int) dividingRatio;
		if (!polynomialSteps) {
			this.polynomialSteps = 32767;
			cycleLength = 32767 << 8;
			cycleOffset = 0;
		} else {
			this.polynomialSteps = 63;
			cycleLength = 63 << 8;

			java.util.Random rand = new java.util.Random();

			cycleOffset = (int) (rand.nextFloat() * 1000);
		}
		this.shiftClockFreq = shiftClockFreq;

		if (dividingRatio == 0) dividingRatio = 0.5f;

		finalFreq = ((int) (4194304 / 8 / dividingRatio)) >> (shiftClockFreq + 1);
			//  System.out.println("dr:" + dividingRatio + "  steps: " + this.polynomialSteps + "  shift:" + shiftClockFreq + "  = Freq:" + finalFreq);
	}