哈喽,之前的博文【第一个,第二个,第三个】我已经实现了CPP、Java版的stft,而且我也知道采用float类型有精度损失,今天试了下double,果然结果与python的stft结果基本没有差别。
实验数据是1~1024,做stft,结果误差如下:其中abserror是绝对误差,pererror是百分误差,就是percentage error
#test_java_arrays_py.py
real:abserror=0.001041,pererror=0.000000,stft.real=78462.351562,java_real=78462.352604
real:abserror=0.004427,pererror=0.000000,stft.real=137791.171875,java_real=137791.176302
imag:abserror=0.001719,pererror=0.000000,stft.imag=57851.957031,java_imag=57851.958750
real:abserror=0.014651,pererror=0.000000,stft.real=387427.312500,