liule 发表于 2006-8-17 09:54

fft能处理什么样的信号?

请教各位高手!fft只能处理关于0对称的信号吗?对于一个所有数据都大于0的序列,
如何计算fft?衷心感谢!

malong 发表于 2006-8-17 10:02

原帖由 liule 于 2006-8-17 09:54 发表
请教各位高手!fft只能处理关于0对称的信号吗?对于一个所有数据都大于0的序列,
如何计算fft?衷心感谢!

好像没这要求吧,如果有你可以规则化,
假如你原来数据为x 规则化为 xdata=(x-mean(x))/std(x,1);

[ 本帖最后由 zhlong 于 2007-7-1 05:25 编辑 ]

liule 发表于 2006-8-17 10:11

我看了挺多的例子,但用的都是用正弦函数组合的信号(关于0对称),没有用实际信号(离散序列),
我对实际信号(离散序列)在matlab里做fft,画出的图形在0附近很大 ,其他频率全是0,
所以,我认为fft对处理的信号会有一定的要求。

liuhuanjun 发表于 2006-8-17 10:27

首先做平均值,然后减去平均值,再作fft

liule 发表于 2006-8-17 10:38

谢谢!另外,如果我的采样的频率比较低,但在硬件上又无法提高采样频率,那是不是
把采样得到的数据插值就可以提高采样频率了?

songzy41 发表于 2006-8-17 12:10

在作信号处理之前需作预处理,包括消除直流和消除趋势项。

liule 发表于 2006-8-17 12:30

消除直流就是减去平均值吗?
消除趋势项具体怎么做?

sissy 发表于 2006-8-17 20:19

我觉得fft对信号并没有特别的要求吧,你看到的例子是简谐信号是因为一个周期信号可以用傅立叶级数分解成频率为基频和基频整数倍频率的正弦波叠加,而傅立叶级数又是傅立叶变换的特殊情况

songzy41 发表于 2006-8-17 20:50

原帖由 liule 于 2006-8-17 12:30 发表
消除直流就是减去平均值吗?
消除趋势项具体怎么做?
在《MATLAB在振动信号处理中的应用》一书中, 有一章介绍对振动信号的预处理。

duguzi 发表于 2006-8-23 19:19

fft本身对这些没有要求,只要你把数据给它,就可以给你输出结果,它才不会管你是什么数据
关键是在我们应用的时候,如果所有的数据都大于零,意味着里面存在很大的直流分量,这一分量体现在频谱里,
就是在0Hz附近存在很大的值,其他有效成分相对较小,会对我们的判别造成影响.
对于趋势项而言,也是低频的东西,说不上好还是坏,根据应用而定
你可以用高阶最小二乘拟和的方法求出趋势项,然后从信号中减去,再做FFT

yangzj 发表于 2006-8-24 09:18

原帖由 duguzi 于 2006-8-23 19:19 发表
fft本身对这些没有要求,只要你把数据给它,就可以给你输出结果,它才不会管你是什么数据
关键是在我们应用的时候,如果所有的数据都大于零,意味着里面存在很大的直流分量,这一分量体现在频谱里,
就是在0Hz附近存在 ...

严重同意

duguzi 发表于 2006-8-24 10:55

咱两个双胞胎啊,飞兄在哪里高就?有机会切磋切磋

bluesnowst 发表于 2006-8-24 16:33

找本教材看一看,呵呵

minnieme 发表于 2006-8-25 11:36

回复 #5 liule 的帖子

采样频率改不了,如果你想得到某一需特殊关注频段的高分辨率谱,你可用ZFFT算法对此频段作局部放大

liule 发表于 2006-8-30 12:42

太感谢大家了,衷心感谢大家的热心帮助。这个论坛真是个好地方,有这么多专业人士,还如此的热情,真是难得。论坛的管理者们,你们辛苦了,为我们提供了这么好的地方,我要让更多的人知道这个论坛,共同学习,共同进步。
页: [1] 2
查看完整版本: fft能处理什么样的信号?