查看: 298|回复: 7

[FFT] 采样频率与采样点数的问题

[复制链接]
发表于 2017-8-31 16:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?我要加入

x
本帖最后由 brimel 于 2017-8-31 16:54 编辑

各位大神好,最近碰到几个问题,关于采样点数与采样频率的问题,程序一如下:
Fs=50;
x=0:1/Fs:13;
y=0.0012*x.^4-0.00849472*x.^3-0.03144991*x.^2+0.58530388*x;
nfft=1024;
xk=fft(y,nfft);
Pxx=abs(xk).^2/length(x);
index=0:round(nfft/2-1);
k=index*Fs/nfft;
Pxx=Pxx(index+1);
plot(k,Pxx)
问题一:x的范围从0到13,采样频率是50,那么总共应该有13/(1/50)=650个点,请问这个650个点与采样点数1024是个什么关系呢?
问题二:在网上还看到过类似求功率谱的方法,程序二如下:
y=0.0012*x.^4-0.00849472*x.^3-0.03144991*x.^2+0.58530388*x;
Xk=fft(y,nfft);
mXk=abs(Xk(1:nfft/2)).^2/length(x);
k=(0:nfft/2-1)*Fs/nfft;
plot(k,mXk);
或者程序三
Y=fft(y);
mag=abs(Y(1:floor(length(Y)/2))).^2/length(Y);
f=1:floor(length(Y)/2);
plot(f,mag);
以上三个求功率谱的程序到底哪个对,还是都一样?谢谢大家
回复
分享到:

使用道具 举报

发表于 2017-8-31 17:21 | 显示全部楼层
本帖最后由 hcharlie 于 2017-8-31 18:54 编辑

1)数据的总长度必须不小于fft长度,这应该属于常识性的问题。怎能做无米之炊呢?
2)你想研究什么问题?你为什么要做FFT?
3)你想研究什么问题?你为什么要做功率谱?
网上有这些方法,你想要解决什么问题,然后再选用合适的方法,不要赶时髦。

数学家台劳认为任意函数都可以分解成幂次函数之和,而傅里叶认为任意函数都可以分解成正弦函数之和,从而建立傅里叶分析。
而你却用傅里叶理论去分析台劳的函数,肯定会碰钉子啰!
 楼主| 发表于 2017-9-1 16:19 | 显示全部楼层
hcharlie 发表于 2017-8-31 17:21
1)数据的总长度必须不小于fft长度,这应该属于常识性的问题。怎能做无米之炊呢?
2)你想研究什么问题? ...

非常感谢您的指导!另外,我还有个问题要向您请教:
您说的数据总长度必须不小于fft长度,针对我给出的程序,数据总长度为650个点,而fft长度为1024个点,所以在我的程序里,数据总长度是小于fft长度,这样理解对吗?如果是这样的话,那么程序中的xk=fft(y,nfft);这一句不是通过补零的方式补齐了1024个点吗?
我做功率谱是因为导师让我分析某条曲线(多项式函数)所包含的频率成分,比如一个简单的三角函数y=sin(2*pi*10*x),通过求功率谱就可以知道这条曲线包含一个频率为10的成分,所以我就做了上面的程序。还得请您多指教,程序的思路、方法有没有什么问题,在此谢过了!
发表于 2017-9-1 17:36 | 显示全部楼层
本帖最后由 hcharlie 于 2017-9-1 18:04 编辑

1)是不是自动补另由程序库确定。
2)分析频谱成分建议由FFT分析频谱,是定量的,最好不要补零,取nfft=630,用DFT做。如果用功率谱分析,可以分析出频率,不能定量的分析出频谱。因为功率谱(密度)只定义于随机信号,你这不是随机信号。不要觉得功率谱时髦就用它。
3)如果你这个多项式是拟合曲线,最好由原始数据做FFT。
 楼主| 发表于 2017-9-1 19:46 | 显示全部楼层
hcharlie 发表于 2017-9-1 17:36
1)是不是自动补另由程序库确定。
2)分析频谱成分建议由FFT分析频谱,是定量的,最好不要补零,取nfft=63 ...

谢谢指导!
发表于 2017-9-2 09:10 | 显示全部楼层
“导师让我分析某条曲线(多项式函数)所包含的频率成分”
你知道上面这段话中有什么问题吗?
我说过FFT是求频谱的方法,但还需要条件,就是被求的函数不是任意一段曲线,而是“整数周期的周期函数”,也就是说FFT以后得到的频谱是被分析的这段曲线无限重复以后的周期函数的频谱,你的这根曲线显然不符合周期函数的条件。
说重一点,一条任意曲线不存在什么频率成分分析的问题;
说轻一点,求出来的频谱有误差,对于这段曲线函数本身首尾相接的误差要小一点,对于首尾变化趋势更相近的误差更小一点,对于开放形的曲线(就像你这种)误差就大了,因为它与周期函数差别更大了。
 楼主| 发表于 2017-9-2 09:46 | 显示全部楼层
本帖最后由 brimel 于 2017-9-2 09:50 编辑
hcharlie 发表于 2017-9-2 09:10
“导师让我分析某条曲线(多项式函数)所包含的频率成分”
你知道上面这段话中有什么问题吗?
我说过FFT ...

试验了好久,不管是自己编写程序,还是使用别人开发的小程序,得到的结果与曲线形式完全无关,也就是说不管是几次多项式曲线或者就是抛物线,所得到的结果都是一样的,这样验证了您的结论:一条任意曲线不存在什么频率成分分析的问题。以前也怀疑过求曲线功率谱的可行性,花了几乎一个学期的时间来研究(太不值得了,有时候老师的一个想法,实现起来需要很大的成本),现在终于也证实了!
衷心感谢您的指导!
发表于 2017-9-2 11:37 | 显示全部楼层
你是注意了方法,技术,忽视了理论。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

快速回复 返回顶部 返回列表