基于二阶统计量的盲源提取方法[1]。

文中提出了一系列基于二阶统计量的算法,包括离线BSE和在线BSE算法,可以提取平稳信号和非平稳信号。这些算法中,通过挖掘信号特征,提出了新的打分函数,以及一个无参数的自适应步长最速下降法用来得到最优提取权重向量。仿真实验证明提出的算法可以逐个重建源信号,并且性能优于基于高阶统计量的BSE方法。

此外,无参数自适应步长最速下降法具有若干优点:不需要调节参数,低运算量,不需要多余预处理步骤。

引言及建模

相比于BSS同时恢复所有源信号,BSE是每次恢复一个源信号,因此其运算量更低,算法更灵活。通常采用高阶统计量HOS来解决BSE问题。此外,可以采用源信号的二阶统计量特性,其可以潜在地解决HOS要求的非高斯性假设。

经典的二阶统计量通常由以下两步组成:1)观测信号的预白化,将其降维为正交矩阵;2)将上述正交矩阵对角化为一个合适的协方差矩阵,得到其逆矩阵。

假设n个unobservable的分量s(t) 是零均值并且互相统计独立。得到m个观测信号x(t)=As(t) 。其中是非奇异矩阵并且满秩。t=0,1,...,N-1为采样持续时间。BSE的目标就是从观测信号中逐个恢复源信号,提取信号可以表示为:。当时,提取权重向量w时一个m列向量,使得。如果只有g的一个非零元素,则y(t)是恢复源信号或者s(t)的估计,并和g有同样的非零点。

基于二阶统计量的BSE算法

代价函数

使得为y(t)的线性预测信号,则

其中是长度为P的线性预测器的系数。对于平稳源信号,y(t)及其最优估计的关系可以表述为下式,其中

    或者

本文用公式(5)等式左边来估计提取向量w。下文中,i,P将被代替。为了减小运算量,我们假设线性预测器的系数均为1/。得到归一化代价函数为:

从公式(7)中,最优w可以从最小化代价函数(6)估计得到。

代价函数的可行性分析

下面我们来分析代价函数的可行性。为了简化分析,我们将公式(6)简化为下式:

通过解决下述广义特征值问题可以得到向量w:

其中和w分别是等式左边的特征值和特征向量。如果,则有:

上述表明w也是的特征向量。

不失广泛性,文中假设,重写(11)得到

                             

优化问题可以表述为:

上述问题的解是一个只有一个非零向量的。当时可能得到(13)中的最小值。从g的定义可知,可能只有时才会得到

自相关估计

上一小节的分析和结论可扩展至,只适合平稳情况下。此处分析的是提取非平稳源信号的代价函数:

其中是第k块的观测信号,并有:

代价函数的在线版本可以表述为:

则观测信号的自相关可以由下式估计得到:

deflation处理

一个源信号被提取出来后,可以将其从观测信号中移除。可以通过一个deflation步骤实现。

        

当提取出一个源信号后,则N个混合信号对应N-1个源信号,此时可以通过PCA降维至N-1维。

无参数自适应步长的最速下降法

为了得到(6),(14)和(17)中的,采用最速下降法更新w来最小化代价函数:

提出的新方法为:

仿真实验

在matlab2010b上验证,3个平稳源信号,三个非平稳源信号(语音信号)。【文中涉及的是线性瞬时混合】

    

参考文献

[1] A Class of Blind Source Extraction Method Using Second-Order Statistics. 2017 INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION SCIENCES (ICRAS).

A Class of Blind Source Extraction Method Using Second-Order Statistics的更多相关文章

  1. Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture

    实际卷积混合情况下,基于ICA的盲源分离算法快速收敛性能评估[1]. 提出了一种新的盲源分离算法,该算法将独立分量分析ICA和波束形成BF相结合,通过优化算法来解决盲源分离的低收敛问题.该方法由以下三 ...

  2. Tips on Blind Source Separation

    盲源分离是指在不知道源信号和信道传输参数的情况下,根据输入信号的统计特性,仅由观测信号恢复出源信号各个独立成分的过程.盲源分离研究的信号模型主要有三种:线性混合模型.卷积混合模型和非线性混合模型. 1 ...

  3. [CLPR] 定位算法探幽 - 边缘和形态学

    一. 引言 如何从一副图片中找到车牌? 这是机器视觉的一个应用. 理所当然地, 思考的角度是从车牌本身的信息入手, 为了讨论方便, 下面均以长窄型蓝白车牌为例. 下图就是这样一张车牌的基本信息. 一眼 ...

  4. 论文翻译:2021_Joint Online Multichannel Acoustic Echo Cancellation, Speech Dereverberation and Source Separation

    论文地址:https://arxiv.53yu.com/abs/2104.04325 联合在线多通道声学回声消除.语音去混响和声源分离 摘要: 本文提出了一种联合声源分离算法,可同时减少声学回声.混响 ...

  5. 论文翻译:2021_Semi-Blind Source Separation for Nonlinear Acoustic Echo Cancellation

    论文地址:https://ieeexplore.ieee.org/abstract/document/9357975/ 基于半盲源分离的非线性回声消除 摘要: 当使用非线性自适应滤波器时,数值模型与实 ...

  6. What Influences Method Call Performance in Java?--reference

    reference from:https://www.voxxed.com/blog/2015/02/too-fast-too-megamorphic-what-influences-method-c ...

  7. Java Method Logging with AOP and Annotations

    Sometimes, I want to log (through slf4j and log4j) every execution of a method, seeing what argument ...

  8. Akka(17): Stream:数据流基础组件-Source,Flow,Sink简介

    在大数据程序流行的今天,许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定.一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回 ...

  9. jQuery validator plugin之Plugin Method

    原文 .validate() validate( [options ] ) options Type: Object debug (default: false) Type: Boolean Enab ...

随机推荐

  1. DRF框架(四)——单整体改(put)、单局部改(patch)、群局部改(patch)

    单整体改   单指的是单独一条数据,整体指这条数据的所有字段都必须传值修改 基于上篇文章的代码修改,序列化层不用变,只修改views.py 1) 单整体改,说明前台要提供修改的数据,那么数据就需要校验 ...

  2. Python之路【第十六篇】:Python并发编程|进程、线程

    一.进程和线程 进程 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作), 而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源. 是 ...

  3. hive工作中的一些优化策略

    1.hive抓取策略     hive.fetch.task.conversion = more/none     more不走mr,none走mr   2.explain 显示执行计划   3.设置 ...

  4. ASP.NET Nlog上手练习小例子

    添加NuGet程序包-             Nlog             Nlog.Web.AspNetCore 两个包. public void Configure(IApplication ...

  5. Hadoop—MapReduce计算气象温度

    Hadoop-MapReduce计算气象温度 1 运行环境说明 1.1 硬软件环境 主机操作系统:Mac OS 64 bit ,8G内存 虚拟软件:Parallers Desktop12 虚拟机操作系 ...

  6. Parameter 0 of method sqlSessionTemplate in org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration required a single bean, but 2 were found:

    Parameter 0 of method orderSqlSessionFactory in com.config.MultipleDBConfig required a single bean, ...

  7. Python进阶(六)----装饰器

    Python进阶(六)----装饰器 一丶开放封闭原则 开放原则: ​ 增加一些额外的新功能 封闭原则: ​ 不改变源码.以及调用方式 二丶初识装饰器 装饰器: ​ 也可称装饰器函数,诠释开放封闭原则 ...

  8. k8s--yml文件

  9. 拓展 - WebRTC 多视频网络拓扑之三种架构

    众所周知,WebRTC非常适合点对点(即一对一)的音视频会话.然而,当我们的客户要求超越一对一,即一对多.多对一设置多对多的解决方案或者服务,那么问题就来了:“我们应该采用什么样的架构?” .简单的呢 ...

  10. js获取列表多条数据(接口)

    读取数据://ajax去服务器端校验 $.ajax({ type:"post", url:"http://", data:{deviceid:1}, dataT ...