grassing 发表于 2009-3-9 10:31

200个点的正弦信号怎么进行插值成256个点啊?

直接使用matlab的fft函数有问题
想进行插值试试
但不知道这要怎么插啊

songzy41 发表于 2009-3-9 11:33

MATLAB中有resample函数,可把200个点的正弦信号怎么进行插值成256个点。

hsxyhq 发表于 2009-3-9 16:44

想来楼主的意思是要对信号进行常规的fft变换,把信号的长度扩展为2的n次方的形式!
我记得不需要进行重采样,直接将信号用0填充到需要的长度即可!后果是,fft后,频域信号长度增加!

hcharlie 发表于 2009-3-9 20:07

回复 楼主 grassing 的帖子

不大好扩。
实在要扩,每当int(200*k/56)点,k=1~56,插一个点,其值取前后两点的平均值。

Robotech 发表于 2009-3-10 16:33

差这么几个点,补零就得了

yelv123 发表于 2009-3-10 18:54

本帖最后由 wdhd 于 2016-9-14 10:44 编辑

原帖由 hcharlie 于 2009-3-9 20:07 发表
不大好扩。
实在要扩,每当int(200*k/56)点,k=1~56,插一个点,其值取前后两点的平均值。
不知道这种插值和补0这两种情况算出来的频谱区别大不?

hcharlie 发表于 2009-3-10 20:07

回复 6楼 yelv123 的帖子

你问别人不如自己做一遍就全知道了!

TestGuru 发表于 2009-3-10 21:14

a [ i ],   i=0,.....199
b [ j ],   j=0,.....255

若采用线性插值,则:

N=199*j/255, N为整数
b=a+(a-a)*(199*j/255-N)

[ 本帖最后由 TestGuru 于 2009-3-10 21:16 编辑 ]

ChaChing 发表于 2009-3-10 22:14

本帖最后由 wdhd 于 2016-9-14 10:44 编辑

原帖由 hcharlie 于 2009-3-9 20:07 发表
不大好扩。
实在要扩,每当int(200*k/56)点,k=1~56,插一个点,其值取前后两点的平均值。
第一次知道也可以这样, 学习了!
如此会比补0好吗? 个人有点怀疑:@)

[ 本帖最后由 ChaChing 于 2009-3-10 22:18 编辑 ]

yelv123 发表于 2009-3-11 11:53

本帖最后由 wdhd 于 2016-9-14 10:44 编辑

原帖由 yelv123 于 2009-3-10 18:54 发表

不知道这种插值和补0这两种情况算出来的频谱区别大不?
昨晚想了哈,插值如果采样频率不变,各个时刻对应的幅值就有变化,对频率有影响;插值后,只有认定采样频率提高老,这样频率变化不大。
页: [1]
查看完整版本: 200个点的正弦信号怎么进行插值成256个点啊?