- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB的有噪声的语音信号分析与处理设计武汉理工大学.doc
目 录
1.课程设计目的………………………………………………………………(4)
2.课程设计基本要求……………………………………………...………….(4)
3.课程设计内容………………………………………..……………………..(4)
4.课程设计实现……………………………………………………..…..……………(4)
(1)语音信号的采集……………………………………………………..(4)
(2)语音信号的时频分析………………………………………………..(5)
(3)语音信号加噪与频谱分析…………………………………………..(5)
(4)设计FIR和IIR数字滤波器………………………………………..(8)
(5)用滤波器对加噪语音信号进行滤波……………………………….
(6)比较滤波前后语音信号的波形及频谱…………………
(7)回放语音信号……………………………………….
5、心得体会……………………………………………..……………………..(11)
6、参考文献…………………………………….……………………………..(11)
基于MATLAB的有噪声的语音信号分析与处理设计
1.课程设计目的
综合运用数字信号处理的理论知识对语音信号进行时频分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
2.课程设计基本要求
1 ) 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。
2 ) 掌握在 Windows 环境下语音信号采集的方法。
3 ) 掌握数字信号处理的基本概念、基本理论和基本方法。
4 ) 掌握 MATLAB 设计 FIR 和IIR 数字滤波器的方法。
5 ) 学会用 MATLAB 对信号进行分析和处理。
3.课程设计内容
选择一个语音信号作为分析对象,或录制一段语音信号;
对语音信号进行采样,画出采样后语音信号的时域波形和频谱图;
利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析;
设计FIR和IIR数字滤波器,并对被噪声污染的语音信号进行滤波,画出滤波前后信号的时域波形和频谱,并对滤波前后的信号进行比较,分析信号的变化;
回放语音信号。
4.课程设计实现
(1)语音信号的采集
利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“speech”保存入g :\ MATLAB \ work 中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。
(2)语音信号的时频分析
Matlab软件平台下,利用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中。
对语音信号speech.wav进行采样其程序如下:
[y,fs,nbits]=wavered (speech); %把语音信号进行加载入Matlab 仿真软件平台中
fs =
8000
nbits =
16
首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在matlab中利用fft对信号进行快速傅里叶变换,得到信号的频谱特性。
其程序如下:
[y,fs,nbits]=wavread (speech);
sound(y,fs,nbits); %回放语音信号
n = length (y) ; %求出语音信号的长度
Y=fft(y,n); %傅里叶变换
subplot(2,1,1);plot(y);title(原始信号波形);
subplot(2,1,2);plot(abs(Y));title(原始信号频谱)
程序结果如下图:
(3)语音信号加噪与频谱分析
利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。
其程序如下:
[y,fs,nbits]=wavread (speech);
n = length (y) ; %求出语音信号的长
文档评论(0)