A Class of Blind Source Extraction Method Using Second-Order Statistics
基于二阶统计量的盲源提取方法[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的更多相关文章
- Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture
实际卷积混合情况下,基于ICA的盲源分离算法快速收敛性能评估[1]. 提出了一种新的盲源分离算法,该算法将独立分量分析ICA和波束形成BF相结合,通过优化算法来解决盲源分离的低收敛问题.该方法由以下三 ...
- Tips on Blind Source Separation
盲源分离是指在不知道源信号和信道传输参数的情况下,根据输入信号的统计特性,仅由观测信号恢复出源信号各个独立成分的过程.盲源分离研究的信号模型主要有三种:线性混合模型.卷积混合模型和非线性混合模型. 1 ...
- [CLPR] 定位算法探幽 - 边缘和形态学
一. 引言 如何从一副图片中找到车牌? 这是机器视觉的一个应用. 理所当然地, 思考的角度是从车牌本身的信息入手, 为了讨论方便, 下面均以长窄型蓝白车牌为例. 下图就是这样一张车牌的基本信息. 一眼 ...
- 论文翻译:2021_Joint Online Multichannel Acoustic Echo Cancellation, Speech Dereverberation and Source Separation
论文地址:https://arxiv.53yu.com/abs/2104.04325 联合在线多通道声学回声消除.语音去混响和声源分离 摘要: 本文提出了一种联合声源分离算法,可同时减少声学回声.混响 ...
- 论文翻译:2021_Semi-Blind Source Separation for Nonlinear Acoustic Echo Cancellation
论文地址:https://ieeexplore.ieee.org/abstract/document/9357975/ 基于半盲源分离的非线性回声消除 摘要: 当使用非线性自适应滤波器时,数值模型与实 ...
- 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 ...
- Java Method Logging with AOP and Annotations
Sometimes, I want to log (through slf4j and log4j) every execution of a method, seeing what argument ...
- Akka(17): Stream:数据流基础组件-Source,Flow,Sink简介
在大数据程序流行的今天,许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定.一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回 ...
- jQuery validator plugin之Plugin Method
原文 .validate() validate( [options ] ) options Type: Object debug (default: false) Type: Boolean Enab ...
随机推荐
- Java开发笔记(一百四十四)实现FXML对应的控制器
前面介绍了如何通过fxml文件编排界面布局,可是光有静态界面根本没法处理业务,必须另外书写业务逻辑的代码,方能响应各按钮的单击事件,并将业务结果即使呈现到界面上.显然,fxml内部写不了Java代码, ...
- Linux nfs服务讲解
nfs服务介绍 nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个 客户端共享访问该文件系统. 目前nfs服务,较 ...
- 最少硬币数——Java
问题:有n种硬币,面值分别为v1,v2,v3,…,vn,存于数组T[1:n]中,可以使用的各种面值的硬币个数存于数组Coins[1:n]中.对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法 ...
- 【LEETCODE】67、分治递归,medium&hard级别,题目:215、312
我被这些题整哭了,你呢??? 日了狗啊...... 好难啊.... 按照这个样子搞,不用找工作了,回家放牛去....... package y2019.Algorithm.divideandconqu ...
- SpringBootServletInitializer报错
1. 现象 从Springboot 1.5.1.RELEASE 升级到Springboot 2.1.2.RELEASE 后SpringBootServletInitializer报错. 2.解决方法 ...
- Kafka理解
1. 引言 最近使用Kafka做消息队列时,完成了基本的消息发送与接收,已上线运行.一方面防止出现Bug时自己不能及时定位问题,一方面网上的配置可能还可以更加优化,决定去了解下Kafka. 2. 配置 ...
- aria2 添加任务后一直在等待,不进行下载是什么情况?
https://www.v2ex.com/t/567014 跑 aria2 的机器配置比较低,是 j1900+4G 的小机器,系统是 ubuntu18.04 ,所有的任务都是 bt 下载.aria2 ...
- Mysql把一个表的数据写入另一个表中
一.表结构一样 insert into 表1 select * from 表2 二. 表结构不一样或者取部分列 insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 ...
- Vue学习之Webpack基本使用小结(十三)
一.新建dist 文件夹: 二.新建src文件夹: 在其下面创建 css .js .images文件夹及 index.html.main.js(这是项目Js的主入口) 三.html中简单创建一个列表: ...
- 报错The "chunk" argument must be one of type string or Buffer. Received type object
报错内容: TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or ...