?? 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 + -