语音信号处理课程设计.docx
《语音信号处理课程设计.docx》由会员分享,可在线阅读,更多相关《语音信号处理课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
语音信号处理课程设计
第一章绪论
语音是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。
数字电话通信、高音质的窄带语音系统、语音学习机、声控打字机、自动翻译机、智能机器人、新一代计算机语音智能终端及许多军事上的应用等,都要用到语音信号处理技术,随着集成电路和微电子技术的飞速发展,语音信号处理系统逐步走向实用化。
语音信号处理是一门新兴的边缘学科,它是语音学和数字信号处理两个学科相结合的产物。
它和认知科学、心理学、语言学、计算机科学、模式识别和人工智能等学科有着紧密的联系。
语音信号处理的发展依赖于这些学科的发展,而语音信号处理技术的进步也会促进这些领域的进步。
语音信号处理的目的是要得到某些语音特征参数以便高效地传输或存储;或者是通过某种处理运算以达到某种用途的要求,例如人工合成语音、辨识出讲话者、识别出讲话者的内容等。
通过MATLAB可以对数字化的语音信号进行时频域分析。
通过MATLAB可以方便的展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。
例如,清浊音的幅度差别、语音信号的端点、信号在频域中的共振频率、加不同窗和不同窗长对信号的影响、LPC分析、频谱分析等。
通过MATLAB可以对数字化的语音信号进行处理。
由于MATLAB是一种面向科学和工程计算的高级语言,允许用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高、易学易懂。
我们可以对信号进行加躁和去噪、滤波、截取语音等。
第二章系统方案论证
2.1实验目的
信号的傅立叶表示在信号的分析与处理中起着重要的作用。
因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。
另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。
由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。
输出频谱是声道系统频率响应与激励源频谱的乘积。
声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。
由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。
本实验要求掌握傅里叶分析原理,会利用已学的知识,编写程序估计短时谱、倒谱,画出语谱图,并分析实验结果,在此基础上,借助频域分析方法所求得的参数分析语音信号的基音周期或共振峰。
2.2实验原理
1、短时傅立叶变换
由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:
(2.1)
其中w(n-m)是实窗口函数序列,n表示某一语音信号帧。
令n-m=k',则得到
(2.2)
于是可以得到
(2.3)
假定
(4)
则可以得到
(5)
同样,不同的窗口函数,将得到不同的傅立叶变换式的结果。
由上式可见,短时傅立叶变换有两个变量:
n和ω,所以它既是时序n的离散函数,又是角频率ω的连续函数。
与离散傅立叶变换逼近傅立叶变换一样,如令ω=2πk/N,则得离散的短时傅立叶吧如下:
(6)
2、语谱图
水平方向是时间轴,垂直方向是频率轴,图上的灰度条纹代表各个时刻的语音短时谱。
语谱图反映了语音信号的动态频率特性,在语音分析中具有重要的实用价值。
被成为可视语言。
语谱图的时间分辨率和频率分辨率是由窗函数的特性决定的。
时间分辨率高,可以看出时间波形的每个周期及共振峰随时间的变化,但频率分辨率低,不足以分辨由于激励所形成的细微结构,称为宽带语谱图;而窄带语谱图正好与之相反。
宽带语谱图可以获得较高的时间分辨率,反映频谱的快速时变过程;窄带语谱图可以获得较高的频率分辨率,反映频谱的精细结构。
两者相结合,可以提供带两与语音特性相关的信息。
语谱图上因其不同的灰度,形成不同的纹路,称之为“声纹”。
声纹因人而异,因此可以在司法、安全等场合得到应用。
3、复倒谱和倒谱
复倒谱
是x(n)的Z变换取对数后的逆Z变换,其表达式如下:
(7)
倒谱c(n)定义为x(n)取Z变换后的幅度对数的逆Z变换,即
(8)
在时域上,语音产生模型实际上是一个激励信号与声道冲激响应的卷积。
对于浊音,激励信号可以由周期脉冲序列表示;对于清音,激励信号可以由随机噪声序列表示。
声道系统相当于参数缓慢变化的零极点线性滤波器。
这样经过同态处理后,语音信号的复倒谱,激励信号的复倒谱,声道系统的复倒谱之间满足下面的关系:
(9)
由于倒谱对应于复倒谱的偶部,因此倒谱与复倒谱具有同样的特点,很容易知道语音信号的倒谱,激励信号的倒谱以及声道系统的倒谱之间满足下面关系:
(10)
浊音信号的倒谱中存在着峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。
利用这个特点我们可以进行清浊音的判断,并且可以估计浊音的基音周期。
第三章GUI设计实现
3.1原理图及程序
设计界面原理图见3-1原始图形
clc;
clear;
tic,
[y,fs]=wavread('ah02.wav');
L=length(y);
fw=y.*hamming(L);
r=real(log(fft(fw,L)))
pfw=cceps(fw);
rpfw=rceps(fw);
z=rpfw(1:
30);
p=pfw(31:
L)
logz=real(exp(fft(z,L)));
logp=real(fft(p));
plot(y);title('原始波形')
图3-2原始图形
[x,fs,bits]=wavread('ah01.wav',[10245120]);
plot(x);title('originaltiywave');
图3-3orignaltiywave
clc;
clear;
tic,
[y,fs]=wavread('ah02.wav');
L=length(y);
fw=y.*hamming(L);
r=real(log(fft(fw,L)))
pfw=cceps(fw);
rpfw=rceps(fw);
z=rpfw(1:
30);
p=pfw(31:
L)
logz=real(exp(fft(z,L)));
logp=real(fft(p));
plot(logz);title('倒谱域滤波都的对数幅度谱')
图3-3倒谱域滤波后的对数幅度谱
clc;
clear;
tic,
[y,fs]=wavread('ah02.wav');
L=length(y);
fw=y.*hamming(L);
r=real(log(fft(fw,L)))
pfw=cceps(fw);
rpfw=rceps(fw);
z=rpfw(1:
30);
p=pfw(31:
L)
logz=real(exp(fft(z,L)));
logp=real(fft(p));
plot(rpfw);title('实倒谱')
图3-5实倒谱
clc;
clear;
tic,
[y,fs]=wavread('ah02.wav');
L=length(y);
fw=y.*hamming(L);
r=real(log(fft(fw,L)))
pfw=cceps(fw);
rpfw=rceps(fw);
z=rpfw(1:
30);
p=pfw(31:
L)
logz=real(exp(fft(z,L)));
logp=real(fft(p));
plot(r);title('对数幅度谱')
图3-6对数幅度谱
clc;
clear;
tic,
[y,fs]=wavread('ah02.wav');
L=length(y);
fw=y.*hamming(L);
r=real(log(fft(fw,L)))
pfw=cceps(fw);
rpfw=rceps(fw);
z=rpfw(1:
30);
p=pfw(31:
L)
logz=real(exp(fft(z,L)));
logp=real(fft(p));
plot(fw);title('加海明窗后的波形')
图3-7加海明窗后的波形
x=wavread('ah02.wav');
N=5;wc=0.3;
[b,a]=butter(N,wc);
X=fft(x);
y=filter(b,a,x);
Y=fft(y);
plot(y);title('IIR低频滤波¨');
图3-8IIR低频滤波
[x,fs,bits]=wavread('ah01.wav',[10245120]);
sound(x,fs,bits);
X=fft(x,4096);
magX=abs(X);
angX=angle(X);
plot(angX);title('声音和波形');
图3-9声音和波形
第五章心得及体会
这次的课程设计主要是跟随了课堂学习的内容。
我们的题目是语音信号的处理,虽然原来已经学习了信号与系统,对于这方面有了一些基础的知识,也学了数字信号处理,但是刚开始面对这个题目却也不知从何下手了。
首先一个录音就为难我们半天,在老师的指导下终于迈出了这艰难的第一步,并且得到了原信号的波形图和频谱图。
于是我们斗志高昂,继续进行下去。
没有学过MATLAB软件,我们到图书馆借了专门学习该软件的比较易懂的《应用MATLAB实现信号分析和处理》这本书。
通过大致对这本书的翻阅和有目的性的查找,我们对于这次实验中要求的很多函数有了进一步的了解。
由于实验结果主要要求就是图形了,因而对于图形函数的运用很多,最熟悉的就是figure函数了,然后还有画图函数plot,在IIR滤波器的设计中还使用了grid网格线命令,同时还有xlabel和ylabel以及title等命令,应该说是收获颇丰吧。
而对于滤波器的设计也认识不少函数,像buttap,cheb1ap等等。
在实验的时候我们做了FIR和IIR的高通,带通和低通的滤波,由于三种滤波函数其本质相近,所以最后选用了高通的来作为示例。
在做的过程中,我们分工合作,经过一系列的修改补正最终得出了图形,虽然在电脑前坐到有点头昏,但当时的那种成就感让我们快乐不已。
在做的过程中,我们组虽然没有男生的帮忙,但是自己动手更让我们感受和享受着这种做的过程,虽然结果才是最终需要的,但是能力却是通过经历来积累的,完成时的喜悦也只有亲身经历才懂。
也许以后很少再有课程设计,但是我们相信对于软件的学习和探索却是刚刚开始,我们会在未来更努力的学习,充实自己。
每次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。
希望这次的经历能让我在以后学习中激励我继续进步。
附录
1.设计界面
图3-1设计原路图
参考文献
(1).程佩青。
数字信号处理教程[M]。
北京:
清华大学出版社,2002。
(2).刘敏,魏玲。
Matlab通信仿真与应用[M].北京:
国防工业出版社,2001。
(3).桂志国。
数字信号处理。
科学出版社,2010年。
(4).张明照,刘政波,刘斌等。
应用MATLAB实现信号分析和处理。
北京:
科学出版社,2005。
DSP语音信号处理课程设计
专业:
电子信息工程
班级:
D0842
学生姓名:
王永强
学号:
02
指导教师:
李悦许艳惠
院长:
杨树臣