离散傅里叶变换(DFT)
一、傅里叶变换公式
- 连续傅里叶变换
连续傅里叶变换是使用一对正交基 c o s ω t cosωt cosωt和 s i n ω t sinωt sinωt对时域序列进行“探测”(求时域序列与正交基的相关性),筛选出与原时域序列相关的正交基,即为原时域序列的频域序列。连续傅里叶变换公式如下:
F ( ω ) = ∫ − ∞ + ∞ f ( t ) e − i ω t d t F(\omega ) = \int_{ - \infty }^{ + \infty } {f(t){e^{ - i\omega t}}} dt F(ω)=∫−∞+∞f(t)e−iωtdt - 离散傅里叶变换
离散傅里叶变换(DFT)方法,是以频率 f s f_s fs对输入信号对输入信号进行等间隔采样n次后,对这n个离散点进行DFT处理得到n个复数,每个复数表示以 f s / n f_s/n fs/n为间隔的频率成分的幅度和相位信息,即获得输入信号的频谱信息。
对于一个长度为N的时域离散序列 x ( n ) x(n) x(n),DFT变换结果为 X ( k ) X(k) X(k),则:
X ( k ) = D F T { x ( n ) } = 1 N ∑ n = 0 N − 1 x ( n ) × e − j 2 π N n k , k = 0 , 1 , 2 , . . . , N − 1 X(k)=DFT\{ x(n)\} = \frac{1}{N}\sum\limits_{n = 0}^{N - 1} {x(n) \times {e^{ - j\frac{ {2\pi }}{N}nk}}} ,k = 0,1,2,...,N - 1 X(k)=DFT{ x(n)}=N1n=0∑N−1x(n)×e−jN2πnk,k=0,1,2,...,N−1
转换为矩阵形式:
D F T { x ( n ) } = 1 N [ 1 1 1 ⋯ 1 1 e − j 2 π N × 1 e − j 2 π N × 2 ⋯ e − j 2 π N × ( N − 1 ) 1 e − j 2 π N × 2 × 1 e − j 2 π N × 2 × 2 ⋯ e − j 2 π N × 2 × ( N − 1 ) ⋮ ⋮ ⋮ ⋱ ⋮ 1 e − j 2 π N × ( N − 1 ) × 1 e − j 2 π N × ( N − 1 ) × 2 ⋯ e − j 2 π N × ( N − 1 ) 2 ] [ x ( 0 ) x ( 1 ) x ( 2 ) ⋮ x ( N − 1 ) ] DFT\{ x(n) \}=\frac{1}{N} \begin{bmatrix} 1&1&1& \cdots &1\\ 1&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times 1}}}&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times 2}}}& \cdots &{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times (N - 1)}}}\\ 1&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times 2 \times 1}}}&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times 2 \times 2}}}& \cdots &{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times 2 \times (N - 1)}}}\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times (N - 1) \times 1}}}&{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times (N - 1) \times 2}}}& \cdots &{ { {\rm{e}}^{ - j\frac{ {2\pi }}{N} \times { {(N - 1)}^2}}}} \end{bmatrix} \begin{bmatrix} {x(0)}\\ {x(1)}\\ {x(2)}\\ \vdots \\ {x(N - 1)} \end{bmatrix} DFT{ x(n)}=N1⎣⎢⎢⎢⎢⎢⎡111⋮11e−jN2π×1e−j

本文详细介绍了离散傅里叶变换(DFT)的原理,包括公式解释和矩阵表示,并通过Python的numpy.fft库展示了DFT在实践中的应用,包括频率分布的计算和幅度、相位的获取。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



