matlab平滑算法
‘壹’ matlab对图片曲线平滑处理,除了用低通滤波器,还有什么简单的算法
可以试一下平均平滑滤波。
‘贰’ 用Matlab软件实现变长NLMS自适应滤波器算法
一种具有双瞬变因子的LMS自适应滤波算法
曾召华 刘贵忠 马社祥
(西安交通大学信息与通信工程研究所 西安710049)
作者在文献〔4〕中提出了一种改进的瞬变步长SPLMS自适应滤波算法。本文在SPLMS算法的基础上,进一步提出一种基于瞬变步长、瞬变平滑因子的双瞬变SPLMS算法—DSPLMS算法。该算法除具有常规LMS算法简单的优点外,还具有更高的起始收敛速率、更小的权失调噪声和更大的抑噪能力。文中重点讨论瞬变步长、瞬变平滑因子的变化特性。计算机仿真结果支持了理论分析。
自适应滤波器,失调噪声,收敛速度,最小均方误差,瞬变因子
1 引言
自适应滤波器及其相应算法是多年来人们广泛研究的课题。基于Widrow-Hoff标准的LMS算法和其相应的自适应滤波器以其算法和结构简单,便于实时信号处理等优点,在不同领域得到了最为广泛的应用。而为克服常规的固定步长LMS或牛顿LMS(Newton LMS,即NLMS)自适应算法在收敛速率、跟踪速率与权失调噪声之间要求上存在的较大矛盾,人们发展了各种各样的改进型LMS算法,如基于瞬变步长LMS自适应滤波算法〔1~6〕、基于正交变换(DCT、FFT、小波变换、子带滤波)的新型LMS均衡算法〔7~8〕。基于模糊判断的自适应LMS系统识别和基于最小四次均方误差的LMS自适应平稳收敛算法〔9~10〕。在所有改进型LMS算法中,瞬变步长LMS自适应滤波算法是研究最为广泛的一类LMS自适应滤波算法。本文算法也是基于瞬变因子的一种改进LMS自适应滤波算法。
2 SPLMS算法分析及问题的提出
在文献〔4〕中,作者对上述方案进行了大量的计算机仿真和理论分析,结果表明:(1)上述诸种算法的收敛速率与系统输入信噪比SNR直接相关,信噪比SNR越高,它们的收敛速率普遍提高;随着信噪比SNR的降低,它们的收敛速率减慢,甚至出现发散现象,因此它们必须在弱干扰下完成规一化起动,即在起始过程中噪声要相当小,否则效果不佳。(2)在上述所有算法中,由于采用瞬时平方误差性能函数e2k来代替均方误差性能函数,所以其算法的权值收敛过程表现为加权矢量的平均值变化规律和由于噪声引起的随机起伏项的叠加。因此,噪声方差越大,则随机起伏项越大,表现为权值振动也就越大。(3)为了追求更快的收敛性,往往增大μ和M,但滤波器阶数越高,步长因子μ和输入功率越大,就便得失调系数也越大。在有限次数起动迭代过程中,也就很难收敛到较稳态值,所以必须寻求更佳的瞬态步长算法。
文献〔4〕在准最小均方(Pseudo-LMS,即PLMS)误差算法基础上通过采用滑动时间窗,减少PLMS算法起动过程的计算量;同时在权值迭代中加一平滑迭代而使PLMS算法具备全局较强的抗噪性能,较快速收敛性能而提出了SPLMS算法,即:
其中rk为M阶滤波器输入信号的功率估值;Wk为滤波器的第k步M维最优权矢量估值;Xk是滤波器输入信号的M维输入数据矢量;dk为希望输出;μk为滤波器第k步瞬态步长。切换条件中,阈值μ类似于LMS算法的步长因子μL,满足:
μL<μ<1/trR,R=E〔XkXTk〕(7)
为待定的算法常数,是μk变化的动态平衡点。而α是一常数为平滑因子,它决定上一次的权值变化对本次权值更新的影响程度。k0是采用式(2)规一化启动后,算法收敛到较稳态时的步数。式(4)是μk下降的递推算法,式(5)是μk上升的平滑递推算法。λ为上升的速度因子,满足0<λ<1。在实际应用中,考虑到学习过程的启动速度,一般取较大的λ值,即:
0.9<λ<1,k0=25~35,|α|<0.3(8)
SPLMS算法的实质是:在开始k0步中,采用启动速度较快的MLMS(Mend LMS)算法收敛到相对较稳态的状态;然后在k≥k0+1过程中,采用瞬态步长μk来训练算法。而μk根据不同的切换条件将围绕μ作升降变化,其迭代计算主要表现为不降即升的动态过程。α主要根据经验来取值,输入数据的非平稳性越大,噪声方差越大时,增大α可明显抑制振动,从而加速收敛过程;在噪声小时减小α。
但SPLMS算法也有一明显不足,即α主要根据经验来取值,没有理论上的确切依据。α取值不当,反而容易造成算法收敛性能更差,甚至发散的现象。从理论上分析,α与瞬态步长μk和输出误差ek(文中定义为:ek=dk-WTk Xk)应有一定关系。在算法启动阶段,ek较大,为追求启动速度而常取较大步长μk,但μk越大,权失调系数也就越大,有时反而起不到应有的作用,这时就应相应增加α值来平滑权失调噪声;在算法渐趋稳定,步长μk渐趋于常数,ek渐趋于0,此时α也应渐趋于0。综合起来就是:α应随步长μk和误差ek瞬时变化而变化,也应是一瞬变因子。本文重点就是寻求瞬变因子αk的数学表达式以满足上述分析的要求。
3 改进的双瞬变因子SPLMS算法——DSPLMS算法
3.1 μk的变化特性
从式(4)和式(5)可以看出,在k≥k0+1过程中,μk根据不同的切换条件将围绕μ作升降变化,μk的迭 代计算主要表现为不降即升的动态过程。对于式(5),设k≥kr时,μk<μ,则在k≥kr>k0+1的上升过程中:
即上升速度按指数衰减,使趋于平衡点μ的上升速度迅速减小。其变化过程类似于一电阻电容串联电路上电容的充电过程。对式(4),由于μk=μk-1/(1+Rk),Rk>0,即使很小的Rk经过一步迭代就足以使μk<μ,再次切换到上升过程。当rk较大时,下降形成的负脉冲也较大。
综上所述,在k≥k0+1的收敛过程中,μk的时变特性等价于幅值极不对称的随机正负尖脉冲序列组成的瞬态分量和直流分量μ的线性叠加。瞬态分量的负脉冲强度与rk瞬值对应,有利于抑制局部自激或短暂发散,减小权矢量噪声,提高稳定度。在rk较小、算法渐趋于稳定时,瞬变分量趋于0,μk~μ。
3.2 αk的变化特性
定义:ΔWk=Wk+1-Wk为自适应滤波器的权系数增量;ξ为均方误差性能函数,ξ=E〔ek〕2,ek=dk-WTk Xk为输出误差,则SPLMS算法的权系数更新公式由式(1)可重写为:
Wk+1=Wk-μk^Wξk+αΔWk-1(10)
其中Wξ为ξ的梯度函数,^W为Wξ的第k步估计。由式(10)的系数更新公式,我们可写出均方误差性能函数的表达式:
式中上标T表示矢量的转置。若用一矢量^Wζk+1去左乘式(10),则可得到:
^Wξk+1Wk+1=^Wζk+1Wk-μk^Wζk+1^Wζk+^Wζk+1αΔWk-1(13)
利用式(12)的结论,可将式(13)化简为:
^TWζk+1ΔWk=0(14)
由于参量μk和α均为实的标量因子,故式(14)又可写成:
(μk^TWζk+1)(αΔWk)=0(15)
式(15)清楚地表明:在SPLMS算法中,自适应滤波器的权系数在迭代过程中,其均方误差性能函数的梯度估值与权系数增量始终存在一个正交关系。ΔWk-1对ΔWk的调节作用是在当前梯度估值方向上,给出与梯度估值方向正交矢量,并以这两个矢量所构成的合矢量来改变权系数空间的权重。
对于FIR结构的LMS自适应系统而言,其均方误差性能函数在平稳输入时为一个二次型函数,在收敛点附近仍可视为一个二次型函数,故有:
ξ(Wk+1)=WTk RWk-2WTk P+C(16)
式中R=E〔XTk Xk〕为输入信号的自相关矩阵,P=E〔dkXk〕为所需信号与输入信号的互相关矢量,C=E〔d2k〕,则由式(16)可得:
将式(17)代入式(18),则式(18)可变形为:
式(19)就是本文给出的瞬变平滑因子αk的数学表达式。显然,它满足前面分析时所提出的要求,且在算法达到稳态收敛时,满足:
limk→∞αk=0(20)
3.3 改进的双瞬变SPLMS算法——DSPLMS算法
用式(19)中αk的表达式替换式(1)中的α,就得到本文提出的具有双瞬变因子的LMS算法——DSPLMS算法,即
Wk+1=Wk+2μk(dk-WTk Xk)Xk+αk(Wk-Wk-1)(21)
μk=λ/(1+2λrk),0≤k≤k0(22)
由式(19)、(20)可知,αk是一个与μk成正比且具有衰减性的瞬变因子,从而使本文提出的DSPLMS算法比SPLMS算法更能快速稳定收敛;与常规LMS算法相比,其性能有极大的提高,为实时信号处理提供了一个较好的算法。
4 计算机仿真
仿真实验的结构如图1所示,其中dk为随机输入信号,nk为高斯白噪声,ek为输出误差,xk为自适应滤波器的输入,yk为滤波器输出,此时xk=dk+nk。
在图2中,dk是均值为0、方差为1的高斯白噪声;nk是与dk不相关的均值为0、方差为1的高斯白噪声;滤波器参数:M=32,λ=0.9,μL=0.005,μ=0.01,α=0.1。在图3中,nk为均值为0、方差为0.1的高斯白噪声,其它参数同图2。图2、3为分别采用LMS、SPLMS和DSPLMS算法进行滤波的学习曲线比较图。
从图2(强干扰启动)和图3(较弱干扰启动)中可以看出:在强干扰下,DSPL MS 具有比SPLMS好、比LMS好得多的启动速度和收敛速度;而在弱干扰下,DSPLMS仍具有比SPLMS快、比LMS快得多的启动速度。从图中同时还可看出:DSPLMS与SPLM S具有几乎相同的收敛速度,它们的收敛速度比LMS快得多。
5 结语
加进瞬变平滑项的规一化起动,使DSPLMS具有更高的起始收敛速度、更小的权失调噪声和更大的抑噪能力;在平稳连接之后的稳态过程中,该算法趋于步长为μ的LMS算法性能,但由于瞬变分量负脉冲的作用,在相近的权失调量下可按式(7)取较大的μ值,增强算法对时变参数过程的跟踪处理能力;输入数据的非平稳性越大,噪声方差越大时,加进的瞬变平滑项使权失调噪声减小,从而使本文提出的DSPLMS算法比SPLMS算法更能快速稳定地收敛;与常规LMS算法相比,其性能有极大的提高,可以明显抑制振动,从而加速收敛过程。
网址:
‘叁’ MATLAB建模方法有哪些
首先,Matlab是一个工具,它不是一个方法。
其次,我给你推荐一本书
《MATLAB 在数学建模中的应用(第2版)》
然后它的目录可以回答你的问题:
第1章 数学建模常规方法及其MATLAB实现
1.1 MATLAB与数据文件的交互
1.1.1 MATLAB与Excel的交互
1.1.2 MATLAB与TXT交互
1.1.3 MATLAB界面导入数据的方法
1.2 数据拟合方法
1.2.1 多项式拟合
1.2.2 指定函数拟合
1.2.3 曲线拟合工具箱
1.3 数据拟合应用实例
1.3.1 人口预测模型
1.3.2 薄膜渗透率的测定
1.4 数据的可视化
1.4.1 地形地貌图形的绘制
1.4.2 车灯光源投影区域的绘制(CUMCM2002A)
1.5 层次分析法(AHP)
1.5.1 层次分析法的应用场景
1.5.2 AHPMATLAB程序设计
第2章 规划问题的MATLAB求解
2.1 线性规划
2.1.1 线性规划的实例与定义
2.1.2 线性规划的MATLAB标准形式
2.1.3 线性规划问题解的概念
2.1.4 求解线性规划的MATLAB解法
2.2 非线性规划
2.2.1 非线性规划的实例与定义
2.2.2 非线性规划的MATLAB解法
2.2.3 二次规划
2.3 整数规划
2.3.1 整数规划的定义
2.3.2 01整数规划
2.3.3 随机取样计算法
第3章 数据建模及MATLAB实现
3.1 云模型
3.1.1 云模型基础知识
3.1.2 云模型的MATLAB程序设计
3.2 Logistic回归
3.2.1 Logistic模型
3.2.2 Logistic回归MATLAB程序设计
3.3 主成分分析
3.3.1 PCA基本思想
3.3.2 PCA步骤
3.3.3 主成分分析MATLAB程序设计
3.4 支持向量机(SVM)
3.4.1 SVM基本思想
3.4.2 理论基础
3.4.3 支持向量机MATLAB程序设计
3.5 K均值(KMeans)
3.5.1 KMeans原理、步骤和特点
3.5.2 KMeans聚类MATLAB程序设计
3.6 朴素贝叶斯判别法
3.6.1 朴素贝叶斯判别模型
3.6.2 朴素贝叶斯判别法MATLAB设计
3.7 数据建模综合应用
参考文献
第4章 灰色预测及其MATLAB实现
4.1 灰色系统基本理论
4.1.1 灰色关联度矩阵
4.1.2 经典灰色模型GM(1,1)
4.1.3 灰色Verhulst模型
4.2 灰色系统的程序设计
4.2.1 灰色关联度矩阵的程序设计
4.2.2 GM(1,1)的程序设计
4.2.3 灰色Verhulst模型的程序设计
4.3 灰色预测的MATLAB程序
4.3.1 典型程序结构
4.3.2 灰色预测程序说明
4.4 灰色预测应用实例
4.4.1 实例一长江水质的预测(CUMCM2005A)
4.4.2 实例二预测与会代表人数(CUMCM2009D)
4.5 小结
参考文献
第5章 遗传算法及其MATLAB实现
5.1 遗传算法基本原理
5.1.1 人工智能算法概述
5.1.2 遗传算法生物学基础
5.1.3 遗传算法的实现步骤
5.1.4 遗传算法的拓展
5.2 遗传算法的MATLAB程序设计
5.2.1 程序设计流程及参数选取
5.2.2 MATLAB遗传算法工具箱
5.3 遗传算法应用案例
5.3.1 案例一:无约束目标函数最大值遗传算法求解策略
5.3.2 案例二:CUMCM中多约束非线性规划问题的求解
5.3.3 案例三:BEATbx遗传算法工具箱的应用——电子商务中转化率影响因素研究
参考文献
第6章 模拟退火算法及其MATLAB实现
6.1 算法的基本理论
6.1.1 算法概述
6.1.2 基本思想
6.1.3 其他一些参数的说明
6.1.4 算法基本步骤
6.1.5 几点说明
6.2 算法的MATLAB实现
6.2.1 算法设计步骤
6.2.2 典型程序结构
6.3 应用实例:背包问题的求解
6.3.1 问题的描述
6.3.2 问题的求解
6.4 模拟退火程序包ASA简介
6.4.1 ASA的优化实例
6.4.2 ASA的编译
6.4.3 MATLAB版ASA的安装与使用
6.5 小结
6.6 延伸阅读
参考文献
第7章 人工神经网络及其MATLAB实现
7.1 人工神经网络基本理论
7.1.1 人工神经网络模型拓扑结构
7.1.2 常用激励函数
7.1.3 常见神经网络理论
7.2 BP神经网络的结构设计
7.2.1 鲨鱼嗅闻血腥味与BP神经网络训练
7.2.2 透视神经网络的学习步骤
7.2.3 BP神经网络的动态拟合过程
7.3 RBF神经网络的结构设计
7.3.1 梯度训练法RBF神经网络的结构设计
7.3.2 RBF神经网络的性能
7.4 应用实例
7.4.1 基于MATLAB源程序公路运量预测
7.4.2 基于MATLAB工具箱公路运量预测
7.4.3 艾滋病治疗最佳停药时间的确定(CUMCM2006B)
7.4.4 RBF神经网络预测新客户流失概率
7.5 延伸阅读
7.5.1 从金融分析中的小数定理谈神经网络的训练样本遴选规则
7.5.2 小议BP神经网络的衍生机理
参考文献
第8章粒子群算法及其MATLAB实现
8.1 PSO算法相关知识
8.1.1 初识PSO算法
8.1.2 PSO算法的基本理论
8.1.3 PSO算法的约束优化
8.1.4 PSO算法的优缺点
8.2 PSO算法程序设计
8.2.1 程序设计流程
8.2.2 PSO算法的参数选取
8.2.3 PSO算法MATLAB源程序范例
8.3 应用案例:基于PSO算法和BP算法训练神经网络
8.3.1 如何评价网络的性能
8.3.2 BP算法能够搜索到极值的原理
8.3.3 PSOBP神经网络的设计指导原则
8.3.4 PSO算法优化神经网络结构
8.3.5 PSOBP神经网络的实现
参考文献
第9章 蚁群算法及其MATLAB实现
9.1 蚁群算法原理
9.1.1 蚁群算法基本思想
9.1.2 蚁群算法数学模型
9.1.3 蚁群算法流程
9.2 蚁群算法的MATLAB实现
9.2.1 实例背景
9.2.2 算法设计步骤
9.2.3 MATLAB程序实现
9.2.4 程序执行结果与分析
9.3 算法关键参数的设定
9.3.1 参数设定的准则
9.3.2 蚂蚁数量
9.3.3 信息素因子
9.3.4 启发函数因子
9.3.5 信息素挥发因子
9.3.6 信息素常数
9.3.7 最大迭代次数
9.3.8 组合参数设计策略
9.4 应用实例:最佳旅游方案(苏北赛2011B)
9.4.1 问题描述
9.4.2 问题的求解和结果
9.5 本章小结
参考文献
第10章 小波分析及其MATLAB实现
10.1 小波分析基本理论
10.1.1 傅里叶变换的局限性
10.1.2 伸缩平移和小波变换
10.1.3 小波变换入门和多尺度分析
10.1.4 小波窗函数自适应分析
10.2 小波分析MATLAB程序设计
10.2.1 小波分析工具箱函数指令
10.2.2 小波分析程序设计综合案例
10.3 小波分析应用案例
10.3.1 案例一:融合拓扑结构的小波神经网络
10.3.2 案例二:血管重建引出的图像数字水印
参考文献
第11章 计算机虚拟及其MATLAB实现
11.1 计算机虚拟基本知识
11.1.1 从3G移动互联网协议WCDMA谈MATLAB虚拟
11.1.2 计算机虚拟与数学建模
11.1.3 数值模拟与经济效益博弈
11.2 数值模拟MATLAB程序设计
11.2.1 微分方程组模拟
11.2.2 服从概率分布的随机模拟
11.2.3 蒙特卡罗模拟
11.3 动态仿真MATLAB程序设计
11.3.1 MATLAB音频处理
11.3.2 MATLAB常规动画实现
11.4 应用案例:四维水质模型
11.4.1 问题的提出
11.4.2 问题的分析
11.4.3 四维水质模型准备
11.4.4 条件假设与符号约定
11.4.5 四维水质模型的组建
11.4.6 模型求解
11.4.7 计算机模拟情境
参考文献
下篇 真题演习
第12章 彩票中的数学(CUMCM2002B)
12.1 问题的提出
12.2 模型的建立
12.2.1 模型假设与符号说明
12.2.2 模型的准备
12.2.3 模型的建立
12.3 模型的求解
12.3.1 求解的思路
12.3.2 MATLAB程序
12.3.3 程序结果
12.4 技巧点评
参考文献
第13章 露天矿卡车调度问题(CUMCM2003B)
13.1 问题的提出
13.2 基本假设与符号说明
13.2.1 基本假设
13.2.2 符号说明
13.3 问题分析及模型准备
13.4 原则①:数学模型(模型1)的建立与求解
13.4.1 模型的建立
13.4.2 模型求解
13.5 原则②:数学模型(模型2)的建立与求解
13.6 技巧点评
参考文献
第14章 奥运会商圈规划问题(CUMCM2004A)
14.1 问题的描述
14.2 基本假设、名词约定及符号说明
14.2.1 基本假设
14.2.2 符号说明
14.2.3 名词约定
14.3 问题分析与模型准备
14.3.1 基本思路
14.3.2 基本数学表达式的构建
14.4 设置MS网点数学模型的建立与求解
14.4.1 模型建立
14.4.2 模型求解
14.5 设置MS网点理论体系的建立
14.6 商区布局规划的数学模型
14.6.1 模型建立
14.6.2 模型求解
14.7 模型的评价及使用说明
14.7.1 模型的优点
14.7.2 模型的缺点
14.8 技巧点评
参考文献
第15章 交巡警服务平台的设置与调度(CUMCM2011B)
15.1 问题的提出
15.2 问题的分析
15.3 基本假设
15.4 问题1模型的建立与求解
15.4.1 交巡警服务平台管辖范围分配
15.4.2 交巡警的调度
15.4.3 最佳新增服务平台设置
15.5 问题2模型的建立和求解
15.5.1 全市服务平台的合理性分析问题的模型与求解
15.5.2 搜捕嫌疑犯实例的模型与求解
15.6 模型的评价与改进
15.6.1 模型优点
15.6.2 模型缺点
15.7 技巧点评
参考文献
第16章 葡萄酒的评价(CUMCM2012A)
16.1 问题的提出
16.2 基本假设
16.3 问题①模型的建立和求解
16.3.1 问题①的分析
16.3.2 模型的建立和求解
16.4 问题②模型的建立和求解
16.4.1 问题②的基本假设和分析
16.4.2 模型的建立和求解
16.5 问题③模型的建立和求解
16.5.1 问题③的分析
16.5.2 模型的建立和求解
16.6 问题④模型的建立和求解
16.6.1 问题④的分析
16.6.2 模型的建立和求解
16.7 论文点评
参考文献
附件数学建模参赛经验
一、如何准备数学建模竞赛
二、数学建模队员应该如何学习MATLAB
三、如何在数学建模竞赛中取得好成绩
四、数学建模竞赛中的项目管理和时间管理
五、一种非常实用的数学建模方法——目标建模法
‘肆’ 数字信号测量中的平滑算法怎么算
其实最简单的平滑算法就是对之前的数据求一个平均值,即
y(t) = (y(t-n)+y(t-n+1)+...+y(t))/(n+1)
其实,这么做的理由很简单,这相当于是一个n+1阶的FIR滤波器,然后每个系数都是1/(n+1)。
说白了,就是一个低通滤波器,因此可以起到抑制毛刺等高频信号的结果。
其实,我个人认为,如果你好好设计一个FIR滤波器,然后按照那个系数来进行调整,比这种方法去掉毛刺的效果好得多,你可以利用matlab的工具fdatool,有不懂可以继续追问。