- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 记叙文阅读专题——语言品析.ppt
- 论现代足球比赛边后卫的攻防跑位意识 诸暨实验职中 陈琪 摘要:在 .doc
- 论第三者破坏他人婚姻家庭的民事责任.doc
- 论电力燃料体制改革.docx
- 论英语委婉语的特点.doc
- 论自学成才.doc
- 论行业协会的能力建设.doc
- 论警力资源管理的现状及其发展.doc
- 论语与孔子.ppt
- 论语选读课文解读与文言练习详解.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)