语音信号课设.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语音信号课设

1.课程设计目的 为了巩固所学的数字信号处理理论知识,对信号的采集、处理、传输、显示和存储等系统的掌握和理解,综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.课程设计要求 (1)学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 (2)掌握在 Windows 环境下语音信号采集的方法。 (3)掌握数字信号处理的基本概念、基本理论和基本方法。 (4)掌握 MATLAB 设计 FIR 和IIR 数字滤波器的方法。 (5)学会用 MATLAB 对信号进行分析和处理。 3.课程设计内容 (1)选择一个语音信号作为分析对象,或录制一段语音信号; (2)对语音信号进行采样,画出采样后语音信号的时域波形和频谱图; (3)利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析; (4)设计FIR和IIR数字滤波器,并对被噪声污染的语音信号进行滤波,画出滤波前后信号的时域波形和频谱,并对滤波前后的信号进行比较,分析信号的变化; (5)回放语音信号。 4.课程设计实现 4.1整体设计思路 Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波 、傅里叶变换 、时域和频域分析 、声音回放以及各种图的呈现等 , 信号处理是 Matlab 重要应用的领域之一 。本文是用 Matlab 对含噪的的语音信号同时在时域和频域进行滤波处理和分析。整个设计思路的设计原理示意图如图 1 所示: 4.2 整体实现过程 4.2.1 语音信号的采集 我们可以利用windows自带的录音机录制语音文件,进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说“语音信号处理课程设计”,说完后停止录音, 文件存储器的后缀默认为. Wav,如果是wma格式或其他格式,可以利用软件转换成wav格式。以文件名“xz”保存入D:\ MATLAB \ work 中。图2是基于PC机的语音信号采集过程: 声音 图2.语音采集过程 4.2.2 语音信号的读取 在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。 wavread函数调用格式 y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。 [y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取钱N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 对语音信号“zx.wav”进行采样其程序如下: [y,fs,nbits]=wavread(zx.wav) 结果如下: 可知该语音信号的采样频率fs = 8000Hz ,数据位nbits = 16Bit。 4.2.3 语音信号的频谱分析 首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab 中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱图 其程序如下: y=wavread(zx.wav); %把语音信号进行加载入Matlab 仿真软件平台中 sound(y,fs,nbits); %对加载的语音信号进行回放 Y=fft(y); %快速傅里叶变换 subplot(2 ,1 ,1),plot(y);title(原始信号波形); subplot(2 ,1 ,2),plot(abs(Y));title(原始信号频谱); 程序结果如下图3: 图3 语音信号的频谱 4.2.4 噪声信号的构建 利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析。 1)Matlab中的rand函数:均匀分布的随机数或矩阵 Y = rand(n) Y = rand(m,n) Y = rand([m n]) Y = rand(m,n,p,...) Y = rand([m n p...]) Y = rand(size(A)) 2)rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。 Y = rand(n) 返回一个n x n随机矩阵。如果n不是数量,则返回错误信息。 Y = rand(m,n) 或 Y = rand([m n]) 返回一个m

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档