a9303 发表于 2016-4-27 09:31

关于fft变换的一些疑问

请教下关于fft变换,想对一组时间序列进行fft变换。求解我这组序列的积分步长要和后面的采样频率一致么?也就是说我后面nyquist的值要和我方程求解这组x的积分步长有关吗?查了下资料,nyquist的值和采样频率有关。代码如下,希望大神们帮看下
load x
Y = fft(x);       %快速FFT变换
N = length(x);    %FFT变换后数据长度
Y(1) = [];         %去掉Y的第一个数据,它是data所有数据的和
power = abs(Y(1:N/2)).^2;%求功率谱
nyquist = 0.5;
freq = (1:N/2)/(N/2)*nyquist; %求频率
subplot(121)
plot(freq,power); grid on   %绘制功率谱图
xlabel('频率')
ylabel('功率')
title('功率谱图')
period = 1./freq;               %计算周期
subplot(122)
plot(period,power); grid on%绘制周期-功率谱曲线
ylabel('功率')
xlabel('周期')
title('周期—功率谱图')
= max(power);       %求最高谱线所对应的下标
T_mean=period(index)         %由下标求出平均周期

Frank 发表于 2016-4-27 09:56

nyquist是时间不长吗?如果是的话显然是有关的,两者是倒数关系

a9303 发表于 2016-4-27 10:09

nyquist频率由取样间隔决定,是取样间隔的2倍的倒数, 我的X的积分步长是0.1时间是100s也就是说有1000个点。也就是说我的 nyquist应该设置成50吗?

a9303 发表于 2016-4-27 10:10

Frank 发表于 2016-4-27 09:56
nyquist是时间不长吗?如果是的话显然是有关的,两者是倒数关系

nyquist频率由取样间隔决定,是取样间隔的2倍的倒数, 我的X的积分步长是0.1时间是100s也就是说有1000个点。也就是说我的 nyquist应该设置成50吗?

amnesia 发表于 2016-4-27 10:22

a9303 发表于 2016-4-27 10:10
nyquist频率由取样间隔决定,是取样间隔的2倍的倒数, 我的X的积分步长是0.1时间是100s也就是说有100 ...

看你x序列的输出的时间间隔,它的倒数就是你的采样频率

a9303 发表于 2016-4-27 10:26

amnesia 发表于 2016-4-27 10:22
看你x序列的输出的时间间隔,它的倒数就是你的采样频率

好的。 谢谢!

Edinburgh 发表于 2016-4-28 12:54

在对同一带通数据信号进行采集时,采用带通采样定理的采样频率为fs≥2B(信号带宽),而采用奈奎斯特采样定理的采样频率为fs≥2fH(信号最高频率),带通采样定理的采样频率小。
一般实际应用中采样频率为信号最高频率的5~10倍
页: [1]
查看完整版本: 关于fft变换的一些疑问