?? 自適應濾波器.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 + -