sdf4940 发表于 2010-2-3 12:00

两个基础问题

1.n点fft变换 是不是将时域信号的前n个信号进行fft变换?
比如我有10000个采样数据x,进行y=fft(x,256)之后,x中从257-10000个采样点实际上并没被用到吧

2.fft后的横坐标的量纲是角频率w还是实际频率f ?其中w=2πf/fs

manlou.yue 发表于 2010-2-3 13:46

1 是这样的
2 是实际频率HZ

sdf4940 发表于 2010-2-3 13:53

好,很感谢。

qilu2009 发表于 2010-2-4 16:08

嗯,学习了

ChaChing 发表于 2010-2-4 20:47

第二问题有语病!?
y=fft(x,256)后的横坐标指的是plot(abs(y))后的横坐标吗?
若是的话, 横坐标不是角频率w也不是实际频率f! 而是预设值1~256, 就是点的编号!
若不是的话, 可以是角频率w也可以是实际频率f! 看LZ怎画!

sdf4940 发表于 2010-2-4 21:07

y=fft(x,256)后的横坐标指的是plot(abs(y))后的横坐标吗?
若是的话, 横坐标不是角频率w也不是实际频率f! 而是预设值1~256, 就是点的编号!

-=---------------------------------------------------
这个编号总得有一个物理含义,那就是频率HZ,表示构成原输入信号不同谐波的不同频率。
对吧

ChaChing 发表于 2010-2-4 21:37

楼主可以试试一正弦信号, 采用y=fft(x,256)及y=fft(x,512)看看其差异!
并花时间看看这版的精华帖, 相信LZ会了解的!

看看这里有没有你要问的问题--信号处理专栏话题索引
http://forum.vibunion.com/forum/thread-49413-1-1.html

sdf4940 发表于 2010-2-5 00:14

你说的我试过了
t=;
x=sin(t);
y=fft(x,256);
plot(abs(y));


t=;
x=sin(t);
y=fft(x,512);
plot(abs(y));

以上2段程序运行后横坐标的确分别是256 和512 。不过这是没标准化的写法。
out-abs(y);
plot(fs*length(x)/,out)
来替代以上最后一行就不会存在你说的问题,而是实际频率了。
对吗

sanguozhi2004 发表于 2010-2-5 09:34

学习了!!!!

ChaChing 发表于 2010-2-5 09:55

试试
clc; clear
fs=100; fn=10; t=; x=sin(2*pi*fn*t);
figure; nfft=256; y=fft(x,nfft); plot(abs(y));
figure; nfft=512; y=fft(x,nfft); plot(abs(y));
figure; nfft=256; y=fft(x,nfft); plot(fs*/nfft, abs(y)*2/nfft);
figure; nfft=512; y=fft(x,nfft); plot(fs*/nfft, abs(y)*2/nfft);
页: [1]
查看完整版本: 两个基础问题