当前位置:网站首页 > Haskell函数式编程 > 正文

sigmoid函数求导(sigmoid函数求导 矩阵)




背景技术


:非线性Volterra滤波器相对传统的线性wiener滤波器,具有线性和非线性双重特性,所以使用Volterra滤波器能够表达大多数的非线性系统和全部线性系统,对信号中的脉冲噪声的具有较好的滤波效果,已经广泛应用于系统辨识、自适应信道均衡、噪声对消等方面。非线性滤波器中应用最广泛的是Volterra最小平均P范数(VLMP)算法,VLMP算法能有效滤除脉冲干扰。由于其计算简单,VLMP算法和其他与之相关的算法已经广泛应用于非线性滤波的各种应用中。现有技术中的多数滤波算法,步长因子的取值固定,导致每次迭代的权值的调整值固定,使得系统的稳态误差和收敛的速度不能同时达到最优。现已有研究承认并使用变化的步长优化算法结构,能解决固定步长算法存在的问题,但是针对发动机噪声背景,多数滤波算法的滤波降噪效果不是很理想。综上所述,一种能够应用在发动机噪声背景下并能获得较小的稳态误差和较快的收敛速度的Volterra滤波算法是有待提供的。技术实现要素:本发明的目的是在于克服传统VLMP算法存在的不足,提供了一种能够应用在发动机噪声背景下并能获得较小的稳态误差又有较快的收敛速度的Volterra滤波算法。本发明实现上述目的的技术解决方案是:一种基于sigmoid函数的变步长VLMP滤波算法及其应用,包括以下步骤:(1)、二阶Volterra滤波器原始输入信号x(n)经过一系列延迟线传输后,形成对应不同的延迟的滤波器的一阶输入信号x(n),x(n-1)…x(n-N+1),不同的延迟信号分别相乘后,形成二阶输入信号x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),即滤波器输入信号矢量X(n);所述滤波器输入信号矢量X(n)的表达式为:X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;式中,n为离散时间,N为正整数。(2)、将各输入信号X(n)与其对应的滤波器核向量H(n)的乘积相加,所述滤波器一阶核向量为H1(n)=[h0(n),h1(n),h2(n),…,hN-1(n)]T,二阶核向量为H2(n)=[h0,0(n),h1,1(n),…,hN-1,N-1(n),…,h0,1(n),…,hN-2,N-1(n)]T,系统的滤波器核向量为即该时刻的输出信号y(n);输出信号为:式中,n为离散时间。(3)、将期望信号d(n)与输出信号y(n)做差得到误差值e(n)=d(n)-y(n);(4)、根据误差值e(n)和固定的参数值α,β,使用sigmoid函数计算该时刻线性项和二次项部分变步长值μ1(n)和μ2(n);所述线性项权值和二次项权值均使用变化的步长函数进行同步的修正,线性项和二次项部分变步长值μ1(n)和μ2(n)的sigmoid函数如下:μ1(n)=μ2(n)=β[1/(1+exp(-α|e(n)))-0.5];式中,α,β为固定的参数值,e(n)为误差值。(5)、将所述误差值e(n)绝对值的(p-1)阶范数与误差值的符号函数sgn(e(n))以及步长值μ和输入信号X(n)的乘积作为滤波器核向量H(n)的瞬时变化量;核向量瞬时变化量为:H(n+1)=H(n)+μ|e(n)|p-1sgn(e(n))X(n)。根据步骤(1)至步骤(5),将所述滤波算法构成的非线性滤波器模型应用于发动机噪声降噪。本发明与现有技术相比的有益效果在于:(1)、本发明所提供的变步长VLMP算法,线性项和非线性项权值迭代均能够采取变化的步长因子,从而能够获得较小的稳态误差同时又具有较快的收敛速度;(2)、本发明的滤波算法可适用于发动机噪声降噪的应用场合,用于提高发动机噪声的降噪能力。附图说明图1是现有技术中二阶Volterra自适应滤波器结构示意图;图2是本发明的流程图;图3是系统辨识原理框图;图4是高斯噪声背景下算法的学习曲线对比图;图5是α稳定分布噪声背景下算法学习曲线对比图;图6是发动机噪声滤波降噪效果对比图;具体实施方式下面结合附图和实施例,对本发明的具体实施方式做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。本实施例中提供了一种实现上述滤波器的二阶Volterra自适应滤波器,如图1所示,下面对其结构和具体过程分别加以说明:其中,x(n)为原始输入信号,h(n)为Volterra滤波器线性部分权系数,λ(n)为Volterra滤波器非线性部分的权系数矩阵的特征值,d(n)为期望信号,y(n)为输出信号,e(n)为期望信号d(n)和输出信号y(n)的误差值,即e(n)=d(n)-y(n)。其具体的工作过程为:在某一时刻n,原始信号X(n)经过一系列延迟线传输后,形成对应不同的延迟的滤波器的一阶输入信号x(n),x(n-1)…x(n-N+1),一阶输入信号矢量为:X1(n)=[x(n),x(n-1),…,x(n-N+1)]T;不同的延迟信号分别相乘后,形成对应不同的二阶输入信号为:x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),二阶输入信号矢量为:X2(n)=[x2(n),x2(n-1),…,x2(n-N+1),x(n)x(n-1),x(n)x(n-2),…,x(n-N+2)x(n-N+1)]T即系统的输入向量:X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;对应的滤波器一阶核向量为H1(n)=[h0(n),h1(n),h2(n),…,hN-1(n)]T,二阶核向量为H2(n)=[h0,0(n),h1,1(n),…,hN-1,N-1(n),…,h0,1(n),…,hN-2,N-1(n)]T,即系统的滤波器核向量为一阶输入信号和二阶输入信号分别和对应的滤波器权系数相乘,得到n时刻的输出信号y(n),即:误差信号e(n)由e(n)=d(n)-y(n)获得,误差值e(n)与步长值μ、原始信号X(n)根据不同自适应算法权系数调整方法获得滤波器权系数矩阵更新时的瞬时变化量,在下一时刻到来时,获得更新后的滤波器权系数矩阵,从而完成滤波器权系数的自适应更新过程。如图2所示,本实施例中提供了一种实现上述滤波器的变步长VLMP滤波算法,其主要包括步骤:(1)、二阶Volterra滤波器原始输入信号x(n)经过一系列延迟线传输后,形成对应不同的延迟的滤波器的一阶输入信号x(n),x(n-1)…x(n-N+1),不同的延迟信号分别相乘后,形成二阶输入信号x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),即滤波器输入信号X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;N为正整数;(2)、将各输入信号X(n)与其对应的滤波器核向量H(n)的乘积相加,系统的滤波器核向量为即该时刻的输出信号(3)、将期望信号d(n)与输出信号y(n)做差得到误差值e(n)=d(n)-y(n);(4)、根据误差值e(n)和固定的参数值α,β,使用sigmoid函数计算该时刻线性项和二次项部分变步长值μ1(n)=μ2(n)=β[1/(1+exp(-αe(n)))-0.5];(5)、将所述e(n)绝对值的(p-1)阶范数与误差值的符号函数sgn(e(n))以及步长值μ和输入信号X(n)的乘积作为滤波器核向量H(n)的瞬时变化量H(n+1)=H(n)+μ|e(n)|p-1sgn(e(n))X(n);本发明的最大改进点之一在于,其中线性项和非线性项步长值均可变,因此可以获得较快的收敛速度的同时获得较小的稳态误差;表现为,所述VLMP滤波器该时刻线性项权值:hi(n+1)=hi(n)+μ1(n)|e(n)|p-1sgn(e(n))x(n-i)(i=1,2,...N-1);式中,hi(n)为上一时刻滤波器权值;|e(n)|p-1为上一时刻误差值e(n)绝对值的(p-1)阶范数,sgn(e(n))为上一时刻误差值的符号函数,x(n-i)为输入信号;步长函数为:μ1(n)=β[1/(1+exp(-α|e(n)|))-0.5];所述滤波器该时刻二次项权值为:hi,j(n+1)=hi,j(n)+μ2(n)|e(n)|p-1sgn(e(n))x(n-i)x(n-j)(i=1,2,…N-1,j=1,2,…N-1);式中,hi,j(n)为上一时刻滤波器权值,|e(n)|p-1为上一时刻误差值绝对值的(p-1)阶范数,sgn(e(n))为上一时刻误差值的符号函数,x(n-i)x(n-j)为输入信号的所有二阶乘积组成。步长函数为:μ1(n)=μ2(n)=β[1/(1+exp(-α|e(n)|))-0.5];通过仿真实验对本方法进一步说明本发明的技术方案主要针对发动机噪声背景。所以在仿真过程中背景噪声分别选择高斯噪声和α稳定分布噪声,使用MATLAB进行多次实验仿真,分别选用基于最小平均P范数(LMP)的Volterra滤波算法和本申请人提出的新方法变步长VLMP滤波算法进行系统辨识如图3所示。高斯噪声背景下算法仿真实验对比选取的非线性系统采用二阶Volterra滤波系统,二阶非线性系统的输入和输出关系为:系统的期望信号为:d(n)=y(n)+v1(n)输入信号为:x(n)=x(n-1)+v2(n)其中,v1(n)为均值为0,方差为1的高斯噪声。v2(n)为均值为0、方差为1的高斯白噪声,且与v1(n)独立。设定输入的信噪比(SNR)为15dB。采用MATLAB软件进行仿真实验,经多次试验,VLMP算法参数最佳取值为μ=0.02,p=1.1。本文算法参数取值为α=0.005,b=8,p=1.1,所有仿真曲线都是通过100次独立仿真结果取平均得到。仿真结果如图4所示。从图中可以看出本发明比VLMP算法的稳态误差小4dB左右,本发明算法稳态失调量较低,VLMP算法具有较高的稳态失调量,本发明算法在收敛速度上与VLMP算法相当。图4中本发明变步长VLMP滤波算法系统辨识的结果较VLMP滤波算法更优。根据表1的非线性系统核辨识结果也可以看出,变步长VLMP滤波算法的性能更优。表1核(Kernels)真实值wVLMPwVSS-VLMPψ1(0)-0.76-0.7323-0.7539ψ1(1)-1-1.0259-1.0292ψ1(2)11.4311.0042ψ2(0,0)0.50.54370.5082ψ2(0,1)00.07980.0261ψ2(0,2)22.04171.9947ψ2(1,1)-1.6-1.5746-1.6060ψ2(1,2)0.80.73700.8041ψ2(2,2)1.21.12451.1754α稳定分布噪声背景下算法仿真实验对比选取特征指数α=1.25时,信噪比为10dB的α稳定分布噪声背景,输入信号为高斯白噪声信号,关于VLMP算法,p的取值为p=1.2,步长因子取最优值为μ=0.01,本发明变步长VLMP滤波算法参数取值为p=1.2,α=100,β=0.05,进行非线性系统辨识,得到的核辨识结果如图5所示。从图5中可以看出本发明变步长VLMP滤波算法线性核误差(h1)在迭代180次左右达到收敛,非线性核误差(h2)在迭代250次左右达到收敛,VLMP算法线性核误差(h1)在迭代330次左右达到收敛,非线性核误差(h2)在迭代410次左右达到收敛,本发明变步长VLMP滤波算法线性核和非线性核的学习曲线收敛速度均比VLMP算法快。两种算法的线性核误差值均小于二阶项核误差值。究其原因,是由于二阶项相关矩阵的特征值扩展要大于线性项。发动机噪声消噪仿真分析为了检验本发明变步长VLMP滤波算法对发动机噪声的降噪效果,仿真实验采用原始发动机噪声分别使用四种自适应滤波算法进行滤波降噪。本实施例的仿真条件如下:对基于LMS算法的wiener滤波器、Volterra滤波器和基于LMP算法的Volterra滤波器以及基于本发明变步长LMP滤波算法的Volterra滤波器的降噪效果进行实验验证,经多次实验,LMS算法步长因子取最优值μ=0.1,VLMS算法线性项和二阶项步长因子均取最优值μ=2,参数p=1.2,VLMP算法线性项和二阶项步长因子均取最优值μ=0.2,p取值为p=1.2,本发明变步长VLMP滤波算法线性项和二阶项步长因子均取变步长,其中参数α,β取值为α=100,β=1,为保证其他条件相同p=1.2。经过以上滤波算法滤波后得到的发动机噪声的降噪结果如图6所示。图6中本发明变步长VLMP滤波算法降噪效果最优。根据表2的结果也可以看出经变步长VLMP算法降噪后无论是均方根误差(RMSE)还是相对值都得到了减小。如表2所示:表2本发明所提供的变步长VLMP滤波算法针对发动机噪声的降噪问题,利用了Volterra滤波器非线性滤波的优点,对于发动机噪声可以有效降噪,但是降噪后仍存在大量非高斯噪声。又利用了Volterra最小平均P范数(LMP)算法能有效对非高斯噪声进行降噪的优点,但是对发动机噪声的降噪效果不是很理想。针对以上两个方法的优点和缺点设计了一种变步长VLMP滤波算法,该算法拥有以上两种方法的优点还基本克服了他们缺点,将该算法应用到发动机噪声滤波降噪中去,从而达到较好的降噪效果。当前第1页1&nbsp2&nbsp3 


技术特征:

1.一种基于sigmoid函数的变步长VLMP滤波算法及其应用,其特征在于,包括以下步骤:

(1)、二阶Volterra滤波器原始输入信号x(n)经过一系列延迟线传输后,形成对应不同的延迟的滤波器的一阶输入信号x(n),x(n-1)…x(n-N+1),不同的延迟信号分别相乘后,形成二阶输入信号x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),即滤波器输入信号矢量X(n);

(2)、将各输入信号X(n)与其对应的滤波器核向量H(n)的乘积相加,所述滤波器一阶核向量为H1(n)=[h0(n),h1(n),h2(n),…,hN-1(n)]T,二阶核向量为H2(n)=[h0,0(n),h1,1(n),…,hN-1,N-1(n),…,h0,1(n),…,hN-2,N-1(n)]T,系统的滤波器核向量为即该时刻的输出信号y(n);

(3)、将期望信号d(n)与输出信号y(n)做差得到误差值e(n)=d(n)-y(n);

(4)、根据误差值e(n)和固定的参数值α,β,使用sigmoid函数计算该时刻线性项和二次项部分变步长值μ1(n)和μ2(n);

(5)、将所述误差值e(n)绝对值的(p-1)阶范数与误差值的符号函数sgn(e(n))以及步长值μ和输入信号X(n)的乘积作为滤波器核向量H(n)的瞬时变化量;

(6)、根据步骤(1)至步骤(5),将所述滤波算法构成的非线性滤波器模型应用于发动机噪声降噪。

2.根据权利要求1所述的一种基于sigmoid函数的变步长VLMP滤波算法及其应用,其特征在于:在步骤(1)中,滤波器输入信号矢量X(n)的表达式为:

X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T

式中,n为离散时间,N为正整数。

3.根据权利要求1所述的一种基于sigmoid函数的变步长VLMP滤波算法及其应用,其特征在于:在步骤(2)中输出信号为:

<mrow> <mi>y</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>H</mi> <mi>T</mi> </msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>X</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>H</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>H</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msub> <mi>X</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

式中,n为离散时间。

4.根据权利要求1所述的一种基于sigmoid函数的变步长VLMP滤波算法及其应用,其特征在于:在步骤(4)中,所述线性项权值和二次项权值均使用变化的步长函数进行同步的修正,线性项和二次项部分变步长值μ1(n)和μ2(n)的sigmoid函数如下:

μ1(n)=μ2(n)=β[1/(1+exp(-α|e(n)|))-0.5];

式中,α,β为固定的参数值,e(n)为误差值。

5.根据权利要求1所述的一种基于sigmoid函数的变步长VLMP滤波算法及其应用,其特征在于:在步骤(5)中滤波器核向量瞬时变化量为:

H(n+1)=H(n)+μ|e(n)|p-1sgn(e(n))X(n)。

技术总结
本发明属于数字信号处理技术领域,具体涉及一种变步长VLMP(自适应Volterra最小平均P范数)算法及其在发动机降噪中的应用。本发明所提供的变步长VLMP算法,首先采用sigmoid函数更新步长因子,然后对一阶和二阶权系数采取迭代更新,因此可以获得较小的稳态误差;采用变步长VLMP算法构造非线性滤波器,以发动机噪声作为噪声信号,通过对Volterra滤波器的核进行辨识,在辨识最优核的同时对发动机噪声进行降噪处理,从而达到滤除发动机噪声中所含的高斯噪声和脉冲噪声的目的,最大限度的降低发动机噪声,具有实时性高,跟踪性能好的优点。

技术研发人员:崔婷玉;陈卫松;张丽;仝喜峰
受保护的技术使用者:安徽师范大学
文档号码:8
技术研发日:2016.09.22
技术公布日:2017.02.15





到此这篇sigmoid函数求导(sigmoid函数求导 矩阵)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
















版权声明


相关文章:

  • sigmoid函数求导(sigmoid函数求导范围)2026-01-28 12:18:10
  • 淘宝优先支付方式怎么设置(淘宝优先支付方式怎么设置密码)2026-01-28 12:18:10
  • max函数是窗口函数吗(窗口函数 max)2026-01-28 12:18:10
  • ffmpeg查看视频格式(ffmpeg 查看视频编码)2026-01-28 12:18:10
  • 编程入门先学什么0基础(编程入门先学什么知乎)2026-01-28 12:18:10
  • 模型部署方式(模型部署方式有几种)2026-01-28 12:18:10
  • argsort用法(argsort函数作用)2026-01-28 12:18:10
  • 报文格式错误怎么解决(报文格式错误6100030)2026-01-28 12:18:10
  • ceph存储架构(ceph是什么样的分布式存储)2026-01-28 12:18:10
  • 一级毕业论文开题报告页面排版技巧?二级毕业论文开题报告页面排版技巧?三级毕业论文开题报告页面排版技巧?格式(开题报告一级毕业论文开题报告页面排版技巧?二级毕业论文开题报告页面排版技巧?三级毕业论文开题报告页面排版技巧?格式)2026-01-28 12:18:10
  • 全屏图片