saintsaga 发表于 2015-8-26 18:15

MATLAB编写的求声强程序,大家看看有没有问题

双传声器器测量声强,使用互谱法计算,以下为程序主要部分,麻烦大家看看有没有问题
clc;close all;clear
x=xlsread('soundTest.xlsx',2,'B1000:C578002');
fs=51200;p1=x(:,1);p2=x(:,2);
roh = 1.29; % 空气密度
d = 0.05; %两声压传感器之间的距离

N =length(x);
NFFT = 2^nextpow2(N);
df = fs/NFFT;


    Xf = fft(p1,NFFT);
    Yf = fft(p2,NFFT);
    Gd = 2 * Xf .* conj(Yf)/N^2;
    Gs = Gd(1:NFFT/2+1)';
    f = 0:df:fs/2;
    I(1,:) =f;
    I(2,:) = -imag(Gs)/2/pi./f/roh/d;%I为声强谱

另外,根据互谱公式,得到的声强谱幅值单位是W/m2吗?
还有,怎么通过时域法求声强呢(积分的区间怎么取)!

页: [1]
查看完整版本: MATLAB编写的求声强程序,大家看看有没有问题