文档库 最新最全的文档下载
当前位置:文档库 › Ica盲源分离Matlab程序

Ica盲源分离Matlab程序

Ica盲源分离Matlab程序
Ica盲源分离Matlab程序

Ica盲源分离Matlab程序

close all;

clear all;

i4=imread('1.jpg');

i5=imread('2.jpg');

i6=imread('2.png');

i1=rgb2gray(i4);

i2=rgb2gray(i5);

i3=rgb2gray(i6);

s1=reshape(i1,[1,256*256]);

s2=reshape(i2,[1,256*256]);

s3=reshape(i3,[1,256*256]);

s=[s1;s2;s3];sig=double(s);

aorig=rand(size(sig,1));

mixedsig=aorig*sig;

ms1=reshape(mixedsig(1,:),[256,256]);

ms2=reshape(mixedsig(2,:),[256,256]);

ms3=reshape(mixedsig(3,:),[256,256]);

figure;

subplot(331),imshow(i1),subplot(332),imshow(i2),subplot(333),imshow(i3); subplot(334),imshow(uint8(ms1)),subplot(335),imshow(uint8(ms2)),subplot(336),i mshow(uint8(ms3));

% mixedsig=zeros(size(mixedsig));

meanValue=mean(mixedsig')';

mixedsig=mixedsig-meanValue*ones(1,size(mixedsig,2));

covarianceMatrix=cov(mixedsig',1);

[E,D]=eig(covarianceMatrix);

eigenvalues=flipud(sort(diag(D)));

whiteningMatrix=inv(sqrt(D))*E';

dewhiteningMatrix=E*sqrt(D);

whitesig=whiteningMatrix*mixedsig;

X=whitesig;

[vectorSize,numSamples]=size(X);

B=zeros(vectorSize);

numOFIC=vectorSize;

for r=1:numOFIC

i=1;maxNumIterations=100;

w=rand(vectorSize,1)-.5;

w=w/norm(w);

while i<=maxNumIterations+1

w=w-B*B'*w;

w=w/norm(w);

w=(X*((X'*w).^3))/numSamples-3*w;

w=w/norm(w);

i=i+1;

end

A(:,r)=dewhiteningMatrix*w;

W(r,:)=w'*whiteningMatrix;

B(:,r)=w;

end

icasig=W*mixedsig+(W*meanValue)*ones(1,numSamples); icasig=abs(50*icasig);

a=reshape(icasig(1,:),[256,256]);

b=reshape(icasig(2,:),[256,256]);

c=reshape(icasig(3,:),[256,256]);

subplot(337),imshow(uint8(a)),subplot(338),imshow(uint8(b)), subplot(339),imshow(uint8(c))

盲源分离 开题报告

一、研究背景及意义 语音信号的分离近年来成为信号处理领域的一个研究热点,它在电话会议、助听器及便携设备、机器的语音识别方面有很多的应用与影响。而语音信号常使用盲信号处理的方法分离。 盲信号处理(Blind Source Processing)作为一种新兴的信号处理方法,逐步发展并得到了越来越多的关注。盲信号处理与现代信号处理朝向非平稳、非高斯、非线性的发展方向相吻合,有利于复杂信号的分析以及处理,其研究对象主要为非高斯信号。它在传统信号处理方法的基础上结合了信息论、统计学和人工神经网络的相关思想。如图1所示,所谓的“盲分离”是指在没有关于源信号本身以及传输信道的知识,对数据及系统参数没有太多先验知识的假设的情况下,如何从混迭信号(观测信号)中分离出各源信号的过程。它能适用于更广泛的环境,为许多受限于传统信号处理方法的实际问题提供了崭新的思路。 图1 盲分离的概念 在科学研究和工程应用中,很多观测信号都可以假设成是不可见的源信号的混合,如通信信号、图像、生物医学信号、雷达信号等等。例如经典的“鸡尾酒会”问题,在一个充满宾客的宴会厅里,我们每个人都会听到来自不同地方的声音,如音乐,歌声及说话声等,正常的人类拥有在这种嘈杂环境下捕捉到所感兴趣的语音的能力。可以看到,盲信号处理同传统信号处理方法最大的不同就在于用它致力于用最少的信息得到理想的处理结果。

盲信号分离可以有不同的分类方法。 根据所处理信号的不同,可以分为声纳信号盲分离,雷达信号盲分离,通信信号盲分离,语音信号盲分离,脑电信号盲分离等。 根据盲处理领域的不同,可以分为时域盲分离和频域盲分离。 根据传输信道的情况,可以分为无噪声,有加性噪声,有乘性噪声等。 根据源信号在传输信道中被混合方式的不同,可以分为瞬时混合,卷积混合,非线性混合等。 根据源信号和观测信号数目的不同,可以分为正定盲分离,欠定盲分离,过定盲分离等。 本文研究的主要内容是正定不含噪的卷积混合语音信号的频域盲分离 方法。 总的来说,盲信号分离是一种仅利用观测到的混合信号来估计源信号的方法,它是以独立分量分析(Independent Component Analysis,ICA)为理论基础的。与传统信号处理方法如FIR 滤波,小波分析等不同的是,它不要求有关于源信号本身以及信号传输通道的知识。受益于这种“盲”的条件,盲信号分离对多个领域有很大的促进作用,特别是它在声纳、雷达、通信、语音、图像等方面的应用对军事,国防科技的发展起着非常重要的作用。近十多年来,各国学者在盲信号分离领域展开了深入的研究,有了一系列的成果。本课题就是在这样的背景下对语音信号进行盲分离的研究,以探索新的算法,新的应用。 二、研究的基本内容,拟解决的主要问题 1.研究的基本内容 本课题详细研究语音分离的基本理论,重点研究卷积混合频域解法模型框架下的语音信号分离算法。 基于时域实值瞬时混合模型的盲分离算法已经研究的比较充分,但是在语音信号在现实中往往是卷积混合,而且在频域分离方法中信号是复值的,本文将研究利用复值信号特征的瞬时混合盲分离算法,对不同的复数域盲分

盲源分离算法初步研究

盲源分离算法初步研究 一、盲源分离基本问题 1.概念 BSS 信号盲分离,是指从若干观测到的混合信号中恢复出未知的源信号的方法。典型的观测到的混合信号是一系列传感器的输出,而每一个传感器输出的是一系列源信号经过不同程度的混合之后的信号。其中,“盲”有两方面的含义:(1)源信号是未知的;(2)混合方式也是未知的。 根据不同的分类标准,信号盲分离问题可以分成以下几类: (1)从混合通道的个数上分,信号的盲分离可以分为多通道信号分离和单通道信号分离。单通道信号分离是指多路源信号混合后只得到一路混合信号,设法从这一路混合信号中分离出多个源信号的问题就是单通道信号分离。多通道信号分离是M 个源信号混合后得到N 路混合信号(通常N ≥M )。从N 路混合信号中恢复出M 个源信号的问题即为多通道信号分离。一般情况下,单通道信号分离的难度要超过多通道信号分离。 (2)从源信号的混合方式上分,可将信号盲分离问题分为瞬时混合和卷积混合、线性混合和非线性混合等不同种类。在目前信号盲分离的研究文章中,所建模型大部分为瞬时混合。但是,作为更接近实际情况的卷积混合方式正受到越来越多的关注。 (3)根据源信号的种类,也可将信号盲分离分为多类。在通常的处理方法上,根据不同种类信号的特点,也有一些独特的处理技术。 2.盲分离问题的描述 BSS 是指仅从观测的混合信号(通常是多个传感器的输出)中恢复独立的源信号,在科学研究和工程应用中,很多观测信号都可以假设成是不可见的源信号的混合。所谓的“鸡尾酒会”问题就是一个典型的例子。在某个场所,多个人正在高声交谈。我们用多个麦克风来接受这些人说话的声音信号。每个人说话的声音是源信号,麦克风阵列的输出是观测信号。由于每个麦克风距离各个说话者的相对方位不同,它们接受到的也是这些人的声音信号以不同方式的混合。盲信号分离此时的任务是从麦克风阵列的输出信号中估计出每个人各自说话的声音信号,即源信号。如果混合系统是已知的,则以上问题就退化成简单的求混合矩阵的逆矩阵。但是在更多的情况下,人们无法获取有关混合系统的先验知识,这就要求人们从观测信号来推断这个混合矩阵,实现盲源分离。 3.混合模型 信号的混合模型包含两个方面的内容:(1)源信号的统计特征;(2)源信号的混合方式。 3.1源信号的统计特征 已有的研究表明如果加上源信号间相互独立的限制条件,就可以有效地补偿对以上先验知识的缺乏。如果用q i 表示第i 个分量的概率密度函数,则这种统计独立性可以表示为: 11221()()...()()n n n i i i q s q s q s q s ==???=∏q(s) 其中q(s)是s 的联合概率密度函数。 3.2源信号的混合方式 最简单的混合模型假定各个分量是线性叠加混合在一起而形成观测信号的。基于这样的假设,我们可以把观测信号和源信号用矩阵的方式表示为: ()()t t =x Hs 式中H 是n ×n 阶的混合矩阵。基于该模型,盲信号分离()()t t =x Hs 的目标可以表

盲源分离欠定问题欠定问题的研究与应用

盲源分离欠定问题欠定问题的研究与应用盲源分离(Blind Source Separation,BSS)技术,越来越成为信号处理领域中的重点关注问题。“盲源分离”这一概念的最初提出,主旨是为了解决某系统在源信号及信号个数未知、混合矩阵未知而只有观测号已知的情况下,对源信号进行恢复。 本文主要研究的是欠定盲源分离问题,即观测信号数目小于源信号数目的情况。基于稀疏分量分析(Sparse Component Analysis,SCA)法,分两个阶段讨论了混合矩阵和源信号的估计,并分别提出了估计混合矩阵和恢复源信号的新方法。 本文主要内容包括:讨论了基于SCA的“两步法”。在混合矩阵的估计阶段,研究了三类估计方法,分别是k均值算法、霍夫变换发及势函数法;对各算法的原理进行了分析,并通过仿真实验实现各算法,并验证了算法的有效性。 在源信号估计阶段,主要研究了目前最常用的最短路径法。提出了一种基于蚂蚁觅食原理的改进蚁群聚类算法估计混合矩阵,并利用网格密度法对聚类中心进行进一步修正。 首先利用源信号的稀疏性,对观测信号进行标准化处理形成球状堆;再利用观测信号之间的欧氏距离确定初始信息素矩阵,得出初始聚类中心;然后按照传统蚁群聚类法对数据进行聚类;接着利用网格密度法提取出每一类密度最大的网格,将该网格的中心作为该类聚类中心;最后输出每个聚类中心作为混合矩阵各列向量。提出了一种基于加权的最小l1范数法对源信号进行恢复,相较于传统l1范数法的寻找一组最优解,改进的范数法将其他可能的分解项按照权值进行相加,从而使恢复出的信号更加接近源信号向量。 当有两路观测信号时,按照分解项与观测信号的角度差大小作为加权值;当

盲源分离问题综述

盲源分离问题综述 摘要:盲源分离,是从观测到的混合信号中恢复不可观测的源信号的问题。作为阵列信号处理的一种新技术,近几年来受到广泛关注。本文主要阐述了盲源分离问题的数学模型、典型算法以及盲源分离的应用,并结合盲源分离问题的研究现状,分析了其未来的发展方向。主题词:盲源分离;盲源分离的典型算法 1. 引言 盲信号分离问题起源于人们对“鸡尾酒会”问题的研究。在某个聚会上,我们正在相互交谈,同一时刻同一场景下其他人的交谈也在同时进行着,可能还有乐队的音乐伴奏,这时整个会场上是一片嘈杂。但是非常奇妙的是,作为交谈对象的双方,我们能够在这混乱的众多声音中很清晰的听到对方的话语,当然,如果我们偶尔走神,将精力放在乐队奏出的音乐时,我们也同样可以听清楚音乐的主旋律。这种可以从由许多声音所构成的混合声音中选取自己需要的声音而忽视其他声音的现象就是鸡尾酒会效应。如何在这种从观察到的混合信号中分离出源信号的问题就是所谓的盲分离(Blind Signal Separation, BSS)问题,有时也被称为盲源分离(Blind Source Separation)问题。1986年,法国学者Jeanny Herault和Christian Jutten提出了递归神经网络模型和基于Hebb学习律的学习算法,以实现两个独立源信号混合的分离,这一篇开创性论文的发表使盲源分离问题的研究有了实质性的进展。随着数字信号处理理论和技术的发展以及相关学科的不断深入,大量有效的盲分离算法不断被提出,使盲分离问题逐渐成为当今信息处理领域中最热门的研究课题之一,在无线通信、图象处理、地震信号处理、阵列信号处理和生物医学信号处理等领域得到了广泛的应用。 2. 盲源分离问题的数学模型 盲源分离是指在不知道源信号和信道传输参数的情况下,根据输入信号的统计特性,仅由观测信号恢复出源信号各个独立成分的过程。盲源分离研究的信号模型主要有三种:线性混合模型、卷积混合模型和非线性混合模型。 2.1 线性混合模型 线性混合模型在神经网络、信号处理等研究中常常用到,其数学模型描述为: S1(t),S2(t)…S n(t)是一个随机的时间序列,用m个话筒表示接收到的混合信号,用X1(t),X2(t)…X m(t)来表示。它们有如下关系: { X1(t)=a11S1(t)+?+a1n S n(t) … X m(t)=a m1S1(t)+?+a mn S n(t) 其中{a ij}是未知的混合系数,在线性瞬时混合中,一般假定{a ij}是未知的常数矩阵。盲源分离需要解决的问题就是如何从接收到的观察信号中估计出源信号S1(t),S2(t)…S n(t)和混合矩阵的过程。实际上式还应该存在一个干扰存项,如果考虑到噪声的存在,那么上式可以

盲源分离技术及其发展

盲源分离技术及其发展 王春华,公茂法, 衡泽超时间:2009年11月06日 字体: 大中小 关键词:信号处理语音识别图像处理移动通信医学信号处理 摘要:盲源信号分离是一种功能强大的信号处理方法,在生物医学信号处理、阵列信号处理、语音识别、图像处理及移动通信等领域得到了广泛的应用。简要介绍了盲源分离的数学模型、可实现性、可解的假设条件及算法,综述了盲源分离的发展及研究现状,提出了其未来的发展方向。 关键词:盲源分离;独立分量分析;发展 盲源分离BSS(Blind Source Separation)是信号处理中一个传统而又极具挑战性的问题。BSS指仅从若干观测到的混合信号中恢复出无法直接观测的各个原始源信号的过程。这里的“盲”指源信号不可观测、混合系统特性事先未知这两个方面。在科学研究和工程应用中,很多观测信号都可以看成多个源信号的混合,所谓“鸡尾酒会”[1]问题就是一个典型的例子。其中独立分量分析ICA(Independent Component Analysis)[2]是一种盲源信号分离方法,它已成为阵列信号处理和数据分析的有力工具,而BSS比ICA适用范围更宽。目前国内对盲信号分离问题的研究,在理论和应用方面也取得了很大的进步,但是还有很多问题有待进一步研究和解决。 1 盲源分离基本理论 1.1 盲源分离的数学模型 盲信号分离研究的信号模型主要有线性混合模型和卷积混合模型,盲源分离源信号线性混合是比较简单的一种混合形式,典型的BSS/ICA问题就是源于对独立源信号的线性混合过程的研究。 1.1.1 盲源分离的线性混合模型 所谓的“鸡尾酒会”问题,具体描述是:在一个鸡尾酒会现场,如果用安放在不同位置的多个麦克风现场录音,则所记录的信号实际上是不同声源的混合信号。人们希望从这些混合录音信号中把不同的声源分离出来,这显然不是一件很容易的事,至少用传统的频域滤波方法行不通。因为不同声源信号的频谱相互混叠在一起,无法有效地设计滤波器,但从频谱的角度可以把不同声源分离出来。根据以上描述,可以把盲源分离问题表示为如图1所示的线性模型。为简单起见,暂时忽略时延、非线性等因素的影响,即最简单混合系统——线性瞬时混合系统。

盲源分离综述_问题_原理和方法

中图分类号:T N97111 文献标志码:A 文章编号:C N51-1694(2008)02-0001-05收稿日期:2007-11-29;修回日期:2007-12-30 作者简介:陈锡明(1970-),男,高级工程师,博士;黄硕翼(1983-),男,硕士研究生。 盲源分离综述———问题、原理和方法 陈锡明,黄硕翼 (信息综合控制国家重点实验室,成都610036) 摘要:盲源分离,是从观测到的混合信号中恢复不可观测的源信号的问题。作为阵列信号处理 的一种新技术,近几年来受到广泛关注。文章按源信号不同的混合方式,将盲源分离问题分为三种类型:线性瞬时混合、线性卷积混合和非线性混合,综述了它们各自分离的原理和方法,并结合国内外的研究现状,对未来的发展作出了展望。关键词:盲源分离;独立分量分析 B lind Source Separation :Problem ,Principle and Method CHE N X i 2ming ,HUANG Shuo 2yi (National In formation C ontrol Lab oratory ,Chengdu 610036,China ) Abstract :Blind source separation is to recover unobserved source signals from observed mixtures.As a new technology of array signal processing ,it has attracted wide attention.Blind source separation is classified into three types :linear instantaneous mixtures ,linear conv olutional mixtures ,and nonlinear mixtures ,as per different mixture methods.And a survey is presented on separation principles and methods of each type.The prospect of future development is given too.K ey w ords :blind source separation ;independent com ponent analysis (ICA ) 1 引言 盲源分离(BSS )是信号处理领域的一个基本问题,是根据观测到的信号来分离或恢复出未知源信号的过程。它在医学信号处理、数据挖掘、语音增强、图像识别以及雷达与通信信号处理等方面正受到越来越广泛的重视。 其更一般的表述为:已知从多输入—多输出(MI M O )非线性动态系统(SIS O ,SI M O 是特例)中测得的传感器信号X (t )=[x 1(t ),x 2(t ),…, x m (t )]T ,要求找到一个逆系统,以重构估计原始 的源信号S (t )=[s 1(t ),s 2(t ),…,s n (t )]T[1]。源信号S (t )未知,源信号如何混合得到观测信号也未知,这体现了求解问题的“盲”。最简单的情况,如果X (t )是S (t )的线性瞬时混合,即X (t )=H 3S (t ),H 为一个m ×n 维的混合矩阵,盲分 离问题简化为求一个n ×m 维的解混矩阵W ,使输出Y (t )=W 3X (t )=W 3H 3S (t )≈S (t )。 事实上,在缺乏某些先验知识时是不可能唯一地确定源信号的,所以盲分离问题存在两个内在的解不确定性:一是输出分量排列顺序的不确定性,即无法确定所恢复的信号对应于原始信号源的哪一个分量;二是输出信号幅度的不确定性,即无法恢复原始信号源的真实幅度。但因为源的大量信息蕴涵在源信号的波形中而不是信号的振幅或者系统输出的排列顺序中,所以这并不影响盲分离的应用。 2 盲源分离的基本类型和解决方法 就源信号经过传输通道的混合方式而言,可分为线性混合和非线性混合信号的盲分离;其中 1 电子信息对抗技术?第23卷 2008年3月第2期 陈锡明,黄硕翼 盲源分离综述———问题、原理和方法

相关文档