📄 自适应滤波器.c
字号:
#include <type.h>
#include <board.h>
#include <codec.h>
#include <mcbsp54.h>
#include <stdio.h>
#include <math.h>
#define beta 0.01
#define N 21
#define NS 40
#define Fs 8000
#define pi 3.1415926
#define DESIRED 2*cos(2*pi*T*1000/Fs)
#define NOISE sin(2*pi*T*1000/Fs)
main()
{
long I,T;
double D,Y,E;
double W[N+1]={0.0};
double X[N+1]={0.0};
FILE*desired,*Y_out,*error;
desired=fopen("DESIRED","w++");
Y_out=fopen("Y_out","w++");
error=fopen("error","w++");
for(T=0;T<NS;T++)
{
X[0]=NOISE;
D=DESIRED;
Y=0;
for(I=0;I<=N;I++)
Y+=(W[I]*X[I]);
E=D-Y;
for(I=N;I>=0;I--)
{
W[I]=W[I]+(beta*E*X[I]);
if(I!=0)
X[I]=X[I-1];
}
fprintf(desired,"\n%10g %10f",(float)T/Fs,D);
fprintf(Y_out,"\n%10g %10f",(float)T/Fs,Y);
fprintf(error,"\n%10g %10f",(float)T/Fs,E);
}
fclose(desired);
fclose(Y_out);
fclose(error);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -