基于GUI的自适应滤波器仿真平台设计(无全文)

作者:王丽 刊名:软件导刊 上传者:

抱歉,该篇全文还没有人上传哦!我要 上传, 我要 求助

【摘要】自适应滤波器在数字信号处理中应用广泛。利用GUI设计了基于LMS算法的自适应滤波器仿真平台。该平台对抽象的自适应滤波仿真进行简明直观的动态展示,经过测试,性能良好可靠。滤波器设置参数改变方便,便于工程技术人员开发,在现代信号处理领域有一定的使用价值。

全文阅读

0引言自适应滤波是为适应信号和噪声在未知情况下的不确定变化特性,根据前期获得的参数,灵活调节目前的滤波器参数和指标,以获得更好的滤波效果。自适应滤波器主要应用领域有回声消除、系统辨识、通信系统中的自适应均衡、自适应波束的形成及消除心电图中的电源干扰等[1]。在这些领域实际应用中,信号和噪声的统计特性无法预知,且随时间不断变化。通过灵活调节滤波器参数,可以更好地优化滤波效果,克服固定参数滤波器的缺点和不足[2]。本文采用Matlab中的GUI工具,设计了基于LMS算法的自适应滤波器仿真平台。通过与传统的维纳滤波器对比,滤波效果明显提高,使用者实时调节参数更方便。1自适应滤波器原理闭环的自适应滤波器一般分为两大部分:可编程滤波器和自适应算法,如图1所示。可编程滤波器参数是可以变化的,通过自动调节参数能逐步估计出滤波器输入信号和噪声的统计特性,并可根据估计的统计特性进行参数调节,达到更好的滤波效果和输入信号波形[3]。如图1所示,滤波器在某一时刻的输入信号为x(n),通过可编程的数字滤波器后,在同一时刻的输出信号为y(n),d(n)为期望的滤波输出信号,e(n)为由于y(n)与d(n)的不同而导致的误差信号。闭环的自适应滤波器通过将滤波器输出的误差信号e(n)作为反馈,利用不同的自适应算法,对滤波器参数进行适当调整,最终使得e(n)的均方值最小。图1闭环自适应滤波器组成原理2LMS算法的自适应滤波器仿真在自适应滤波器设计过程中,自适应滤波算法是最重要的组成部分,LMS算法是基于最小均方误差准则的自适应滤波算法,具有计算简单、性能稳定、应用方便等优点。LMS算法需要的参数为输入信号x(n)、期望输出信号d(n)、滤波器的权值向量w(n)、迭代步长L和误差信号e(n),它们之间满足下面的表达式[4]:y(n)=w(n-1)*x(n)(1)e(n)=d(n)-y(n)(2)w(n)=w(n-1)+2*L*e(n)*x(n)(3)利用LMS算法进行自适应滤波器仿真,初值参数为:滤波器长度100、迭代步长0.002、采样个数1024;期望信号d=2sin(0.04*pi*t);滤波器的输入信号为期望信号叠加均值为0的高斯白噪声:x=awgn(d,5),5为信噪比,信号波形如图2所示。将加噪声信号分别通过固定系数维纳滤波器和自适应滤波器,滤波后的输出波形如图3所示。根据图2对比期望信号与维纳滤波输出信号、LMS滤波输出信号,很容易看出自适应滤波的LMS算法滤波效果明显优于维纳滤波效果。但是LMS算法是在初始化值的基础上逐步调整得到的。因此,在系统稳定前有一个调整时间,此时间受迭代步长L控制,在一定取值范围内,L增大调整时间会减小,但超过此取值范围时系统不再收敛[4-5]。图4为迭代步长分别为0.001和0.004时的滤波器输出信号和误差信号。图2滤波器的输入信号和期望信号图3LMS滤波输出信号与Weiner滤波输出信号3基于GUI的自适应滤波器仿真平台设计GUI(GraphicalUserInterface),图形用户界面,如很多高级编程语言一样,Matlab也有图形用户界面开发环境[6-7]。从M文件或命令行中调取程序,相对比较繁琐。如果要反复使用各种滤波方法,并根据实际滤波器输入信号设定不同的参数,例如采样点数、滤波器长度、LMS算法需要迭代步长等,图形化用户界面是最好的选择之一。自适应滤波仿真界面用GUI设计,包括:1仿真界面设计:根据自适应滤波结构和功能对所需要的各个控件进行选择和布局;2对控件的标识、颜色、字体等属性进行设置;3编写程序代码。其中最关键的

参考文献

引证文献

问答

我要提问