赞
踩
倍频程表示的是相应倍频程带内的功率(能量)之和,其详细理论课参考其他文章,在计算倍频程之前需要将时域信号进行傅里叶变化,本文基于功率谱密度进行倍频程计算。
计算一维数组x的自功率谱密度:
n=length(x); if mod(n,2)==0 %偶数 else n=n-1; end windows=hann(n); x1=detrend(x); %去除线性趋势项 x1=x1(1:n).*windows; %时域数据加汉宁窗 y=fft(x1,n); f=(0:(n-1)/2)/n*fs; %根据对称性取频率一半,fs为采样周期 P1=y(1:n/2); P1(2:end-1)=2*P1(2:end-1); %得到单边复数频谱 P1=P1/n; %单边复数频谱的真实值 AP=P1.*conj(P1); %计算自功率谱 APL=AP/(fs/n); %自功率谱密度 APL=APL*1.6333; %加窗造成的衰减,需要乘以汉宁窗恢复系数。
ajrms=zeros(1,23);
for i=1:23
fdnum=find(f>=param.fid(i));
%param.fid为各倍频程带的下限频率
funum=find(f<param.fiu(i));
%param.fid为各倍频程带的上限频率
api=APL(fdnum(1):funum(end));
aptrapz=trapz(fs/n,api);
ajrms(1,i)=aptrapz^0.5;
end
%ajrms即为各倍频程带的倍频程
倍频程的计算和噪声倍频程或许存在出入,本案例参照GB 4970汽车平顺性的倍频程计算方法计算。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。