热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

matlab声音信号时域频域转换,关于处理用采集卡采集到的声音时域信号转化成频域信号........

求助各位大神,我用麦克风通过采集卡采集到了一段声音数据,数据在附件里,矩阵中第一列为时间,第二列为采集到的声音的电压信号&#

求助各位大神,我用麦克风通过采集卡采集到了一段声音数据,数据在附件里,矩阵中第一列为时间,第二列为采集到的声音的电压信号,采样频率为1万Hz,做出时域图和频域图的程序如下所示:

clear;

clc;

load sheng NUM;

fs=10000;

a=NUM(:,1);

b=NUM(:,2);

m=size(b);

N=max(m);

s=fft(b,N-1);

X0=abs(s);

F=(0:N-2)*fs/(N-1);%计算采样点的对应的频率;

figure(1);

plot(1:N,b);

title('信号');

xlabel('信号采集序号');

ylabel('信号');

figure(2);

plot(F,X0)%原始频谱图;

title('原始频谱图');

xlabel('频率/Hz');

ylabel('幅值');

s0(2:N-1)=X0(2:end)/(0.5*(N-1));

s0(1)=X0(1)/(N-1);

figure(3);

plot(F,s0)%实际频谱图;

title('实际频谱图');

xlabel('频率/Hz');

ylabel('幅值');

fshift=round(0.5*(N-1));

figure(4);

plot(F(1:fshift),s0(1:fshift))%由于对称只取一半频谱;

title('频谱图');

xlabel('频率/Hz');

ylabel('幅值');

figure(5);

P=phase(s); %计算相位

P=rem(P*180/pi,360); %换算为角度

plot(F,P); %显示相位图

title('相位-频率曲线图');

xlabel('频率/Hz');

ylabel('相位/度');

得出来的时域图和频域图如下所示:

频域图为何在0处显示最高呢?求助各位

图片1.jpg

(20.7 KB, 下载次数: 0)

2015-6-11 10:49 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

时域图

3a60c5c8c275758061bd04ffb917200b.png

图片2.jpg

(19.7 KB, 下载次数: 0)

2015-6-11 10:49 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

频域图

f2344c78fe533e7feb88cfe106dd20b0.png

16ae97300fb26d5150aca66cd3888cb6.gif

2015-6-11 10:39 上传

点击文件名下载附件

215.82 KB, 下载次数: 18

数据文件



推荐阅读
author-avatar
王小瑶p_35ps
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有