声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1456|回复: 13

[FFT] 请教FFT的变换图的问题

[复制链接]
发表于 2007-12-27 10:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2007-12-27 10:26 | 显示全部楼层

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

你的数字信号是怎么得到的?
 楼主| 发表于 2007-12-27 10:50 | 显示全部楼层
数字信号就是处理一些数据得到的
发表于 2007-12-27 11:01 | 显示全部楼层

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

你去直流分量了吗?
发表于 2007-12-27 11:22 | 显示全部楼层
我对用信号采集卡采集的数据处理时,出来的频谱也有直流分量。怎样去掉呢?
直接丢掉这个数据还是强制令它为0?
谢谢!!
发表于 2007-12-27 12:07 | 显示全部楼层

回复 #5 shmilylove8 的帖子

data=data-mean(data(:,1));
假如数据保存为一列
发表于 2007-12-27 12:37 | 显示全部楼层
我觉得你这个图形应该算是比较对的,若是频在0处有比较大的峰才能说明你没有去零瓢
或者是说高频有很多的毛刺,也可能没有去零瓢
检查下程序是否有问题吧
发表于 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 的帖子

这应该是一个均值吧
 楼主| 发表于 2007-12-27 15:44 | 显示全部楼层

回复 #7 caizi2008 的帖子

第一个最大的值就是频率在0处,FFT变换是我自己写的,不是用matlab。去零顠什么意思啊?
发表于 2007-12-27 16:35 | 显示全部楼层
去零飘和去直流分量一个意思
就是减去一个序列的均值!
我看错你的图了 我以为0处是坐标轴呢
呵呵
那你的问题就很明了了 基本上是出在zhangnan老大说的问题上 你改下看看吧
 楼主| 发表于 2007-12-27 18:07 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-8 14:42 编辑

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

是不是这一列有个均值 ,然后用这列的每个数去减去这个均值,得到新的一列,新的一列即为所求?
发表于 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)
 楼主| 发表于 2007-12-27 20:27 | 显示全部楼层
高手真多
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 19:48 , Processed in 0.109219 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表