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

时域图

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

图片2.jpg

(19.7 KB, 下载次数: 0)

2015-6-11 10:49 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

频域图

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

16ae97300fb26d5150aca66cd3888cb6.gif

2015-6-11 10:39 上传

点击文件名下载附件

215.82 KB, 下载次数: 18

数据文件

你可能感兴趣的:(matlab声音信号时域频域转换,关于处理用采集卡采集到的声音时域信号转化成频域信号........)