仪器采集信号后用matlab分析,基于MATLAB的语音信号分析与处理的课程设计实验报告...

41528d3028836879cd698677c3999917.gif基于MATLAB的语音信号分析与处理的课程设计实验报告

目 录 绪论1 正文: 一、设计目的及要求2 二、设计过程2 三、调试分析6 四、结果分析与体会11 五、参考文献12 六、谢辞12 绪 论 数字信号处理(digital signal processing,DSP)是从20世纪60年代以来,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。它的重要性日益在各个领域的应用中表现出来。 简言之,数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用(专用)信号处理设备,用数字的数值计算方法处理(例如滤波、变换、压缩、增强、估计、识别等),以达到提取有用信息便于应用的目的。 数字信号处理的应用包括滤波与变换、通信、语音、语言、图像、图形、消费电子、仪器、工业控制与自动化、医疗、军事等。其发展方向也是多方面的,包括数字汇聚、远程会议系统、融合网络、数字图书馆、图像与文本合一的信息检索业务、多媒体通信、个人信息终端等。 在本次设计中,就以设计一个数字滤波器系统为目的。滤波器按频率划分有低通、高通、带通、带阻全通等类型。一个数字滤波器可以用一个系统函数来表示,若要得到该系统函数,就要得到以z^(-1)升幂排列的传输函数的分子和分母多项式的系数,即向量num、den,而这两个参数由[num den]=butter(N,Wn)、[N,Wn]=buttord(wp,ws,rp,rs)这一函数得出,这是巴特沃思滤波器的设计过程。由于频率响应的周期性,频率变量以数字频率ω来表示,ω=2π*f/fc,f为模拟域频率,fc为抽样频率,所以数字滤波器设计中必须给出抽样频率。 在这次设计中采用了巴特沃思和切比雪夫两种滤波器,这两种滤波器又分别采用了高通、低通、带通、带阻四种频率特性实现,从横向上和纵向上都可以进行对比,表现出各种滤波器的不同特性。 一、设计目的及要求 1.课程设计目的 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.课程设计基本要求 1) 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 2) 掌握在 Windows 环境下语音信号采集的方法。 3) 掌握数字信号处理的基本概念、基本理论和基本方法。 4) 掌握 MATLAB 设计 FIR 和IIR 数字滤波器的方法。 5) 学会用 MATLAB 对信号进行分析和处理。 3.课程设计内容 录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,用 MATLAB 设计一信号处理系统界面。 二、设计过程 1、 打开GUI窗口:File → New → GUI → Create New GUI → Blank GUI(Default) →OK 2、 控件设计:在控件布局设计区放置四个Axes控件、六个Push Button控件、一个Button Group控件和两个Radio Button控件、四个Static Text控件。 3、 修改控件属性:选中需要修改属性的控件,双击打开属性查看器,具体设置如下: 1) 五个Axes控件 Tag 作用 axes1 提供坐标画出原始信号波形 axes2 提供坐标画出原始信号频谱 axes3 提供坐标画出滤波后信号波形 axes4 提供坐标画出滤波后信号频谱 axes5 提供坐标画出滤波器频率响应 2) 六个Push Button控件: String Tag String Tag 低通 pushbutton1 带阻 pushbutton4 高通 pushbutton2 原始信号 pushbutton5 带通 pushbutton3 关闭窗口 pushbutton6 3) 一个Button Group控件和两个Radio Button控件: String Style Tag 请选择滤波器种类 Button Group uipanel5 巴特沃思 Radio Button radiobutton1 切比雪夫 Radio Button radiobutton2 4) 五个Static Text控件(这五个Static Text控件是对坐标轴中图形的说明): Tag String text1 原始信号波形 text2 原始信号频谱 text3 滤波后信号波形 text4 滤波后信号频谱 text5 滤波器频率响应 4、 保存:设置好各个控件的属性,回到GUI主窗口保存,给文件命名为hy,同时hy.m文件打开。 5、 设置回调函数:在hy.m文件窗口中设置回函数。这里,虽然GUI自动生成了回调函数,但是回调函数是空的,需要在hy.m文件中对它进行定义说明。该程序只需要对六个Push Button控件的回调函数进行定义说明。 六个Push Button控件的回调函数: 1)“低通”按键的回调函数 function pushbutton1_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; %将模拟域转化成数字域。 if get(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); %求传输函数的分子和分母多项

你可能感兴趣的:(仪器采集信号后用matlab分析,基于MATLAB的语音信号分析与处理的课程设计实验报告...)