@Override
  public void validate(UDFParameterValidator validator) throws Exception {
    validator
        .validateInputSeriesNumber(2)
        .validateInputSeriesDataType(0, Type.DOUBLE, Type.FLOAT, Type.INT32, Type.INT64)
        .validate(
            x -> (long) x > 0,
            "interval should be a time period whose unit is ms, s, m, h, d.",
            Util.parseTime(
                validator.getParameters().getStringOrDefault("interval", "1s"),
                validator.getParameters()));
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    if (validator.getParameters().hasAttribute(START_PARAM)) {
      validator.validate(
          x -> (long) x > 0,
          "start should conform to the format yyyy-MM-dd HH:mm:ss.",
          format.parse(validator.getParameters().getString(START_PARAM)).getTime());
    }
  }
This function does Inverse Fast Fourier Transform for input series.
library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIFFT.java