erdgzw 发表于 2008-1-30 15:28

如何确定基频

时间信号x(n),n=1,2,...,N;经FFT后得X(k),k=1,2,...,N。
k等于几时x(k)代表的是基频。

我有一个程序fs(采样频率)=50hz,采样点N=2048;经FFT后在图谱上n=8的位置最高,这个位置应该就是基频,这个8应该怎样计算才能得到。

happyman 发表于 2008-1-30 18:20

基频好像不是这么算的,也不是这个概念。

songzy41 发表于 2008-1-30 18:34

本帖最后由 wdhd 于 2016-9-8 14:59 编辑

原帖由 erdgzw 于 2008-1-30 15:28 发表
如何确定基频时间信号x(n),n=1,2,...,N;经FFT后得X(k),k=1,2,...,N。
k等于几时x(k)代表的是基频。
我有一个程序fs(采样频率)=50hz,采样点N=2048;经FFT后在图谱上n=8的位置最高,这个位置应该就是基频,这个8应该怎样计算才能得到。

1,主要是在FFT后频率轴上的频率怎么计算。采样频率为fs,采样点N=2048,所以在频率域上的频率间隔为df=fs/N=50/2048=0.0244Hz。
频率轴上的频率是从0开始,到1025点正好为fs/2=25Hz,每条谱线所代表的频率fk=(k-1)*df(k=1,2,...N/2+1),对于k>N/2+1的频率是负频率。所以笫8条谱线最大,对应的频率就不难计算了(为0.171Hz)。
2,因为每条谱线代表的频率是离散的,往往信号对应的频率在两条谱线之间,这时只能用校正法去计算。

erdgzw 发表于 2008-1-31 08:59

回复 3楼 的帖子

对应的频率就不难计算了(为0.171Hz)。

好像不对!0.171hz基频应该不会这么低啊?

erdgzw 发表于 2008-1-31 09:15

本帖最后由 wdhd 于 2016-9-8 14:59 编辑

原帖由 songzy41 于 2008-1-30 18:34 发表

1,主要是在FFT后频率轴上的频率怎么计算。采样频率为fs,采样点N=2048,所以在频率域上的频率间隔为df=fs/N=50/2048=0.0244Hz。
频率轴上的频率是从0开始,到1025点正好为fs/2=25Hz,每条谱线所代表的频率fk=(k- ...

说得很对,刚才是我算错了。

witty01 发表于 2008-1-31 11:36

我只知道怎么算电机的基频,有公式

f=n*p/60

hcharlie 发表于 2008-1-31 15:06

本帖最后由 wdhd 于 2016-9-8 14:59 编辑

原帖由 erdgzw 于 2008-1-30 15:28 发表
时间信号x(n),n=1,2,...,N;经FFT后得X(k),k=1,2,...,N。
k等于几时x(k)代表的是基频。


我有一个程序fs(采样频率)=50hz,采样点N=2048;经FFT后在图谱上n=8的位置最高,这个位置应该就是基频,这个8应该怎样计算才能得到。
有一个问题要明确一下,你这个X(K)是复数还是实数?如果是复数,这个n=8是第7条谱线,如果是实数,这个8是第3谱线的虚部。(两种情况下n=1都是0谱线)

[ 本帖最后由 hcharlie 于 2008-1-31 15:08 编辑 ]

1021830113 发表于 2008-2-13 10:54

回复 7楼 的帖子

这是为什么?

hcharlie 发表于 2008-2-13 18:53

回复 8楼 的帖子

3楼算的就是第7谱线,它是2048个复数,其中有一半不独立,为另一半的共扼复数关系。
另外一种算法,得到2048个实数,其实是1024个复数,不独立的另一半就省掉了,当然第8个数是第3谱线的虚部。
页: [1]
查看完整版本: 如何确定基频