### Question:
FilterCoefficients { protected void transformLowpassToLowpass(double w0) throws BadFilterParametersException { int numberOfCoeffs = getNumberOfCoefficients(); double[] powers = new double[numberOfCoeffs]; int i; for (i = 0; i < numberOfCoeffs; i++) powers[i] = Math.pow(w0, numberOfCoeffs - 1 - i); double[] a = getACoefficients(); double[] b = getBCoefficients(); int start1 = Math.max(b.length - a.length, 0); int start2 = Math.max(a.length - b.length, 0); for (i = 0; i < b.length; i++) b[i] = b[i] * powers[start1] / powers[start2 + i]; for (i = 0; i < a.length; i++) a[i] = a[i] * powers[start1] / powers[start1 + i]; bCoefficients = b; aCoefficients = a; normalize(); } FilterCoefficients(double[] bCoefficients, double[] aCoefficients); int getFilterOrder(); int getNumberOfCoefficients(); double[] getACoefficients(); double[] getBCoefficients(); @Override boolean equals(Object o); @Override int hashCode(); void print(); @Override String toString();  }### Answer:
@Test public void testTransformLowpassToLowpass() throws BadFilterParametersException { double[] b = new double[] {0.06264858}; double[] a = new double[] {1.00000000, 0.57450003, 1.41502514, 0.54893711, 0.40796631, 0.06264858 }; FilterCoefficients coeffs = new FilterCoefficients(b, a); double[] pythonB = new double[] {47573.76605485}; double[] pythonA = new double[] {1.00000000e+00, 8.61750040e+00, 3.18380657e+02, 1.85266276e+03, 2.06532946e+04, 4.75737661e+04 }; coeffs.transformLowpassToLowpass(15.0); assertEquals(new FilterCoefficients(pythonB, pythonA), coeffs, 1e-3); }