天天看点

傅里叶变换学习一

推荐阅读:http://www.dspguide.com/pdfbook.htm

傅里叶变换(Fotrier transform):线性的积分变换

  • 连续傅里叶变换: F(w)=F[f(t)]=∫∞−∞f(t)e−iwtdt
  • 连续傅里叶逆变换: f(t)=F−1[F(w)]=12π∫∞−∞F(w)eiwtdw

    其中, w 可表示为w=2πf

傅里叶级数:连续傅里叶变换是傅里叶级数的推广

  • f(x)=∑∞n=−∞Fneinx
  • Fn=a0+∑∞n=1[ancos(nx)+bnsin(nx)]

    an 、 bn 表示实频率分量的幅度

离散时域傅里叶变换(DTFT):傅里叶级数的逆变换,时域离散,频域周期

离散傅里叶变换(DFT):时域、频域均为离散,DTFT频域的再次采样

  • xn=∑N−1k=0Xkei2πNknn=0,⋯,N−1

    其中, Xk 为傅里叶幅度,计算复杂度为 O(n2) ,使用快速傅里叶变换(FFT)复杂度为 O(nlog(n))

1. 傅里叶变换的提出:

任何连续周期信号都可以由一组适当的正弦曲线组合来逼近。

傅里叶变换学习一

对于有限长度离散的信号:(1)延拓为无限长信号,成为非周期性离散信号,使用DTFT;(2)延拓为无限长信号,成为周期性离散信号,使用DFT

计算机能处理的信号:离散的、有限长度数据,采用DFT处理

2. 实数离散傅里叶变换(Real DFT)

​ 在计算机中,N个点可以表示周期为 0、1、2、3⋯N2 的余弦信号和正弦信号。因此,对于一个长度为N的离散信号,可以表示为 (N2+1) 个正弦信号、 (N2+1) 个余弦信号的和。

时域 频域
x[0:N-1] Re X[0: N2 ]、Im X[0: N2 ]
N个时间点对应的幅值信号 N2+1 个频率对应的余弦、正弦幅值信号

频率种类固定,关键在于每个频率幅度的估计

DFT频率到时间的合成公式:

​ x[i]=∑N2k=0ReX^[k]cos(2πkiN)+∑N2k=0ImX^[k]sin(2πkiN)

其中, i 表示第i时刻

ReX^[k] 、 ImX^[k] 表示每 2N 频谱范围的幅度和,其中, k=0、N/2 表示每 1N 频谱范围的幅度和,而 ReX[k] 、 ImX[k] 表示整个(1个)频谱范围的幅度总和,因此满足:

​ ReX^[k]=2ReX[k]N , ReX^[0]=ReX[0]N , ReX^[N/2]=ReX[N/2]N

​ ImX^[k]=−2ImX[k]N , ImX^[0]=−ImX[0]N , ImX^[N/2]=−ImX[N/2]N

其中, ReX[k] 、 ImX[k] 可利用相关性计算:

​ ReX[k]=∑N−1i=0x[i]cos(2πkiN)

ImX[k]=−∑N−1i=0x[i]sin(2πkiN)

由上,实现时域到频域的变换。

3. 复数傅里叶变换

根据Tayler展开,可推导得到欧拉等式:

Mejθ=Mcosθ+jMsinθ=a+jb

1)从时域到频域的变换

  • 频率为 k 时的频谱密度可以表示为:

ReX[k]=∑i=0N−1x[i]cos(2πkiN)

ImX[k]=−∑i=0N−1x[i]sin(2πkiN)

​ 将其表示为复数形式:

X[k]=∑i=0N−1x[i][cos(2πkiN)−jsin(2πkiN)]=∑i=0N−1x[i]e−j2πkiN

​ 其中, k 的取值范围为0,1⋯N−1

​ 【注:与实数傅里叶变换相异,实数傅里叶变换频谱范围只能取 0,1⋯N2 ,而复数傅里叶变换可以取负的频谱 −1⋯−N2 ,根据对称性,可取 k 为0,1⋯N−1】

  • 频率为 k 时的频谱幅度可以表示为:

    此时频率k所占据频谱范围变成 22N ,可得频谱幅度:

    X^[k]=1N∑i=0N−1x[i]e−j2πkiNk∈0,1⋯N−1

4. 逆向傅里叶变换

​ 按照傅里叶变换的思路,通过相关性计算时域的幅值,可推得以下表达式:

x[i]=∑k=0N−1X^[k][cos(2πkiN)+jsin(2πkiN)]=∑k=0N−1X^[k]ej2πkiNi∈0,1⋯N−1

​ 直观上理解,将每个频域该时刻的幅值相加即得该时刻的幅值。如何进行数学上推导?

继续阅读