z527883588 发表于 2017-1-15 23:27

wanyeqing2003 发表于 2017-1-12 09:30
fft需要以2^n的点数分析。如1024,2048。
可以分段平均。

有没有可以直接进行分段FFT然后平均的函数?谢谢!

野菊 发表于 2017-1-16 08:16

z527883588 发表于 2017-1-15 23:27
有没有可以直接进行分段FFT然后平均的函数?谢谢!

直接的函数应该没有

wanyeqing2003 发表于 2017-1-16 08:56

z527883588 发表于 2017-1-15 23:27
有没有可以直接进行分段FFT然后平均的函数?谢谢!

一般数据分析软件都可以做频谱平均分析。

z527883588 发表于 2017-1-16 20:29

wanyeqing2003 发表于 2017-1-16 08:56
一般数据分析软件都可以做频谱平均分析。

在matlab中怎么实现呢?谢谢!

wanyeqing2003 发表于 2017-1-17 08:54

如果每个1024数组x(tj)做一次fft,得到fft实部Xr(fj)和虚部Xr(fj),算出频谱Sx(fj)。
然后对多组Sx(fj)取平均。

陌影 发表于 2017-1-17 13:58

z527883588 发表于 2017-1-16 20:29
在matlab中怎么实现呢?谢谢!

上面不是给程序了吗你运行了吗 自己改改

z527883588 发表于 2017-1-17 21:45

陌影 发表于 2017-1-17 13:58
上面不是给程序了吗你运行了吗 自己改改

哪一个程序?spectrogram?

陌影 发表于 2017-1-18 08:26

z527883588 发表于 2017-1-17 21:45
哪一个程序?spectrogram?

2楼的那个不是吗

hcharlie 发表于 2017-1-19 11:37

本帖最后由 hcharlie 于 2017-1-21 19:28 编辑

我在5楼说了:补零就不是原信号了,会带来误差。
糖水里加白水味道会变淡,婴儿也知道。
有人不同意。只好再证明一下。
下面两张图,下一个图时域尾端加了一个零,于是在频域图上低信号处产生明显误差。
(说明:这里的做法是将尾端一个数清零,与加一个零是有点区别,但性质是相似的,都变得不是同一个信号了!加一个零不能做FFT,要做DFT了,谁愿意做下去?)
下面我要试图解释误差产生的机理。
DFT也好,FFT也好,它实际上是反映了以这一段采样无穷反复的周期函数的频谱,而不是这个有限采样的频谱,原来的频谱图如此光滑,是得益于数列头尾衔接得光滑。
比如一个数列:100,101,。。。。。98,99;无穷重复以后,98,99后面又是100,101。。。,过渡是光滑的。
如果尾巴一个数清零,则过渡情况为98,0,100,101。。。;显然不光滑;
如果尾巴加一个零,则过渡情况为98,99,0,100,101。。。;也是不光滑;
产生误差是必然的啰!

Generation 发表于 2017-1-19 12:59

z527883588 发表于 2017-1-15 21:20
是不是分段计算FFT?

如楼上介绍感觉应该是分段计算

Generation 发表于 2017-1-19 13:00

hcharlie 发表于 2017-1-19 11:37
我在5楼说了:补零就不是原信号了,会带来误差。
糖水里加白水味道会变淡,再简单不过了。
有人不同意。 ...

这个对比就很明显了

z527883588 发表于 2017-1-21 21:29

hcharlie 发表于 2017-1-9 09:38
频率分辨率是采样时间的倒数,不能随便改变。
将你的数据分成10组,每组10000点,整1秒,做FFT(DFT)分辨 ...

有没有便捷的函数可以直接实现呢?

敷衍会致命 发表于 2017-1-22 14:10

还没有实现???

z527883588 发表于 2017-1-22 21:02

敷衍会致命 发表于 2017-1-22 14:10
还没有实现???

最近工作比较忙,没时间搞,而且我考虑分段进行FFT怎样实现重叠

敷衍会致命 发表于 2017-1-23 08:25

z527883588 发表于 2017-1-22 21:02
最近工作比较忙,没时间搞,而且我考虑分段进行FFT怎样实现重叠

恩也快过年了祝你好运
页: 1 [2] 3
查看完整版本: 如何将频率分辨率自定义