基于ICA的语音信号盲分离

基于ICA的语音信号盲分离
基于ICA的语音信号盲分离

基于ICA的语音信号盲分离

[摘要]语音信号盲分离处理的含义是指利用BSS技术对一段语音信号进行处理。混合语音信号的分离是盲分离的重要内容,目前的混和语音分离大多是建立在无噪环境中的混叠情形下,主要以盲源分离(Blind Source Separation,BSS),根据信号的统计特性从几个观测信号中恢复出未知的独立源成分。

本文重点研究了以语音信号为背景的盲源分离,在语音和听觉信号处理领域中,如何从混有噪声的的混叠语音信号中分离出各个语音源信号,来模仿人类的语音分离能力,成为一个重要的研究问题。具体实现主要结合ICA技术,将语音去噪作为一个预处理过程,对带噪声的混叠语音盲分离进行了研究,本文详细了介绍了FastICA算法,将这种算法应用于实际的语音信号噪声分离中,并将分离出的语音信号与混合前的原信号进行了分析比较,验证了通过ICA实现语音信号的盲分离是切实可行的。

[关键词]语音信号,盲源分离,独立成分

[Abstract]Blind separation of speech signals processing means for processing refers to a section of the speech signal of microphone detected by BSS technique. Separate the mixed speech signals is an important content of blind separation, the mixed speech separation is mostly based on noise free environment in the overlapping case, mainly to the blind source separation (Blind Source Separation, BSS), according to the statistical characteristics of the signal from the observed signals recover independent source component is unknown.

This paper focuses on the blind source separation using speech signal as the background, in speech and audio signal processing field, separating each voice source signal from noisy mixed speech signals, to mimic human speech separation ability, has become an important research question. Concrete realization mainly with ICA technology, the speech denoising as a pretreatment process, the overlapping speech blind separation of mixed with noise is studied, this paper presents the FastICA algorithm, the speech signal noise separation of this algorithm is applied to the practice, and the original voice signal mixed with isolated anterior are analyzed and compared, verified by ICA to realize the blind separation of speech signals is feasible.

[Keywords]speech signal, blind source separation, independent component analysis

目录

1 前言 (1)

1.1盲语音信号分离技术的背景及意义 (1)

1.2语音的特性 (1)

2 语音信号特性及分析 (2)

2.1语音的基本特征 (2)

2.2语音处理的理论基础 (3)

2.3语音信号的MATLAB应用程序 (3)

2.3.1 输入语言的MATLBA 时域和频谱图程序分析 (3)

2.3.2 混合语音信号的MATLBA 时域和频谱图程序分析 (7)

3 盲信号处理 (10)

3.1盲信号处理的基本概念 (10)

3.2盲信号处理的方法和分类 (10)

3.3盲信号处理技术的研究应用 (10)

3.4独立成分分析分析 (11)

3.4.1 独立成分分析的定义 (11)

3.4.2 ICA的基本原理 (12)

4 FASTICA算法 (14)

4.1数据的预处理 (14)

4.2F AST ICA算法 (14)

4.3ICA分离的步骤 (15)

4.4混合语音信号的波形图 (16)

4.5分离后的信号的波形图 (17)

4.6对比分析 (20)

5 小结体会 (22)

6参考文献 (23)

7致谢 (24)

8附件 (25)

1 前言

1.1 盲语音信号分离技术的背景及意义

近年来,混合语音信号的分离成为语音信号处理领域的一个研究热点。我们经常在信号处理中遇到这样的问题,如何将这些原始信号从一组随机信号经过一组混合系统得到的观测信号种恢复出,如果在重构过程中没有原始信号和混合系统的先验知识,就将该过程称为盲分离。其理论也不断运用到医学、图像、通讯等领域

在语音方面的应用包括有多个人说话构成的声音环境下,从多个话筒接收到的声音信号就是所谓的鸡尾酒会问题,它是指人们在嘈杂环境中或者是在许多人同时说话的情况下有辨识自己感兴趣的声音的能力引起研究者的兴趣。而我们所研究的混合语音信号分离急速虽然不能失信是计算机具有和人类一样的听觉,但是通过该技术却能使原本相互混叠的语音信号相互剥离,来作为语音识别的预处理,从而使得噪声环境下结合多说话人情形下的语音识别的实现成为可能。

1.2 语音的特性

(1)短时平稳性

通过对语音信号的研究,语音信号是一种非平稳的、时变的随机过程,另一方面,人类声音系统的结构的变化是有一定限制的,在短时间内(10~30ms)人的声道和声带形状基本不变,而且大部分情行下,原激励参数也是如此,由此可认为在较短的时间内语音的特征是不变的,语音的这一短时性特点是对语音信号分析和处理的前提。

(2) 清音和浊音

语音可以分为清音和浊音两大类,他们从语音产生的基础上有明显的分别,前者由随机性噪声产生,后者由周期性脉冲产生,因此在特点上也有本质的区别。在时域上,浊音表现出显而易见的周期性,在频域上,浊音有共振峰构造且能量比较集中在低频段内。清音则不同,清音没有较明显特征,和白噪声差不多。

浊音在频域上有共振峰结构,能量大量集中在低频区(<1000Hz),清音则没有共振峰结构,能量大量在高频段且较小(>1000Hz)。

2 语音信号特性及分析

2.1 语音的基本特征

(1)语音的时域特征

由于讲话人不同时间说话内容不同,且没有规律性,因此语音的信号是时变的。但是,人类发出声音器官的变化率有限,在较短时间内(5.500ms),声道在平稳状态,因此语音的信号有短时平稳性。并且这种短时平稳性,是语音处理中许多算法和理论的前提。由于人在讲话话时,不同音节、单词之间总存在着一些时间上的间隔,由此在时域上,语音信号存在着两种音段:有音段、无音段。经过有音和无音的检测,可用于去除语音中较平稳的噪声。而且,无音段越占较大比例,语音在稀疏性越好,基于这一特点,产生了很多增强语音稀疏性的算法。 (2)语音的频域特征

语音的主要频谱能量集中在300-3400Hz 。语音由清音音和浊音构成,浊音信号含有语音信号的大量能量,其频谱集中于低频段中的基因频率及其各次谐波上,表现出周期性;清音则表现出随机性,在频谱与白噪声差不多。 (3)语音的统计特征

可以将语音信号看作是一个遍历性随机过程的样本函数,可用幅度的概率密度函数来描述统计特性。

通过对语音信号统计特性的研究,其幅度分布的概率密度函数可以用两种近似的表达式来较好的描述,一种是伽马(Gamma)分布

()k x

p x -=

(2.1)

式中k 是一个常数,与标准差,有下列关系

x k =

(2.2)

另一种是拉普拉斯分布(Laplacian)分布

()0.5x

p x e αα-= (2.3)

式中,α是一个由标准差决定的常数,即

x

α=

(2.4)

相对说来,伽马分布在幅度分布上对语音信号的描述更精确,而拉普拉斯分布函数更加简洁。

2.2语音处理的理论基础

频谱分析时,在对时域数据进行短时FFT处理之前都要进行加窗处理。在FFT处理之后,普通频谱分析可以进行频域上的滤波处理,从而使频谱更加平滑。为了得到各种音频信号的特技效果,也需要对各种变声算法进行研究。

(1)窗的选择

一般来讲,一个较好窗函数具有一定标准:在时域上,因为是语音的波形与窗函数相乘,因此窗两端的坡度要减小,将窗口两端在不引起急剧性变化的同时过渡到零,这样可将截出的语音信号的波形慢慢的降到零,减少语音帧的阶段效应;在频域上必须有较宽的带宽和较小的边带最大值。另外一方面,不同人的基音周期变化很大,主要集中在70Hz-1000Hz。所以窗一般选择在10ms-20ms之间。此外,为了避免在加窗时加入多余的高频信号,应该使用平滑窗,例如汉明窗。

(2)变声算法的讨论

语声可以分为声带振动的浊音部分、声带不振动的清音部分以及静音部分。在这里,我们主要是改变原始话音的基音频率,以达到变声的目的。

第一种方法是不修改采样数据,仅改变Fs 。这种方法操作非常简便。

第二种方法是直接乘以一个余弦函数,把语音信号频段搬移到较高频段,以达到变声的目的。

第三种方法是插值以后重新抽样。基本过程是这样的:已知当前帧帧长FL(采样)点,采样频率Fs ,目标变换帧频率Fs’,则目标变换帧帧长FL’=FL*Fs’/Fs 。记Rate = Fs’/Fs ,那么FL’=FL * Rate,其中Rate 为基频变化率。变换开始时,先求得FL 和FL’的最小公倍数AL,再将原音频帧插值为AL点,最后将插值后的语音段重新抽样,得到长FL’点的变声后的数据。

三种方法操作起来都还比较简单,但为了便于分析时域、频域特效,本设计选择了通信中常用的调制方法,即方案二。

2.3语音信号的MATLAB 应用程序

2.3.1 输入语言的MATLBA 时域和频谱图程序分析

一般来说,matlab只能对格式为wav的音乐进行处理,为此,我从酷狗音乐中下载了三个格式为wav的小音乐,分别为‘开门的声音’、‘越狱的背景音乐’和儿歌‘两只小蜜蜂’,将它们作为我对语音信号处理的原始信号。为了对我下载的音乐进行matlab处理,通过查阅资料,我编写出如下程序,分别对三个语音信号进行了分析,并得出了他们的波形、幅值、相位和频谱图。

(1)原始信号一的处理

信号一为‘开门的声音’,将它经过程序处理后得出信号一的波形、幅值、相位和频

谱图,如图2.1所示,下面为对信号一进行处理的源程序和得出的信号一的图形分析结果:

信号一:

fs=25600;

[x,fs,bits]=wavread('m.wav',40000);

sound(x,fs,bits);

y1=fft(x,1024); %对信号做1024点FFT变换

f=fs*(0:2047)/4096;

figure(1)

magy1=abs(y1);

angy1=angle(y1);

subplot(2,2,1),plot(x);title('信号1波形')

subplot(2,2,2),plot(magy1);title('信号1幅值')

subplot(2,2,3),plot(angy1);title('信号1相位')

subplot(2,2,4),

plot(f,abs(y1(1:2048)));

title('信号1频谱')

xlabel('Hz');

ylabel('fudu');

axis([0 100 0 50])

1

234

x 10

4

-1-0.500.5

1信号一波形

2000

4000

6000

0204060

80信号一幅值

2000

4000

6000

-4-202

4信号一相位

50100

010203040

50信号一频谱

Hz

f u d u

图2.1 信号一的波形、幅值、相位和频谱图

(2)原始信号二的处理

信号二为‘越狱的背景音乐’,将它经过程序处理后得出信号二的波形、幅值、相位和频谱图,如图2.2所示,下面为对信号二进行处理的源程序和得出的信号二的图形分析结果:

信号二 fs=25600;

[x,fs,bits]=wavread('n.wav',40000); sound(x,fs,bits);

y1=fft(x,1024); %对信号做1024点FFT 变换 f=fs*(0:2047)/4096;

figure(1) magy1=abs(y1); angy1=angle(y1);

subplot(2,2,1),plot(x);title('信号2波形') subplot(2,2,2),plot(magy1);title('信号2幅值') subplot(2,2,3),plot(angy1);title('信号2相位') subplot(2,2,4),

plot(f,abs(y1(1:2048)));

title('信号2频谱') xlabel('Hz'); ylabel('fudu'); axis([0 100 0 50])

1

234

x 10

4

-1-0.500.5

1信号二波形

0200040006000

2040

60信号二幅值

2000

4000

6000

-4-202

4信号二相位

50100

010203040

50信号二频谱

Hz

f u d u

图2.2 信号二的波形、幅值、相位和频谱图

(3)原始信号三的处理

信号三为儿哥‘两只小蜜蜂’,将它经过程序处理后得出信号三的波形、幅值、相位和频谱图,如图2.3所示,下面为对信号三进行处理的源程序和得出的信号三的图形分析结果:

信号三

fs=25600;

[x,fs,bits]=wavread('s.wav',40000); sound(x,fs,bits);

y1=fft(x,1024); %对信号做1024点FFT 变换 f=fs*(0:2047)/4096; figure(1) magy1=abs(y1); angy1=angle(y1);

subplot(2,2,1),plot(x);title('信号3波形') subplot(2,2,2),plot(magy1);title('信号3幅值') subplot(2,2,3),plot(angy1);title('信号3相位') subplot(2,2,4),

plot(f,abs(y1(1:2048))); title('信号3频谱') xlabel('Hz'); ylabel('fudu'); axis([0 100 0 50]

1

234

x 10

4

-1-0.500.5

1信号三波形

2000

4000

6000

0204060

80信号三幅值

2000

4000

6000

-4-202

4信号三相位

50100

010203040

50信号三频谱

Hz

f u d u

图2.3 信号三的波形、幅值、相位和频谱图

2.3.2 混合语音信号的MATLBA 时域和频谱图程序分析

将上述的三个原始信号通过编程将其混合成一个语音信号,然后继续进行编程处理,

的出混合语音信号的波形、幅值、相位和频谱图,如图2.4所示。下面为将三个语音信号混合和对混合语音信号处理的源程序,及其经过处理得到的混合语音信号的波形、幅值、相位和频谱图:

1

2

34

x 10

4

-1-0.500.5

1混合信号波形

0200040006000

100200

300混合信号幅值

2000

4000

6000

-4-202

4混合信号相位

50100

010203040

50混合语音信号频谱

Hz

f u d u

图2.4 混合信号的波形、幅值、相位和频谱图

混合语音信号:

[x,fs,bits]=wavread('m.wav',200)'; [y,fs,bits]=wavread('s.wav',200); [z,fs,bits]=wavread('n.wav',200); S=[x;y;z];

Sweight=rand(size(S,1)); MixedS=Sweight*S; x=MixedS(1,:); fs=25600;

y1=fft(x,4096); f=fs*(0:2047)/4096; figure(1)

magy1=abs(y1); angy1=angle(y1);

subplot(2,2,1),plot(x);title('混合信号波形') subplot(2,2,2),plot(magy1);title('混合信号幅值') subplot(2,2,3),plot(angy1);title('混合信号相位')

subplot(2,2,4), plot(f,abs(y1(1:2048))); title('混合信号频谱')

xlabel('Hz');

ylabel('fudu');

axis([0 1000 0 50])

3 盲信号处理

3.1 盲信号处理的基本概念

盲信号处理是现代数学信号处理、算智能学近年来迅速发展的重要方向。电子信息、通信、生物医学、图像增强、雷达、地球物理信号处理等众多领域有广泛的应用前景。

盲信号处理就是利用系统(如无线信道、通信系统等)的输出观测数据,通过某种信号处理的手段, 获得我们感兴趣的有关信息(如原来独立发射的信号等)。

盲信号的研究是当前学术界研究的热点,而在盲信号研究中,盲信号分离则是一个重要课题。BSS是指从混合的语音信号中分离出来一些未知的原信号。盲信号中的“盲”有两个方面的含义:一,对原信号不知道或仅有少许先验知识。二,混合信号是未知的。这看似是不可能完成的任务,而理论和实际都已经证实了只需要一些简单的假设,便可得到该问题的解。这使得BSS成为一种功能强大的处理信息的方法。

3.2 盲信号处理的方法和分类

在盲信号处理中,就原信号进过传输通道的混合方式而言,其处理方法可分为线性瞬时混合信号盲处理、线性卷积混合信号盲处理和非线性混合信号盲处理三类。

根据通道中是否有噪声、噪声特性(白噪声、有色噪声等)、噪声混合形式,可分为有噪声、无噪声盲处理,含加性噪声和乘性噪声混合信号盲处理等。

按原信号和观测信号数目的不同可将混合方式分为欠定、适定和超定情况 ;按原信号的不同可分为 : 平稳、非平稳、亚高斯、超高斯、超高斯和亚高斯混合分离等。

盲处理的目的可分为盲源分离和盲辨识两类。其中,盲辨识的目的是求传输通道混合矩阵(新型混合矩阵、卷积混合矩阵、非线性混合矩阵等)。盲源分离是为求出源信号的最佳估计。当盲源分离的各分量相互独立时,就称为独立分量分析,即独立分量分析是盲源分离的一种特殊情况。

3.3 盲信号处理技术的研究应用

近年来,盲信号处理逐渐成为当今信息处理领域中热门的课题之一,并且已经在尤其在生物医学工程、医学图像、语音增强、遥感、通信系统、地震探测、地球物理学、计量经济学和数据挖掘等领域显示出诱人的前景,特别是盲源分离技术、ICA的不断发展和应用最为引人注目。

1.语音识别领域

语音信号分离、语音识别是盲处理应用的一个重要领域。最典型的应用就是声控计算机,计算机所接受到的语音指令肯定是肯定是带有各种环境噪声的,还可能存在其他的语音信号,而且这些信号原与接收器的位置也未知,计算机要在此时识别出准确的语音命令。移动通信中,总是存在通信质量等问题,对通话效果产生极大的影响,而盲源分离、盲均衡技术都能够消去噪声、抑制干扰和加强语音,提高语音通话的质量。

2.生物医学信号

在生物医学方面,盲信号的处理可以应用在脑电图(EEG)信号分离、心电图(ECG)、功能磁共振图像(FMRI)分析、听觉信号分析等。目前,一些学者已经将盲源分离技术应用在脑电图等信号的数据处理方面。

3.4 独立成分分析分析

独立分量分析 ( Independent Component Analysis , ICA) 是由Herault和J utten在1983年提出,该方法不依赖与源信号类型相关的详细知识或信号传输系统特性的精确辨识,是一种有效的冗余取消技术,被广泛应用于盲源分离( blind source separation BSS)、特征提取和盲解卷、生理学数据分析语音信号处理、图像处理及人脸识别等领域。该方法根据代价函数的不同 ,可以得到不同的ICA算法,如信息最大化(infomax)算法、Fast ICA算法、最大熵( M E)和最小互信息( MM I)算法、极大似然(ML)算法等。

在统计学中,独立成分分析或独立分量分析(Independent components analysis,缩写:ICA)是一种运用统计原理进行计算的方法。这是一个线性变换。这个变换把信号、数据分离成独立统计的非高斯的信号原地线性组合。ICA是盲信号分离(Blind source separation)的一种特例

3.4.1 独立成分分析的定义

ICA是一种从多变量(多维)统计数据里找出隐含的因素或成分的方法,被认为是主要成分分析(Principal Component Analysis, PCA)和因子分析(Factor Analysis)的一种扩展。对于盲源分离,ICA是指知道混合信号,且不知道原信号、噪声和混合机制的情况下,分离或近似的分离出原信号的一种分析过程。

独立成分分析(Independent Component Analysis, ICA)是近些年来出现的一种强大的对数据分析的工具(Hyvarinen A, Karhunen J, Oja E, 2001; Roberts S J, Everson R, 2001)。1994年由Comon给出了ICA的一个较为严格的数学定义,其思想最早是由Heranlt和Jutten于1986年提出来的。ICA从出现到现在虽然时间很短,然而不论在理论上还是在应用上,它正在被越来越多的人关注,成为国内外的一个研究热点。尤其是从应用角度,它的应用领域和应用前景是非常广阔的,目前主要应用在盲源分离、语言识别、通信、生物医学信号处理、脑功能成像研究、特征提取、金融时间序列分析和数据挖掘等方面。

盲源分离技术是近二十年发展起来的一门新型科学,在各国科学家和研究人员的努力下获得了充分的发展,但是对ICA的研究却很缓慢,这毕竟是一个涉及多方面并且处在发展前沿的研究课题,理论上还没有成熟,许多问题都需要进一步的研究、解决。

(1)带噪声混合语音信号的盲分离

盲信号处理中的条件太多,混合信号在含有噪声的情况下其盲源分离问题的解决是比较困难的。虽然已有部分算法对于有噪声的情行下表现出较好的性能,但出于噪声种类多,

因此处理起来仍很困难。现有的多数盲源分离或盲解卷积算法都把信号假设不含噪声或把噪声看做一个独立的信原信号进行处理。

(2)非平稳混合语音信号地盲源分离算法

很多情况下原信号有可能是非平稳的,如何通过信号的非平稳特性来进行盲源分离是广大研究员必须面临的一个重要现实问题。

(3)卷积混合语音信号的盲源分离算法

实际应用中,系统接收的混合信号是原信号经过不同的途径传达到接收器。在这一过程中,会不可避免的产生信号的反射。针对这一情况下的盲源分离算法还不够成熟。

(4)ICA 的推广应用

在算法的应用方面,ICA 可以取得更大的发展,如可以在语音的识别、图像的处理、特征的提取、医学信号的处理方面作一些进一步的研究。但关键的问题是怎样将理论的算法转变为实际的应用,以及怎样建立更好的反应实际的模型等。

(5)算法的收敛性

算法在全局收敛性方面的研究,可以将遗传算法、混沌算法等一些具有全局收敛性的算法和ICA 结合起来,有助于提高算法的全局收敛性。

3.4.2 ICA 的基本原理

(1)无噪声的ICA 模型

ICA 作为生成模型的估计给定随即变量的一组观测123(),(),()x t x t x t …()n x t ,其中t 是时间或者样本标号,假设它们有独立成分线性混合而产生:

1234()()()()x t x t x t x t ?????????????=A 1234()()()()s t s t s t s t ?????????

???? (3.1)

式中,A 是某个未知矩阵。

用向量和矩阵符号方法表示比上面的表式更加的方便。随机向量x 用来表示混合向量,其组成分别为1,...,n x x ,s 用来表示元素1,...n s s ,矩阵A 则用来表示混合系数aij 。所有的向量都可以理解为列向量;这样T

x 或x 的转置就可以认为是一个行向量。利用向量和矩阵符号,混合模型可以表示为:

x

As = (3.2)

有时我们需要使用矩阵A 中的列向量,如果将其表示为,则模型也可以写为:

1

n

i i

i x a s ==∑ (3.3)

(2)有噪声的ICA 模型

将基本的ICA 模型扩展到有噪声的情形,并且假设噪声是以加性噪声形式存在的。这是一个相当现实的假设,因为加性噪声是因子分析和信号处理中通常研究的标准形式,具有简单的噪声模型表达方式。因此,噪声ICA 模型可表示为:

x As n =+ (3.4)

式中,

[]

1,...T

n n n n =是噪声向量。

信号原噪声,即直接添加到独立成分(即信号原)上的噪声。信号原噪声可用稍有差别的下式来表示:

()x A s n =+ (3.5)

实际上,如果可以直接考虑带噪声的独立成分,那么可将此模型写为:

~

x A s = (3.6)

可以看出,这就是基本的ICA 模型,只是独立成分本身变了。

4 FastICA 算法

4.1 数据的预处理

在一般情行下,得到的数据都具有相关性,要对这些数据进行白化或球化处理,这是因为通过白化处理可以去掉各观测信号间的相关性,使后续的独立分量的提取得到简化,在一般情况下,对数据白化处理比不对数据白化处理的算法的收敛性更好。

如果一零均值的随机向量T M Z Z Z ),,(1 =满足I ZZ E T =}{,则这个向量为白化向量。白化的本质表现在去相关。在ICA 中,零均值的独立原信号T N t S t S t S )](,),([)(1 =,有:

j i S E S E S S E j i j i ≠==当,0}{}{}{,协方差矩阵为单位阵I S =)cov(,因此,源信号)(t S 是白色的信号。对于观测信号)(t X ,通过一个线性变换,使)(t X 投射到子空间后表现为白化向量,即:

)()(0t X W t Z = (4.1) 其中0W 为白化矩阵,Z 为白化向量。

利用分量的分析,通过对样本向量的计算可以得出一个变换

T U W 2/10-Λ= (4.2) 其中U 、Λ代表协方阵x C 的特征值和向量矩阵。可证明,线性变换0W 符合白化变换的要求。如此通过正交变换,可以保证I UU U U T T ==。由此,协方差矩阵可表示为:

I U XX E U U XX U E ZZ E T T T T T =ΛΛΛ=ΛΛ=ΛΛ=------2/12/12/12/12/12/1}{}{}{ (4.3)

再将)()(t AS t X =式代入)()(0t X W t Z =,且令~

0A A W =,有

)()()(~

0t S A t S W t Z == (4.4)

由于线性变换~A 连接的是两个随机的白色矢量)(t Z 和)(t S ,可以得出~

A 是正交变换。如果把)(t Z 看做新的观测信号,那么就可以说,白化已经使原来的混合矩阵A 简化成一个

新的正交矩阵~

A 。

白化这种常规的方法作为ICA 的预处理可以有效地降低问题的复杂度,而且算法简单,用传统的PCA 就可完成。

4.2 FastICA 算法

FastICA 算法,又称固定法(Fixed-Point )算法,是一种快速寻优迭代算法,采用批处理的方式,即在每一步迭代中有大量的样本数据参与运算。FastICA 算法有基于峭度、基于似然最大、基于负熵最大等形式。

FastICA 算法将最大的负熵做为搜寻的方向。由信息论的理论可知:在所有的随机变量中,高斯变量拥有最大熵,可以通过熵来度量非高斯性,根据中心极限定理,若一随机的变量X 由很多独立的随机变量)3,2,1(N i S i =之和组成,只要i S 具有有限的均值和方差,则不论它是什么分布,随机变量X 比i S 更接近高斯分布。在分离的过程中,可以对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性达到最大时,则表明已实现各独立分量的分离。负熵的定义:

)()()(Y H Y H Y N G auss g -= (4.5) 式中,Gauss Y 是一与Y 具有相同方差的高斯随机变量,)(?H 为随机变量的微分熵

ξξξd p p Y H y y )(lg )()(?-= (4.6) 根据信息论,拥有相同方差的随机变量,高斯分布的随机变量有较大的微分熵。当Y 有高斯分布时,0)(=Y N g ;Y 具有越强的非高斯性,则其微分熵越小,)(Y N g 值越大,所以

)(Y N g 可以做为随机变量Y 非高斯性的度量。

由于计算微分熵需要Y 的概率密度分布函数,于是采用如下近似公式:

2)]}([)]([{)(G auss g Y g E Y g E Y N -= (4.7) 其中][?E 为均值运算;()?g 为非线性函数,可取),tanh()(11y a y g =或)2/exp()(22y y y g -=或33)(y y g =等非线性函数,这里,211≤≤a ,通常我们取11=a 。

FastICA 是找一个方向以便)(X W Y X W T T =具有最大的非高斯性。FastICA 的推导过程如下。首先,X W T 的最大负熵的近似值可以通过对)}({X W G E T 的优化处理获得。根据

Kuhn-Tucker 条件,在1}){(2

2==W X W E T 的约束下,)}({X W G E T 的最优值能通过下式来获得。

0)}({=+W X W Xg E T β (4.8)

这里β是恒定值,)}({00X W Xg W E T

T =β,0W 是优化后的W 值。用F 表示上式左边的函数,可得F 的雅克比矩阵)(W JF 如下:

I X W g XX E W JF T T β-=)}({)(, (4.9) 为了将矩阵求逆过程简化,可以近似将其看做上式的第一项。但是,由于数据被球化,I XX E T =}{,所以,I X W g E X W g E XX E X W g XX E T T T T T )}({)}({}{)}({,,,=?≈。因而雅克比矩阵变成了对角阵并且能比较容易的求逆,因而可以得到下面的近似牛顿迭代公式:

])}({/[])}({[,ββ---=*X W g E W X W Xg E W W T T

*

*=W W W / (4.10) 这里*W 是W 的新值,)}({X W Xg W E T T =β,规格化能提高解的稳定性。简化后就可以得到FastICA 算法的迭代公式:

])}({/[])}({[,ββ---=*X W g E W X W Xg E W W T T

*

*=W W W / (4.11) 用迭代公式求W

4.3 ICA 分离的步骤

(1)均值归零,令

}{~

x E x x -= (4.12)

(x ~

的均值=0,但他的其他统计特性和X 一样) (2)数据白化 求出自相关函数

}{~~~H

x x E x

R = (4.13)

对自相关函数

x R U U H ~=?Λ? (4.14)

(Λ是对角阵)

对数据进行白化,令: x

H V Z ~2

1??Λ=-

(4.15) (可以证明Z 是“白”的,及I ZZ E H =}{) (3)选择任意正交矩阵作为初值0W (4)用迭代公式更新W 的每一列t w

w z w g E z w zg E w T

t T t t )}({)}({-← (4.16) 其中)(?g 可以使下面几个函数中的一个

)tanh()(1h y g ??= 222

)(y e y y g -

?= (4.17)

33)(y y g =

(5)W 正交化 w ww w T

21

)(-← (4.18) (6)如果不收敛(W 迭代后改变较大),则返回步骤4

4.4 混合语音信号的波形图

对混合语音信号进行编程处理,得到混合语音信号的波形如图4.1所示。下图即为经过matlab 处理后的混合语音信号的波形图:

语音信号的盲分离

课程设计任务书 学生:专业班级:通信1103 指导教师:许建霞工作单位:信息学院 题目: 语音信号的盲分离 初始条件:Matlab软件、PC机 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计任务 根据盲信号分离原理,用matlab采集两路以上的语音信号,选择合适的混合矩阵生成若干混合信号。选取合适的盲信号分离算法(如独立成分分析ICA等)进行训练学习,求出分离矩阵和分离后的语音信号。 设计要求 (1) 用matlab做出采样之后语音信号的时域和频域波形图 (2) 选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图 (3) 采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的确matlab代码。 (4) 用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。 (5) 对结果进行对比分析。 时间安排:

指导教师签名:2014年 6 月10 日 系主任(或责任教师)签名:2014 年 6 月10 日 摘要 盲信号处理(Blind Signal Processing,BSP)是指从观测到的混合信号中,在没有任何先验条件的情况下,恢复出未知的源信号过程。盲信号分离已成为信号处理学界和通信工程学界共同感兴趣的一个极富挑战性的研究热点问题,并获得了迅速的发展。 盲分离根据信号源的不同可以分为确定信号盲分离、语音信号盲分离和图像盲分离等,本设计主要讨论语音信号的盲分离。 语音信号的盲分离主要是利用盲源分离(Blind Signal Separation,BSS)技术对麦克风检测到的一段语音信号进行处理,本文重点研究了以语音信号为背景的盲处理方法,在语音和听觉信号处理领域中,如何从混有噪声的的混叠语音信号中分离出各个语音源信号,来模仿人类的语音分离能力,成为一个重要的研究问题。根据盲信号分离原理,本设计用matlab采集3路语音信号,选择合适的混合矩阵生成若干混合信号。 具体实现主要结合独立分量分析ICA技术,选取混合矩阵对3个语音信号进行混合,并从混合信号中分离出原语音信号,最后画出各分离信号的时域波形和频谱图和原来的信号进行比较。此外还运用PCA算法进行了混合语音信号的分离实现,最终对两种算法进行比较。 关键字:盲信号处理;语音信号;盲源分离BSS;独立分量分析ICA技术

matlab语音信号采集与初步处理要点

《matlab与信号系统》实验报告 学院: 学号: 姓名: 考核实验——语音信号采集与处理初步 一、课题要求 1.语音信号的采集 2.语音信号的频谱分析 3.设计数字滤波器和画出频率响应 4.用滤波器对信号进行滤波 5.比较滤波前后语音信号的波形及频谱 6.回放和存储语音信号 (第5、第6步我放到一起做了) 二、语音信号的采集 本段音频文件为胡夏演唱的“那些年”的前奏(采用Audition音频软件进行剪切,时长17秒)。运行matlab软件,在当前目录中打开原音频文件所在的位置,采用wavread函数对其进行采样,并用sound函数可进行试听,程序运行之后记下采样频率和采样点。 利用函数wavread对语音信号的采集的程序如下: clear; [y,fs,bits]=wavread('music.wav'); %x:语音数据;fs:采样频率;bits:采样点数sound(y,fs,bits); %话音回放 程序运行之后,在工作区间中可以看到采样频率fs=44100Hz,采样点bits=16

三、语音信号的频谱分析 先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性。语音信号的FFT频谱分析的完整程序如下: clear; [y,fs,bits]=wavread('music.wav'); %x:语音数据;fs:采样频率;bits:采样点数sound(y,fs,bits); %话音回放 n = length (y) ; %求出语音信号的长度 Y=fft(y,n); %傅里叶变换 subplot(2,1,1); plot(y); title('原始信号波形'); subplot(2,1,2); plot(abs(Y)); title('原始信号频谱'); 程序结果如下图: 四、设计数字滤波器和画出频率响应 根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz,As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800 Hz,fp=5000 Hz As=100dB,Ap=1dB。

孙烽原 基于MATLAB的线性盲信号分离算法的研究

毕业论文(设计)材料 题目:基于 MATLAB 的线性盲信号分离算 法的研究 学生姓名:孙烽原 学生学号:0908030229 系别:电气信息工程学院 专业:电子信息工程 届别:2013 指导教师:张大雷

填写说明 1、本材料包括淮南师范学院本科毕业论文(设计)任务书、开题报告以及毕业论文(设计)评审表三部分内容。 2、本材料填写顺序依次为: (1)指导教师下达毕业论文(设计)任务书; (2)学生根据毕业论文(设计)任务书的要求,在文献查阅的基础上撰写开题报告,送交指导教师审阅并签字认可; (3)毕业论文(设计)工作后期,学生填写毕业论文(设计)主要内容,连同毕业论文(设计)全文一并送交指导教师审阅,指导教师根据学生实际完成的论文(设计)质量进行评价; (4)指导教师将此表连同学生毕业论文(设计)全文一并送交评阅教师评阅。 3、指导教师、评阅教师对学生毕业论文(设计)的成绩评定均采用百分制。 4、毕业论文(设计)答辩记录不包括在此表中。

一、毕业论文(设计)任务书 要求完成的主要任务及达到的目标 顾名思义,盲信号是指未知的、有杂乱无章特征的信号,人们难以得知源信号以及源信号的结合形式。对于盲信号的处理是通信时代比较前沿的技术之一,从接收信号中尽力还原源信号的技术称为盲源分离、盲信号提取。这已经称为通信信号学术领域的研究焦点。盲信号处理如今广泛被语音识别、语音增强、图像处理、通信系统、地震探测、遥感、数据挖掘、计量经济学、医学成像等领域所应用。根据传输介质的不同混合方式,盲信号处理有线性瞬时混合信号盲处理、线性卷积混合信号盲处理、非线性混合信号盲处理三种。本研究主要讨论有线性瞬时混合信号忙处理的计算方法。 ?对盲信号处理学各类算法的了解和掌握; ?对有线瞬时混合信号忙处理方法的熟悉和精通; ?对于MATLAB软件的熟练操作; ?实现用MATLAB软件实现对线性盲信号分离算法。 在此基础上巩固、加深和扩大MATLAB应用的知识面,进一步了解用此款软件对数字信号处理、数字图像处理、工程设计等的应用。加深对盲信号处理知识的掌握深度,加强对线性盲信号分离算法的理解,提高综合及灵活运用所学知识研究各类数学算法的能力。学会查阅书籍,并且要能够熟练的运用数学软件、编写程序、仿真、处理信号问题的方法、内容及步骤。学会对课题设计方案的分析、选择、比较。 工作进度要求

基于matlab的语音信号的采集与处理

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。 目录 第1章前言 ................................................................................................... 错误!未定义书签。第2章语音信号分析处理的目的和要求 ................................................... 错误!未定义书签。 2.1MATLAB软件功能简介................................................................. 错误!未定义书签。 2.2课程设计意义 .................................................................................. 错误!未定义书签。第3章语音信号的仿真原理..................................................................... 错误!未定义书签。第4章语音信号的具体实现..................................................................... 错误!未定义书签。 4.1语音信号的采集................................................................................ 错误!未定义书签。 4.2语音信号加噪与频谱分析................................................................ 错误!未定义书签。 4.3设计巴特沃斯低通滤波器................................................................ 错误!未定义书签。 4.4用滤波器对加噪语音滤波................................................................ 错误!未定义书签。 4.5比较滤波前后语音信号波形及频谱................................................ 错误!未定义书签。第5章总结................................................................................................... 错误!未定义书签。参考文献......................................................................................................... 错误!未定义书签。附录................................................................................................................. 错误!未定义书签。

盲源分离 开题报告

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

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

基于MATLAB的线性盲信号分离算法的研究

毕业论文(设计) 论文题目:基于MATLAB的线性盲信号分离算法的研究 学生姓名:孙烽原 学号:0908030229 所在院系:电气信息工程学院 专业名称:电子信息工程 届次:2013届 指导教师:张大雷

淮南师范学院本科毕业论文(设计) 诚信承诺书 1.本人郑重承诺:所呈交的毕业论文(设计),题目《 》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容; 2.毕业论文(设计)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已注释说明来源; 3. 毕业论文(设计)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况; 4.本人已被告知并清楚:学院对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业论文(设计)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果; 5.若在省教育厅、学院组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学院按有关规定给予的处理,并承担相应责任。 学生(签名): 日期:年月日

目录 前言 (2) 1 概述 (2) 1.1盲信号处理的概念与分类 (3) 1.2盲处理概念 (4) 1.3盲信号处理的分类 (4) 1.4盲信号处理的应用 (4) 2 盲信号分离的基础 (4) 2.1盲信号的预处理 (5) 2.2信号的去均值处理 (5) 2.3盲信号分离原理 (5) 2.4盲信号分离的方法 (6) 3 盲分离的算法和仿真结果 (6) 3.1最大信噪比的盲信号分离算法 (6) 3.2基于最大信噪比盲信号分离的算法流程 (7) 3.3基于峭度的盲信号分离的算法 (7) 3.4基于峭度的盲信号分离的算法流程 (8) 3.5基于两种算法的仿真 (8) 3.6仿真结果分析 (12) 4 结论 (13) 4.1总结 (13) 4.2未来工作 (13) 参考文献 (14)

基于MATLAB的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

基于matlab的语音信号滤波处理——数字信号处理课程设计

数字信号处理课程设计 题目:基于matlab的语音信号滤波处理学院:物理与电子信息工程 专业:电子信息工程 班级: B07073041 学号: 200932000066 姓名:高珊 指导教师:任先平

摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录 1.设计内容 (4) 2.设计原理 (4) 2.1语音信号的时域分析 (4) 2.2语音信号的频域分析 (5) 3.设计过程 (5) 3.1实验程序源代码 (6) 3.1.1原语音信号时域、频域图 (6) 3.1.2低通滤波器的设计 (6) 3.1.3高通滤波器的设计 (7) 3.1.4带通滤波器的设计 (8) 3.1.5语音信号的回放 (9) 3.2调试结果描述 (10) 3.3所遇问题及结果分析 (15) 3.3.1所遇主要问题 (16) 3.3.2结果分析 (16) 4.体会与收获 (17) 5.参考文献 (17)

盲源分离算法初步研究

盲源分离算法初步研究 一、盲源分离基本问题 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 的目标可以表

语音信号处理matlab实现

短时能量分析matlab源程序: x=wavread('4.wav'); %计算N=50,帧移=50时的语音能量 s=fra(50,50,x);%对输入的语音信号进行分帧,其中帧长50,帧移50 s2=s.^2;%一帧内各种点的能量 energy=sum(s2,2);%求一帧能量 subplot(2,2,1); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=50'); axis([0,500,0,30]) %计算N=100,帧移=100时的语音能量 s=fra(100,100,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,2); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=100'); axis([0,300,0,30]) %计算N=400,帧移=400时的语音能量 s=fra(400,400,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,3); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=400'); axis([0,60,0,100]) %计算N=800,帧移=800时的语音能量 s=fra(800,800,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,4); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=800'); axis([0,30,0,200]) 分帧子函数: function f=fra(len,inc,x) %对读入语音分帧,len为帧长,inc为帧重叠样点数,x为输入语音数据 fh=fix(((size(x,1)-len)/inc)+1);%计算帧数 f=zeros(fh,len);%设一个零矩阵,行为帧数,列为帧长 i=1;n=1; while i<=fh %帧间循环 j=1; while j<=len %帧内循环 f(i,j)=x(n); j=j+1;n=n+1; end n=n-len+inc;%下一帧开始位置 i=i+1; end

语音信号盲分离测试工具

基于Tcl/Tk 与C 的语音信号盲分离测试工具 马骏 西安市地下铁道有限责任公司 西安 710018 摘要:如何分离多说话人环境下麦克风所采集的混合语音信号是盲源分离研究的一个重要课题。文章采用TCL/TK 与C 语言混合编程,自主开发了用于语音信号盲分离测试的工具,并介绍了该工具的结构、界面和功能。最后通过试验验证了该工具的正确性。 关键词:盲源分离 语音信号 Tcl/Tk A Tcl/Tk & C-based testing tool for blind separation of audio signals Ma Jun Xi'an Metro Co., Ltd. Xi'an 710018 Abstract: Separating independent signal from audio mixtures is one of the elementary problems in Blind Source Separation (BSS) research. The interface between Tcl/Tk is explained, and a testing tool for blind separation of audio signals is developed. The structure, interface and function of the tool are introduced. The validity of the tool is proved by experiment. Keywords :Blind source separation Audio signals Tcl/Tk 1.引言 盲源分离(BSS )[1,2,3,4]是人工神经网络与统计信号处理以及信息论相结合的产物,而混 合语音信号的盲分离是该领域的一个重要课题。使计算机具有和人类一样的听觉,是计算机智能领域研究者们的梦想。语音识别技术为我们实现计算机听觉的这一目标提供了有效的途径,使得计算机能听懂我们人类的语言,计算机操作从此变得更互动和简单自然,方便了人机的交流。混合语音信号盲分离虽然不能实现计算机听觉这一目标,但是通过该技术却能使原本相互混叠的语音信号相互剥离,来作为语音识别的预处理,从而使得噪声环境下和多说话人情形下的语音识别的实现成为可能,增大了识别算法的鲁棒性和适应能力,从这种意义上来讲该问题的研究具有很大的现实意义。 本文首先阐述了盲源分离的基本理论知识以及Tcl/Tk [5]与C 语言的接口编程,然后采用 分层软件模型开发了用于语音信号盲分离的测试工具,其外壳选择灵活的事件驱动脚本Tcl/Tk 作为基本的界面开发平台,完成配置、控制任务;而其低层的BSS 核心算法库则利用高效的编译型C 语言实现。另外为了完成语音信号的读写等操作还参考了snack [6]语音处理库及其源代码。文章介绍了该工具的结构、界面和功能,最后通过实验验证了该测试工具的正确性。 2.盲源分离模型及算法 设由N 个未知的统计独立的信号源)(t s i 构成了一个列向量,)](),...,([)(1T N t s t s t S =其中t 是离散采样时刻。设A 是一个未知的N M ?维矩阵,通常称为混合矩阵。设[]T M t x t x t X )(),...,()(1=是由M 个传感器观测到混合信号)(t x i 构成的列向量,且满足下列方程: )()((t)t V t AS X += (1) 其中T M 1t ,...,v t v t V )]()([)(=是由M 个空间白化、统计独立噪声信号(t)i v 构成的列向量。盲源分 离的命题是,对任何t ,根据观测到的)(t X ,在A 未知的条件下求)(t S 。 图1给出了语音信号盲分离算法框架图。

基于某MATLAB地语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号:

指导老师: 一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,

语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数

语音信号的盲分离分析

目录 摘要.................................................................... I ABSTRACT ............................................................... II 第一章前言.. (2) 1.1语音特性分析 (2) 1.2语音信号的基本特征 (2) 1.3语音信号处理的理论基础 (2) 第二章盲分离的基本概念 (2) 2.1盲分离的数学模型 (2) 2.2盲源分离的基本方法 (2) 2.3盲分离的目标准则 (2) 2.4盲分离的研究领域 (2) 2.5盲分离的研究内容 (2) 第三章独立分量分析的基本算法 (2) 3.1ICA的线性模型 (2) 3.2ICA研究中的主要问题及限制条件 (2) 3.3ICA的基本算法 (2) 3.4F AST ICA算法原理 (2) 第四章语音信号盲分离仿真及分析 (2) 4.1ICA算法实现 (2) 4.2频谱分析 (2) 第五章总结 (2) 参考文献 (2)

摘要 盲源分离(BSS)是一种多维信号处理方法,它指在未知源信号以及混合模型也未知的情况下,仅从观测信号中恢复出源信号各个独立分量的过程。盲源分离已近成为现代信号处理领域研究的热点问题,在通信、语音处理、图像处理等领域具有非常重要的理论意义和广泛的应用价值。本文主要内容如下: 首先,介绍了语音信号的产生机理,特性,基本特征及语音信号处理的理论基础,为后文语音信号盲分离奠定了基础。 其次,从盲源分离的理论出发,研究了盲分离的数学模型以及基本方法,并对盲分离的目标准则、研究领域以及研究内容进行了探讨。 然后,引出了独立分量分析(ICA),并对其的概念以及相关的知识进行了研究,探讨了ICA研究中的主要问题,列出了ICA的3种基本算法:信息极大化、负熵最大化和最大似然估计法。 最后,用FastICA对三路语音信号进行了盲分离的仿真并求出了混合矩阵和分解矩阵,再接着进行了频谱,幅度,相位的分析,找出了FastICA的特点。 关键词:盲源分离;独立分量分析;频谱分析 III

matlab报告基于matlab有噪声语音信号处理

Matlab课程设计报告题目:基于MATLAB有噪声语音信号处理 系(院):计算机与信息工程学院 专业:通信工程 班级:10623102 指导教师: 学年学期:2011 ~ 2012 学年第2 学期

简介: 我们通信工程专业在实践中经常碰到需要对已接收信号进行处理的情况,而滤波器设计在数字信号处理中占有极其重要的地位。本课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。在设计实现的过程中,我们使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。 1 绪论: 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。数字滤波器, 是数字信号处理中及其重要的一部分。本课题采用IIR 滤波器对加噪声音信号进行处理。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 2.原始语音信号采集与处理 2.1语音信号的采集 由于MATLAB只识别格式为.wav的声音文件,我们利用PC机上的声卡和WINDOWS操作系统进行数字信号的采集。启动录音机进行录音,以文件名“Orisound”保存入原程序所属的文件夹中。可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS操作系统规定的声音文件存的标准。

语音信号的盲分离(毛丽娟)

课程设计任务书 学生姓名:毛丽娟专业班级:通信0906 指导教师:黄铮工作单位:信息工程学院 题目: 语音信号的盲分离 初始条件 ①matlab软件 ②盲信号处理知识 要求完成的主要任务: 根据盲信号分离原理,用matlab采集两路以上的语音信号,选择合适的混合矩阵生成若干混合信号。选取合适的盲信号分离算法(如独立成分分析ICA等)进行训练学习,求出分离矩阵和分离后的语音信号。 设计要求 (1)用matlab做出采样之后语音信号的时域和频域波形图 (2)选择合适的混合矩阵,得到混合信号,并做出其时域波形和频谱图 (3)采用混合声音信号进行训练学习,求出分离矩阵,编写出相应的确matlab 代码。 (4)用求出的分离矩阵从混合信号中分离出原语音信号,并画出各分离信号的时域波形和频谱图。 (5)对结果进行对比分析。 时间安排 第17周,仿真设计 第18周,完成(答辩,提交报告,演示) 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (3) Abstract (4) 1 语音信号 (5) 1.1 语音特性分析 (5) 1.2 语音信号的基本特征 (6) 2 盲信号处理 (8) 2.1 盲信号处理的概述 (8) 2.1.1 盲信号处理的基本概念 (8) 2.1.2 盲信号处理的方法和分类 (9) 2.1.3 盲信号处理技术的研究应用 (9) 2.2 盲源分离法 (10) 2.2.1 盲源分离技术 (10) 2.2.2 盲分离算法实现 (10) 2.3 独立成分分析 (11) 2.3.1 独立成分分析的定义 (11) 2.3.2 ICA的基本原理 (13) 3 语音信号盲分离的实现 (15) 3.1 盲信号分离的三种算法 (15) 3.1.1 二阶盲辨识(SOBI) (15) 3.1.2 FastICA算法 (15) 3.1.3 CICA算法 (16) 3.2 不同算法的分离性能比较 (17) 3.3 FastlCA的算法仿真及结果分析 (17) 4 结论 (22) 5 参考文献 (23) 附录 (24)

基于matlab的语音信号的采集与处理

目录 第1章前言 (1) 第2章语音信号分析处理的目的和要求 (2) 2.1MATLAB软件功能简介............................................................................................ - 2 - 2.2课程设计意义 ............................................................................................................. - 2 - 第3章语音信号的仿真原理. (3) 第4章语音信号的具体实现 (4) 4.1语音信号的采集........................................................................................................... - 4 - 4.2语音信号加噪与频谱分析........................................................................................... - 5 - 4.3设计巴特沃斯低通滤波器........................................................................................... - 6 - 4.4用滤波器对加噪语音滤波........................................................................................... - 7 - 4.5比较滤波前后语音信号波形及频谱........................................................................... - 8 - 第5章总结.............................................................................................................................. - 9 - 参考文献.................................................................................................................................. - 10 - 附录.......................................................................................................................................... - 11 -

基于MATLAB的语音信号的处理

第一章语音信号的特点与采集 第一节语音信号采集的介绍 在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号: 1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。 2.调用wavrecord功能函数采集语音信号。wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为8000Hz; nbits:每个样本的位数,8位或16位,默认值为8位; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。第二节语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个

盲信号分离的理论与发展现状

前沿技术 尺寸的减小,场区参数R1和R2相应收缩。这是一个很有意义的结果。 5 结束语 基于以上的分析和验算,可以说明ISO/IEC18047标准规定的测试参数:观察距离3λ和10λ,天线尺寸 0.1m和 是可行的。 ★【作者简介】 刘礼白:研究员级高工,中国电子科技集团公司第七研究所科技委主任、专家委员会副主任,信息产业部宽带无线移动通信技术专家组成员。中华人民共和国电子工业部有突出贡献专家,享受国务院颁发的 政府特殊津贴。 1 引言 盲分离是信号处理领域一个极富挑战性的研究课题。由于盲分离在语音识别、信号去噪、无线通讯、声纳问题、生物医学信号处理、光纤通信等众多应用领域有着广泛的应用前景,从而成为信号处理领域和神经网络领域的研究热点。 盲分离(B S S,B l i n d S o u r c e S e p a r a t i o n)的研究起源于鸡尾酒问题。在多个说话人同时讲话的语音环境中,通常每个麦克风接收到是多个说话者的混合声音,如何仅仅从话筒接收到的语音信号中分离出所需要的说话者的声音?这便是盲分离问题。 盲分离问题的主要特征就是在未知混叠参数的情 盲信号分离的理论与发展现状* 李荣华 赵 敏 华南理工大学电子与信息学院 王 进 国家移动通信工程中心 【摘要】文章首先介绍了盲信号分离问题的起源、特征、含义,然后介绍了盲信号分离的原理 和算法,最后介绍了盲分离研究的现状,探讨了盲分离研究仍存在的一些问题。 【关键词】盲信号分离 混叠模型 瞬时线性 非线性 卷积 收稿日期:2008年3月14日 *本文得到国家自然科学基金重点项目(U0635001),国家 自然科学基金(60774094)的资助。

相关文档
最新文档