【发布时间】:2013-05-15 07:46:07
【问题描述】:
我需要比较两个音频信号,signal1 和 signal2。 Signal1 是白噪声。信号 2 与信号 1 是相同的信号,具有用于切割或衰减某些频率的特定均衡。 如何获得频域中两个音频信号的比率? (例如:在 100Hz 的频率下,信号 2 与信号 1 相比衰减了 50%)。 我需要这些信息来处理第三个信号,方法是应用应用于信号 2 中的变换信号 1 的相同均衡。
我使用this library 处理我的数据并从时域传递到频域。此代码对于信号 1 和信号 2 是相同的。
DoubleFFT_1D fft1 = new DoubleFFT_1D (FFT_SIZE);
double[] input1 = new double[FFT_SIZE];
double[] fftBuff1 = new double[FFT_SIZE * 2];
this.wavFileDoubleInputStreamMic.read(input1, 0, FFT_SIZE);
for (int i = 0; i < FFT_SIZE; i++){
fftBuff1[2*i] = input1[i];
fftBuff1[2*i+1] = 0;
}
fft1.complexForward(fftBuff1);
如何使用 FFT 结果(来自信号 1 和信号 2)来实现我的目标?
【问题讨论】:
-
为什么要对第三个信号做同样的均衡?
-
我需要用相同的均衡来转换第三个信号,而对均衡本身没有先验知识。这只是一个实验
标签: java signal-processing fft