如何用C语言直接定义自相关函数?

Python032

如何用C语言直接定义自相关函数?,第1张

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、信号处理中,自相关可以提供关于重复事件的信息,例如音乐节拍(例如,确定节奏)或脉冲星的频率(虽然它不能告诉我们节拍的位置)。另外,它也可以用来估计乐音的音高。

参考资料来源:百度百科——相关函数

参考资料来源:百度百科——自相关函数