基于+MATLAB+的语音信号分析与处理的课程设计实验报告Word下载.docx
- 文档编号:18958473
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:423.33KB
基于+MATLAB+的语音信号分析与处理的课程设计实验报告Word下载.docx
《基于+MATLAB+的语音信号分析与处理的课程设计实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《基于+MATLAB+的语音信号分析与处理的课程设计实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
在这次设计中采用了巴特沃思和切比雪夫两种滤波器,这两种滤波器又分别采用了高通、低通、带通、带阻四种频率特性实现,从横向上和纵向上都可以进行对比,表现出各种滤波器的不同特性。
一、设计目的及要求
1.课程设计目的
综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
2.课程设计基本要求
1)学会MATLAB的使用,掌握MATLAB的程序设计方法。
2)掌握在Windows环境下语音信号采集的方法。
3)掌握数字信号处理的基本概念、基本理论和基本方法。
4)掌握MATLAB设计FIR和IIR数字滤波器的方法。
5)学会用MATLAB对信号进行分析和处理。
3.课程设计内容
录制一段自己的语音信号,并对录制的信号进行采样;
画出采样后语音信号的时域波形和频谱图;
给定滤波器的性能指标,设计数字滤波器,并画出滤波器的频率响应;
然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;
回放语音信号;
最后,用MATLAB设计一信号处理系统界面。
二、设计过程
1、打开GUI窗口:
File→New→GUI→CreateNewGUI→BlankGUI(Default)→OK
2、控件设计:
在控件布局设计区放置四个Axes控件、六个PushButton控件、一个ButtonGroup控件和两个RadioButton控件、四个StaticText控件。
3、修改控件属性:
选中需要修改属性的控件,双击打开属性查看器,具体设置如下:
1)五个Axes控件
Tag
作用
axes1
提供坐标画出原始信号波形
axes2
提供坐标画出原始信号频谱
axes3
提供坐标画出滤波后信号波形
axes4
提供坐标画出滤波后信号频谱
axes5
提供坐标画出滤波器频率响应
2)六个PushButton控件:
String
低通
pushbutton1
带阻
pushbutton4
高通
pushbutton2
原始信号
pushbutton5
带通
pushbutton3
关闭窗口
pushbutton6
3)一个ButtonGroup控件和两个RadioButton控件:
Style
请选择滤波器种类
ButtonGroup
uipanel5
巴特沃思
RadioButton
radiobutton1
切比雪夫
radiobutton2
4)五个StaticText控件(这五个StaticText控件是对坐标轴中图形的说明):
text1
原始信号波形
text2
原始信号频谱
text3
滤波后信号波形
text4
滤波后信号频谱
text5
滤波器频率响应
4、保存:
设置好各个控件的属性,回到GUI主窗口保存,给文件命名为hy,同时hy.m文件打开。
5、设置回调函数:
在hy.m文件窗口中设置回函数。
这里,虽然GUI自动生成了回调函数,但是回调函数是空的,需要在hy.m文件中对它进行定义说明。
该程序只需要对六个PushButton控件的回调函数进行定义说明。
六个PushButton控件的回调函数:
1)“低通”按键的回调函数
functionpushbutton1_Callback(hObject,eventdata,handles)
[y,fs,bits]=wavread('
e:
\hy.wav'
);
%函数wavread是对语音信号进行采样,格式是[y,fs,nbit]=wavread,返回采样值放在向量y中,fs表示采样频率(Hz),nbit表示采样位数。
fp=1000;
fs=2000;
rp=0.5;
rs=40;
fc=40000;
%设定通带截止频率(fp)、阻带截止频率(fs)、通带波纹系数(rp)、阻带波纹系数(rs)、抽样频率(fc)。
wp=2*fp/fc;
ws=2*fs/fc;
%将模拟域转化成数字域。
ifget(handles.radiobutton1,'
value'
)%如果选择radiobutton1,则制做巴特沃思滤波器。
[N,Wc]=buttord(wp,ws,rp,rs);
%估算巴特沃思滤波器的阶数N和3dB截止频率Wc。
[num,den]=butter(N,Wc);
%求传输函数的分子和分母多项式的系数。
else%选择radiobutton2,则制做切比雪夫Ⅰ型滤波器。
[N,Wc]=cheb1ord(wp,ws,rp,rs);
%估算切比雪夫Ⅰ型滤波器的阶数N和截止频率Wc。
[num,den]=cheby1(N,rp,Wc);
end
x=filter(num,den,y);
%根据传输函数的分子和分母多项式的系数得到模拟滤波器,并将y通过该滤波器,得到x。
sound(x,fc,bits);
%将滤波后的信号x进行回放。
X=fft(x);
%将x信号进行快速傅里叶变换。
axes(handles.axes3);
plot(x);
%在axes3坐标轴上画出x信号的波形图。
axes(handles.axes4);
plot(abs(X));
%在axes4坐标轴上画出x信号的频谱图。
[h,f]=freqz(num,den,256,fc);
%求滤波器的频率响应。
axes(handles.axes5);
plot(f,abs(h),'
k'
%在axes5坐标轴上以黑线画出滤波器的频率响应。
2)“高通”按键的回调函数
functionpushbutton2_Callback(hObject,eventdata,handles)
fp=2000;
fs=1000;
)
[num,den]=butter(N,Wc,'
high'
%返回N阶高通滤波器。
else
[num,den]=cheby1(N,rp,Wc,'
3)“带通”按键的回调函数
functionpushbutton3_Callback(hObject,eventdata,handles)
fp=[3000,8000];
fs=[1000,10000];
%Wc为双元素向量,返回2N阶带通滤波器。
4)“带阻”按键的回调函数
functionpushbutton4_Callback(hObject,eventdata,handles)
fp=[1000,10000];
fs=[3000,8000];
stop'
%返回2N阶带阻滤波器。
5)“原始信号”按键的回调函数
functionpushbutton5_Callback(hObject,eventdata,handles)
sound(y,fs,bits);
Y=fft(y);
axes(handles.axes1);
plot(y);
axes(handles.axes2);
plot(abs(Y));
6)“关闭窗口”按键的回调函数
functionpushbutton6_Callback(hObject,eventdata,handles)
close
6、保存修改后的hy.m文件,单击GUI主窗口工具栏中的“激活运行”按钮,在GUI界面中按下“原始信号”按键就可以看到原始信号的波形和频谱,并播放原始信号;
选择滤波器种类(巴特沃思或切比雪夫),然后按下“高通”、“低通”、“带通”、“带阻”其中一个按键,就可以看到原信号经过滤波器后的信号的波形与频谱,并播放该信号。
三、调试分析
图1控件布局
图2单击“激活运行”后界面
图3巴特沃思高通滤波器
图4切比雪夫高通滤波器
图5巴特沃思低通滤波器
图6切比雪夫低通滤波器
图7巴特沃思带通滤波器
图8切比雪夫带通滤波器
图9巴特沃思带阻滤波器
图10切比雪夫带阻滤波器
图3—图10为巴特沃思和切比雪夫Ⅰ型滤波器在不同频率特性下产生的信号波形与频谱,同时有原信号作对比。
可以看出,巴特沃思滤波器的频率特性曲线无论在通带还是在阻带内,都是频率的单调函数,切比雪夫Ⅰ型滤波器的幅频特性在通带内是等波纹的,阻带内是单调的。
因为在回调函数中,高通和低通、带通和带阻滤波器的截止频率、波纹系数、抽样频率设定的值是相同的,所以在下图中纵向对比可以看出,信号通过高通和低通滤波器之后频谱相对于原信号是互补的,如果对于高通滤波器在某一频率段上有幅值,那么对于低通滤波器该频率幅值为零。
同理于带通和带阻滤波器。
横向上对比可以看出不同滤波器选频特性也不同,特别是在图7—图10中选频边界处的频谱处理可以看出,切比雪夫滤波器比巴特沃思滤波器的选频特性好。
四、结果分析与体会
滤波器的作用就是滤除掉阻带内有频率分量,保留通带内的频率分量。
在图3—图10的波形图和频谱图中可以看出,经过滤波器处理后,不仅滤除掉了原信号的部分频率分量,原信号的幅度也会有所衰减,而低通和带阻滤波器产生的信号相对于原信号变化不大,是因为设定的选频范围是原信号的频率段中较集中的部分,所以与此同时,高通和带通滤波器产生的信号相对于原信号的幅度就会大大衰减,其原因也是在于高通和带通滤波器的选频范围是原信号频率范围中较少的一部分。
在信号回放时,低通和带阻滤波器回放的音频信号与原信号相比,音色有一点低沉;
而高通和带通滤波器回放的音频信号,几乎已经听不到什么声音,这也说明了这两种滤波器产生的信号频率只占原信号频率范围中较少的部分。
所以根据各个滤波器的选频范围及滤波后信号的音效,可大致判断原信号的频率多集中在1000Hz以下。
通过这次课设,使我对滤波器有了更深的认识,特别是滤波器参数对滤波器性能的影响,因为通带截止频率、阻带截止频率、通带波纹系数、阻带波纹系数都是要影响滤波器的阶数,而滤波器的阶数越大,其选频特性就越好。
因为滤波器处理的音频信号是我自己的声音,所以通过滤波器处理后音频信号的变化,能大致得出自己声音的频率范围,也是挺有意思的。
在做课程设计之前觉得内容挺难的,但经过查阅图书馆的资料和同学们的努力与帮助,最后还是以比较短的时间完成了这次课程设计。
以前学MATLAB的时候,最后的大作业也是用GUI设计了一个可视化界面,所以在本次设计中可视化界面的设计也没有觉得很难。
但是看到其他同学有用到EditText控件来作滤波器参数的输入,感觉到自己的能力还是很有限,所以还需要加强学习。
但最重要的还是感觉到通过课程设计能够学以致用,并且运用以前学过的工具来更好的理解所学的内容,收获还是挺大的。
五、参考文献
程佩青数字信号处理教程(第三版)清华大学出版社
罗军辉、罗勇江、白义臣等MATLAB7.0在数字信号处理中的应用机械工业出版社
刘波、文忠、曾涯等MATLAB信号处理电子工业出版社
六、谢辞
在本次设计中,借阅了图书馆的一些书籍,比自己的帮助比较大,同学间的相互讨论与帮助也起到了很重要的作用。
此外还要特别感谢指导老师耐心的辅导,并帮助我纠正错误,授予以鱼,亦之以渔,使我不仅能够按时完成课程设计,也从中对本课程有了更深的认识与理解,同时也注意到自己在学习方法中的不足,并会在日后加以改正。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 语音 信号 分析 处理 课程设计 实验 报告