谱减法的语音信号增强文档格式.docx

上传人:b****5 文档编号:20816181 上传时间:2023-01-25 格式:DOCX 页数:7 大小:264.68KB
下载 相关 举报
谱减法的语音信号增强文档格式.docx_第1页
第1页 / 共7页
谱减法的语音信号增强文档格式.docx_第2页
第2页 / 共7页
谱减法的语音信号增强文档格式.docx_第3页
第3页 / 共7页
谱减法的语音信号增强文档格式.docx_第4页
第4页 / 共7页
谱减法的语音信号增强文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

谱减法的语音信号增强文档格式.docx

《谱减法的语音信号增强文档格式.docx》由会员分享,可在线阅读,更多相关《谱减法的语音信号增强文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

谱减法的语音信号增强文档格式.docx

对取出的语音帧要经过加窗处理,即用一定的窗函数

与信号相乘,从而形成加窗语音。

加窗的主要作用在于减少由分帧处理带来的频谱泄露,这是因为,分帧是对语音信号的突然截断,相当于语音信号的频谱与矩形窗函数频谱的周期卷积。

由于矩形窗频谱的旁瓣较高,信号的频谱会产生“拖尾”,即频谱泄露。

为此,可采用汉明窗,因为汉明窗旁瓣最低,可以有效地克服泄露现象,具有更平滑的低通特性,得到的频谱比较平滑。

汉明(Hamming)窗定义:

3、谱减法简介

谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。

谱减法的基本原理:

图1谱相减法原理图

图中

为加窗后的带噪信号,

为的噪声信号功率谱,

为增强后的语音信号。

由于人耳对语音相位不敏感,所以用原始含噪语音的相位代替估计语音的相位。

谱减法实现的几条公式如下:

(1)

(2)

(3)

由式

(1)得到增强后的语音信号的功率谱;

然后利用原始含噪语音的相位

代替增强后语音的相位,恢复出增强后的语音信号

由公式

(1)可看出,估计值

不能保证是非负的,这是因为在估计噪声时存在误差,当估计噪声平均功率大于某帧带噪语音功率时,该帧得出的估计值

就会出现为负的情况,这些负值我们直接给它们置零。

4、“音乐噪声”的产生

由于在谱减法处理过程中,是以无声期间统计平均的噪声方差代替当前分析帧各频率点的噪声频率分量,而噪声频谱具有高斯分布,即其幅度随机变化范围很宽,因此相减时,若该帧某频率点噪声分量较大,就会有很大一部分保留,具体来讲,由谱相减所产生的噪声称为残余噪声,与语音信号不相关,是由具有随机频率和幅度的窄带信号所组成。

在频谱上呈现随机出现的尖峰,便产生了间歇短暂的突发声调,在听觉上形成有节奏性起伏的类似音乐噪声的残留噪声。

5、语音端点检测技术

在谱减法中噪声功率谱的估计至关重要,如果噪声估计偏差较大的话,将毫无疑问的影响语音增强质量。

语音端点检测是一种噪声估计的算法,目的就是从连续记录的带噪语音信号中分离出我们真正感兴趣的语音信号。

语音激活检测指从一段包含语音的信号中确定出语音的起始点和终点,又称端点检测。

语音激活检测是基于语音帧来进行的,语音帧的长度在10~30ms不等。

语音活性检测的方法可以综述为:

从输入信号中提取一个或一系列的对比特征参数,然后将其和一个或一系列的门限阈值进行比较,如图3-2所示。

如果超过门限则表示当前为有音段,否则就表示当前为无音段。

而门限通常是根据无音段时语音特征确定的。

图2语音激活检测框图

6、实验的流程图:

图3实验流程图

◆用wavread函数读入一个语音信号,然后取其单声道信号得到纯净的语音信号;

◆用rand函数加入噪声,得到加噪的语音噪声;

◆对加噪的语音信号进行分帧,帧长取20ms,每帧的重合长度设置为帧长的2/3,用floor函数求帧数;

◆对分帧信号加上汉明窗,并求得信号的fft频谱,进而求得信号能量和fft的复角度,该角度用于后面增强语音信号的重构;

◆设置阈值为信号开始阶段的能量平均值;

◆进行谱减运算,得到估计出的语音信号功率谱;

◆插入相位谱,计算出语音谱;

◆进行IFFT变换,得到还原的语音帧;

◆对语音信号进行去加重处理,得到最终信号。

四、Matlab程序及实验结果分析

1、源代码

clear;

clc;

[xx,fs]=wavread('

F:

\111.wav'

);

 

 

%读入语音信号 

xs=xx(:

1);

%取单声道

N=length(xs);

%求信号长度

x=xs+0.01*rand(N,1);

%加噪

n=fs*20*10^-3;

%每帧长取20ms

n1=ceil(1*n/3);

%每两帧重合的长度为1/3

frame=floor((N-n)/(n-n1));

%求帧数

fori=1:

frame

y1=x((i-1)*(n-n1)+1:

(i-1)*(n-n1)+n).*hamming(n);

%每一帧对应的语音信号

fy=fft(y1,n);

%求fft

ene(i,:

)=abs(fy).^2;

%求能量energe

ang(i,:

)=angle(fy);

%求复角度angle

end

threshold=sum(sum(ene(2:

5,:

)))/(4*n);

%求阈值,信号开始阶段的能量平均值

)=ene(i,:

)-threshold;

%减谱

ene(i,find(ene(i,:

)<

0))=0;

%将估计能量小于0的部分赋值为0

)=sqrt(ene(i,:

));

%开根号

Sw=ene(i,:

).*exp(j*ang(i,:

%求频域函数Sw

out(i,:

)=real(ifft(Sw))./hamming(n)'

;

%去窗求逆fft

speech=out(1,:

)'

%对out求导,以便于原信号比较

n2=n;

fori=2:

frame 

%将一系列的帧组合还原

speech(n2-n1+1:

n2)=(speech(n2-n1+1:

n2)+out(i,1:

n1)'

)/2;

n2=n2+n-n1;

speech=[speech;

out(i,n1+1:

end)'

];

figure

(1);

subplot(211);

plot(xs);

title('

原始语音信号'

%原始语音信号

axis([1,(n-n1)*frame+n,min(xs),max(xs)]);

subplot(212);

specgram(xs,fs,1024,n,n1);

%原始信号的语谱图

原始信号语谱图'

figure

(2);

plot(x);

加噪语音信号'

%加噪的语音信号

axis([1,(n-n1)*frame+n,min(x),max(x)]);

specgram(x,fs,1024,n,n1);

%加噪信号的语谱图

加噪信号语谱图'

figure(3);

plot(speech);

增强的语音信号'

%增强的语音信号

axis([1,(n-n1)*frame+n,min(speech),max(speech)]);

specgram(speech,fs,1024,n,n1);

%增强信号的语谱图

增强信号语谱图'

wavplay(xx,fs);

%输出原始音频

wavplay(x,fs);

%输出加噪音频

wavplay(speech,fs);

%输出增强音频

2、程序运行结果

由上面几个图的对比可知,经处理后去噪效果明显,较好地抑制了噪声,这从彩色的语谱图中也可清晰的观察到。

五、实验总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1