新手请教一个声压信号的fft处理
已知一声压信号,做频谱图。下面是代码、数据文件和我做的图,频谱图不是我想要的,不知道怎么处理,请大家帮忙看看。fs=2739; %采样频率
Ndata=16566; %数据个数
N=8192; %FFT采用的数据个数
n=0:Ndata-1;t=n/fs; %时间序列
=textread('noise.txt','%f %f'); %读取声压信号
y=fft(x,N);
mag=abs(y);
f=(0:N-1)*fs/N; %真实频率
subplot(1,2,1),plot(t,x); %绘出声压时程
axis();
xlabel('时间/s');ylabel('声压DB');
title('声压时程');grid on;
subplot(1,2,2),plot(f(1:N/2),mag(1:N/2)*2/N); %绘出Nyquist频率之前的振幅
xlabel('频率/Hz');ylabel('振幅');
title('声压频谱');grid on;
你的声压是什么单位?为什么都是正的?你就这样做fft当然0频率的值很大了。 本帖最后由 yaoyaomao 于 2012-2-12 10:23 编辑
回复 2 # hcharlie 的帖子
这个是用软件计算出的噪声DB值,声压的单位是DB。我重新做了一个,声压的单位是pa
又把频谱图的纵坐标经过数据变换成DB,只关注200Hz以内的频谱分布
这样对不对
页:
[1]