1 / 6
文档名称:

自适应滤波算法.docx

格式:docx   大小:124KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

自适应滤波算法.docx

上传人:niupai11 2022/7/22 文件大小:124 KB

下载得到文件列表

自适应滤波算法.docx

文档介绍

文档介绍:基于LMS自适应滤波算法实现

滤波是当今信息处理领域的一种极其重要的技术。滤波是从复杂的信号中提取有用的信 号,同时抑制噪声和干扰信号,以便有效地利用原始信号。滤波器实际上是一种选频系统, 它对某些频率的信号予以很小的衰减,使(n)和d(n)平稳且二阶统计特性已知。
xx xd
要准确估计梯度需要大量计算和存储器,由于可用数据采样的数目有限,因此这种估计经常

是不准确的,在最陡下降法的公式中用梯度估计V(n)代替梯度V (n),从而得到:
03 (D
w(n +1) = w(n) -yVjn) (8)
A A 厂 _
LMS算法用如下的梯度估计值V。8 =V“ E e(n)2 =V e(n)2,它用瞬时平方误差性 能函数e(n)2代替均方误差性能函数8二E e(n)2 ,由此得到 w( n 1尹w (n-) V 2,再将式(3)代入其中可得:

V e(n)2 = -2e(n)*x(n) (9)

故 w(n +1) = w (n) + 2卩 e(n)* x(n) (10)
i
这一算法也叫做随机梯度算法,在实际中常数2卩通常用卩来代替,由于LMS算法没
有交叉项,因此向量方程可用标量形式表示如下:
w (n +1) = w (n) + 2ye(n)*x(n - i),i = 0,1,..., M — 1 (11)
ii
图 2 LMS 算法框图
采用 LMS 算法 FIR 的自适应滤波器可由式(11)描述。 滤波器的 LMS 算法用方框
表示如图2所示,每一输入支路有一个独立的控制电路,其输入为误差信号e(n)和相应的
输入延迟信号x (n),而输出为加权系数w (n)。将滤波器的输出y(n)与期望信号d(n)进 ii
行比较,以获得误差信号e(n),由于通过误差信号e(n)与输出y(n)联系起来,因而自适应 控制是闭环的。

#include ""
#include ""
#define PI
#define M 300
#define f 80
#define fs 8000
#define MEAN
#define SIGMA
double gauss(double mean,double sigma,long int *s);
void lms(double x[],double d[],double y[],int n,double w[],int m,double mu);
main()
{
int i,m;
long seed;
double mu;
static double d[501],x[501],y[501],w[50];
FILE *fp;
seed = 72553; for(i=0;i<M;i++)
{
d[i] = sin(2*PI*i*f/fs);
}
fp = fopen("","w"); for(i=0;i<M;i++)
fprintf(fp,"%lf\n",d[i]);
fclose(fp);
for(i=0;i<M;i++)
{
d[i] += gauss(MEAN,SIGMA,&seed