📄 dataprocess.c
字号:
/*
DataProcess.c
void adapt_filter();
*/
#include "DSP28_Device.h"
void adapt_filter(float* source,float* result,int SampleNum,int TotalNum)
{
int i,k=5;
float u=0.0005; //收敛因子
float Ref_Signal1,Ref_Signal2,Ref_Signal3,Ref_Signal4, err;
float w1_now,w1_past,w2_now,w2_past,w3_now,w3_past,w4_now,w4_past; //权值系数
w1_now=0.2;
w2_now=0.1;
w3_now=0.05;
w4_now=0.02;
for(i=0;i<TotalNum;i++)
{
Ref_Signal1=k*sin(3.14159/SampleNum*(i));
Ref_Signal2=k*sin(3.14159/SampleNum*(i)+0.7);
Ref_Signal3=k*sin(3.14159/SampleNum*(i)+1.4);
Ref_Signal4=k*sin(3.14159/SampleNum*(i)+2.2);
w1_past=w1_now;
w2_past=w2_now;
w3_past=w3_now;
w4_past=w4_now;
result[i]=w1_now*Ref_Signal1+w2_now*Ref_Signal2+w3_now*Ref_Signal3+w4_now*Ref_Signal4;
err=source[i]-result[i];
w1_now=w1_past+2*u*err*Ref_Signal1;
w2_now=w2_past+2*u*err*Ref_Signal2;
w3_now=w3_past+2*u*err*Ref_Signal3;
w4_now=w4_past+2*u*err*Ref_Signal4;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -