声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4240|回复: 11

关于如何求频谱的1/3倍频程

[复制链接]
回帖奖励 18 点体能 回复本帖可获得 1 点体能奖励! 每人限 1 次
发表于 2015-11-11 09:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
搜索了论坛发现很多事求时域的1/3倍频程。请问下怎么求频域的倍频程?
我有一个频域-声压曲线。横坐标HZ纵坐标db
可否直接用下面程序(MATLAB在振动信号处理中的应用)转成1/3倍频啊~做出来的数值不对~~能不能指点下啊
f=[1.00 1.25 1.60 2.00 2.50 3.15 4.00 5.00 6.30 8.00];
fc=[f,10*f,100*f,1000*f,10000*f];
%中心频率与下限频率的比值
oc6=2^(1/6);
nc=length(fc);
n=length(x);
nfft=2^nextpow2(n);
a=fft(x,nfft);
for j=1:nc
    fl=fc(j)/oc6;
    fu=fc(j)*oc6;
    nl=round(fl*nfft/sf+1);
    nu=round(fu*nfft/sf+1);
    if fu>sf/2
        m=j-1;break
    end
    b=zeros(1,nfft);
    b(nl:nu)=a(nl:nu);
    b(nfft-nu+1:nfft-nl+1)=a(nfft-nu+1:nfft-nl+1);
    c=ifft(b,nfft);
    yc(j)=sqrt(var(real(c(1:n))));
end
plot(fc(1:m),yc(1:m));

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2015-11-11 09:54 | 显示全部楼层

回帖奖励 +1 点体能

个人认为是不行的,频域-声压曲线无法反应采样频率和采样点数

评分

1

查看全部评分

回复 支持 0 反对 1

使用道具 举报

发表于 2015-11-11 10:07 | 显示全部楼层

回帖奖励 +1 点体能

没看程序,在频域算1/3倍频的能量只需把1/3倍频的每个频带的上下限频率算出来之后,再把FFT的每个BIN内的能量折算到1/3倍频的频带内即可。

评分

1

查看全部评分

 楼主| 发表于 2015-11-11 10:10 | 显示全部楼层
TestGuru 发表于 2015-11-11 10:07
没看程序,在频域算1/3倍频的能量只需把1/3倍频的每个频带的上下限频率算出来之后,再把FFT的每个BIN内的能 ...

十分感谢
请问“再把FFT的每个BIN内的能量折算到1/3倍频的频带内即可”
这个能量怎么计算?BIN是频带的意思吗?
您能举个例子吗
发表于 2015-11-11 19:21 | 显示全部楼层
每个FFT BIN的幅度的平方就是能量,能量才可以求和。FFT BIN所代表的频带是知道的。比如FFT的第一个BIN中心频率是0HZ,带宽是0~1/2 x [采样率] / [FFT点数];FFT的第二个BIN中心频率是[采样率] / [FFT点数],带宽是1/2 x [采样率] / [FFT点数]~3/2 x [采样率] / [FFT点数].....

评分

1

查看全部评分

 楼主| 发表于 2015-11-12 10:02 | 显示全部楼层
本帖最后由 hebutkappa 于 2015-11-12 18:57 编辑
TestGuru 发表于 2015-11-11 19:21
每个FFT BIN的幅度的平方就是能量,能量才可以求和。FFT BIN所代表的频带是知道的。比如FFT的第一个BIN中心 ...

非常感谢耐心指导。我的曲线是频域-声压曲线,不在需要FFT了吧。我的采样频率4000HZ。对下面曲线求1/3倍频,例如黑框处的对应频带的1/3倍频,是对其幅度进行平方?

点评

没看太懂你这条曲线怎么来的。4000HZ的采样率为什么还有4000HZ的频率数据。一个1/3倍频频带内有几个频点的幅度值呢?  详情 回复 发表于 2015-11-12 10:51
发表于 2015-11-12 10:51 | 显示全部楼层
hebutkappa 发表于 2015-11-12 10:02
非常感谢耐心指导。我的曲线是频域-声压曲线,不在需要FFT了吧。我的采样频率4000HZ。对下面曲线求1/3倍 ...

没看太懂你这条曲线怎么来的。4000HZ的采样率为什么还有4000HZ的频率数据。一个1/3倍频频带内有几个频点的幅度值呢?
 楼主| 发表于 2015-11-12 11:05 | 显示全部楼层
本帖最后由 hebutkappa 于 2015-11-12 18:56 编辑
TestGuru 发表于 2015-11-12 10:51
没看太懂你这条曲线怎么来的。4000HZ的采样率为什么还有4000HZ的频率数据。一个1/3倍频频带内有几个频点 ...


您好  。感谢回复。
打错了 采样是13000.每个1/3频带点数不一样啊。
例如在14.1-17.8频段
    这个频带1/3倍频怎么求呢?

点评

这四排8个数据是什么东东?  详情 回复 发表于 2015-11-12 16:40
是的。每个倍频频带内含有的FFT BIN个数不一样,因为FFT BIN在频率轴上是线性分布的,而倍频频带在频率轴上是对数分布的。必须先做FFT,再把能量折算到倍频频带内。  详情 回复 发表于 2015-11-12 16:38
发表于 2015-11-12 16:38 | 显示全部楼层
hebutkappa 发表于 2015-11-12 11:05
您好  。感谢回复。
打错了 采样是13000.每个1/3频带点数不一样啊。
例如在14.1-17.8频段

是的。每个倍频频带内含有的FFT BIN个数不一样,因为FFT BIN在频率轴上是线性分布的,而倍频频带在频率轴上是对数分布的。必须先做FFT,再把能量折算到倍频频带内。
发表于 2015-11-12 16:40 | 显示全部楼层
hebutkappa 发表于 2015-11-12 11:05
您好  。感谢回复。
打错了 采样是13000.每个1/3频带点数不一样啊。
例如在14.1-17.8频段

这四排8个数据是什么东东?
发表于 2015-11-12 16:49 | 显示全部楼层
如果前面一列是频率,后面一列是幅度的话,1/3倍频中心频率为16KHZ的幅度为:SQRT(幅度1x幅度1+幅度2x幅度2+幅度3x幅度3+幅度4x幅度4). 这是较为粗糙的算法,要再细致点,那些落在倍频频带分界线中间的FFT BIN的能量要按比例分配给相邻的两个倍频频带。

 楼主| 发表于 2015-11-12 18:56 | 显示全部楼层
TestGuru 发表于 2015-11-12 16:49
如果前面一列是频率,后面一列是幅度的话,1/3倍频中心频率为16KHZ的幅度为:SQRT(幅度1x幅度1+幅度2x幅度2 ...

多谢~
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 04:01 , Processed in 0.100965 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表