请教FFT的变换图的问题
我对256个离散数字进行FFT以后,得到了256对实数和虚数。我求它们的幅值谱,即(AR(i)^2+AI(i)^2)^0.5。结果得到了下图。我想第一个频域不是0HZ吗?为什么幅值谱那么高呢?回复 #1 大雪无痕201 的帖子
你的数字信号是怎么得到的? 数字信号就是处理一些数据得到的回复 #3 大雪无痕201 的帖子
你去直流分量了吗? 我对用信号采集卡采集的数据处理时,出来的频谱也有直流分量。怎样去掉呢?直接丢掉这个数据还是强制令它为0?
谢谢!!
回复 #5 shmilylove8 的帖子
data=data-mean(data(:,1));假如数据保存为一列 我觉得你这个图形应该算是比较对的,若是频在0处有比较大的峰才能说明你没有去零瓢
或者是说高频有很多的毛刺,也可能没有去零瓢
检查下程序是否有问题吧 本帖最后由 wdhd 于 2016-9-8 14:42 编辑
原帖由 zhangnan3509 于 2007-12-27 12:07 发表
data=data-mean(data(:,1));
假如数据保存为一列
我是用VC编的程序,没有用matlab编程, mean(data(;,1))是什么意思?
能解释一下么?谢谢!!
回复 #8 shmilylove8 的帖子
这应该是一个均值吧回复 #7 caizi2008 的帖子
第一个最大的值就是频率在0处,FFT变换是我自己写的,不是用matlab。去零顠什么意思啊? 去零飘和去直流分量一个意思就是减去一个序列的均值!
我看错你的图了 我以为0处是坐标轴呢
呵呵
那你的问题就很明了了 基本上是出在zhangnan老大说的问题上 你改下看看吧 本帖最后由 wdhd 于 2016-9-8 14:42 编辑
原帖由 zhangnan3509 于 2007-12-27 12:07 发表
data=data-mean(data(:,1));
假如数据保存为一列
是不是这一列有个均值 ,然后用这列的每个数去减去这个均值,得到新的一列,新的一列即为所求?
回复 #12 大雪无痕201 的帖子
M = mean(A) returns the mean values of the elements along different dimensions of an array.这是MTALAB里mean函数的注释。
应该是这样的。
如果是每一行求值得话,就是M = mean(A,2) 高手真多
页:
[1]