Joint Approximative Diagonalization of Eigen matrix (JADE)
特征矩阵联合相似对角化算法[1]。
Cardoso于1993年提出的盲信号分离具有代表性的一种算法。是一种基于四阶累积量特征矩阵近似联合对角化盲分离算法。该算法将目标函数最大化问题等价于一组四阶累积量矩阵的特征矩阵的联合对角化问题,不仅大大简化了算法的计算复杂度,同时还有效提高了算法的分离性能。
原理
JADE算法原理就是将白化后的混合信号的四阶累积量矩阵(或二阶相关矩阵)通过U变换,压缩为一个对角矩阵,从而求解酉矩阵U。
白化
信号模型如式x(t) = As(t)所示,源信号之间相互统计独立。由于盲分离问题中,源信号的真实幅度不可解,为方便算法研究,一般通过去均值化等数学方法将各个源信号分量转化为零均值且方差为1的随机变量。白化数据是JADE算法的第一步,通过白化可以恢复信号之间的二阶独立性。对观测信号的相关矩阵进行特征分解:
白化矩阵:
白化信号有:
显然,矩阵 V 为正交矩阵。JADE 算法的目的就是寻找一个正交矩阵U = VJP ,使源信号分离:
其中 P为置换矩阵,J 为对角矩阵。
对照函数
根据四阶累积量的平方和性质易知,对照函数式(2.8)的最大化等价于除c(U) 所包含的四阶累积量之外的所有互累积量平方和的最小化,因此可以实现信号分离。然而对照函数的计算非常复杂,难以实用化。但所幸的是 Cardoso 证明,它与一组矩阵的联合对角化等价,而且这组矩阵包含了所有四阶累积量,因而不但减少了算法的运算量,同时还提高了算法的分离性能。
JADE
给定一个矩阵集合N={Nr|1≤r≤s},一个酉矩阵U对其联合对角化等价于下面目标函数的最大化:
一般情况下,矩阵集合N不能同时完全被酉矩阵U联合对角化,只能近似对角化,因此称之为联合近似对角化。定义矩阵集合:
Cardoso等人已证明,对于这个矩阵集存在如下等式:
则对照函数最大化问题转化成了一组矩阵的联合近似对角化问题。为进一步简化算法,Cardoso等已证明可将四阶累积量矩阵用特征矩阵表示。对于任一给定矩阵 ,定义矩阵
,
对于任意的K维具有四阶累积量的随机矢量z,存在K2个实数和N2个N×N阶特征矩阵Mi满足下式:
利用随机矢量z(t)的所有四阶累积量构造K2×K2矩阵Cz,对Cz作特征值分解即可得到特征值及特征矩阵(由N2维的特征向量反堆栈为N×N特征矩阵),将特征值按由大到小的顺序排列,取前K个特征值及对应的特征矩阵组成累积量特征矩阵集合,对这组矩阵进行近似联合对角化就可求得酉矩阵U,进而实现源信号的分离。
参考文献
[1] Cardoso J F, Souloumiac A. Blind Beamforming for non Gaussian Signals[J]. IEE Proc.-F, 1993, 140(6):362-370.
[2] 熊坤来. 盲分离及其在阵列信号处理中的应用研究[D]. 国防科学技术大学, 2015.
Joint Approximative Diagonalization of Eigen matrix (JADE)的更多相关文章
- Eigen::Matrix与array数据转换
1. 数组转化为Eigen::Matrix ]; cout << "colMajor matrix = \n" << Map<Matrix3i> ...
- eigen Matrix详解
Eigen Matrix 详解 在Eigen中,所有的matrices 和vectors 都是模板类Matrix 的对象,Vectors 只是一种特殊的矩阵,行或者列为1. Matrix的前三个模板参 ...
- Eigen库矩阵运算使用方法
Eigen库矩阵运算使用方法 Eigen这个类库,存的东西好多的,来看一下主要的几个头文件吧: ——Core 有关矩阵和数组的类,有基本的线性代数(包含 三角形 和 自伴乘积 相关),还有相应对数组的 ...
- Eigen介绍及简单使用
博客转载自:https://blog.csdn.net/fengbingchun/article/details/47378515 Eigen是可以用来进行线性代数.矩阵.向量操作等运算的C++库,它 ...
- Eigen库笔记整理(一)
首先熟悉Eigen库的用途,自行百度. 引入头文件: // Eigen 部分 #include <Eigen/Core> // 稠密矩阵的代数运算(逆,特征值等) #include < ...
- 使用Eigen遇到恶心报错
参考博客:https://www.cnblogs.com/wongyi/p/8734346.html 1. 数据类型报错 /home/wy/workdir/slambook/ch3/useEigen/ ...
- eigen矩阵操作练习
// // Created by qian on 19-7-16. // /* 相机位姿用四元数表示 q = [0.35, 0.2, 0.3, 0.1] x,y,z,w * 注意:输入时Quatern ...
- 机器人关节空间轨迹规划--S型速度规划
关节空间 VS 操作空间 关节空间与操作空间轨迹规划流程图如下(上标$i$和$f$分别代表起始位置initial和目标位置final): 在关节空间内进行轨迹规划有如下优点: 在线运算量更小,即无需进 ...
- A Beginner’s Guide to Eigenvectors, PCA, Covariance and Entropy
A Beginner’s Guide to Eigenvectors, PCA, Covariance and Entropy Content: Linear Transformations Prin ...
随机推荐
- Anaconda的pip加速下载命令
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- php开发工程师都需要掌握什么技能呢?
PHP原生标准库精通,三种大型框架中熟练掌握一门的开发(Symfony2.Yii.ZF2),小型框架中(Codeigniter 等)通读其一源码. MySQL语句精通,实践构造 1000 万级的数据库 ...
- Python之路【第三十一篇】:django ajax
Ajax 文件夹为Ajaxdemo 向服务器发送请求的途径: 1.浏览器地址栏,默认get请求: 2.form表单: get请求 post请求 3.a标签,超链接(get请求) 4.Ajax请求 特点 ...
- 解决本地Bootstrap字体图标不可见的问题
原文:https://www.jianshu.com/p/70ac459d33e7 作为Bootstrap的初学者,我最近遇到了一个问题:在使用Bootstrap字体图标时,图标不可见.使用代码如下: ...
- docker部署Asp.Net Core、Nginx、MySQL
2019/10/24,docker19.03.4, .netcore 3.0,CentOS7.6 摘要:asp.net core 3.0 网站项目容器化部署,使用docker-compose编排Ngi ...
- ORACLE ASMLIB
ORACLE ASMLIB This blog post is more of a note for myself on configuring ASMLib. ASMLib is an opti ...
- PDF 补丁丁 0.6.2 测试版发布
如题. 不知不觉,这个软件已经出来十个年头了. 0.6.2 版可能是 PDF 补丁丁的最后一版.它在未来将不再更新.谢谢关注.
- java使用RSA与AES加密解密
首先了解下,什么是堆成加密,什么是非对称加密? 对称加密:加密与解密的密钥是相同的,加解密速度很快,比如AES 非对称加密:加密与解密的秘钥是不同的,速度较慢,比如RSA 先看代码(先会用在研究) 相 ...
- Linux操作系统之更改启动菜单的背景图实战案例
Linux操作系统之更改启动菜单的背景图实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.制作图像并上传到服务器 1>.使用window 10操作系统自带的画图工具 ...
- sqlserver 智能提示插件
文章:SqlServer智能提示插件SQLPrompt 地址:https://blog.csdn.net/u013628152/article/details/83274478