全文预览

基于MATLAB实现对语音信号的频谱分析

上传者:qnrdwb |  格式:doc  |  页数:18 |  大小:383KB

文档介绍
各样的工具箱。Р2.3 本章小结Р本章详细介绍了频谱分析的基本原理,并对MATLAB软件的发展和组成展开介绍。Р3. 程序与算例Р3.1 声音信号频谱分析РMatlab语言是一种数据分析和处理功能十分强大的计算机应用软件, 它可以将声音文件变换为离散的数据文件, 然后利用其强大的矩阵运算能力处理数据, 如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。下面以语音信号的波形图、频谱图和倒谱图分析为例来说明Matlab在语音信号处理中的具体实现方法。Р程序代码:РS=wavread('1.wav')Рsubplot(3,1,1);plot(S);title('波形图')Рn=size(S);Рd=100;РL=512;Рk=L-d;Рt=fix(n/k);Рframe_length=512;Рr=(rectwin(frame_length));Рfor a=1:tР n1=(L-d)*(a-1)+1;Р n2=(L-d)*(a-1)+frame_length;Р y=S(n1:n2);Р sf=fft(y'.*r',512);Р X1(n1:n2)=sf(1:frame_length);РendРFFTSIZE=8000;РY=zeros(FFTSIZE,1);РY=20*log10(abs(X1));Рsubplot(3,1,2);plot(Y(1:4000)),title('频谱图');РT1=length(X1);Рt1=fix(T1/L);Рfor i=1:t1Рz=ifft(X1((i-1)*L+1:i*L),512);Рz=real(z./r');Рy((i-1)*k+1:i*k)=z(1:k);Рend Рsubplot(3,1,3);plot(y),title('倒谱图')Р上程序将语音文件1.wav进行频谱分析,分析结果如图3-1所示。

收藏

分享

举报
下载此文档