Karhunen-Loeve变换及其在语音增强中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【关键词]Karhunen—L0eve变换;Matlab实现;语音增强
1.引言 数字信号处理(Digital signal Processing, DsP)是当前科学和工程最强有力的支持技术 之一。它在语音处理、数字通信、医学影像、 雷达、声纳、控制、石油勘探以及金融等广泛 领域中都有非常重要的应用。通常,数字信号 处理的过程可用图1来表示。
间为信号子空间。巩的生成子空间与信号子空
间正交。u。研z和以噬z分别表示彳在信号子空
间和正交子空间上的投影。清晰语音在啦上的
能量为o。因此,噬z不含清晰语音信息,它在
估计清晰语音时无效。
4.2协方差矩阵的估计
Empirical Toeplitz协方差矩阵在语音增强处 理中非常有效。我们由带噪语音z的K个自相
图l
若采样后的数字(离散)信号向量经过正 交变换后的协方差矩阵为一对角矩阵,且具有 最小均方误差,则该变换称为最佳变换,也称 Karhunen—Loeve变换o KLT(Karhunen—Loeve transfo珊)是建立在统计特性基础上的一种变 换,不仅具有相关性好的突出优点,而且是均 方误差(Mean Square Error,MSE)意义下的最 佳变换。它在数据压缩技术中占有重要地位, 并在语音增强等领域中有非常重要的应用。
图2
一62一
重j鸯图
图3
说明:在Matlab中调用函数klt(),求K —L变换矩阵和变换表达式将变得十分简便。 对信号数据进行K—L变换,变换后的样值更独 立和有序,便于在量化操作中有效压缩数据。 另外,在不同的问题中所采用的协方差矩阵也 不同。如在语音增强的信号子空间等方法中常 用的协方差矩阵是Empirical T0eplitz协方差矩 阵。此时只需修改协方差矩阵的算法即可。
covx=E{(x—E{x})7(x—E{x})}
4亩x7=Ic x—E{x}7术E{x}
△ 1 _Jv
其中E…2亩i章; 』Y‘2l
(2)求协方差矩阵covx的特征值分解
covX=己厂AU
其中u为K—L变换矩阵; (3)求得x的KLT的变换表达式 y=(x—E{X})U。
3.1.2函数程序(文件名:klt.m): function Y=klt(X) %x是K维向量的N次采样值所组成的 矩阵; %covx为向量的协方差矩阵; %Y=klt(x)将得出x的K—L变换; %klt(x)将显示K—L变换矩阵u; %Designed by Zhouxia01ing
4.4语音控制窗的信号斑r方法 4.4.1 问题分析 令;=Hz是y的估计,其中H是K×K矩
阵。信号误差

r=;一y=(H—I)y+Hw=r,+r。,(4.3)

£,=tr(E{r,r;}),
欲求滤波器日,使满足
(4.4)

憎£,,且E(J u“12)s仪-叮,2(k),k
=l,…,K
(4.5)
其中盯:(k)是的u:R。u,第k个对角元
>>npixels=r木c;
>>X=reshape(x,[npixels nbands]); >>Y=klt(x);%调用Matlab函数klt() >>klt(x)%显示KLT矩阵u
U=
0.4292 一O.8183
O.3823
0.4671 —0.1612 —0.8694
0.7731 0.5517 O.3131
(4.17)
4.5.2算法描述
令z。=u:z,定义
R,。=BR:。一A。,
(4.18)
其中B是一个常数。如果前8个窗是噪音
A=
M12


U 1n
M22


址 2n


...
“州
M以


U nn
从而可得K一£变换的变换表达式为
y=A(戈一m。),
其中m;=E{戈} K—L变换的关键在于矩阵的特征值分解。
矩阵的特征值分解有多种方法,如QR法和Ja—
cobi法等。矩阵的特征值分解在Matlab中用一
个简单的指令即可实现。因此,Matlab是实现
图l?采样后的数字离散信号向?经过正交变换后的协方差矩阵为一对角矩阵且具有最小均方误差则该变换称为最佳变换也称karhunenloeve变换okltkarhunenloevetransfo珊是建立在统计特性基础上的一种变换?仅具有相关性好的突出优点而且是均方误差meansquareerrormse意义下的最佳变换
0.2;0.3 O.2 0.3;0.2 0.2 0.3]的K—L变换。 程序及运行结果: >>A=[1.0 0.5 0.3;o.5 o.3 0.2;o.3
0.2 0.3;0.2 0.2 0.3]; >>Y=klt(A)
Y=
一0.0021 0
0.0194 一0.0173
0.0250 —0.0750
O.0250 0.0250
由于信号和和噪音是独立的,因此R:=R,
+R。。R,的幅度空间是由R,的非0特征值的 特征向量生成的空间,我们称其为信号子空
间。令
尺,=玑A,彬,
(4.1)
为R,的特征值分解。其中玑。是信号的碰r矩 阵。因此,该方法称为基于碰丁的方法。令玑
=[以,%],其中u,表示R,的正特征值的
特征向量组成的K×M矩阵。记玑的生成子空
都存在,称矩阵B=(6i)n×n为n维随 机向量戈的协方差矩阵。
其中“E”是求期望,“c删”是求协方差。 显然,协方差矩阵曰具有以下性质: 性质1曰为对称矩阵; 性质2 对任意实向量£(f。,£2,…, £,。),有
fBf7≥0:
性质3曰的对角线上的元素6i为并i的方 差,即
6i=D(戈i)=盯2(戈i),i=1,2,…,n; 性质4曰的对应于不同特征值的特征向量 必正交。 2.2 Karhunen一【oeve变换 根据线性代数理论,可以求出协方差矩阵
K—L变换的有效工具。
3.KLT的Matlab实现
3.1编写Madab函数耽() 为在计算机上方便地实现K—L变换,笔者 编写了Matlab函数姚(),文件名为胁.m。 3.1.1算法描述: 设K维随机向量戈的第i个采样值为 戈i= (石il,石恐,…,z掘)7,i=1,2,
….Ⅳ
x=[菇t,…,戈Ⅳ]7 则求向量的K—L变换的步骤如下 (1)求向量戈的协方差矩阵covx
素。另外,要求矩阵H具有形式
H=u,Qu:,
(4.6)
其中Q为对角矩阵。令q姓表示Q的第k个
对角元素,由(4.5)、(4.6)式得
qkk≤仅i, 则
(4.7)
8,=tr(E{rye})=墨,入,(k)’(1-q“)2,
因此
(4.8)
qkk=m流(1,仅-),
(4.9)
4.4.2算法描述
第一步:用4.2中方法估计带噪语音向量z
的协方差矩阵R;,并假设噪音向量w的协方差
矩阵R。已知(可由噪音窗估计)。则
R,=R。一R。,
(4.10)
第二步:求R。的特征值分解食,=
u,A,U,。,令R,的严格大于O的M个特征值为
入,(1),…,入,(M)。令u,=[UI,U:],则
K×M矩阵u,为
Ul={u,k:入,(K)>0},
(4.11)
关系数估计出协方差矩阵R:。令乙表示z在时
刻f的采样值。时刻.t的第而个自相关系数R:
(忌)由K(2r一1)个样本点(包括了前(r一
尺z(尼)2瓦氯阳一再-1)川犁…,后 1)K个样本点和后Ⅸ个样本点)求出,
1ห้องสมุดไป่ตู้
l+Ⅸ一^
=O,1,…,K一1
z的协方差矩阵为
咒(0)
兄(1)
R(1) 足=
R(0)
…咒(K—1) …咒(K一2)
4.KIJ在语音增强中的应用 KLT不仅在数据压缩技术中占有重要地位, 在语音增强中也有重要应用。基于信/噪KLT方 法的的语音增强在处理有色噪声方面有较好的 效果。 4.1 理论背景 令),,叫以及z=y+叫分别为清晰语音、加 性噪音、带噪语音信号的K维列向量。K×K矩 阵R。表示K维列向量s的协方差矩阵。;是的 估计,食。是R。的估计。A。是矩阵A的共轭转 置。打(爿)表示4的对角线元素的和。尺。=
%28 March.2006
if nargout>1,error(’Wrong number of output a曙uments.’);end
if nargin>l,eⅡ0r(7Wrong number of intput arguments.’);end
[N K]=size(x); meanX=mean(X);
本文在第二部分中介绍了KLT的数学背景,
第三部分给出了KLT的Matlab实现,第四部分
介绍了KLT在语音增强中的应用——基于钐噪
KLT方法的语音增强。
2.KLT的数学背景
2.1协方差矩阵 定义:给定维随机向量石=(石,,z:,…, 戈。)7,若 6。i=co秽(戈。,戈,)
=E{[菇‘一E(茗i)][zj—E(x,)]}, i,J=1,2,…,n
作者简介:周小玲,湖南茶陵人,广州铁路职业技术学院讲师,理学学士,中山大学应用数学专业在读硕士。
一60—
万方数据
B的乃个特征值和相应的特征向量。假定Ai(i =1,2,…,n)是按递减顺序排列的特征值, 其相应特征向量为
ui= (uil, Ⅱ芘, …,“拥)7 则K一£变换矩阵A定义为
M1l
“21
, (42)
.R(K一1) R(K一2) … 咒(0) 4.3窗分类 带噪语音窗被分为语音控制窗和噪音控制
窗两类。如果盯(R:)>(max(10删脚,1)
+0.3)f坎。,则该窗为语音控制窗,否则为噪 音控制窗。其(max(108NⅣ加,1)+0.3)中 值由经验确定,信噪比sNR可取平均值。
对于语音控制窗,使用信号脱丁矩阵。对 于噪音控制窗,使用噪音碰r矩阵。
covX=X’木X/N—meanX’:Ic meanX:
%[u s V]=svd(covx); [u D]=eig(covx);
for i=1:K . z(:,i)=X(:,i)一meanX(i);
end
Y1=Z木U:
if nargout==1,Y=Y1;elseif nargout==0,
display(U);end 注:%引导的是注释语句。 3.2函数klt()应用举例 例1:求4×3矩阵[1.o 0.5 o.3;0.5 0.3
一0.5385 0
0.2228 0.3158
例2:从文件’nowers.tif’中读取图象数据,对 其作K—L变换,并建立反变换重构图象,与原图 进行对比。
一6l—
万方数据
程序及运行结果: >>X=imread(’nowers.tif’);
69ure;%创建图形窗 subplot(1,1,1);%创建子图 >>imshow(X); >>title(’原图7); >>X=im2double(X); >>[r c nbands]=size(x);%保存形状
以以。矿是R。的特征值分解。A。(后).是A。的第 1|}个对角线元素(特征值),“。。表示相应的特征
向量。 基于信号子空问的语音增强方法在信号应
用领域已较普遍。但对于有色噪声,该方法需 要先进行噪声白化处理,而且该方法不适用于
窄带噪声。本文介绍的基于舻噪靓丁方法的语
万方数据
音增强,很好地克服了上述缺点。
>> U=『O.4292 0.4671 O.773l; 一
0.8183 一O.1612 0.5517: 0.3823 一O.8694
0.3131]; %反变换并重构图象 >>Y=reshape(Y,[npixels nbands]);
>>Y1=Y丰U’:
>>Yl=reshape(Y1,[r c nbands]); >>subplot(I,l,1); >>imshow(abs(Y1)); >>title(’重构图’); 图2和图3分别为“原图”和“重构图” 的图象:
一63—
万方数据
4.5噪音控制窗的噪音碰r方法 4.5.1 问题分析 令R。的特征值分解为
R。=u。A。u:,
(4.14)
欲求滤波器H,使满足
■抑8,,且E(I u乱r。I 2)≤o【。入。(k)
并要求H具有形式 H=u。Qu:,
(4.15) (4.16)
其中Q为对角矩阵。类似地,
qkk=m讥(1,d手),
第三步:确定Q,从而求出H。令
zT=u:z=u:y+u:w=mT+wT,
(4.12)
令仃乙(k)是R。,的第k个对角元素,类
似 仅文。献『[:唧5](、 {一唧[6梨]卜,)我 ,丽们k几:取lb,12’,厶……,』M

O,
其它
(4.13)
其中v是先验参数。由于仅。s l,由
(4.9)式,得q”“=仅},则 H=u,Qu:。
Karhunen—Loeve变换及其在语音增强中的应用
周小玲
(广州铁路职业技术学院,广东广州510430)
[摘要]Karhunen—I脱ve变换(KLT)是建立在统计特性基础上的一种变换,其相关性好,且为
均方误差(MsE)意义下的最佳变换。KLT不仅在数据压缩技术中占有重要地位,在语音增强领域中也 有重要应用。本文探讨了Karhunen—Loeve变换的Matlab实现,并介绍了它在语音增强中的应用。
相关文档
最新文档