24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1185  |  回复: 6

hanchenhua

银虫 (小有名气)

[求助] 求傅利叶变换程序

我是matlab的菜鸟级,用网上看到的傅利叶变换的程序运行自己的数据,结果很怪异。不知道是什么原因。
其实数据很简单,一列是时间,另一列是温度变量。
采样频率:1分钟
采样个数:5241
回复此楼
Never give up! Move!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fzwxjtu

铜虫 (初入文坛)

应该是采样频率怎么是一分钟?应该是多少Hz才对吧?
2楼2012-08-31 12:47:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

matlab自身就有fft命令啊
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
3楼2012-08-31 13:32:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hanchenhua

银虫 (小有名气)

我的数据是1分钟一个,采样频率应该算是1分钟吧。
PS:matlab自身带着的傅利叶变换,我做出来的图很怪。
如果有那位大侠方便的话,请加我QQ交流。谢谢!
Never give up! Move!
4楼2012-08-31 14:34:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fzwxjtu

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by hanchenhua at 2012-08-31 14:34:12
我的数据是1分钟一个,采样频率应该算是1分钟吧。
PS:matlab自身带着的傅利叶变换,我做出来的图很怪。
如果有那位大侠方便的话,请加我QQ交流。谢谢!

你把数据发上来?
5楼2012-09-01 09:03:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dk1013

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
建议LZ自己看看快速傅里叶变换的书。
Matlab自带的fft,fft2函数,变换之后并不是你想要的频率从小到大,而是这样的顺序:
最大频率(正) =》 零频率 =》 最小频率(负)
所以变换后的结果你需要左右对换一下才可以。
Matlab甚至连这一点都给你想到了,直接也有现成的函数: fftshift
假如你的数据是x (一维数据),试试这个:
plot(abs(fftshift(fft(x)))),横坐标的频率啥的自己搞定。
到得还来别无事 庐山烟雨浙江潮
6楼2012-09-01 11:36:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dk1013

木虫 (正式写手)

【答案】应助回帖

有个错误,顺序应该是这样的:
最小正频 =》 最大正频 ==》》 最小负频 =》 零频。
左右对换就是:
最小负频 =》 零频 ==》》 最小正频 =》 最大正频
到得还来别无事 庐山烟雨浙江潮
7楼2012-09-01 11:41:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hanchenhua 的主题更新
信息提示
请填处理意见