1、摘 要 洗手 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科 ,吃饭 是目前发展最为迅速的信息科学研究领域的核心技术之一 。 洗手 通过语音传递信息是人类最重要 、 b eef最有效 、 beef最常用和最方便的交换信息形式 。 洗手洗手 滤波器设计在数字信号处理中占有极其重要的地位 , 吃饭 FIR 数字滤波器和 IIR 滤波器是滤波器设计的重要组成部分 。 洗手 MATLAB 功能强大 、 beef简单易学 、 beef编程效率高 ,深受广大科技工作者的欢迎 。 洗手 课题基于 MATLAB 有噪音语音信号处理与设计与实现 , 吃饭 本人综 合运用数字信号处
2、理的理论知识对加噪声清浊语音信号进行时域 、 beef频域分析和滤波 。 洗手 通过理论推导得出相应结论 ,吃饭 用 MATLAB 平台对语音信号加入了不同的噪声 , 吃饭 进一步用双线性变换法设计了一个的巴特沃思低通 IIR 滤波器和用窗函数法设计了 FIR 低通滤波器 , 吃饭 然后对加噪的语音信号进行滤波处理 。 洗手 最后对比滤波前后的语音信号的时域和频域特性 。 洗手 洗手 关键字 : beef清浊语音信号采集 ; beef傅里叶变换 ; beef滤波器设计 ; beef信号处理 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗
3、手 洗手 洗手 洗手 洗手 洗手 洗手 目 录 洗手 洗手 前 言 1 洗手 一 语音信号特性介绍与采集 1 洗手 1.1 语音信号介绍 1 洗手 1.2 语音信号的采样理论依据 2 洗手 1.3 语音信号采集 2 洗手 1.4 采样分帧 3 洗手 1.5 短时分析技术 3 洗手 1.6 短时自相关函数 4 洗手 1.7 短时过零率 4 洗手 1.8 短时能量和短时平均幅度 4 洗手 二 系统总体设计 5 洗手 2.1 语音信号处理工具的选择 5 洗手 2.2 系统流程图 6 洗手 2.3 系统框架及实现 6 洗手 三 系统详细设计与结果分析 7 洗手 3.1 语音的录入与打开 7 洗手 3.
4、2 时域信号的 FFT 分析与加噪后的波形比较 7 洗手 3.3 语音信号加噪与频谱分析 8 洗手 3.4 数字滤波器的设计 9 洗手 3.5 设计 FIR 滤波器 11 洗手 3.6 设计 IIR 滤波器 11 洗手 3.7 双线性变换法和窗函数法 11 洗手 3.8 进行滤波 , 吃饭 比较滤波前后语音信号的波形及频谱 13 洗手 总 结 14 洗手 参考文献 15 洗手 附 录 16 洗手 致 谢 21 洗手 1 前 言 洗手 语音是语言的声学表现 , 吃饭 是人类交流信息最自然 、 beef最有效 、 beef最方便 的手段 。 洗手 随着社会文化的进步和科学技术的发展 , 吃饭 人类
5、开始进入了信息化时代 , 吃饭 用现代手段研究语音处理技术 , 吃饭 使人们能更加有效地产生 、 beef传输 、 beef存储 、 beef和获取语音信息 , 吃饭 这对于促进社会的发展具有十分重要的意义 , 吃饭 因此 , 吃饭 语音信号处理正越来越受到人们的关注和广泛的研究 。 洗手洗手 语音信号处理是一门比较实用的电子工程的专业课程 , 吃饭 语音是人类获取信息的重要来源和利用信息的重要手段 。 洗手 通过语言相互传递信息是人类最重要的基本功能之一 。 洗手 语言是人类特有的功能 , 吃饭 它是创造和记载几千年人 类文明史的根本手段 , 吃饭 没有语言就没有今天的人类文明 。 洗手 语
6、音是语言的声学表现 , 吃饭 是相互传递信息的最重要的手段 , 吃饭 是人类最重要 、b eef最有效 、 beef最常用和最方便的交换信息的形式 。 洗手 洗手 在设计中要用到数字滤波器 , 它是数字信号处理中及其重要的一部分 。 洗手 随着信息时代和数字技术的发展 , 吃饭 受到人们越来越多的重视 。 洗手 数字滤波器可以通过数值运算实现滤波 ,吃饭 所以数字滤波器处理精度高 、 bef稳定 、 bef体积小 、 bef重量轻 、 bef灵活不存在阻抗匹配问题 , 吃饭 可以实现模拟滤波器无法实现的特殊功能 。 洗手 数字滤波器种类很多 , 吃饭 根据其实现的网络结构或者其冲激响应函数的时
7、域特性 , 吃饭 可分为两种 , 吃饭 即有限冲激响应 ( FIR, 吃饭 Finite Impulse Response)滤波器和无限冲激响应 ( IIR, 吃饭 Infinite Impulse Response)滤波器 。 洗手洗手 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科 , 吃饭 它是一门新兴的学科 , 吃饭 同时又是综合性的多学科领域和涉及面很广的交叉学科 。 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 一 语音信号特性介绍与采集 洗手 1.1 语音信号介绍 洗手 语音信号的基本组成单位是音素 。 洗手 音素可分成“浊音”和“清音”两大类 。
8、洗手 如果将不存在语音而只有背景噪声的情况称为“无声” 。 洗手 那么音素可以分成“无声” 、 beef“浊音” 、 beef“清音”三类 。 洗手 一个音节由元音和辅音构成 。 洗手 元音在音节中占主要部分 。 洗手 所有元音都是浊音 。 洗手 在汉语普通话中 , 吃饭 每个音节都是由“辅音一元音”构成的 。 洗手洗手 在信号处理中 , 吃饭 语音按其激励形式的不同可分为 2 类 : b eef洗手 (1)浊音 洗手 当气流通过声门时 , 吃饭 如果声带的张力刚好使声带发生张弛 振荡式的振荡 , 吃饭产生一股准周期的气流 , 吃饭 这一气流激励声道就产生了浊音 。 洗手 这种语音信号是1 种
9、激励信号 , 吃饭 它是由规则的全程激励产生的 , 吃饭 其时域波形具有准周期性 ,吃饭 语音频率集中在比较低的频率范围内 , 吃饭 短时能量较高 , 吃饭 由于语音信号中的高频成分有高的过零率而低频有低的过零率 , 吃饭 因此浊音的过零率低 。 洗手 通常 , 吃饭浊音信号可以由周期激励通过线性滤波器合成 。 洗手 洗手 2 (2)清音 洗手 当气流通过声门时 , 吃饭 如果声带不振动 , 吃饭 而在某处收缩 , 吃饭 迫使气流高速通过这一收缩部分而产生湍流 , 吃饭 就得到清音 。 洗手 清 音是由不规则的激励产生的 , 吃饭 发清音时声带不振动 , 吃饭 其时域波形不具有周期性 , 吃饭
10、 自相关函数没有很强的自相关周期峰 , 吃饭 其语音频率集中在较高的范围内 , 吃饭 短时能量较低 , 吃饭 因而过零率较高 。 洗手 通常 , 吃饭 清音信号可由白噪声通过线性滤波器合成 。 洗手洗手 1.2 语音信号的采样理论依据 洗手 (1)采样频率 洗手 采样频率是指计算机每秒钟采集多少个声音样本 , 吃饭 是描述声音文件的音质 、bef音调 , 吃饭 衡量声卡 、 bef声音文件的质量标准 。 洗手 采样频率越高 , 吃饭 即采样的间隔时间越短 , 吃饭 则在单位时间内计算机得到的声音样 本数据就越多 , 吃饭 对声音波形的表示也越精确 。 洗手 采样频率与声音频率之间有一定的关系
11、, 吃饭 根据奎斯特理论 , 吃饭只有采样频率高于声音信号最高频率的两倍时 , 吃饭 才能把数字信号表示的声音还原成为原来的声音 。 洗手 这就是说采样频率是衡量声卡采集 、 bef记录和还原声音文件的质量标准 。 洗手 洗手 (2)采样位数 洗手 采样位数即采样值或取样值 , 吃饭 用来衡量声音波动变化的参数 , 吃饭 是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数 。 洗手 采样频率是指录音设备在一秒钟内对声音信号的采样次数 , 吃饭 采样频率越高声音的还原就越 真实越自然 。 洗手洗手 采样位数和采样率对于音频接口来说是最为重要的两个指标 , 吃饭 也是选择音频接口的两个重
12、要标准 。 洗手 无论采样频率如何 , 吃饭 理论上来说采样的位数决定了音频数据最大的力度范围 。 洗手 每增加一个采样位数相当于力度范围增加了 6dB。洗手 采样位数越多则捕捉到的信号越精确 。 洗手 对于采样率来说你可以想象它类似于一个照相机 , 吃饭 44.1kHz 意味着音频流进入计算机时计算机每秒会对其拍照达441000 次 。 洗手 显然采样率越高 , 吃饭 计算机摄取的图片越多 , 吃饭 对于原始音频的还原也越加精确 。 洗手 洗手 (3)采样定理 洗手 在进行模拟 /数字信号的转换过程中 , 吃饭 当采样频率 fs.max 大于信号中 , 吃饭 最高频率 fmax 的 2 倍时
13、 , 吃饭 即 : bef s.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息 , 吃饭 一般实际应用中保证采样频率为信号最高频率的 510 倍 ; beef采样定理又称奈奎斯特定理 。 洗手 洗手 1924 年奈奎斯特 (Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式 :洗手 理想低通信道的最高大码元传输速率 =2W*log2 N (其中 W 是理想低通信道的带宽 ,N 是电平强度 )洗手 1.3 语音信号 采集 洗手 该设计以本人的声音为分析样本 。 洗手 在 MATLAB 中使用 Wavread 函数 。 洗手 可得出声音的采样频率为 22050H
14、z, 吃饭 且声音是单通道的 。 洗手 利用 sound 函数 , 吃饭 可清晰地听到读音为 : bef“ 电子信息工程 ” 的音频信号 。 洗手 采集数据 fs 为 采样频率 ,吃饭 x为采样数据 , 吃饭 接下来对采样数据作傅里叶变换 y=fft(x)并画出频谱图如图 1所示 :洗手 3 洗手 图 1 原始语音信号波形及频谱图 洗手 由频谱图可清楚地看到样本声音主要以低频为主 。 洗手 人的语音信号频率一般集中在 200 kHz 到 4.5 kHz 之间 , 吃饭 从声音频谱的包络来看 , 吃饭 样本声音的能量集中在 0.1pi(1102 5Hz)以内 , 吃饭 0.4pi 以外的高频部分
15、很少 。 洗手 所以信号宽度近似取为 1.1kHz。 洗 手洗手 1.4 采样分帧 洗手 这里的采样是指从语音信号中选取一段样本 , 一般取样点数为帧长的整数倍 。 洗手 每秒钟的采样样本数叫做采样频率 , 吃饭 分帧主要完成将取样模块中获得的语音样值点分为若干个语音帧 , 吃饭 语音是不平稳的时变信号 ,在时间足够短的情况下 ,可以近似认为是平稳的 ,短时分析将语音流分为一段一段来处理 , 每一段就被称为一帧 。 洗手 分帧时需对语音信 号进行加窗操作 , 即用一个有限长度的窗序列截取一段语音信号来进行分析 , 吃饭 该窗函数可以按时间方向滑动 , 以便分析任一时刻附近的信号 。 洗手 常见
16、的窗函数有 : 方窗 、 beefHamming 窗及 Hannig 窗 。 洗手 如果把窗函数理解成为某个滤波器的单位冲激响应 ,由于窗函数一般是中间大两头小的光滑函数 ,因此该滤波器具有低通特性 。 洗手 窗口长度的选择非常重要 ,窗长过短会使分析窗内没有包含足够的数据点来进行周期判断 , 且短时能量变化剧烈窗长过长 , 短时 能量是一段长时间的平均 ,不但不能反映语音信号基频的细节变化部分 ,而且使 得计算量增大 , 吃饭 窗口长度至少要大于基音周期的两倍 。 洗手洗手 1.5 短时分析技术 洗手 语音信号具有时变特性 , 吃饭 但在一个短时间范围内 (一般认为在 10 30ms 的短时
17、间内 ), 吃饭 其特性基本保持不变 , 吃饭 即相对稳定 , 吃饭 因而可以将其看作是一个准稳态过程 , 吃饭 即语音信号具有短时平稳特性 。 洗手 任何语音信号的分析和处理必须建立在 “ 短时 ” 的基础上 。 洗手 即进行 “ 短时分析 ” , 吃饭 将语音信号分段来分析其特征参数 , 吃饭 其中每一段称为一 “ 帧 ” , 吃饭 帧长一般取为 10 30ms。 洗手 这样 , 吃饭 对于整体的语音信号来讲 , 吃饭 分析出的是由 每一帧特征参数组成的特征参数时间序4 0 50 100 150 200 25000 . 0 50 . 10 . 1 50 . 2帧数短时自相关函数浊音短时自相
18、关函数0 50 100 150 200 250-2-1012帧数短时自相关函数清音短时自相关函数0 2 4 6 8 10 12x 1 04050100150200250300350帧数短时过零率短时过零率列 。 洗手 洗手 1.6 短时自相关函数 洗手 自相关函数用于衡量信号自身时间波形的相似性 。 洗手 清音和浊音的发声机理不同 , 吃饭 因而在波形上也存在着较大的差异 。 洗手 浊音的时间波形呈现出一定的周期性 , 吃饭 波形之间相似性较好 ; beef清音的时间波形呈现出随机噪声的特性 , 吃饭 样点间的相似性较差 。 洗手洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手
19、 洗手 洗手 图 2 短时自相关函数 洗手 1.7 短时过零率 洗手 过 零率可以反映信号的频谱特性 。 洗手 对于连续语音信号 , 吃饭 可以考察其时域波形通过时间轴的情况 。 洗手 对于 离散时间信号 , 吃饭 如果 相邻两个样点的正负号相异时 ,吃饭 我们称之为 “ 过零 ” , 吃饭 即此时信号的时间波形穿过了零电平的横轴 。 洗手 由此可以计算过零数 , 吃饭 过零数就是样本改变符号的次数 , 吃饭 统计单位时间内样点值改变符号的次数 就 可以得到平均过零率 。 洗手 短时过零分析通常用在端点检测 , 吃饭特别是用来估计清音的起始位置和结 束位置 , 吃饭 如图 3 所示 。 洗手洗
20、手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 图 3 短时过零率 洗手 1.8 短时能量和短时平均幅度 洗手 5 0 2 4 6 8 10 12x 1 040204060帧数短时能量短时平均能量0 2 4 6 8 10 12x 1 0400 . 10 . 20 . 30 . 4帧数短时平均幅度短时平均幅度能量是语音的一个重要特性 , 吃饭 由于语音信号的能量随时间变化 , 吃饭 清音和浊音之间的能量差别相当显著 , 吃饭 清音的能量较小 , 吃饭 浊音的能量较大 。 洗手 因此对语音的短时能量进行分析 , 吃饭 可以描述语音的这种特征变化情况 洗手 由短时自
21、相关函数波形分析可知 : beef清音接近于随机噪声 , 吃饭 清音的短时自相关函数不具有周期性 , 吃饭 也没有明显突起的峰值 , 吃饭 且随着延时 k 的增大迅速减小 ;beef浊音是周期信号 , 吃饭 浊音的短时自相关函数呈现明显的周期性 , 吃饭 自相关函数的周期就是浊音信号的周期 , 吃饭 根据这个性质可以判断一个语音信号是清音还是浊音 , 吃饭 还可以判断浊音的基音周期 。 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 图 4 短时平均能量和短时平均幅度 洗手 由 图 4 发现 ,语音浊音段的短时平均能量远远大于清音段的短时平均能量
22、 。 洗手因此 ,短时平均能量 En 的计算给出了区分清音段与浊音段的依据 ,即 En (浊 ) En (清 )。 洗手 根据 En 由高到低的跳变可定出浊音变为清音语音的时刻 , En 由低向 高的跳变可定出清音变为浊音语音的时刻 , 吃饭 而只有浊音才有基音周期 ,清音的基音周期为零 。 洗手 故清浊音判断是基音检测的第一步 。 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 二 系统总体设计 洗手 2.1 语音信号处理工具的选择 洗手 语音信号的进一步处理分析工作选用了 MATLAB 平台 。 洗手 MATLAB 是一种科学计算软件 , 吃饭 专门以矩阵的形式处理数据
23、。 洗手 MATLAB 将高性能的数值计算和可视化集成在一起 , 吃饭 并提供了大量的内置函数 , 吃饭 不断完善 MATLAB 产品6 以提高产品自身的竞争能力 MATLAB 的数据分析和处理功能十分强大 , 吃饭 运用它来进行语音信号的分析 、 bef处理和可视化相当便捷 。 洗手 在编程效率 、 bef程序可读性 、 bef可移植性和可扩充性上 MATLAB 远远优于其它的高级编程语言 , 吃饭 而且编程易学 、 bef直观 , 吃饭 代码非常符合人们的思维习惯 。 洗手 另外 MATLAB 为用户提供了丰富的 windows 图形界面设计方法 , 吃饭 使用户能够在利用其强大的数值计算
24、功能的同时可设计出友好的图形界面 , 吃饭 它受到了越来越多的用户的欢迎洗手 MATLAB 几乎可以在各种机型和操作系统上运行 , 吃饭 所以在可移植性和可扩充性上 , 吃饭 MATLAB 远优越于其他的高级编程语言 。 洗手 但是 , 吃饭 和其他的高级语言相比 , 吃饭 MATLAB 程序的执行速度较慢 。 洗手 在目前电脑处理速度不断提升的情况下 , 吃饭 如果实时性要求不是非常高的情况下 , 吃饭 使用 MATLAB 开发就不存在此类问题了 。 洗手 洗手 2.2 系统流程图 洗手 洗手 洗手 洗手 洗手 洗手 洗手 图 10.系统流程图 洗手 洗手 2.3 系统框架及实现 洗手 (1
25、)语音信号的采集 洗手 使用电脑的声卡设备采集一段语音信号 , 吃饭 并将其保存在电脑中 。 洗手洗手 (2)语音信号的处理 洗手 语音信号的处理 主要包括信号的提取 、 beef信号的调整 、 beef信号的变换和滤波等 。洗手洗手 .语音信号的时域分析 洗手 语音信号是一种非平稳的时变信号 , 吃饭 它携带着各种信息 。 洗手 在语音编码 、 bef语音合成 、 bef语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息 。 洗手 语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息 。 洗手 语音信号分析可以分为时域和变换域等处理方法 , 吃饭 其中时域分析是最
26、简单的方法 , 吃饭 直接对语音信号的时域波形进行分析 , 吃饭 提取的特征参数主要有语音的短时能量 , 吃饭 短时平均过 零率 , 吃饭 短时自相关函数等 。 洗手洗手 .语音信号的频域分析 洗手 信号的傅立叶表示在信号的分析与处理中起着重要的作用 。 洗手 因为对于线性系统来说 , 吃饭 可以很方便地确定其对正弦或复指数和的响应 , 吃饭 所以傅立叶分析方法能完善地解决许多信号分析和处理问题 。 洗手 另外 , 吃饭 傅立叶表示使信号的某些特性变得更明显 , 吃饭 因此 , 吃饭 它能更深入地说明信号的各项红物理现象 。 洗手洗手 由于语音信号是随着时间变化的 , 吃饭 通常认为 , 吃饭 语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出 。 洗手 输出频谱是声道系统频率响应与激励源频谱的乘 积 。 洗手 声道系统的频率响应及激励源都是随时间变化的 , 吃饭 因此一般标准信号采集 信息提取 信号调整 信号滤波 信号变换 效果显示