大雪无痕201 发表于 2007-12-27 10:18

请教FFT的变换图的问题

我对256个离散数字进行FFT以后,得到了256对实数和虚数。我求它们的幅值谱,即(AR(i)^2+AI(i)^2)^0.5。结果得到了下图。我想第一个频域不是0HZ吗?为什么幅值谱那么高呢?

zhangnan3509 发表于 2007-12-27 10:26

回复 #1 大雪无痕201 的帖子

你的数字信号是怎么得到的?

大雪无痕201 发表于 2007-12-27 10:50

数字信号就是处理一些数据得到的

zhangnan3509 发表于 2007-12-27 11:01

回复 #3 大雪无痕201 的帖子

你去直流分量了吗?

shmilylove8 发表于 2007-12-27 11:22

我对用信号采集卡采集的数据处理时,出来的频谱也有直流分量。怎样去掉呢?
直接丢掉这个数据还是强制令它为0?
谢谢!!

zhangnan3509 发表于 2007-12-27 12:07

回复 #5 shmilylove8 的帖子

data=data-mean(data(:,1));
假如数据保存为一列

caizi2008 发表于 2007-12-27 12:37

我觉得你这个图形应该算是比较对的,若是频在0处有比较大的峰才能说明你没有去零瓢
或者是说高频有很多的毛刺,也可能没有去零瓢
检查下程序是否有问题吧

shmilylove8 发表于 2007-12-27 15:11

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

原帖由 zhangnan3509 于 2007-12-27 12:07 发表
data=data-mean(data(:,1));
假如数据保存为一列

我是用VC编的程序,没有用matlab编程, mean(data(;,1))是什么意思?

能解释一下么?谢谢!!

江湖夜雨 发表于 2007-12-27 15:16

回复 #8 shmilylove8 的帖子

这应该是一个均值吧

大雪无痕201 发表于 2007-12-27 15:44

回复 #7 caizi2008 的帖子

第一个最大的值就是频率在0处,FFT变换是我自己写的,不是用matlab。去零顠什么意思啊?

caizi2008 发表于 2007-12-27 16:35

去零飘和去直流分量一个意思
就是减去一个序列的均值!
我看错你的图了 我以为0处是坐标轴呢
呵呵
那你的问题就很明了了 基本上是出在zhangnan老大说的问题上 你改下看看吧

大雪无痕201 发表于 2007-12-27 18:07

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

原帖由 zhangnan3509 于 2007-12-27 12:07 发表
data=data-mean(data(:,1));
假如数据保存为一列

是不是这一列有个均值 ,然后用这列的每个数去减去这个均值,得到新的一列,新的一列即为所求?

zhangnan3509 发表于 2007-12-27 19:32

回复 #12 大雪无痕201 的帖子

M = mean(A) returns the mean values of the elements along different dimensions of an array.
这是MTALAB里mean函数的注释。
应该是这样的。
如果是每一行求值得话,就是M = mean(A,2)

大雪无痕201 发表于 2007-12-27 20:27

高手真多
页: [1]
查看完整版本: 请教FFT的变换图的问题