ZKX's LAB

fft 指数点数选取 关于FFT的问题?采样点数怎么取?

2020-07-25知识12

关于FFT的问题?采样点数怎么取? 补零对信号的频谱结构高端和低端有些影响,如只关心中段频率频谱结构的话,补零是不错的方法。本来即便采集256点,转换到频域后高频尾端的数据也不可靠。FFT需要采样多少个时间周期,频率分辨率才可以精确到0.1? 看来楼主需要理解DFTDFT是一个数学算法.跟周期没有必然的关系.DFT频率精确度与点数有关.FFT中N到底应该怎么选取呢? fft(x)默认为x的个数,或者自定义fft(x,N),N应该是2的幂次方,且不小于x的个数。我觉得x个数应该也是2的幂次方,N>;x时,默认在末尾补零,末尾补零不会提高分辨率,会让。快速傅里叶变换(fft)中的点数,如64点fft是指的什么? 1:大概7、8年没碰FFT了。不知道还记的对不对。应该算是结果精度。因为 频谱精度=采样率/fft点.关于FFT计算怎么选取点数 一.调用2113方法X=FFT(x);X=FFT(x,N);x=IFFT(X);x=IFFT(X,N)用MATLAB进行谱分析时注5261意:(1)函数FFT返回值的数据结构4102具有1653对称性。例:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)Xk=39.0000-10.7782+6.2929i 0-5.0000i 4.7782-7.7071i 5.0000 4.7782+7.7071i 0+5.0000i-10.7782-6.2929iXk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量,即频率值为0。(2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。在IFFT时已经做了处理。要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。二.FFT应用举例例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。clf;fs=100;N=128;采样频率和数据点数n=0:N-1;t=n/fs;时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);信号y=fft(x,N);对信号进行快速Fourier变换mag=abs(y);求得Fourier变换后的振幅f=n*fs/N;频率序列subplot(2,2,1),plot(f,mag);绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on;subplot(2,2,2),plot(f(1:N/2),mag(1:N/2));绘出Nyquist频率之前随频率变化的。假设模拟信号的最高频率为fr=1khz,要求分辨率F=100hz,用FFT对其进行谱分析。试问:(1)最小记录时间是多少?(2)最大采样间隔是多少?(3)最少采样点数是多少? 假设模拟信号的最高频率为fr=1khz,要求分辨率F=100hz,用FFT对其进行谱分析。试问:(1)最小记录时间是多少?由分辨率为 100Hz 可得:其最小记录时间为 1/100Hz=0.01s(2)最大采样间隔是多少?由信号的最高频率fr=1kHz可得:其最 小采样频率为 2×fr=2kHz(奈奎斯特采样定理)于是:其最大采样间隔为 1/2kHz=0.5ms(3)最少采样点数是多少?由(1)中可知 最少要记录 0.01s,由(2)中可知 最大间隔为 0.5ms所以至少要采样(0.01s/0.5ms)=20 个点又由于,需要用FFT对其进行谱分析,FFT需要的点数为 2的n次幂。距20最近的 2的整数次幂 为 2的5次幂=32所以如需进行FFT其进行谱分析,则至少需要 32 个 采样点。N点fft变换中,N的选取对于结果有什么影响?是不是有多少采样点,N就取多少? n是表示对x的前n个点进行傅里叶变换,一般是越大越好,但太大可能会造成计算效率的下降,一般在保证足够精度的情况下,只需适中的n值即可。至于这个命令只是进行傅里叶变化。

#频率分辨率#fft

随机阅读

qrcode
访问手机版