请大家帮帮忙
一个信号X=Am.cos(2.*pi.*ft+c),其中Am=380,f=50HZ.c=pi/18.对这个信号采样,采样频率为2500HZ,然后作1024点的FFT变换。请问如何根据变换之后的1024个复数,求Am,f,c的估计值. 前面不是有你一个帖子吗?还没搞定呀 那个问题搞定了,是他们公式错了,误导我了。麻烦你帮我看看这个问题好吗?[ 本帖最后由 zhlong 于 2007-11-15 09:55 编辑 ] 这是同一个问题呀. 你再看看我的问题,和我讲讲啊 。我原来做的是DTFT变换。现在是根据1024个复数来求
回复 #5 hzh 的帖子
你找找比值校正法(插值法)的原理看看,你看的那篇文章就有.基本原理就是找到主瓣内的最大值和次大值并求两者比值,再根据校正公式求出频率偏差量,进而得到幅值和相位 谢谢啊,不过插值原理我已经懂了,但是在文章中是插值算法求出的信号的幅值频率相位和FFT的求出的信号的幅值相位频率作比较。但是FFT如何求信号的幅值频率和相位呢?
回复 #7 hzh 的帖子
呵呵,FFT就是直接取幅值最大的谱线对应的频率、幅值和相位做为信号的估计频率、幅值和相位再次求证一下
一个信号X(t)=Amcos(2.*pi.*f*t+c),其中Am=380,f=50HZ.c=pi/18.对这个信号采样,采样频率为2500HZ,然后作1024点的FFT变换。matlab程序:t=0:1/2500:1023/2500;X=Am.*cos(2.*pi.*f.*t+c);y=fft(x) 运行之后会得到1024个复数,是不是我找到模最大的复数,它的幅值频率和相位就是x(t)的估计的幅值频率和相位? 这个你可以自己在matlab里面试试看 我找了模最大的复数来求,但是和别人的结果很不一样,我也不清楚到底谁的是对的啊,所以很迷惑 把具体内容和你觉得有问题的地方贴出来吧,以便讨论。顺便看下http://forum.vibunion.com/forum/viewthread.php?tid=53683
9楼内容
[ 本帖最后由 zhlong 于 2007-11-15 15:05 编辑 ]
回复 #11 hzh 的帖子
采用的参数是不是一样的,幅值除了点数没有 谢谢大家哈。我是找到了最大幅值的点,不过有两个复数呢。然后求出幅值再除以点数的一半。相位有两个,互为相反数。我选了那个正的相位。频率也有两个,然后我选了一个比较接近真实值的那一个。感觉还挺接近论文中给出的结果呢。应该是对的了吧? 那个网址没有东西了,不过还是很谢谢你哈
页:
[1]
2