傅里叶级数FS,连续时间傅里叶变换CTFT,离散时间傅里叶变换DTFT,离散傅里叶变换DFT,推导与联系(二)

news2024/11/17 9:46:27

由于本文公式所占用的字符比较多,无法在一篇博客中完整发布,所以将其分为两篇博客。本篇主要介绍了离散傅里叶变换 DFT 的内容,以及相关的总结。对于前置内容,包括傅里叶级数 FS,连续时间傅里叶变换 CTFT,以及离散时间傅里叶变换 DTFT 等,请移步以下链接。

傅里叶级数FS,连续时间傅里叶变换CTFT,离散时间傅里叶变换DTFT,离散傅里叶变换DFT,推导与联系(一)
https://blog.csdn.net/qq_33552519/article/details/130255215

对于离散傅里叶变换所衍生出的离散余弦变换和离散正弦变换,在我的另一篇文章中有所介绍,欢迎阅读与提出相关修改意见。

  • DFT:https://blog.csdn.net/qq_33552519/article/details/124917126
  • DCT:https://blog.csdn.net/qq_33552519/article/details/124917473
  • DST:https://blog.csdn.net/qq_33552519/article/details/124962042

4 离散傅里叶变换

在前面的章节中,我们从周期函数的傅里叶级数扩展到了非周期函数的傅里叶变换,再从非周期函数的傅里叶变换扩展到了离散序列的离散时间傅里叶变换。然而对比三者可以发现,只有离散时间傅里叶变换的时域是离散的,而只有傅里叶级数的频域是离散的,并不存在一种变换的时域和频域都是离散的,这意味着它们都不适合数字计算机的处理。为了克服这种问题,一种自然而然的想法就是综合傅里叶级数的频域与离散时间傅里叶变换的时域,这就引出了我们接下来所要讨论的离散傅里叶变换。

对于一个定义在有限区间 t ∈ ( 0 , T ) t \in \left( {0,T} \right) t(0,T) 上的连续时间函数 f a ( t ) {f_a}\left( t \right) fa(t),对其以 T T T 为周期进行周期性延拓,得到周期函数 f ~ a ( t ) {\tilde f_a}\left( t \right) f~a(t),其中

f ~ a ( t + n T ) = f a ( t ) , − ∞ < n < ∞ . (4.1) {\tilde f_a}\left( {t + nT} \right) = {f_a}\left( t \right),\quad - \infty < n < \infty . \tag{4.1} f~a(t+nT)=fa(t),<n<∞.(4.1)

那么可得 f a ( t ) {f_a}\left( t \right) fa(t) 的连续时间傅里叶变换 F a ( j Ω ) {F_a}\left( {j\Omega } \right) Fa(jΩ) f ~ a ( t ) {\tilde f_a}\left( t \right) f~a(t) 的傅里叶级数系数 F ~ a [ n ] {\tilde F_a}\left[ n \right] F~a[n] 分别为

F a ( j Ω ) = ∫ 0 T f a ( t ) e − j Ω t d t , F ~ a [ n ] = 1 T ∫ 0 T f ~ a ( t ) e − j n Ω T t d t = 1 T F a ( j n Ω T ) , w h e r e    Ω T = 2 π / T . (4.2) \begin{gathered} {F_a}\left( {j\Omega } \right) = \int\limits_0^T {{f_a}\left( t \right){e^{ - j\Omega t}}dt} , \\ {{\tilde F}_a}\left[ n \right] = \frac{1}{T}\int\limits_0^T {{{\tilde f}_a}\left( t \right){e^{ - jn{\Omega _T}t}}dt} = \frac{1}{T}{F_a}\left( {jn{\Omega _T}} \right), \\ where\;{\Omega _T} = 2\pi /T. \\ \end{gathered} \tag{4.2} Fa(jΩ)=0Tfa(t)ejΩtdt,F~a[n]=T10Tf~a(t)ejnΩTtdt=T1Fa(jnΩT),whereΩT=2π/T.(4.2)

也就是说,周期函数的傅里叶级数系数实际上是该周期函数在一个周期内的傅里叶变换以 Ω T = 2 π / T {\Omega _T} = 2\pi /T ΩT=2π/T 为间隔均匀采样与幅度缩放的结果。在讨论离散时间傅里叶变换时就可以发现,在时域中对连续时间函数以 T T T 为间隔均匀采样会导致该函数的傅里叶变换以 Ω T {\Omega _T} ΩT 为周期进行延拓与叠加。那以相反的视角来看式 (4.2),是否是因为 f a ( t ) {f_a}\left( t \right) fa(t) 的傅里叶变换 F a ( j Ω ) {F_a}\left( {j\Omega } \right) Fa(jΩ) Ω T {\Omega _T} ΩT 为间隔均匀采样,导致了 f a ( t ) {f_a}\left( t \right) fa(t) 在时域以 T T T 为周期进行延拓与叠加从而获得了周期函数 f ~ a ( t ) {\tilde f_a}\left( t \right) f~a(t) 呢?而且因为 f a ( t ) {f_a}\left( t \right) fa(t) 只在 t ∈ ( 0 , T ) t \in \left( {0,T} \right) t(0,T) 上的区间定义,所以以 T T T 为周期进行周期延拓所获得的周期函数 f ~ a ( t ) {\tilde f_a}\left( t \right) f~a(t) 可以完整地恢复 f a ( t ) {f_a}\left( t \right) fa(t),不会造成信息失真。

由于一般的连续时间函数的傅里叶变换通常不具有周期性,且在整个频率数轴 Ω ∈ ( − ∞ , + ∞ ) \Omega \in \left( { - \infty , + \infty } \right) Ω(,+) 上都有定义,所以讨论其频域的采样对于计算机的实用性并不具有太大意义。然而,对于连续时间函数经过均匀采样所获得的离散时域序列,其离散时间傅里叶变换则以 2 π 2\pi 2π 为周期,因此在 2 π 2\pi 2π 的范围内对其进行采样,即可获得有限长度的频域离散序列。如果限制时域序列的长度,即可满足计算机对时域与频域转换的可实现性。为此,接下来我们主要基于离散时间序列及其离散时间傅里叶变换进行讨论。

对于离散序列 f [ n ] f\left[ n \right] f[n],其离散时间傅里叶变换为

F ( e j ω ) = ∑ n = − ∞ ∞ f [ n ] e − j ω n . (4.3) F\left( {{e^{j\omega }}} \right) = \sum\limits_{n = - \infty }^\infty {f\left[ n \right]{e^{ - j\omega n}}} .\tag{4.3} F(e)=n=f[n]ejωn.(4.3)

F ( e j ω ) F\left( {{e^{j\omega }}} \right) F(e) 2 π / M 2\pi /M 2π/M 为间隔均匀采样,其中 M M M 为正整数。 类似于连续时间信号采样,引入周期冲激串

p ( ω ) = ∑ k = − ∞ ∞ δ ( ω − 2 π k M ) . (4.4) p\left( \omega \right) = \sum\limits_{k = - \infty }^\infty {\delta \left( {\omega - \frac{{2\pi k}}{M}} \right)} .\tag{4.4} p(ω)=k=δ(ωM2πk).(4.4)

F ( e j ω ) F\left( {{e^{j\omega }}} \right) F(e) 采样所得结果可表示为

G ( e j ω ) = F ( e j ω ) p ( ω ) = ∑ k = − ∞ ∞ F ( e j 2 π k M ) δ ( ω − 2 π k M ) . (4.5) G\left( {{e^{j\omega }}} \right) = F\left( {{e^{j\omega }}} \right)p\left( \omega \right) = \sum\limits_{k = - \infty }^\infty {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right)\delta \left( {\omega - \frac{{2\pi k}}{M}} \right)} . \tag{4.5} G(e)=F(e)p(ω)=k=F(ejM2πk)δ(ωM2πk).(4.5)

因为 G ( e j ω ) G\left( {{e^{j\omega }}} \right) G(e) 是由狄拉克函数定义的,在推导其离散时间傅里叶反变换时在积分边界上会存在一点问题。因为 G ( e j ω ) G\left( {{e^{j\omega }}} \right) G(e) 是以 2 π 2\pi 2π 为周期的,且反变换的积分周期位置不影响结果,所以我们不妨在 ω ∈ ( 0 − , 2 π − ) \omega \in \left( {{0^ - },2{\pi ^ - }} \right) ω(0,2π) 上进行积分,即积分边界是通过左侧极限来定义的,于是有

g [ m ] = 1 2 π ∫ 0 − 2 π − F p ( e j ω ) e j ω m d ω = 1 2 π ∫ 0 − 2 π − [ ∑ k = − ∞ ∞ F ( e j 2 π k M ) δ ( ω − 2 π k M ) ] e j ω m d ω = 1 2 π ∫ 0 − 2 π − [ ∑ k = 0 M − 1 F ( e j 2 π k M ) δ ( ω − 2 π k M ) ] e j ω m d ω = 1 2 π ∑ k = 0 M − 1 F ( e j 2 π k M ) ∫ 0 − 2 π − δ ( ω − 2 π k M ) e j ω m d ω = 1 2 π ∑ k = 0 M − 1 F ( e j 2 π k M ) e j 2 π k m M . (4.6) \begin{aligned} g\left[ m \right] &= \frac{1}{{2\pi }}\int\limits_{{0^ - }}^{2{\pi ^ - }} {{F_p}\left( {{e^{j\omega }}} \right){e^{j\omega m}}d\omega } \\ &= \frac{1}{{2\pi }}\int\limits_{{0^ - }}^{2{\pi ^ - }} {\left[ {\sum\limits_{k = - \infty }^\infty {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right)\delta \left( {\omega - \frac{{2\pi k}}{M}} \right)} } \right]{e^{j\omega m}}d\omega } \\ &= \frac{1}{{2\pi }}\int\limits_{{0^ - }}^{2{\pi ^ - }} {\left[ {\sum\limits_{k = 0}^{M - 1} {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right)\delta \left( {\omega - \frac{{2\pi k}}{M}} \right)} } \right]{e^{j\omega m}}d\omega } \\ &= \frac{1}{{2\pi }}\sum\limits_{k = 0}^{M - 1} {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right)\int\limits_{{0^ - }}^{2{\pi ^ - }} {\delta \left( {\omega - \frac{{2\pi k}}{M}} \right){e^{j\omega m}}d\omega } } \\ &= \frac{1}{{2\pi }}\sum\limits_{k = 0}^{M - 1} {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right){e^{j\tfrac{{2\pi km}}{M}}}} . \\ \end{aligned} \tag{4.6} g[m]=2π102πFp(e)ejωmdω=2π102π[k=F(ejM2πk)δ(ωM2πk)]ejωmdω=2π102π[k=0M1F(ejM2πk)δ(ωM2πk)]ejωmdω=2π1k=0M1F(ejM2πk)02πδ(ωM2πk)ejωmdω=2π1k=0M1F(ejM2πk)ejM2πkm.(4.6)

可以发现,式 (4.6) 所表示的离散时间傅里叶反变换成为了一个只涉及有限项 M M M 项的求和运算。为了建立起 G ( e j ω ) G\left( {{e^{j\omega }}} \right) G(e) 的离散傅里叶反变换序列 g [ m ] g\left[ m \right] g[m] 与原始序列 f [ n ] f\left[ n \right] f[n] 的联系,将 F ( e j 2 π k M ) F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right) F(ejM2πk) 代入式 (4.6) 可得

g [ m ] = 1 2 π ∑ k = 0 M − 1 F ( e j 2 π k M ) e j 2 π k m M = 1 2 π ∑ k = 0 M − 1 ( ∑ n = − ∞ ∞ f [ n ] e − j 2 π k M n ) e j 2 π k m M = 1 2 π ∑ n = − ∞ ∞ f [ n ] ( ∑ k = 0 M − 1 e j 2 π k M ( m − n ) ) . (4.7) \begin{aligned} g\left[ m \right] &= \frac{1}{{2\pi }}\sum\limits_{k = 0}^{M - 1} {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right){e^{j\tfrac{{2\pi km}}{M}}}} \\ &= \frac{1}{{2\pi }}\sum\limits_{k = 0}^{M - 1} {\left( {\sum\limits_{n = - \infty }^\infty {f\left[ n \right]{e^{ - j\tfrac{{2\pi k}}{M}n}}} } \right){e^{j\tfrac{{2\pi km}}{M}}}} \\ &= \frac{1}{{2\pi }}\sum\limits_{n = - \infty }^\infty {f\left[ n \right]\left( {\sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {m - n} \right)}}} } \right)} . \\ \end{aligned} \tag{4.7} g[m]=2π1k=0M1F(ejM2πk)ejM2πkm=2π1k=0M1(n=f[n]ejM2πkn)ejM2πkm=2π1n=f[n](k=0M1ejM2πk(mn)).(4.7)

m − n = p M m - n = pM mn=pM,其中 p p p 为整数时,可得

∑ k = 0 M − 1 e j 2 π k M ( m − n ) = ∑ k = 0 M − 1 e j 2 π k M p M = M . (4.8) \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {m - n} \right)}}} = \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}pM}}} = M.\tag{4.8} k=0M1ejM2πk(mn)=k=0M1ejM2πkpM=M.(4.8)

而当 m − n = p M + q m - n = pM + q mn=pM+q,其中 p , q p,q p,q 为整数,且 1 ⩽ q ⩽ M − 1 1 \leqslant q \leqslant M - 1 1qM1 时,可得

∑ k = 0 M − 1 e j 2 π k M ( m − n ) = ∑ k = 0 M − 1 e j 2 π k M ( p M + q ) = ∑ k = 0 M − 1 ( e j 2 π q M ) k = 1 − ( e j 2 π q M ) M 1 − e j 2 π q M = 1 − e j 2 π q 1 − e j 2 π q M = 0. (4.9) \begin{gathered} \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {m - n} \right)}}} = \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {pM + q} \right)}}} = \sum\limits_{k = 0}^{M - 1} {{{\left( {{e^{j\tfrac{{2\pi q}}{M}}}} \right)}^k}} \\ = \frac{{1 - {{\left( {{e^{j\tfrac{{2\pi q}}{M}}}} \right)}^M}}}{{1 - {e^{j\tfrac{{2\pi q}}{M}}}}} = \frac{{1 - {e^{j2\pi q}}}}{{1 - {e^{j\tfrac{{2\pi q}}{M}}}}} = 0. \\ \end{gathered} \tag{4.9} k=0M1ejM2πk(mn)=k=0M1ejM2πk(pM+q)=k=0M1(ejM2πq)k=1ejM2πq1(ejM2πq)M=1ejM2πq1ej2πq=0.(4.9)

于是可得恒等式

∑ k = 0 M − 1 e j 2 π k M ( m − n ) = { M , m − n = p M ,    p ∈ Z , 0 , o t h e r s . (4.10) \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {m - n} \right)}}} = \left\{ {\begin{array}{c} {M,}&{m - n = pM,\;p \in \mathbb{Z},} \\ {0,}&{others.} \end{array}} \right.\tag{4.10} k=0M1ejM2πk(mn)={M,0,mn=pM,pZ,others.(4.10)

或者利用冲激序列的定义写为

∑ k = 0 M − 1 e j 2 π k M ( m − n ) = M ∑ p = − ∞ ∞ δ [ m − n + p M ] . (4.11) \sum\limits_{k = 0}^{M - 1} {{e^{j\tfrac{{2\pi k}}{M}\left( {m - n} \right)}}} = M\sum\limits_{p = - \infty }^\infty {\delta \left[ {m - n + pM} \right]} .\tag{4.11} k=0M1ejM2πk(mn)=Mp=δ[mn+pM].(4.11)

因此,式 (4.7) 可改写为

g [ m ] = 1 2 π ∑ k = 0 M − 1 F ( e j 2 π k M ) e j 2 π k m M = M 2 π ∑ n = − ∞ ∞ f [ n ] ∑ p = − ∞ ∞ δ [ m − n + p M ] = M 2 π ∑ p = − ∞ ∞ ∑ n = − ∞ ∞ f [ n ] δ [ m − n + p M ] = M 2 π ∑ p = − ∞ ∞ f [ m + p M ] . (4.12) \begin{aligned} g\left[ m \right] &= \frac{1}{{2\pi }}\sum\limits_{k = 0}^{M - 1} {F\left( {{e^{j\tfrac{{2\pi k}}{M}}}} \right){e^{j\tfrac{{2\pi km}}{M}}}} \\ &= \frac{M}{{2\pi }}\sum\limits_{n = - \infty }^\infty {f\left[ n \right]\sum\limits_{p = - \infty }^\infty {\delta \left[ {m - n + pM} \right]} } \\ &= \frac{M}{{2\pi }}\sum\limits_{p = - \infty }^\infty {\sum\limits_{n = - \infty }^\infty {f\left[ n \right]\delta \left[ {m - n + pM} \right]} } \\ &= \frac{M}{{2\pi }}\sum\limits_{p = - \infty }^\infty {f\left[ {m + pM} \right]} . \\ \end{aligned} \tag{4.12} g[m]=2π1k=0M1F(ejM2πk)ejM2πkm=2πMn=f[n]p=δ[mn+pM]=2πMp=n=f[n]δ[mn+pM]=2πMp=f[m+pM].(4.12)

这样我们就证明了,对序列 f [ n ] f\left[ n \right] f[n] 的离散时间傅里叶变换 F ( e j ω ) F\left( {{e^{j\omega }}} \right) F(e) 2 π / M 2\pi /M 2π/M 为间隔进行采样,会导致序列 f [ n ] f\left[ n \right] f[n] M M M 为周期进行延拓与叠加,从而获得一个周期序列 g [ m ] g\left[ m \right] g[m]。因此, f [ n ] f\left[ n \right] f[n] 的有效长度与 M M M 的选择就成了我们需要讨论的对象。

在现实中我们所采集到的序列 f [ n ] f\left[ n \right] f[n] 的长度都是有限的,不妨记其为 N N N。由于 g [ m ] g\left[ m \right] g[m] f [ n ] f\left[ n \right] f[n] 经过周期延拓与叠加的结果,当 N ⩽ M N \leqslant M NM 时, f [ n ] f\left[ n \right] f[n] 的有效数据不会发生重叠,因此可以截取与缩放完整地从 g [ m ] g\left[ m \right] g[m] 中恢复;而当 N > M N > M N>M 时, f [ n ] f\left[ n \right] f[n] 部分有限数据发生重叠,因而不能从 g [ m ] g\left[ m \right] g[m] 中完整地恢复。我们之所以强调要从 g [ m ] g\left[ m \right] g[m] 中恢复 f [ n ] f\left[ n \right] f[n],是因为从式 (4.12) 中可知 g [ m ] g\left[ m \right] g[m] 可以通过有限项的求和运算求得,而无需任何积分运算,这对于计算机处理是至关重要的。总之,由于有限长序列 f [ n ] f\left[ n \right] f[n] 的长度 N N N 通常是已知的,不妨令 M = N M = N M=N 即可。综合式 (4.3) 与 (4.12),即可引出我们所要介绍的离散傅里叶变换。

对于一长度为 N N N 的有限长序列 f [ n ] f\left[ n \right] f[n],其中 n = 0 , 1 , . . . , N − 1 n = 0,1,...,N - 1 n=0,1,...,N1,定义其 N N N 点离散傅里叶变换 (Discrete FT, DFT) 与反变换为

F [ k ] = F { f [ n ] } = ∑ n = 0 N − 1 f [ n ] e − j 2 π k n N , f [ n ] = F − 1 { F [ k ] } = 1 N ∑ k = 0 N − 1 F [ k ] e j 2 π k n N . (4.13) \begin{gathered} F\left[ k \right] = \mathcal{F}\left\{ {f\left[ n \right]} \right\} = \sum\limits_{n = 0}^{N - 1} {f\left[ n \right]{e^{ - j\tfrac{{2\pi kn}}{N}}}} , \\ f\left[ n \right] = {\mathcal{F}^{ - 1}}\left\{ {F\left[ k \right]} \right\} = \frac{1}{N}\sum\limits_{k = 0}^{N - 1} {F\left[ k \right]{e^{j\tfrac{{2\pi kn}}{N}}}} . \\ \end{gathered} \tag{4.13} F[k]=F{f[n]}=n=0N1f[n]ejN2πkn,f[n]=F1{F[k]}=N1k=0N1F[k]ejN2πkn.(4.13)

其证明可参考前述讨论,这里不再赘述。因为离散傅里叶变换的正变换与反变换都可以表示为有限项的求和运算,十分适合计算机与更广义的数字电路进行处理,所以其目前的应用非常广泛,不管是语音、图像还是股市、天气等各种数据的处理都可看见其身影。实际上,离散傅里叶变换更让人熟悉的名字是快速傅里叶变换 (Fast FT, FFT),两者内在原理是相同的,但是FFT利用DFT的性质,合并了部分运算,将 DFT 的运算复杂度从 O ( N 2 ) O\left( {{N^2}} \right) O(N2) 降至 O ( N log ⁡ N ) O\left( {N\log N} \right) O(NlogN),而正是这种改进让 DFT 能够真正地在各种需要保证实时性的应用中变得实用。

5 总结

在前面的章节中,我们从上而下地讨论了傅里叶级数 (FS),连续时间傅里叶变换 (CTFT),离散时间傅里叶变换 (DTFT) 与离散傅里叶变换 (DFT)。从它们的名字也可以看出,这种区分主要在于从时域与频域周期性,以及时域与频域的连续性。为了更直观地看出它们的区别,这里做个简单的总结,四者关系如图 1 所示。

傅里叶级数 (FS)

定义:

F [ n ] = 1 T ∫ − T / 2 T / 2 f ( t ) e − j n ω 0 t d t , f ( t ) = ∑ n = − ∞ ∞ F n e j n ω 0 t . (5.1) \begin{gathered} F\left[ n \right] = \frac{1}{T}\int\limits_{ - T/2}^{T/2} {f\left( t \right){e^{ - jn{\omega _0}t}}dt} , \\ f\left( t \right) = \sum\limits_{n = - \infty }^\infty {{F_n}{e^{jn{\omega _0}t}}} . \\ \end{gathered} \tag{5.1} F[n]=T1T/2T/2f(t)ejnω0tdt,f(t)=n=Fnejnω0t.(5.1)

其中 f ( t ) f\left( t \right) f(t) 为以 T = 2 π / ω 0 T = 2\pi /{\omega _0} T=2π/ω0 的周期连续时间函数, F [ n ] F\left[ n \right] F[n] 为离散序列。

连续时间傅里叶变换 (CTFT)

定义:

F ( j ω ) = ∫ − ∞ ∞ f ( t ) e − j ω t d t f ( t ) = 1 2 π ∫ − ∞ ∞ F ( j ω ) e j ω t d ω . (5.2) \begin{gathered} F\left( {j\omega } \right) = \int\limits_{ - \infty }^\infty {f\left( t \right){e^{ - j\omega t}}dt} \\ f\left( t \right) = \frac{1}{{2\pi }}\int\limits_{ - \infty }^\infty {F\left( {j\omega } \right){e^{j\omega t}}d\omega } . \\ \end{gathered} \tag{5.2} F()=f(t)etdtf(t)=2π1F()etdω.(5.2)

其中 f ( t ) f\left( t \right) f(t)为非周期连续时间函数, F ( j ω ) F\left( {j\omega } \right) F()为非周期连续频率函数。

离散时间傅里叶变换 (DTFT)

定义:

F ( e j ω ) = ∑ n = − ∞ ∞ f [ n ] e − j ω n . f [ n ] = 1 2 π ∫ − π π F ( e j ω ) e j ω n d ω . (5.3) \begin{gathered} F\left( {{e^{j\omega }}} \right) = \sum\limits_{n = - \infty }^\infty {f\left[ n \right]{e^{ - j\omega n}}} . \\ f\left[ n \right] = \frac{1}{{2\pi }}\int\limits_{ - \pi }^\pi {F\left( {{e^{j\omega }}} \right){e^{j\omega n}}d\omega } . \\ \end{gathered} \tag{5.3} F(e)=n=f[n]ejωn.f[n]=2π1ππF(e)ejωndω.(5.3)

其中 f [ n ] f\left[ n \right] f[n] 为无限长离散序列, F ( e j ω ) F\left( {{e^{j\omega }}} \right) F(e) 为以 2 π 2\pi 2π 为周期的连续频率函数。

离散傅里叶变换 (DFT)

定义:

F [ k ] = ∑ n = 0 N − 1 f [ n ] e − j 2 π k n N , f [ n ] = 1 N ∑ k = 0 N − 1 F [ k ] e j 2 π k n N . (5.4) \begin{gathered} F\left[ k \right] = \sum\limits_{n = 0}^{N - 1} {f\left[ n \right]{e^{ - j\tfrac{{2\pi kn}}{N}}}} , \\ f\left[ n \right] = \frac{1}{N}\sum\limits_{k = 0}^{N - 1} {F\left[ k \right]{e^{j\tfrac{{2\pi kn}}{N}}}} . \\ \end{gathered} \tag{5.4} F[k]=n=0N1f[n]ejN2πkn,f[n]=N1k=0N1F[k]ejN2πkn.(5.4)

其中 f [ n ] f\left[ n \right] f[n] F [ k ] F\left[ k \right] F[k] 为长度为 N N N 的有限长离散序列,且两者可以 N N N 为周期进行周期延拓,改变求和区间不影响结果。

图1 四种傅里叶变换形式的联系

由于这四种变换都是在 e j x {e^{jx}} ejx 即复平面的单位圆上进行分析的,它们是否能够收敛需要满足狄利克雷条件,即绝对可积与绝对可和等,这通常是比较苛刻的。例如信号与系统中最常见的单位阶跃信号明显不满足绝对可积的条件,因此我们无法求得其傅里叶变换。为此,通过加入缩放项,我们可以选择在 e x + j y {e^{x + jy}} ex+jy 即复平面中不限大小的圆上进行讨论,从而引出了对连续时间信号的拉普拉斯变换与对离散时间信号的 z 变换,这两种变换能够提供更大的收敛域,从而能够分析更多类型的信号,包括前面所述的单位阶跃信号,它们是对线性移不变系统的稳定性与延时等性质分析的强有力工具。

实际上,对离散傅里叶变换进一步讨论还可以发展出很多非常实用的变换形式。例如,通过对有限长离散实数序列进行偶对称延拓,可以获得只包含实数余弦函数运算的离散余弦变换。同理,通过对有限长离散实数序列进行奇对称延拓,可以获得只包含实数正弦函数运算的离散正弦变换。另外,离散傅里叶变换主要适用于平稳信号,即信号的频谱分布不随时间而改变,然而不少场景下这种假设是不成立的,例如通信中的调频会使载波的频率随时间而改变,而人说话时声音中的频谱分布也会随着单词的改变而发生变化。除此以外,对于需要持续运行的系统,由于信号的长度是无限的,对信号整体的离散傅里叶变换分析也是不可能的。基于以上原因,我们又引出了短时傅里叶变换与小波变换,这两种变换对于非平稳信号的分析与处理十分有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小程序】手动实现switch开关中带文字效果(开关左右文字相同/不同都可以)

最终效果&#xff1a; 左右文字宽度相同 左右文字宽度不同 左右长度相同 效果&#xff1a;配合wx:show切换 注意&#xff1a;左右长度相同的话可以设置合适的相同的宽度。 html&#xff1a; <view class"switch"><viewclass"switchNums {{ swi…

什么是Web1.0时代、Web2.0时代、Web3.0时代?

什么是Web1.0时代、Web2.0时代、Web3.0时代&#xff1f; 互联网的起源。1969年美国的阿帕网的出现标志着互联网的诞生&#xff0c;而1973年第一台个人电脑The Xerox Alto的出现就预示了互联网将蓬勃生长&#xff0c;随之而来的就是我们迈入了信息时代。短短几十年的发展&#x…

【服务器数据恢复】Storwize存储上的Oracle数据库数据恢复案例

服务器数据恢复环境&#xff1a; IBM Storwize某型号存储&#xff0c;共10块磁盘&#xff0c;组建了2组Mdisk加入到一个存储池中&#xff0c;创建了一个通用卷存放数据&#xff0c;存放的数据包含oracle数据库。 服务器故障&#xff1a; 存储中其中一组Mdisk有两块磁盘出现故障…

三百左右蓝牙耳机选哪个?300元左右半入耳式耳机推荐

目前TWS耳机十分火热&#xff0c;成为许多人出行、娱乐的必要工具&#xff0c;但同时许多厂商也看到了这块的市场&#xff0c;大小品牌、各种形态的耳机产品应有尽有&#xff0c;某宝随便一搜就是几万个链接&#xff0c;下面整理了几款300左右价位的耳机品牌分享给大家。 一、南…

【GPT4】微软 GPT-4 测试报告(2)多模态与跨学科的组合

欢迎关注【youcans的AGI学习笔记】原创作品&#xff0c;火热更新中 微软 GPT-4 测试报告&#xff08;1&#xff09;总体介绍 微软 GPT-4 测试报告&#xff08;2&#xff09;多模态与跨学科能力 微软 GPT-4 测试报告&#xff08;3&#xff09;编程能力 微软 GPT-4 测试报告&…

【服务器】XShell报错:应用程序无法正常启动(0xc000007b)

XShell报错&#xff1a;应用程序无法正常启动(0xc000007b) 某一天&#xff0c;Win上XShell启动时突然报错如下&#xff1a; 报错信息&#xff1a;应用程序无法正常启动(0x000007b)。请单击“确定”关闭应用程序。 卸载XShell重装后该问题仍然存在。 解决方法&#xff1a; 下…

设计模式 -- 迭代器模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

107页园区大数据治理解决方案2022(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 篇幅有限&#xff0c;无法完全展示&#xff0c;喜欢资料可转发评论&#xff0c;私信了解更多信息。

强训之【求最大连续的bit数和最近公共祖先】

目录 1.求最大连续的bit数1.1题目1.2思路1.2.1暴力求解1.2.2 字符串分割求解1.2.3 位运算“与”求解 1.3代码1.3.1暴力求解代码1.3.2字符串分割求解代码1.3.3位运算“与”求解 2.最近公共祖先2.1题目2.2思路2.3代码 3.选择题 1.求最大连续的bit数 1.1题目 链接: link 描述 求…

《花雕学AI》21:ChatGPT能否应对脑筋急转弯?逻辑推理和创造性思维的大考验!

当我们谈到脑筋急转弯时&#xff0c;很多人都会感到兴趣和好奇。脑筋急转弯是一种智力游戏&#xff0c;可以锻炼我们的思维能力以及解决问题的能力。然而&#xff0c;对于许多人来说&#xff0c;脑筋急转弯也是一项相当具有挑战性的任务。在这个过程中&#xff0c;我们需要运用…

RISE with SAP,亚马逊云科技开启全新的SAP现代化之路

在不确定性依然存在的当下&#xff0c;快速进行现代化转型与创新&#xff0c;是企业走向成功的必经之路。而现代化转型与创新对于众多企业而言&#xff0c;意味着对SAP进行现代化改造。实现这一改造&#xff0c;能为企业带来包括创新业务模型、快速响应客户不断变化的需求、增加…

推荐系统数据集之MovieLens

1.概述 MovieLens其实是一个推荐系统和虚拟社区网站&#xff0c;它由美国 Minnesota 大学计算机科学与工程学院的GroupLens项目组创办&#xff0c;是一个非商业性质的、以研究为目的的实验性站点。GroupLens研究组根据MovieLens网站提供的数据制作了MovieLens数据集合&#xff…

带有MCU算法的多功能语音交互芯片,OTA升级语音ic,WTV380-32N

几年来&#xff0c;随着智能家居、安防报警、医疗器械 等领域的快速发展&#xff0c;语音交互技术越来越受到人们的关注和青睐。作为智能硬件的重要组成部分&#xff0c;语音芯片的发展也变得越来越重要&#xff0c;针对这一市场需求&#xff0c;我们推出了一款多功能的语音芯片…

layout布局input框输入中文出现撑开/换行

layout布局input框输入中文出现撑开/换行 问题 element ui组件库中提供了layout布局&#xff0c;但是在使用中出现了一个奇奇怪怪的问题 我想要实现的布局是两个输入框排成一行&#xff0c;行与行之间样式布局不会互相影响 直接上代码&#xff1a; <el-row :gutter&quo…

海康相机通过MVS达不到标称最大帧率的解决办法

目录 1.相机参数设置1.1 取消相机帧率限制1.2 修改相机图像格式1.3 调整相机曝光时间1.4 检查相机数据包大小&#xff08;网口相机特有参数&#xff09;1.5 恢复相机默认参数1.6 相机 ADC 输出位深调整 2.系统环境设置2.1 网口相机设置2.2 USB 相机设置 1.相机参数设置 1.1 取…

pycharm flask断点调试失效

问题描述 在升级本地pycharm为最新版pycharm2023.1后&#xff0c;发现原有的flask项目下的断点怎么都无法进入调试。同时&#xff0c;如果是debug某个py文件是可以正常进入调试的&#xff0c;因此推断这与flask有关。 pycharm&#xff1a;PyCharm 2023.1 (Professional Editio…

STM32HAL库 OLED显示屏的使用

文章目录 前言一、CubeIDE配置OLED显示屏iic引脚二、OLED驱动库1.引入库2.main.c中使用 总结 前言 本文主要讲解hal库配置与0.96寸oled屏的使用。 一、CubeIDE配置OLED显示屏iic引脚 OLED显示屏需要用到iic通信&#xff0c;此处选择了选择pb8为SCL、pb9为SDA 二、OLED驱动…

vue2数据响应式原理(1) view-model概念,侵入式和非侵入式对比

都是练拳不练功 到头一场空 在更新技术视野的前提下 还是要去多学原理 掌握更深的技术范畴 我会先出文后续持续更新 讲解vue2响应式原理 至于vue3 后续有机会 也会弄 这些文章不会直降理论 到一定阶段 也会带大家手写代码去实现一下效果 首先是 view-model 大家在实际开发中应…

SpringBoot集成Mybatis-Plus实现多租户动态数据源

1. 概述 最近接手一个多租户系统&#xff0c;多租户主要的就是租户之间的数据是相互隔离的&#xff0c;每个租户拥有自己独立的数据&#xff0c;相互之间不干扰。目前实现多租户主要有三种方案&#xff1a; 独立数据库 每个租户拥有自己单独的数据库&#xff0c;从物理上隔离了…

Java语言数据类型与c语言数据类型的不同

目录 一、c语言数据类型 1.基本类型&#xff1a; 2.枚举类型&#xff1a; 3.空类型&#xff1a; 4.派生类型&#xff1a; 二、C语言编程需要注意的64位和32机器的区别 三、 不同之处 一、c语言数据类型 首先&#xff0c;先来整体介绍一下C语言的数据类型分类。 1.基…