📄 dspcorrelation.txt
字号:
相关算法的应用很广,例如噪声中信号的检测,一个信号经过一段延迟后自身的相似性,信号中隐含周期性的检测,信号相关性的检验,信号时延长度的测量,滤除确定性信号中的随机干扰信号等等。相关函数还是描述随机信号的重要统计量。
利用CCS5000的集成开发平台,通过C语言对一正弦信号和一余弦信号进行了相关算法设计、编程和分析,然后将其置于CCS集成开发环境下,编译、调试、运行,分别在时域和频域情况下直观的观察了输入信号的图像和相关运算后的结果。
程序C语言程序清单
#include "math.h"
#define PI 3.1415927
#define Length 128 /*input array x,y length*/
#define Lengthcor 2*Length-1 /*ouput array r length*/
int i,k,j,mode;
double sum_real, t_real, temp_real;
double x_real[Length],y_real[Length];
double r_real[Lengthcor];
main()
{
k=0;
sum_real=0;
t_real=0;
temp_real=0;
/* when mode=1, result is biased estimate;
when mode=0, result is unbiased estimate*/
mode=1;
for(i=0; i<=Length-1; i++) /*Initialize*/
{
x_real[i]=0;
y_real[i]=0;
r_real[i]=0;
}
for(i=0; i<=Length-1; i++) /*Input x,y*/
{
x_real[i]=sin(2*PI*i/(Length-1));
y_real[i]=cos(2*PI*i/(Length-1));
}
for(k=0; k<=Length-1; k++) /* Caculation */
{
sum_real=0;
for(j=0; j<=Length-1-k; j++)
{
t_real=x_real[j+k]*y_real[j];
sum_real=sum_real+t_real;
}
if(mode==0)
{
r_real[Length-1-k]=sum_real/(Length-k);
}
else
{
r_real[Length-1-k]=sum_real/Length;
}
}
for(k=0; k<=Length-1; k++)
{
sum_real=0;
for(j=0; j<=Length-1-k; j++)
{
t_real=x_real[j]*y_real[j+k];
sum_real=sum_real+t_real;
}
if(mode==0)
{
r_real[Length-1+k]=sum_real/(Length-k);
}
else
{
r_real[Length-1+k]=sum_real/Length;
}
}
for (;;)
{
i=0; /* 在此处设断点 */
}
}
/***************************************************************
End of File
本实验为相关函数计算算法程序
x_real: 为输入信号,一正弦波信号,长度128,32位浮点型;
y_real: 为另一输入信号,程序中x_real=y_real,因此,计算自相关函数,
长度128,32位浮点型;可自行修改,如两信号不等,则为互相关函数;
r_real: 为相关函数计算结果,长度255,32位浮点型;
mode=1时,计算有偏估计;mode=0时,计算无偏估计。
****************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -