gpt4 book ai didi

c++ - 解释 C++ 自相关代码

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:20 26 4
gpt4 key购买 nike

我找到了这个自相关代码,但我根本不知道什么是“float_vec_t”,例如。是上课还是什么? (我正在尝试将其翻译成我熟悉的 Action-script 或 JavaScript)

class LPCAnalysis{
public:
float_vec_t LPCAnalysis::autoCorrelation(const float_vec_t &x);

};


/* Calculate the (UN-normalized) autocorrelation for a frame of a
signal */

float_vec_t LPCAnalysis::autoCorrelation(const float_vec_t &x)
{
short order=x.size();

float_vec_t R(order);
float sum;
int i,j;

for (i=0;i<order;i++) {
sum=0;
for (j=0;j<order-i;j++) {
sum+=x[j]*x[j+i];
}
R[i]=sum;
}
return R;
}

下面是我目前的进度:

function LPCAnalysis (x:Array) {

var order:int = x.length

var R:Array= []
var sum:Number
var i:int
var j:int

for (i=0;i<order;i++) {
sum = 0
for (j=0;j<order-i;j++) {
sum+=x[j]*x[j+i]
}
R[i] = sum
}
return R

}

此外,如何从数组 R 中提取最终频率? (如果 R 是数组)。我应该给函数的参数是什么? FFT 结果,麦克风信号?

最佳答案

您需要找到 float_vec_t 的声明确定是什么(虽然我想它是 std::vector<float> )。尝试对源代码进行全局搜索以找到它的声明位置。

至于“提取频率”;自相关不会直接给你频率。您需要对 R 执行 FFT (这将为您提供功率谱密度),然后搜索峰值。实际上,您可能还需要一些其他处理,例如在执行所有这些操作之前对您的数据应用窗口函数

关于c++ - 解释 C++ 自相关代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com