语音信号FFT分析

语音信号FFT分析

ID:37943949

大小:840.12 KB

页数:11页

时间:2019-06-03

语音信号FFT分析_第1页
语音信号FFT分析_第2页
语音信号FFT分析_第3页
语音信号FFT分析_第4页
语音信号FFT分析_第5页
资源描述:

《语音信号FFT分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、播码按键语音信号的FFT分析摘要: FFT也叫快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。本文简要分析了FFT算法的过程以及对电话按键音的不同频率的时域分析和频域分析波形的应用实例。关键词:FFT;MATLAB;按键音;时域;频域;频谱结构一、FFT的概念FFT也叫快速傅里叶变换,是离散傅里叶变换的快速算法。二、FFT的工

2、作原理由于严格按照数学推导来阐述FFT的运算原理会带来许多公式编辑的困难,在这里简要的用文字语言对按时间抽取法的基2算法加以说明。DFT的运算中,是利用序列和WNnk按照N为序列索引分别加权求和而得到的。我们单独分析WNnk的特性可以看出其具有对称性和周期性。因此,我们利用这种性质可以将DFT变换成一系列的迭代运算来完成整个DFT运算过程。整个过程中:1、我们利用其奇偶性将一个N点DFT运算分成N/2点DFT运算,这样便完成了一个N点DFT的前一半DFT运算。2、一个N点DFT运算的后一半运算可以利用系数

3、的周期性:r(k+N/2)=WN/2rk和算式N/2+K=k来推导完成。最后可以得到一个N点DFT的全部运算式:kk其中:k=0,1,2......N/2—13、分解后的序列做DFT运算时任然可以继续按照这种方法再次分为N/2点DFT运算,如果按照这种方法继续进行下去,最终将得到一个运算单元只含2点的DFT运算。三、FFT节约的计算量计算在按时间抽取法中,对于一个N点的序列,所要完成的乘法次数为:要完成的加法次数为:而直接DFT运算复乘法数为N2,假设计算1024点DFT时,则FFT和DFT计算的复乘法数

4、目比值是205。因此,FFT算法节约了许多的运算量。四、一串播码按键语音信号的FFT分析1、按键音的来源在本次实验中,采用的被分析按键音来自于普通手机的播码音,通过MP4录制后保存为WAV的音频格式,然后上传至PC机。由于WAV格式又分为PCM和IMAADPCM两种不同的格式,MATLAB中wavread函数只能对PCM格式的wav进行处理,而我用的MP4恰好是非PCM格式的wav文件,因此,由MP4录制的语音经过AdensoftAudioMP3converter格式转换器转换后得到MATLAB能打开的P

5、CM格式WAV文件。将其命名为“q”。2、语音文件的打开方法将得到的命名为“q”的WAV文件保存在MATLAB文件下的WORK文件夹以下,然后用函数:[y,Fs,bits]=wavread('q.wav')能够打开这一串录制好的语音信号。其中,y代表着语音信号的变量名;FS是采样率,BITS是采样位数。q.wav是保存的源语音文件。wavread是函数名。当然,我们也可以回放这一串语音信号,通过调用sound函数即可:sound(y,Fs,bits)3、语音信号的时域波形显示通过调用MATLAB中的显示命

6、令可以将这串语音信号的时域波形显示出来。通过编辑,从读取语音信号到时域显示部分的MATLAB语言程序如下:[y,Fs,bits]=wavread('q.wav');%读取WAV语音文件并命名为y;sound(y,Fs,bits);%回放语音一次;figure;%产生一个新界面;plot(y);%绘制时域波形;注:由于这里的输入法不同,所产生的ASICALL码是不一样的,因此复制到MATLAB里面是不被通过的,应重新输入才可。通过运算,得到的原始时域波形如下图所示:此时横坐标的长度是语音信号的名称y的数据序

7、列长度,纵坐标的值是语音信号y的每一个序列值所对应的值得大小。其中可以看出录音一共产生了10次幅度突升的大集合,其实也正对应着0,1,2,3、、、9等10个数字键的按入。最后的一点幅度是关闭按钮时产生的噪音,可能会对分析的频谱产生噪音污染,但其总体功率不大,任然可以分辨出来。录音信号的时域波形采用以下程序处理后可以把横轴时间单位改为s:n=length(y);%取y数据的长度;t=(0:n-1)/Fs;%求时间单位s的运算公式;plot(t,y);xlabel(‘s’);title(‘时域波形图’)%绘制

8、以时间单位s的时域波形;这样处理后的波形如下图所示:换算为时间单位的时域波形图4、语音信号的频域分析在这里,我们采用快速傅里叶变换即FFT分析产生频谱结构的可视化界面,只需要调用相应的函数fft即可:Y=fft(y);做频谱分析并且显示的程序如下:x=fft(y);%完成FFT运算,x即运算后的数组;Y=abs(x);%对FFT运算后的数组x取绝对值,得到幅度值;figure;%产生新界面;plot(Y);title(‘原始信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。