- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP原理与应用 实验八
实验八 自适应滤波算法的DSP实现(C语言)
1.掌握自适应数字滤波器的原理。
2.掌握 LMS 自适应滤波的DSP实现。
二、实验环境
1.奔腾IV计算机
2.Code Composer Studio (CCS)软件
三、实验原理
1.自适应滤波简介
自适应滤波理论与技术是现代信号处理技术的重要组成部分,它能自动调节数字滤波器的系数,以适应信号变化的特性,从而达到最佳滤波。由于自适应滤波不需要关于输入信号的先验知识,计算量小,特别适用于实时处理,近年来得到广泛应用,如用于:脑电图和心电图测量、噪声抵消、扩频通信及数字电话等。
自适应滤波算法的特点:经典滤波器(如低通、高通滤波器等)仅能在信号频带和噪声干扰频带不相重叠时进行消噪处理,若信号中含有随机噪声 (如:高斯白噪声,见图8-1),就不能采用经典滤波器去除噪声。而自适应滤波可用于消除信号中的随机噪声。
图8-1 高斯白噪声
2.LMS自适应滤波算法
自适应滤波器如图8-2所示,输入x(n)加权到数字滤波器产生输出信号y(n),自适应算法调节滤波器权系数w(n),使y(n)和滤波器期望的响应d(n)之间的误差信号e(n)的平方和为最小。滤波器结构可采用图8-3所示的横向滤波器结构。滤波器输出y(n)可表示为:
(8-1)
其中,X(n)=[x(n),x(n-1),…,x(n-N+1)]T输入向量;N滤波器阶数;
W(n)=[w0(n),w1(n),…,w-1(n)] T 权系数向量。
自适应算法众多,采用其中最常用的LMS(最小均方误差)算法,该算法由n)与y(n)之差e (n)的平方值的期望:
E[e2(n)]=E[(d(n)-y(n))2] (8-2)
最小,并据此修改权系数w(n),则权系数迭代公式为:
W(k,n+1)=W(k,n)+2μe(n)X(n-k) (8-3)
8-2 自适应滤波器 图8-3 横向滤波器结构
四、实验内容
(一)信号x(n)是含有随机噪声的正弦信号,利用CCS中的dsplib库编程LMS自适应滤波算法消除x(n)中的随机噪声。#define NX 256 %输入数据的点数
#define NH 12 %自适应滤波器阶数
#define STEP 0x1000 % STEP=2*μ
#include c54lms.h %自适应
滤波头文件
#include test.dat %输入数据文件
void main()
{
int i;
for (i=0;iNH;i++) h[i] =0; /* 权系数矩阵h*/
for (i=0;iNX;i++) r[i] =0; /*输出矩阵r*/
for (i=0; iNH; i++) dbuffer[i] = 0; /*数据缓冲区*/
oflag = dlms(x,h,r,dp,des,STEP, NH, NX); /*自适应滤波消噪*/
for(;;){};
}
%2.链接命令文件:test.cmd
-c
-l rts.lib
-l c54lms.lib
-stack 0x200
-heap 0x200
MEMORY
{
PAGE 0:
INT_PM_DRAM: origin = 0080h, length = 1380h
EXT_PM_RAM: origin = 1400h, length = 0ec00h
PAGE 1:
INT_DM_SCRATCH_PAD_DRAM: origin = 0060h, length = 20h
INT_DM_1: origin = 0080h, length = 01380h
EXT_DM_RAM: origin = 1400h, length = 0ec00h
}
SECTIONS
{
.text :
文档评论(0)