二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科普 » 正文

声音信号的频谱分析(二)

放大字体  缩小字体 发布日期:2018-05-23 16:09:10    作者:微世推-凯伟    浏览次数:276
导读

——wav文件的分段傅里叶分析在上一篇“声音信号的频谱分析(一)”中,给出了几种声音信号的时域波形图和频谱图。但存在两个问题:第一,对wav文件全部读取出来一次性地进行傅里叶变换,点数太大,而实际中运用DSP

——wav文件的分段傅里叶分析

在上一篇“声音信号的频谱分析(一)”中,给出了几种声音信号的时域波形图和频谱图。但存在两个问题:第一,对wav文件全部读取出来一次性地进行傅里叶变换,点数太大,而实际中运用DSP的FFT点数是有限的;第二,语音是分节的,不同时间段上的频谱特性不同,应该对它进行分段分析。下面引入分段处理数据的方法。仍以matlab中自带的文件“bird.wav”为例进行分析。

示例程序:

[w,fs,bits]=wavread('C:\MATLAB701\toolbox\vr\vrealm\program\sounds\bird.wav');

sound(w,fs,bits);  %听一下原始声音

y=w(:,1);                %取其中一列

display('声音文件的大小为:');

size(w)

 

%按照每段N0个点分段,做N0

N0=1024;K=length(y)/N0;

Z=zeros(K,N0);

for i=1:K

  Z(i,:)=(fft(y(1024*(i-1)+1:1024*i),N0)');

end

mesh(abs(Z)');

xlabel('x');ylabel('y');zlabel('z');

 

运行结果如下图所示,x坐标表示段数(即K的值,本程序中,K=19),y坐标表示每段的点数(该程序中,每段1024个点),z坐标表示频域幅度谱。显然,幅度谱是以1024/2=512为对称的,这是所有实信号的幅度谱的共性。

    首先沿x方向看,整个wav数据分成的K段中,每段有两个峰值,与上表中的分析是一致的,但不同段幅度差别较大,如果沿y方向看,分成的K段中同一y位置处的幅度也是不同的,乘波浪起伏变化,说明语音是分节的,不同时间段的频谱不同。


 
(文/微世推-凯伟)
免责声明
• 
本文仅代表发布者:微世推-凯伟个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈