基于二阶统计量的盲源提取方法[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. PHP 使用 pdo 操作oracle数据库 报错

    ## SELECT UNID,NAME,NAME_XML WHERE UNID>=10 AND UNID<=15 ## 在10到15这5条数据中不为空数据php: symbol looku ...

  2. 高并发场景下System.currentTimeMillis()的性能问题的优化

    高并发场景下System.currentTimeMillis()的性能问题的优化 package cn.ucaner.alpaca.common.util.key; import java.sql.T ...

  3. NIO开发Http服务器(5-完结):HttpServer服务器类

    最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...

  4. XXL-JOB使用命令行的方式启动python时,日志过多导致阻塞的解决方式

    一.Runtime.getRuntime().exec()的阻塞问题 这个问题也不能算是XXL-JOB的问题,而是Java的Runtime.getRuntime().exec()造成的,Buffere ...

  5. Java自学-数组 排序

    Java 数组选择法,冒泡法排序 步骤 1 : 选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其 ...

  6. ConnectionString属性(网速慢的情况下研究Connect Timeout)

    ConnectionString 类似于 OLE DB 连接字符串,但并不相同.与 OLE DB 或 ADO 不同,如果“Persist Security Info”值设置为 false(默认值),则 ...

  7. 激活windows去掉右下角水印

     激活windows去掉右下角水印 //需要隔一段时间执行一次 // 卸载已有的激活产品slmgr.vbs /upk // 重新按照激活产品slmgr /ipk NPPR9-FWDCX-D2C8J-H ...

  8. Hive中的HiveServer2、Beeline及数据的压缩和存储

    1.使用HiveServer2及Beeline HiveServer2的作用:将hive变成一种server服务对外开放,多个客户端可以连接. 启动namenode.datanode.resource ...

  9. 笔谈HTTP Multipart POST请求上传文件

    公司一做iOS开发的同事用HTTP Multipart POST请求上传语音数据,但是做了两天都没搞定,项目经理找到我去帮忙弄下.以前做项目只用过get.post,对于现在这个跟服务器交互的表单请求我 ...

  10. Java 读取控制台输入

    方式1:InputStreamReader+BufferedReader package my_package; import java.io.BufferedReader; import java. ...