首页 > 学院 > 开发设计 > 正文

N个点FFT变换中的频率分辨率以及与实际频率的关系

2019-11-06 08:46:22
字体:
来源:转载
供稿:网友
做FFT变换时,我们一般会取N个点来做FFT变换,得到N个变换后的系数,也称之为频谱系数。在离散时间傅里叶变换中,频谱系数是周期函数,以2*pi(注:pi指的是圆周率3.1415926)为周期。频谱的分辨率是 2*pi/N. 假设采样率是fs,那么,这个2*pi/N与fs有什么关系?对应实际频率来讲,其频率的分辨率是多少赫兹的?我们从对连续函数采样的公式来推导:e^(j*2*pi*k*f*t) 这是连续傅里叶变换中用到的基函数(用于xt在上面做分解,投影,映射)。对这个函数,按照fs的采样率采样N个点,公式如下:e^(j*2*pi*k*f*(n*1/fs)),其中n属于[0,N).这N个点用来直接做FFT,隐含着其周期就是N个点,这N个点一直在循环往复。所以,e^(j*2*pi*k*f*t) 中的t,在一个周期T内采样,T是等于N*1/fs这么长的时间。T = N * 1/fs所以,e^(j*2*pi*k*f*t)中的f就等于 1/T,进而等于fs/N:f=fs/N,所以,f/fs = 1/N再来进一步推导:e^(j*2*pi*k*f*(n*1/fs))=e^(j*2*pi*k*f/fs*n)=e^(j*2*pi*k*f/fs*n)=e^(j*2*pi*k*1/N*n)=e^(j*k*(2*pi/N)*n)所以,离散后,频谱分辨率是2*pi/N,即基频是这个。harmonic频率是这个频率的k倍,k在[0,N-1]区间内。而对应的连续函数,其基频是f,即1/T,即fs/N. 基频是fs/N.所以,2*pi/N这个基频,对应的实际频率是fs/N.

补充:

离散傅里叶变换,如果取[0:2*pi)这个周期,则幅度是以pi为中心对称的。 e^(j*2*pi*1*/N)与e^(j*2*pi*(N-1)/N)的幅度相等,相位不同。 e^(j*2*pi*1*/N) = cos(2*pi/N) + j * sin(2*pi/N)e^(j*2*pi*(N-1)/N)=e^(j*2*pi*N/N - j*2*pi*1*/N )=e^(- j*2*pi*1*/N )=cos(2*pi/N) - j * sin(2*pi/N)

补充二:(来自这个博客:http://www.cnblogs.com/sddai/p/5513407.html) 4种频率及其数量关系 这里写图片描述

4种频率及其数量关系

实际物理频率表示AD采集物理信号的频率,fs为采样频率,由奈奎斯特采样定理可以知道,fs必须≥信号最高频率的2倍才不会发生信号混叠,因此fs能采样到的信号最高频率为fs/2。 角频率是物理频率的2*pi倍,这个也称模拟频率。 归一化频率是将物理频率按fs归一化之后的结果,最高的信号频率为fs/2对应归一化频率0.5,这也就是为什么在matlab的fdtool工具中归一化频率为什么最大只到0.5的原因。 圆周频率是归一化频率的2*pi倍,这个也称数字频率。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表