guohf 发表于 2013-4-25 11:16

如何用matlab做非等间隔信号的功率谱密度变换

我用其他软件算一些量的时间历程变化,发现保存的数据时间间隔是非等距的。要对这些数据进行频谱分析,得出其功率谱密度。本人之前没接触过这些,不知怎么编程处理,请高手帮忙,先谢谢了

下面是部分数据,第一列是时间,第二列是相应信号的值:
1.00000e-04   5.87636e-05   
2.00000e-04   4.27140e-05   
4.00000e-04   2.55866e-03   
5.00000e-04   7.92671e-04   
6.00000e-04   -3.60755e-04   
7.00000e-04   -6.35785e-04   
8.00000e-04   -3.65362e-04   
9.00000e-04   2.64967e-04   
1.00000e-03   -3.01036e-04   
1.10000e-03   4.90043e-04   
1.20000e-03   -2.48811e-04   
1.30000e-03   -1.17294e-04   
1.40000e-03   -3.73790e-04   
1.50000e-03   2.59957e-04   
1.60000e-03   -9.52361e-05   
1.70000e-03   7.74584e-04   
1.80000e-03   4.34910e-04   
1.90000e-03   1.21932e-03   
2.00000e-03   7.28303e-04   
2.10000e-03   3.80541e-04   
2.20000e-03   1.10776e-03   
2.30000e-03   2.50722e-04   
2.40000e-03   4.86838e-04   
2.50000e-03   -4.34337e-04   
2.80000e-03   1.80804e-03

ChaChing 发表于 2013-4-25 21:06

个人水平有限, 只会将数据插值成等距后再fft

补充内容 (2013-5-2 23:28):
有真正的信号处理高手(impulse)赞成, 心中踏实些!

guohf 发表于 2013-4-26 15:47

ChaChing 发表于 2013-4-25 21:06 static/image/common/back.gif
个人水平有限, 只会将数据插值成等距后再fft

谢谢。但怎么插值啊?我的数据有的是等间隔的,但另一部分的间隔是不等的,象第二行和三行:
有的1.00000e-04   5.87636e-05   
2.00000e-04   4.27140e-05   
4.00000e-04   2.55866e-03   
以及最后两行:
2.50000e-03   -4.34337e-04   
2.80000e-03   1.80804e-03

我因为要对结果进行后处理才接触这方面的,可搞了很长时间,也没头绪,请高手帮忙写了程序,谢了

ChaChing 发表于 2013-4-26 21:23

怎么插值啊?
help一下interp1, 选个合适的method

guohf 发表于 2013-4-27 11:36

ChaChing 发表于 2013-4-26 21:23 static/image/common/back.gif
help一下interp1, 选个合适的method

谢谢指点,我试一下。
另外,我想问下,做FFT变换时,时间是怎么转换成频率的?我的数据时间很小,倒数关系的话,频率是不是很大?那么,我要不不要在数据插值成等距后,先对时间(第一列)进行无量纲化后,再FFT啊?

ChaChing 发表于 2013-4-29 09:17

guohf 发表于 2013-4-27 11:36 static/image/common/back.gif
谢谢指点,我试一下。
另外,我想问下,做FFT变换时,时间是怎么转换成频率的?我的数据时间很小,倒数关 ...

先对时间进行无量纲化, 对信号结果好像不会有影响吧! 不是吗?
ref: from http://home.chinavib.com/blog-63979-18250.html
5.[原创]关于FFT的频谱对应关系 http://www.chinavib.com/thread-23614-1-1.html
Matlab编程实现FFT实践及频谱分析 http://www.chinavib.com/thread-51332-1-1.html
FFT方法和FFT的应用注意点 http://www.chinavib.com/thread-77716-1-1.html
[原创]关于FFT的结果为什么要除以N http://www.chinavib.com/thread-23665-1-1.html
频谱与功率谱有什么区别? http://www.chinavib.com/thread-8098-1-1.html
信号经过FFT后,该怎样计算幅值和相位 http://www.chinavib.com/thread-53683-1-1.html
matlab中关于FFT的使用(理解频率分辨率、补零问题) http://www.chinavib.com/thread-98535-1-1.html
如何用matlab求PSD曲线 http://www.chinavib.com/thread-72741-1-1.html

guohf 发表于 2013-5-2 17:14

ChaChing 发表于 2013-4-29 09:17 static/image/common/back.gif
先对时间进行无量纲化, 对信号结果好像不会有影响吧! 不是吗?
ref: from http://home.chinavib.com/blog ...

谢谢了,我先看看,有问题再请教

ChaChing 发表于 2013-5-2 21:29

看看先学习并试下, 有问题再共同讨论!

本帖最后由 ChaChing 于 2013-5-2 21:31 编辑

guohf 发表于 2013-5-2 17:14 http://forum.chinavib.com/static/image/common/back.gif
谢谢了,我先看看,有问题再请教
看看先学习并试下, 有问题再共同讨论!
或有结果后分享成果

猫头鹰先生 发表于 2014-3-31 10:49

学习,支持{:{39}:}
页: [1]
查看完整版本: 如何用matlab做非等间隔信号的功率谱密度变换