步骤1:导入maven依赖库
<!-- fft依赖库 -->
<dependency>
<groupId>com.github.rwl</groupId>
<artifactId>jtransforms</artifactId>
<version>2.4.0</version>
</dependency>
步骤2:根据实时数据double数组解析fft数组
double[] fftDouble = null;
if(srcData != null && !"".equals(srcData)){
String[] aryStr = srcData.split(","); //实时数据double数组
if(aryStr.length > 25600){
double[] ffts = new double[32768]; //32768是2的倍数
for (int i = 0; i < ffts.length; i++) {
if(i >= 25600){ ffts[i] = 0.0; } //不够数需要补0.0
else{ ffts[i] = Double.parseDouble(aryStr[i]); }
}
FastFourierTransformer fft = new FastFourierTransformer(DftNormalization.STANDARD);
org.apache.commons.math3.complex.Complex[] result = fft.transform(ffts, TransformType.FORWARD);
for (int i = 0; i < result.length; i++) {
ffts[i] = result[i].abs() / 12800 ; //fft数据放大处理
}
//得到fft数组
fftDouble = ffts;
}
}