main()中r[m] = Autocorrelation(data[25],N)改
r[m] = Autocorrelation(data,N) 可解决语法错误
printf("%d\n",r[m])应改为
printf("%f\n",r[m])
因为float r[15]
#include<stdio.h>float data[25]={1,2,3,4,5,6,7,8,9,10,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8}
float r[15]
int N=10
int i,m
float Autocorrelation(float data[], int N)
{for (m=0m<5m++){r[m]=0}
for( m=0m<Nm++)for( i=1 i<=N i++)r[m]+= data[i] * data[i+m]
return r[N-1]}
void main()
{for(m=0m<5m++)
{r[m] = Autocorrelation(data,N)
printf("%f\n",r[m])}
getch()
}
1、相关函数是描述信号X(s),Y(t)(这两个信号可以是随机的,也可以是确定的)在任意两个不同时刻s、t的取值之间的相关程度。
2、自相关函数在不同的领域,定义不完全等效。在某些领域,自相关函数等同于自协方差(autocovariance)。自相关也叫序列相关,是一个信号于其自身在不同时间点的互相关。非正式地来说,它就是两次观察之间的相似度对它们之间的时间差的函数。
扩展资料
1、在信号处理中,相关函数的应用很广,主要有信号中隐含周期性的检测,确定未知参数的线性系统的频域响应,噪声中信号中的检测,噪声中信号的提取等
2、信号处理中,自相关可以提供关于重复事件的信息,例如音乐节拍(例如,确定节奏)或脉冲星的频率(虽然它不能告诉我们节拍的位置)。另外,它也可以用来估计乐音的音高。
参考资料来源:百度百科——相关函数
参考资料来源:百度百科——自相关函数