时间:2022-06-26 04:56:34
摘要:Matlab是一种面向科学与工程的高级语言,本文结合工业自动控制系统的信号分析与处理,详细阐述典型LMS和RLS自适应算法原理并对其进行对比分析,运用simulink仿真功能对自适应信号噪声抵消系统进行仿真实现。
关键词:自适应噪声抵消;LMS;RLS;仿真
中图分类号:TP273 文献标识码:A文章编号:1007-9599 (2011) 16-0000-03
Signal Processing Simulation Study Based on Matlab
Li Xiaoling
(Guangdong Maoming Advanced Technical School,Maoming525000,China)
Abstract:Matlab is a high-level science and engineering-oriented language,this combination of industrial automatic control systems analysis and signal processing,typical detailed principles of LMS and RLS adaptive algorithm and its comparative analysis,using simulink simulation capabilities for self-signal noise canceling system to adapt the simulation to achieve.
Keywords:Adaptive noise cancellation;LMS;RLS;Simulation
信号分析与处理是科研生产中的重要环节,也是目前国内外出现的信号处理的研究课题。信号分析与处理,可以研究系统的稳定性,选择系统参数,验证系统的理论和算法。本课题研究的目的就是利用Matlab这个最优秀的科技软件,把计算机技术与信号分析紧密地结合起来,对信号进行分析处理仿真研究。
一、MATLAB语言与simulink仿真工具概述
MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。具有可移植性好、可扩展性极强等特点,是最为普遍的计算仿真工具之一。
Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它的存在使MATLAB的功能得到进一步扩展。Simulink仿真是交互式的,可以很随意地改变模型的参数并且马上就可以看到改变参数后的结果。Simulink会使你的计算机变成一个实验室,以用来对各种现实中不可能存在或现实中恰恰相反的系统进行建模和仿真。不管是汽车离合器的动作,飞机机翼的抖动,还货币供给对经济的影响等都可以进行建模和仿真。
二、自适应信号处理分类及基本原理
(一)信号滤波器的类别
自适应噪声滤波是指从信号被噪声干扰所淹没的环境中检测和提取有用信号,而自适应抵消是以噪声干扰为处理对象,将它们抑制掉或进行非常大的衰减,以提高信号传递和接收的信噪比质量。
自适应滤波处理技术可以用来检测平稳的和非平稳的随机信号。自适应数字系统具有很强的自学习、自跟踪能力和算法的简单易实现性,它在噪声信号的检测增强,噪声干扰的抵消,波形编码的线性预测,雷达声纳系统的阵列处理和波束形成,通信系统的自适应分割,以及未知系统的自适应参数辨识等方面获得了广泛的应用。例如,在工业生产过程中,由于生产环境的影响,许多静电或电磁场会对控制器输入给定信号造成干扰,产生信号噪声,导致操作精度下降甚至输入错误信号,加快执行机构的磨损,严重时造成生产事故,后果不堪设想,这就需要设计一个自适应信号处理系统来过滤噪声干扰。
进行信号处理仿真运用simulink模块库中的模块进行仿真建模,在计算机中对所设计的系统进行信号处理仿真,确定其噪声和信号源,模拟在实际生产中的可行性,在提出的问题中做出实时修改与完善系统,可以高效准确地完成系统建模设计,大大提高工作效率,这是现实设计无法比拟的。
(二)自适应滤波器组成原理
自适应滤波器通常由两部分组成,其一是滤波子系统,根据它所要处理的功能而往往有不同的结构形式。另一是自适应算法部分,用来调整滤波子系统结构的参数,或滤波系数。在自适应调整滤波系数的过程中,有不同的准则和算法。算法是指调节自适应滤波系数的步骤,以达到在所描述准则下的误差最小化。自适应滤波器含有两个过程,即自适应过程与滤波过程。前一过程的基本目标是调节滤波系数θ(k),使有意义的目标函数或代价函数F(•)最小化,滤波器输出信号y(n)逐步逼近所期望的参考信号d(n),由两者之间的估计误差e(n)驱动某种算法对滤波(权)系数进行调整,使滤波器处于最佳工作状态以实现滤波过程。但是,由于目标函数F(•)是输入信号x(k)、参考信号d(k)及输出信号y(k)的函数,即F(•)=F[x(k),d(k),y(k)],因此目标函数必须具有以下两个性质:
1.非负性:
2.最佳性:
(三)IIR滤波器仿真程序
例1:信号在传输过程中,由于受信道或环境干扰,在接受端得到的噪声环境下信号。请利用FFT函数对接受的噪声干扰信号进行分析,从而确定其信号频率。
t=0:1/199:1;
x=sin(2*pi*50*t)+1.2*randn(size(t));
y=fft(x);m=abs(y);
f=(0:length(y)-1)'*199/length(y);
figure(1);
subplot(2,1,1);
plot(t,x),grid on
title('信号检测')
ylabel('Input X'),xlabel('Time')
subplot(2,1,2),plot(f,m)
ylabel('Abs.Magnitude'),grid on
xlabel('Frequency(HZ)')
程序运行结果如下图所示:
例2:IIR数字滤波器数字滤波过程的程序例。
t=linspace(0,10,100); %定义时间轴
s=sin(2*pi/5*t);%原始信号
noise=.2*rand(size(t)); %定义噪声
x=s+noise;%带噪声的输入信号
y=zeros(size(x));
a=[1 -.9];
b=[.05 .06];
y=filter(b,a,x); %初始值为零的一阶IIR低通滤波器
plot(t,x,'b',t,y,'r')
title('一阶IIR低通滤波器')
程序运行结果,如下图所示:
三、自适应滤波系统simulink仿真实例
(一)运用simulink创建模型
如图7、图8所示:
图7:自适应RLS噪声抵消系统的simulink仿真建模
图8:自适应LMS噪声抵消系统的simulink仿真建模
四、自适应信号处理仿真分析
(一)RLS与LMS(滤波器信号源)
1、统一输入原始信号:2、采样信号:
(频率为:1,振幅为2)(采样时间为0.01s)
(二)RLS与LMS(滤波器噪声源)
1、输入干扰噪声:2、输入信号+干扰信号
(功率为:1,采样时间为:0.01s)
(三)RLS与LMS滤波器仿真结果
1、RLS滤波信号输出: 2、LMS滤波信号输出:
3、改变噪声功率(设置为5):
RLSLMS
4、改变LMS矢代步长为0.1(仿真时间为30s,便于观察收敛状态)。
1.LMS
原始信号
信号+噪声
滤波输出
2.RLS
原始信号
信号+噪声
滤波输出
(四)仿真结果分析
1.经过仿真比较,对于典型的RLS与LMS自适应滤波系统对正弦波(sine wave),方波(square wave)和锯齿波(saw tooth wave)输入均有较好的滤波效果。从滤波性能说,其中RLS比LMS更好些。
2.在仿真过程中对比两系统,如图7改变噪声功率大小对系统滤波效果没有影响。噪声采样时间设置与零阶保持器采样时间应相同。信号源幅值的改变不会影响滤波效果。而改变噪声发生随机的开始种子,会使得收敛前波形振幅发生改变,但该改变是随机的,滤波的效果不改变。
3.在仿真过程中对比两系统,改变噪声功率大小对系统滤波效果没有影响。信号源幅值的改变不会影响滤波效果。而改变噪声发生随机的开始种子,会使得收敛前波形振幅发生改变,但该改变是随机的,滤波的效果不改变。
总的说来,递归最小二乘RLS算法和最小均方LMS算法相比,RLS具有极佳的滤波准确性,收敛速度较快,性能稳定,滤波效果好。
五、结束语
通过对典型RLS与LMS信号(应器进行信号分析与处理仿真,结果表明,Matlab软件用于信号分析与处理是成功的。由此可见,Matlab软件广泛用于信号分析与处理具有很好实用效果和广泛的应用前景。
参考文献:
[1]陈桂明,张明照,戚红雨,张宝俊."matlab"建摸与仿真[M].科学出版社
[2]王沫然.simulink4建摸及动态仿真[M].电子工业出版社
[3]楼顺天,李博菡.基于matlab的系统分析与设计[M].西安电子科技大学出版社