声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 9516|回复: 15

[FFT] 关于FFT变换后纵坐标的含义

[复制链接]
发表于 2007-1-11 21:29 | 显示全部楼层 |阅读模式

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

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

x
这个一直搞不明白,比如对如下信号进行FFT仿真分析:
t=0:0.001:1.023;
X=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*200*t);
Y=fft(X,1024);
Pyy=Y.*conj(Y)/1024;
f=1000*(0:511)/1024;
plot(f,Pyy(1:512));

理所当然在50、100和200Hz处出现峰值,但峰值的物理含义是什么呢?比如要分析声信号,似乎应该转换为dB表示,但FFT后的纵坐标显然不是dB,如果再进行对数转换则结果变得乱七八糟。

此外,还有一个疑问:三个正弦波既然振幅都是1,难道FFT后能量峰值不应相同吗?实际上是不同的,而且分别用256、512和1024点分析时各峰的高低顺序还有变化,实在令人不解啊!

请大侠们赐教!!!

[ 本帖最后由 不是很傻 于 2007-1-11 21:30 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2007-1-11 23:34 | 显示全部楼层
信号的能量不仅跟幅值有关,而且与频率也有密切关系。
以你的信号为例,虽然三个成分都是正弦波,并且幅值相同,但是他们的频率不同,因此能量的大小肯定不一样。幅值相同时,频率高的信号能量肯定大!

评分

1

查看全部评分

发表于 2007-1-12 08:16 | 显示全部楼层
原帖由 不是很傻 于 2007-1-11 21:29 发表
这个一直搞不明白,比如对如下信号进行FFT仿真分析:
...
理所当然在50、100和200Hz处出现峰值,但峰值的物理含义是什么呢?比如要分析声信号,似乎应该转换为dB表示,但FFT后的纵坐标显然不是dB,如果再进行对数转换则结果变得乱七八糟。

此外,还有一个疑问:三个正弦波既然振幅都是1,难道FFT后能量峰值不应相同吗?实际上是不同的,而且分别用256、512和1024点分析时各峰的高低顺序还有变化,实在令人不解啊!

楼主在做FFT分析时,采样频率是1000,取样点是1024,谱分析后的频率间隔df=1000/1024=0.9766,这样在谱分析后50、100和200Hz都不是df的整数倍,所以必然在谱图中会出现栅栏效应和泄漏现象,所以才有楼主所讲的“三个正弦波既然振幅都是1,难道FFT后能量峰值不应相同”,和“再进行对数转换则结果变得乱七八糟”。

我对程序作了修改,供参考:
N=1000;
t=0:0.001:0.999;
X=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*200*t);
Y=fft(X,N);
P=abs(Y)*2/N;
%Pyy=Y.*conj(Y)/1024;
f=1000*(0:N/2-1)/N;
subplot 211; plot(f,P(1:N/2)); grid;
Pyy=P.*P;
subplot 212; plot(f,Pyy(1:N/2)); grid;

评分

1

查看全部评分

 楼主| 发表于 2007-1-12 15:46 | 显示全部楼层
原帖由 shenyongjun 于 2007-1-11 23:34 发表
信号的能量不仅跟幅值有关,而且与频率也有密切关系。
以你的信号为例,虽然三个成分都是正弦波,并且幅值相同,但是他们的频率不同,因此能量的大小肯定不一样。幅值相同时,频率高的信号能量肯定大!


好像不是这样,三个正弦波中间的那个峰值最高
 楼主| 发表于 2007-1-12 15:48 | 显示全部楼层
原帖由 songzy41 于 2007-1-12 08:16 发表

楼主在做FFT分析时,采样频率是1000,取样点是1024,谱分析后的频率间隔df=1000/1024=0.9766,这样在谱分析后50、100和200Hz都不是df的整数倍,所以必然在谱图中会出现栅栏效应和泄漏现象,所以才有楼主所讲的 ...

谢谢这位兄弟!按您的程序三个峰值一样高了,而且最高点都保持在1!
不知道这个1是个什么概念?
如何转换为声压级dB呢?
发表于 2007-1-13 07:37 | 显示全部楼层
原帖由 不是很傻 于 2007-1-12 15:48 发表
不知道这个1是个什么概念?
如何转换为声压级dB呢?

这1表示原始信号的幅值。
要转换为声压级dB,就不太简单了。上谈到幅值1,如果在f1处信号有任意一个幅值A,按
P=abs(Y)*2/N;  (我曾有一个帖子在理论上证明了为什么要乘2/N,如果有兴趣不妨查一下)
去计算,便能求出在f1处幅值为A。数值A是从AD转换过来的,因此便有多少数值对应于多少电压。如果知道传声器的灵敏度,便可知道声压了。如果在测量过程中传声器输出经过放大的话还要扣除。
声压级是20log10(p/p0)
有了声压p,对p0之比就可以求出声压级了。
 楼主| 发表于 2007-1-13 08:38 | 显示全部楼层
假设传声器灵敏度为1(实际当然不是),AD得到的振幅也是1,那么以dB为纵坐标的频域声压级曲线就为
subplot 211; plot(f,20*log10(P(1:N/2))/P0); grid;
这样对吗?

本例其实不过是一个自己设计的仿真分析,无所谓灵敏度什么的,是不是随便取个数做底,然后求对数就行了呢?

[ 本帖最后由 不是很傻 于 2007-1-13 08:40 编辑 ]

评分

1

查看全部评分

发表于 2007-1-13 10:54 | 显示全部楼层
可以这么认为。
 楼主| 发表于 2007-1-13 16:40 | 显示全部楼层
取对数后纵坐标的单位就是dB了;
如果不取对数呢?纵坐标是什么单位?
假定原信号是声压信号,FFT变化后,P=abs(Y)*2/N和Pyy=P.*P的纵坐标应该标注什么单位呢?
发表于 2007-1-13 20:59 | 显示全部楼层
原帖由 不是很傻 于 2007-1-13 16:40 发表
取对数后纵坐标的单位就是dB了;
如果不取对数呢?纵坐标是什么单位?
假定原信号是声压信号,FFT变化后,P=abs(Y)*2/N和Pyy=P.*P的纵坐标应该标注什么单位呢?

对,取对数后纵坐标的单位就是dB了。
如果不取对数,但经计算已得到了声压的数值,则单位可以是微巴,或者其它的声压单位。
假定原信号是声压信号,FFT变化后,P=abs(Y)*2/N和Pyy=P.*P的纵坐标应该标注什么单位呢?
原表示式中
X=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*200*t);
X是什么单位,P也将是什么单位,Pyy只是幅值的平方,并不是功率谱。
如果信号是声压信号,又认为放大倍数为1,换能器灵敏度是1,AD变换为1,这样的假设下也可把枞坐标设成声压单位。
 楼主| 发表于 2007-1-13 21:28 | 显示全部楼层
再次感谢楼上!太强了!:victory:
终于可以放心地在论文里面写仿真了:lol

我这个完全是仿真数据,不取对数时纵坐标写“线性量级”如何?
写Pa或微巴的话,估计不太明白的人还得问我怎么回事呢:loveliness:
 楼主| 发表于 2007-1-24 09:28 | 显示全部楼层
原帖由 songzy41 于 2007-1-12 08:16 发表

楼主在做FFT分析时,采样频率是1000,取样点是1024,谱分析后的频率间隔df=1000/1024=0.9766,这样在谱分析后50、100和200Hz都不是df的整数倍,所以必然在谱图中会出现栅栏效应和泄漏现象, ...


仔细想想我又有疑问了:
1.假如采样频率为10000,则df=10000/1024=9.766,岂不是说不是9.766整数倍的频率都不能准确分析?如此说来采样频率越高反而越不好?
2.即使取采样点为1000,令df=1000/1000=1.0,但像100.5Hz这样的频率依然不能避免栅栏效应和泄漏现象啊,如果要分析一个频率未知的信号,或者频率很分散犹如白噪声一类的东西,具体应该怎么选择采样频率和采样点呢?
发表于 2007-4-20 12:02 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-6 13:12 编辑
原帖由 songzy41 于 2007-1-13 20:59 发表

对,取对数后纵坐标的单位就是dB了。
如果不取对数,但经计算已得到了声压的数值,则单位可以是微巴,或者其它的声压单位。
假定原信号是声压信号,FFT变化后,P=abs(Y)*2/N和Pyy=P.*P的纵坐标应该标注什么 ...

是简单的取对数就行了吗?我在一篇文章里看到
spl=20log10(P/Pref)

还有,既然上面所说的语句得出的纵坐标是与原信号一样的单位,那么假如采用b=abs(Y)plot(b)的图的纵坐标又是什么呢?
发表于 2007-4-21 21:54 | 显示全部楼层
支持
发表于 2007-4-23 09:44 | 显示全部楼层
怎么还没有高手来指点一下啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 16:34 , Processed in 0.071822 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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