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

数据文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值