MATLAB用于语音信号的处理
一.
设计目的
通过该设计,要求对语音信号的采集、处理、传输、显示、和存储等有一个系统的掌握和理解。理解信号采样频率的概念,掌握对语音信号进行时域和频域分析方法,了解滤波器的概念及原理。 二.
设计内容
1.语音信号的采集 2.语音信号的频谱分析 3.设计数字滤波器 4.用滤波器对信号进行滤波
5. 分析滤波后得到的语音信号的频谱,画出滤波后信号的时域波形和频
谱,并对滤波前后的信号进行对比,分析信号的变化 6.回放语音信号 三.
总体方案设计
1.利用Windows下的录音机或其他软件,录制一段语音信号,时间控制在1s左右,然后再MATLAB软件平台下,利用函数wavread对录制的语音信号进行采样,记住采样频率和采样点数。
MATLAB函数:Wavread功能对语音信号进行采样,wavread函数的格式为:[y,fs,bits]=wavread('d:\\kugou\\2.wav',[n1,n2]),返回文件中语音信号从n1到n2之间的样本。
2. 先画出语音信号的时域波形,然后对语音信号进行快速傅里叶变换,得到信号的频谱特性。
MATLAB函数:fft功能是实现快速傅里叶变换,fft函数的格式为:y=fft(y),返回向量x的不连续fourier变换。
1/7
3.根据低通滤波器的性能指标设计出滤波器。
MATLAB函数:Ellipord功能是要求低通滤波器的参数,ellipord函数的格式为:[N,Wn]=ellipord(Wp,Ws,Rp,Rs),返回设计滤波器的阶数和截止频率。
Ellip功能是设计IIR滤波器,ellip函数的格式为:[b,a]=ellip(N,Rp,Rs,Wn),返回设计滤波器的低通滤波器的参数。
4.用设计的滤波器对采集的语音信号进行滤波。
MATLAB函数:filter功能对信号进行滤波,filter函数的格式为:y=filter(b,a,x),由给定的滤波器对x进行滤波。
5.分析滤波后得到的语音信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化
6.对滤波后的语音信号进行回放,对比滤波前后声音的变化。
MATLAB函数:sound转化向量为音符的发声指令,sound函数的格式为:
sound(y,fs),把以采样频率fs的语音信号y以声音的形式播放。 四.
主要参数
Rs=100db Rp=1db Wp=0.5 Ws=0.8
2/7
五.
源程序:
3/7
六.仿真结果
4/7
5/7
6/7
七.
实验总结
语音信号处理是语音学与数字信号处理技术相结合的交叉学科。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。用处理数字信号的强有力工具MATLAB,通过MATLAB里几个命令函数的调用,很轻易的在实际化语音与数字信号的理论之间搭了一座桥。课题的特色在于它将语音看作了一个向量,于是语音数字化了,则可以完全利用数字信号处理的知识来解决。我们可以像给一般信号做频谱分析一样,来给语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。
我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用MATLAB也可以很好的加深我对课程的理解,为我带来方便。这次设计使我了解了MATLAB的使用方法,提高了分析和动手实践能力。同时我相信,进一步加强对MATLAB的学习与研究对我今后的学习将会起到很大的帮助。
7/7
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务