当前位置: 首页 > news >正文

从零开始傅里叶变换

从零开始傅里叶变换

1 Overview

Motivation:从时域转换到频域。相当于提取了信号的频率特征,可以做进一步的处理和分析。
在这里插入图片描述

在这里插入图片描述

对于时域内的一个信号 f ( t ) f(t) f(t) ,可以通过傅里叶变换得到频域函数 F ( ω ) F(\omega) F(ω),同样也可以从频域转化为时域。

傅里叶变换:
F ( ω ) = ∫ − ∞ ∞ f ( t ) ⋅ e − i ω t d t F(\omega)=\int_{-\infty}^{\infty}f(t)\cdot e^{-i\omega t}\text{ d}t F(ω)=f(t)et dt
傅里叶逆变换:
f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e i ω t d ω f(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)e^{i\omega t} \text{ d} \omega f(t)=2π1F(ω)et dω

2 傅里叶级数

傅里叶级数:任意周期性函数(波形)都可以表示成多个正余弦函数的线性组合。
f ( t ) = a 0 2 + a 1 cos ⁡ ( ω t ) + b 1 sin ⁡ ( ω t ) + a 2 cos ⁡ ( ω t ) + b 2 sin ⁡ ( ω t ) + ⋯ = a 0 2 + ∑ n = 1 ∞ ( a n cos ⁡ ( n ω t ) + b n sin ⁡ ( n ω t ) ) \begin{align*} f(t)&=\frac{a_0}{2}+a_1\cos(\omega t)+b_1\sin(\omega t)+a_2\cos(\omega t)+b_2\sin(\omega t)+\cdots\\ &=\frac{a_0}{2}+\sum_{n=1}^{\infty}(a_n\cos(n\omega t)+b_n \sin(n\omega t))\\ \end{align*} f(t)=2a0+a1cos(ωt)+b1sin(ωt)+a2cos(ωt)+b2sin(ωt)+=2a0+n=1(ancos(t)+bnsin(t))
其中
a n = 2 T ∫ t 0 t o + T f ( t ) cos ⁡ ( n ω t ) d t b n = 2 T ∫ t 0 t o + T f ( t ) sin ⁡ ( n ω t ) d t a_n = \frac{2}{T} \int_{t_0}^{t_o+T}f(t)\cos(n\omega t)\text{d}t\\ b_n = \frac{2}{T} \int_{t_0}^{t_o+T}f(t)\sin(n\omega t)\text{d}t\\ an=T2t0to+Tf(t)cos(t)dtbn=T2t0to+Tf(t)sin(t)dt

2.1 基向量

为什么一个周期性函数(波形)可以表示成多个正余弦函数的线性组合?

  • Recall 空间中的基向量

    • M M M 维空间的任意一个向量都可以表示为该空间的基向量 Q = { q 1 , q 2 , ⋯ , q M } \mathbf Q=\{\mathbf q_1,\mathbf q_2,\cdots,\mathbf q_M\} Q={q1,q2,,qM} 的线性组合: v = x 1 q 1 + x 2 q 2 + ⋯ + x M q M \mathbf v=x_1\mathbf q_1+x_2\mathbf q_2 + \cdots +x_M \mathbf q_M v=x1q1+x2q2++xMqM
    • M M M 个基向量两两正交: q i ⊤ q j = 0 , ( i ≠ j ) \mathbf q_i^\top\mathbf q_j=0,\ \ (i\ne j) qiqj=0,  (i=j)
  • Recall 正交函数

    • 将函数看作向量,连续函数也就是一个维度 M = ∞ M=\infty M= 的向量。即一个在 [ a , b ] [a,b] [a,b] 上有定义的实函数 f ( x ) f(x) f(x) 可以表示为一个 M M M 维的向量 f \mathbf f f f ( x ) = f = ( f ( a ) , f ( a + Δ x ) , f ( a + 2 Δ x ) , ⋯ , f ( a + ( M − 1 ) Δ x ) ) f(x)=\mathbf f = (f(a),f(a+\Delta x),f(a+2\Delta x),\cdots,f(a+(M-1)\Delta x)) f(x)=f=(f(a),f(a+Δx),f(a+x),,f(a+(M1)Δx))。其中 Δ x → 0 \Delta x\to 0 Δx0 b = a + ( M − 1 ) Δ x b=a+(M-1)\Delta x b=a+(M1)Δx

    • 根据上文中提到的

      M M M 维空间的任意一个向量都可以表示为该空间的基向量 Q = { q 1 , q 2 , ⋯ , q M } \mathbf Q=\{\mathbf q_1,\mathbf q_2,\cdots,\mathbf q_M\} Q={q1,q2,,qM} 的线性组合

      那么 f \mathbf f f 可以由 M M M M M M 维的正交向量表示(基向量),找到基向量 g 0 , g 1 , ⋯ , g M − 1 \mathbf g_0, \mathbf g_1,\cdots,\mathbf g_{M-1} g0,g1,,gM1 表示为函数 g 0 , g 1 , ⋯ , g M − 1 g_0,g_1,\cdots,g_{M-1} g0,g1,,gM1
      g 0 = g 0 ( x ) = ( g 0 ( a ) , g 0 ( a + Δ x ) , g 0 ( a + 2 Δ x ) , ⋯ , g 0 ( a + ( M − 1 ) Δ x ) ) g 1 = g 1 ( x ) = ( g 1 ( a ) , g 1 ( a + Δ x ) , g 1 ( a + 2 Δ x ) , ⋯ , g 1 ( a + ( M − 1 ) Δ x ) ) ⋯ g M − 1 = g M − 1 ( x ) = ( g M − 1 ( a ) , g M − 1 ( a + Δ x ) , g M − 1 ( a + 2 Δ x ) , ⋯ , g M − 1 ( a + ( M − 1 ) Δ x ) ) \begin{align*} \mathbf g_0 &= g_0(x)=(g_0(a),g_0(a+\Delta x),g_0(a+2\Delta x),\cdots,g_0(a+(M-1)\Delta x))\\ \mathbf g_1 &= g_1(x)=(g_1(a),g_1(a+\Delta x),g_1(a+2\Delta x),\cdots,g_1(a+(M-1)\Delta x))\\ & \cdots\\ \mathbf g_{M-1} &= g_{M-1}(x)=(g_{M-1}(a),g_{M-1}(a+\Delta x),g_{M-1}(a+2\Delta x),\cdots,g_{M-1}(a+(M-1)\Delta x))\\ \end{align*} g0g1gM1=g0(x)=(g0(a),g0(a+Δx),g0(a+x),,g0(a+(M1)Δx))=g1(x)=(g1(a),g1(a+Δx),g1(a+x),,g1(a+(M1)Δx))=gM1(x)=(gM1(a),gM1(a+Δx),gM1(a+x),,gM1(a+(M1)Δx))
      可以得出 g 0 , g 1 , ⋯ , g M − 1 g_0,g_1,\cdots,g_{M-1} g0,g1,,gM1 是两两正交的函数,也就是: ∫ a b g i ( x ) g j ( x ) d x = 0 , ( i ≠ j ) \int_a^b g_i(x)g_j(x)\text{d}x=0,\ \ (i\ne j) abgi(x)gj(x)dx=0,  (i=j)

      那么 f \mathbf f f 可以由 g 0 , g 1 , ⋯ , g M − 1 g_0,g_1,\cdots,g_{M-1} g0,g1,,gM1 的线性组合来表示:
      f ( x ) = f = a 0 g 0 ( x ) + a 1 g 1 ( x ) + ⋯ + a M − 1 g M − 1 ( x ) f(x)=\mathbf f=a_0g_0(x)+a_1g_1(x)+\cdots+a_{M-1}g_{M-1}(x) f(x)=f=a0g0(x)+a1g1(x)++aM1gM1(x)
      为了求系数 a n a_n an,其中 n = 0 , ⋯ M − 1 n=0,\cdots M-1 n=0,M1,先在两边同时乘上 g n ( x ) g_n(x) gn(x),然后再对 x x x 积分
      ∫ a b f ( x ) g n ( x ) d x = ∫ a b ( a 0 g 0 ( x ) + a 1 g 1 ( x ) + ⋯ + a M − 1 g M − 1 ( x ) ) g n ( x ) d x = ∫ a b a 0 g 0 ( x ) g n ( x ) + a 1 g 1 ( x ) g n ( x ) + ⋯ a n g n ( x ) g n ( x ) + ⋯ + a M − 1 g M − 1 ( x ) g n ( x ) d x = ∫ a b 0 + 0 + ⋯ + a n g n ( x ) g n ( x ) + ⋯ + 0 d x = ∫ a b a n g n ( x ) g n ( x ) d x a n = ∫ a b f ( x ) g n ( x ) d x ∫ a b g n ( x ) g n ( x ) d x \begin{align*} \int_a^b f(x)g_n(x)\text{d} x&=\int_a^b (a_0g_0(x)+a_1g_1(x)+\cdots+a_{M-1}g_{M-1}(x))g_n(x) \text { d} x\\ &=\int_a^ba_0g_0(x)g_n(x)+a_1g_1(x)g_n(x)+\cdots a_ng_n(x)g_n(x)+\cdots+a_{M-1}g_{M-1}(x)g_n(x) \text { d} x\\ &=\int_a^b 0+0+\cdots +a_ng_n(x)g_n(x)+\cdots +0 \text { d} x\\ &=\int_a^b a_n g_n(x)g_n(x)\text { d} x\\ a_n&=\frac{\int_a^b f(x)g_n(x)\text d x}{\int_a^b g_n(x)g_n(x)\text { d} x} \end{align*} abf(x)gn(x)dxan=ab(a0g0(x)+a1g1(x)++aM1gM1(x))gn(x) dx=aba0g0(x)gn(x)+a1g1(x)gn(x)+angn(x)gn(x)++aM1gM1(x)gn(x) dx=ab0+0++angn(x)gn(x)++0 dx=abangn(x)gn(x) dx=abgn(x)gn(x) dxabf(x)gn(x)dx

2.2 三角函数系表示 f ( t ) f(t) f(t)

2.2.1 三角函数系的正交性

  • 三角函数系 1 , cos ⁡ ( ω t ) , sin ⁡ ( ω t ) , cos ⁡ ( 2 ω t ) , sin ⁡ ( 2 ω t ) , ⋯ ⋯ , cos ⁡ ( n ω t ) , sin ⁡ ( n ω t ) , ⋯ ⋯ 1,\cos (\omega t),\sin (\omega t),\cos (2 \omega t),\sin (2 \omega t), \cdots \ \cdots,\cos (n\omega t), \sin (n\omega t), \cdots\ \cdots 1,cos(ωt),sin(ωt),cos(2ωt),sin(2ωt), ,cos(t),sin(t),  就是这样的一组在区间 [ t 1 , t 2 ] [t_1,t_2] [t1,t2] 内两两正交的函数,即上文中的 g 0 ( t ) , g 1 ( t ) , ⋯ , g M − 1 ( t ) g_0(t),g_1(t),\cdots,g_{M-1}(t) g0(t),g1(t),,gM1(t)。这里 ω = 2 π t 2 − t 1 \omega = \frac{2\pi}{t_2-t_1} ω=t2t12π

  • 证明三角函数系确实是两两正交的,这些三角函数可以分为五类: 1 , cos ⁡ ( n ω t ) , cos ⁡ ( m ω t ) , sin ⁡ ( n ω t ) , sin ⁡ ( m ω t ) 1,\cos (n\omega t), \cos (m\omega t),\sin (n\omega t), \sin (m\omega t) 1,cos(t),cos(t),sin(t),sin(t)。这里 n ≠ m n\ne m n=m n , m = 1 , 2 , 3 ⋯ n,m=1,2,3\cdots n,m=1,2,3 即正整数。证明这五类两两正交即可

    • 1 ⊥ cos ⁡ ( n ω t ) : ∫ t 1 t 2 cos ⁡ ( n ω t ) d t = 0 1 \ \ \bot \ \ \cos (n\omega t): \int_{t_1}^{t_2} \cos (n\omega t) \text { d} t=0 1    cos(t):t1t2cos(t) dt=0

      由于 ω = 2 π t 2 − t 1 \omega = \frac{2\pi}{t_2-t_1} ω=t2t12π ,第 n n n 项三角函数 f trg n ( t ) = cos ⁡ ( n ω t ) f^{n}_{\text{trg}}(t)=\cos(n\omega t) ftrgn(t)=cos(t) 的周期 T n = 2 π n ω = t 2 − t 1 n T_n=\frac{2\pi}{n\omega}=\frac{t_2-t_1}{n} Tn=2π=nt2t1,可以得出 t 2 − t 1 = n T n t_2-t_1=nT_n t2t1=nTn,即区间 [ t 1 , t 2 ] [t_1,t_2] [t1,t2] cos ⁡ ( n ω t ) \cos (n\omega t) cos(t) 的周期的整数倍,即 [ t 2 , t 1 ] [t_2,t_1] [t2,t1] 一定是 cos ⁡ ( n ω t ) \cos (n\omega t) cos(t) 的一个周期,即可得出 ∫ t 1 t 2 cos ⁡ ( n ω t ) d t = 0 \int_{t_1}^{t_2} \cos (n\omega t) \text { d} t=0 t1t2cos(t) dt=0

    • 1 ⊥ sin ⁡ ( n ω t ) : ∫ t 1 t 2 sin ⁡ ( n ω t ) d t = 0 1 \ \ \bot \ \ \sin (n\omega t): \int_{t_1}^{t_2} \sin (n\omega t) \text { d} t=0 1    sin(t):t1t2sin(t) dt=0

      类似的,通过区间 [ t 2 , t 1 ] [t_2,t_1] [t2,t1] sin ⁡ ( n ω t ) \sin (n\omega t) sin(t) 的一个周期,可以证明 ∫ t 1 t 2 sin ⁡ ( n ω t ) d t = 0 \int_{t_1}^{t_2} \sin (n\omega t) \text { d} t=0 t1t2sin(t) dt=0

    • sin ⁡ ( n ω t ) ⊥ sin ⁡ ( m ω t ) : ∫ t 1 t 2 sin ⁡ ( n ω t ) sin ⁡ ( m ω t ) d t = 0 \sin (n\omega t) \bot \sin (m\omega t): \int_{t_1}^{t_2}\sin (n \omega t) \sin (m\omega t) \text{ d}t=0 sin(t)sin(t):t1t2sin(t)sin(t) dt=0

      根据积化和差:
      ∫ t 1 t 2 sin ⁡ ( n ω t ) sin ⁡ ( m ω t ) d t = ∫ t 1 t 2 − 1 2 ( cos ⁡ ( n + m ) ω t − cos ⁡ ( n − m ) ω t ) d t = − 1 2 ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) − cos ⁡ ( m ′ ω t d t ) = − 1 2 ( ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) d t − ∫ t 1 t 2 cos ⁡ ( m ′ ω t ) d t ) = 0 \begin{align*} \int_{t_1}^{t_2} \sin (n \omega t) \sin (m\omega t) \text{ d}t&=\int_{t_1}^{t_2} -\frac{1}{2}(\cos(n+m)\omega t-\cos(n-m)\omega t)\text{ d} t\\ &=-\frac{1}{2}\int_{t_1}^{t_2} \cos (n'\omega t)-\cos (m' \omega t \text{ d} t)\\ &=-\frac{1}{2} \left ( \int_{t_1}^{t_2} \cos (n'\omega t)\text{ d} t-\int_{t_1}^{t_2}\cos (m' \omega t) \text{ d} t\right )\\ &=0 \end{align*} t1t2sin(t)sin(t) dt=t1t221(cos(n+m)ωtcos(nm)ωt) dt=21t1t2cos(nωt)cos(mωt dt)=21(t1t2cos(nωt) dtt1t2cos(mωt) dt)=0

    • cos ⁡ ( n ω t ) ⊥ cos ⁡ ( m ω t ) : ∫ t 1 t 2 cos ⁡ ( n ω t ) cos ⁡ ( m ω t ) d t = 0 \cos (n \omega t) \bot \cos (m\omega t): \int_{t_1}^{t_2}\cos (n \omega t) \cos (m\omega t) \text{ d}t=0 cos(t)cos(t):t1t2cos(t)cos(t) dt=0

      类似地,根据积化和差:
      ∫ t 1 t 2 cos ⁡ ( n ω t ) cos ⁡ ( m ω t ) d t = ∫ t 1 t 2 1 2 ( cos ⁡ ( n + m ) ω t + cos ⁡ ( n − m ) ω t ) d t = 1 2 ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) + cos ⁡ ( m ′ ω t ) d t = 1 2 ( ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) d t + ∫ t 1 t 2 cos ⁡ ( m ′ ω t ) d t ) = 0 \begin{align*} \int_{t_1}^{t_2} \cos (n \omega t) \cos (m\omega t) \text{ d}t&=\int_{t_1}^{t_2} \frac{1}{2}(\cos(n+m)\omega t+\cos(n-m)\omega t)\text{ d} t\\ &=\frac{1}{2}\int_{t_1}^{t_2} \cos (n'\omega t)+\cos( m' \omega t) \text{ d} t\\ &=\frac{1}{2} \left ( \int_{t_1}^{t_2} \cos (n'\omega t)\text{ d} t+\int_{t_1}^{t_2}\cos (m' \omega t) \text{ d} t\right )\\ &=0 \end{align*} t1t2cos(t)cos(t) dt=t1t221(cos(n+m)ωt+cos(nm)ωt) dt=21t1t2cos(nωt)+cos(mωt) dt=21(t1t2cos(nωt) dt+t1t2cos(mωt) dt)=0

    • sin ⁡ ( n ω t ) ⊥ cos ⁡ ( m ω t ) : ∫ t 1 t 2 sin ⁡ ( n ω t ) cos ⁡ ( m ω t ) d t = 0 \sin (n \omega t) \bot \cos (m\omega t): \int_{t_1}^{t_2}\sin (n \omega t) \cos (m\omega t) \text{ d}t=0 sin(t)cos(t):t1t2sin(t)cos(t) dt=0 ,此时无需 m ≠ n m\ne n m=n

      由积化和差:
      ∫ t 1 t 2 sin ⁡ ( n ω t ) cos ⁡ ( m ω t ) d t = ∫ t 1 t 2 1 2 ( sin ⁡ ( n + m ) ω t + sin ⁡ ( n − m ) ω t ) d t = 1 2 ∫ t 1 t 2 sin ⁡ ( n ′ ω t ) + sin ⁡ ( m ′ ω t ) d t = 1 2 ( ∫ t 1 t 2 sin ⁡ ( n ′ ω t ) d t + ∫ t 1 t 2 sin ⁡ ( m ′ ω t ) d t ) = 0 \begin{align*} \int_{t_1}^{t_2} \sin (n \omega t) \cos (m\omega t) \text{ d}t&=\int_{t_1}^{t_2} \frac{1}{2}(\sin(n+m)\omega t+\sin(n-m)\omega t)\text{ d} t\\ &=\frac{1}{2}\int_{t_1}^{t_2} \sin (n'\omega t)+\sin (m' \omega t) \text{ d} t\\ &=\frac{1}{2} \left ( \int_{t_1}^{t_2} \sin (n'\omega t)\text{ d} t+\int_{t_1}^{t_2}\sin (m' \omega t) \text{ d} t\right )\\ &=0 \end{align*} t1t2sin(t)cos(t) dt=t1t221(sin(n+m)ωt+sin(nm)ωt) dt=21t1t2sin(nωt)+sin(mωt) dt=21(t1t2sin(nωt) dt+t1t2sin(mωt) dt)=0

  • 也就是说三角函数系有正交性,也就是一个在 [ t 1 , t 2 ] [t_1,t_2] [t1,t2] 有定义的 f ( t ) f(t) f(t),可以表示为
    f ( t ) = a 0 + a 1 cos ⁡ ( ω t ) + b 1 sin ⁡ ( ω t ) + ⋯ + a n cos ⁡ ( n ω t ) + b n sin ⁡ ( n ω t ) + ⋯ = a 0 + ∑ n = 1 ∞ ( a n cos ⁡ ( n ω t ) + b n sin ⁡ ( n ω t ) ) \begin{align*} f(t)&=a_0+a_1\cos (\omega t)+b_1\sin(\omega t)+\cdots+a_n\cos (n \omega t)+b_n\sin (n\omega t)+\cdots \\ &=a_0+\sum_{n=1}^{\infty}(a_n\cos (n\omega t)+b_n\sin (n\omega t)) \end{align*} f(t)=a0+a1cos(ωt)+b1sin(ωt)++ancos(t)+bnsin(t)+=a0+n=1(ancos(t)+bnsin(t))

2.2.2 三角函数系的系数

如何求得表示 f ( t ) f(t) f(t) 的三角函数系的系数?

  • 那么接下来需要求得 f ( t ) f(t) f(t) 函数的系数。与上文的正交函数类似,与正交函数中的系数 a n a_n an 相比,此处有三处系数 a 0 , a n a_0,a_n a0,an b n b_n bn (此时 n > 0 n>0 n>0

    • 首先求 a 0 a_0 a0 的值,对 t t t 求积分:
      ∫ t 1 t 2 f ( t ) d t = ∫ t 1 t 2 ( a 0 + ∑ n = 1 ∞ ( a n cos ⁡ ( n ω ) t + b n sin ⁡ ( n ω t ) ) d t ) d t = ∫ t 1 t 2 a 0 d t + 0 = ( t 2 − t 1 ) a 0 a 0 = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) d t = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( 0 ω t ) d t \begin{align*} \int_{t_1}^{t_2}f(t)\text{ d}t&=\int_{t_1}^{t_2}\left (a_0+\sum_{n=1}^{\infty}(a_n\cos (n\omega )t+b_n\sin (n\omega t))\text{ d}t\right )\text{ d}t\\ &=\int_{t_1}^{t_2}a_0\text{ d}t+0\\ &=(t_2-t_1)a_0\\ a_0 &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\text{ d}t\\ &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \cos (0\omega t) \text{ d}t \end{align*} t1t2f(t) dta0=t1t2(a0+n=1(ancos()t+bnsin(t)) dt) dt=t1t2a0 dt+0=(t2t1)a0=t2t11t1t2f(t) dt=t2t11t1t2f(t)cos(0ωt) dt

    • 为了求系数 a n / b n a_n/b_n an/bn,为等式两边乘上 a n / b n a_n/b_n an/bn 的对应项 cos ⁡ n ω t / sin ⁡ n ω t \cos n\omega t/\sin n\omega t cost/sint 再求积分,去掉值为0的正交项,只留下 m = n m=n m=n 时的 cos ⁡ / sin ⁡ ) \cos/\sin) cos/sin) 项。为区分符号设定此时 ω = 2 π t 2 − t 1 \omega=\frac{2\pi}{t_2-t_1} ω=t2t12π
      ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( m ω t ) d t = a 0 ∫ t 1 t 2 cos ⁡ ( m ω t ) d t + ∑ n = 1 ∞ ( a n ∫ t 1 t 2 cos ⁡ ( m ω t ) ⋅ cos ⁡ ( n ω t ) d t + b n ∫ t 1 t 2 cos ⁡ ( m ω t ) ⋅ sin ⁡ ( n ω t ) d t ) = 0 + a n ∫ t 1 t 2 cos ⁡ 2 ( n ω t ) d t + 0 \begin{align*} \int_{t_1}^{t_2}f(t)\cdot \cos (m\omega t) \text{ d}t&=a_0\int_{t_1}^{t_2} \cos (m\omega t) \text{ d}t + \sum_{n=1}^{\infty}\left(a_n\int_{t_1}^{t_2} \cos (m\omega t)\cdot \cos (n\omega t)\text{ d} t+b_n \int_{t_1}^{t_2} \cos (m\omega t)\cdot\sin (n\omega t)\text{ d}t\right )\\ &= 0 + a_n \int_{t_1}^{t_2} \cos^2 (n\omega t)\text{ d}t + 0 \end{align*} t1t2f(t)cos(t) dt=a0t1t2cos(t) dt+n=1(ant1t2cos(t)cos(t) dt+bnt1t2cos(t)sin(t) dt)=0+ant1t2cos2(t) dt+0
      利用倍角公式 cos ⁡ 2 α = 2 cos ⁡ 2 α − 1 \cos 2\alpha=2\cos^2\alpha-1 cos2α=2cos2α1,得到:
      ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( n ω t ) d t = a n ∫ t 1 t 2 cos ⁡ 2 ( n ω t ) d t = a n 2 ∫ t 1 t 2 ( 1 + cos ⁡ ( 2 n ω t ) ) d t = a n 2 ( ∫ t 1 t 2 1 d t + ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) d t ) = a n ( t 2 − t 1 ) 2 a n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( n ω t ) d t \begin{align*} \int_{t_1}^{t_2}f(t)\cdot \cos (n\omega t) \text{ d}t &= a_n \int_{t_1}^{t_2} \cos^2 (n\omega t)\text{ d}t\\ &=\frac{a_n}{2}\int_{t_1}^{t_2}(1+\cos (2n\omega t))\text{ d}t\\ &=\frac{a_n}{2}\left(\int_{t_1}^{t_2}1\text{ d}t+\int_{t_1}^{t_2}\cos (n'\omega t) \text{ d}t\right)\\ &=\frac{a_n(t_2-t_1)}{2}\\ a_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \cos (n\omega t) \text{ d}t \end{align*} t1t2f(t)cos(t) dtan=ant1t2cos2(t) dt=2ant1t2(1+cos(2t)) dt=2an(t1t21 dt+t1t2cos(nωt) dt)=2an(t2t1)=t2t12t1t2f(t)cos(t) dt

    • 同理,利用倍角公式 cos ⁡ 2 α = 1 − 2 sin ⁡ 2 α \cos 2\alpha = 1-2\sin^2\alpha cos2α=12sin2α,可得
      ∫ t 1 t 2 f ( t ) ⋅ sin ⁡ ( m ω t ) d t = a 0 ∫ t 1 t 2 sin ⁡ ( m ω t ) d t + ∑ n = 1 ∞ ( a n ∫ t 1 t 2 sin ⁡ ( m ω t ) ⋅ cos ⁡ ( n ω t ) d t + b n ∫ t 1 t 2 sin ⁡ ( m ω t ) ⋅ sin ⁡ ( n ω t ) d t ) = 0 + b n ∫ t 1 t 2 sin ⁡ 2 ( n ω t ) d t + 0 = b n 2 ∫ t 1 t 2 ( 1 − cos ⁡ ( 2 n ω t ) ) d t = b n 2 ( ∫ t 1 t 2 1 d t − ∫ t 1 t 2 cos ⁡ ( n ′ ω t ) d t ) = b n ( t 2 − t 1 ) 2 b n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ sin ⁡ ( n ω t ) d t \begin{align*} \int_{t_1}^{t_2}f(t)\cdot \sin (m\omega t) \text{ d}t&=a_0\int_{t_1}^{t_2} \sin (m\omega t) \text{ d}t + \sum_{n=1}^{\infty}\left(a_n\int_{t_1}^{t_2} \sin (m\omega t)\cdot \cos (n\omega t)\text{ d} t+b_n \int_{t_1}^{t_2} \sin (m\omega t)\cdot\sin (n\omega t)\text{ d}t\right )\\ &= 0 + b_n \int_{t_1}^{t_2} \sin^2 (n\omega t)\text{ d}t + 0\\ &=\frac{b_n}{2}\int_{t_1}^{t_2}(1-\cos (2n\omega t))\text{ d}t\\ &=\frac{b_n}{2}\left(\int_{t_1}^{t_2}1\text{ d}t-\int_{t_1}^{t_2}\cos (n'\omega t) \text{ d}t\right)\\ &=\frac{b_n(t_2-t_1)}{2}\\ b_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \sin (n\omega t) \text{ d}t \end{align*} t1t2f(t)sin(t) dtbn=a0t1t2sin(t) dt+n=1(ant1t2sin(t)cos(t) dt+bnt1t2sin(t)sin(t) dt)=0+bnt1t2sin2(t) dt+0=2bnt1t2(1cos(2t)) dt=2bn(t1t21 dtt1t2cos(nωt) dt)=2bn(t2t1)=t2t12t1t2f(t)sin(t) dt
      对比 a 0 , a n a_0,a_n a0,an b n b_n bn ,为了能使 n n n 也能表示 n = 0 n=0 n=0 的情况,令 a 0 = 2 a 0 a_0=2a_0 a0=2a0。此时我们可以得到
      f ( t ) = a 0 2 + ∑ n = 1 ∞ ( a n cos ⁡ ( n ω t ) + b n sin ⁡ ( n ω t ) ) a 0 = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) d t a n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( n ω t ) d t b n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ sin ⁡ ( n ω t ) d t \begin{align*} f(t)&=\frac{a_0}{2}+\sum_{n=1}^{\infty}\left (a_n\cos(n\omega t)+b_n \sin(n\omega t)\right )\\ a_0&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t) \text{ d}t\\ a_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \cos (n\omega t) \text{ d}t \\ b_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \sin (n\omega t) \text{ d}t \end{align*} f(t)a0anbn=2a0+n=1(ancos(t)+bnsin(t))=t2t12t1t2f(t) dt=t2t12t1t2f(t)cos(t) dt=t2t12t1t2f(t)sin(t) dt

至此傅里叶级数可以将任意一个周期函数 f ( t ) f(t) f(t) 分解为多个三角函数的组合,从而完成时域到频域的转换。而傅里叶级数是处理周期函数的,为了处理非周期的普通函数,需要把周期 T T T 2 π 2\pi 2π 趋向于无穷,也就是傅里叶变换。

2.3 复指数函数系表示 f ( t ) f(t) f(t)

2.3.1 复指数函数系的系数

在傅里叶变换之前,我们使用一个更加简单直观的表示,将傅里叶的三角函数形式转化为傅里叶的复指数形式。由欧拉公式 e i θ = cos ⁡ ( θ ) + i sin ⁡ ( θ ) e^{i\theta}=\cos(\theta)+i\sin(\theta) eiθ=cos(θ)+isin(θ) 可得:
cos ⁡ ( n ω t ) = 1 2 ( e i n ω t + e − i n ω t ) sin ⁡ ( n ω t ) = 1 2 i ( e i n ω t − e − i n ω t ) = − i 2 ( e i n ω t − e − i n ω t ) \begin{align*} \cos(n\omega t)&=\frac{1}{2}(e^{in\omega t}+e^{-in\omega t})\\ \sin(n\omega t)&=\frac{1}{2i}(e^{in\omega t}-e^{-in\omega t})=-\frac{i}{2}(e^{in\omega t}-e^{-in\omega t}) \end{align*} cos(t)sin(t)=21(einωt+einωt)=2i1(einωteinωt)=2i(einωteinωt)
代入 f ( x ) f(x) f(x)
f ( t ) = a 0 2 + ∑ n = 1 ∞ ( a n 2 ( e i n ω t + e − i n ω t ) − i b n 2 ( e i n ω t − e − i n ω t ) ) = a 0 2 + ∑ n = 1 ∞ ( a n − i b n 2 e i n ω t + a n + i b n 2 e − i n ω t ) \begin{align*} f(t)&=\frac{a_0}{2}+\sum_{n=1}^{\infty}\left (\frac{a_n}{2}(e^{in\omega t}+e^{-in\omega t})-\frac{ib_n}{2} (e^{in\omega t}-e^{-in\omega t})\right )\\ &=\frac{a_0}{2}+\sum_{n=1}^\infty \left(\frac{a_n-ib_n}{2}e^{in\omega t} +\frac{a_n+ib_n}{2}e^{-in\omega t}\right) \end{align*} f(t)=2a0+n=1(2an(einωt+einωt)2ibn(einωteinωt))=2a0+n=1(2anibneinωt+2an+ibneinωt)
重新求系数:
a n − i b n 2 = 1 t 2 − t 1 ( ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( n ω t ) d t − i ⋅ ∫ t 1 t 2 f ( t ) ⋅ sin ⁡ ( n ω t ) d t ) = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ ( cos ⁡ ( n ω t ) − i ⋅ sin ⁡ ( n ω t ) ) d t = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ ( 1 2 ( e i n ω t + e − i n ω t ) − i ⋅ 1 2 i ( e i n ω t − e − i n ω t ) ) d t = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ e − i n ω t d t a n + i b n 2 = 1 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ e i n ω t d t \begin{align*} \frac{a_n-ib_n}{2}&=\frac{1}{t_2-t_1}\left (\int_{t_1}^{t_2}f(t)\cdot \cos (n\omega t) \text{ d}t-i\cdot \int_{t_1}^{t_2}f(t)\cdot \sin (n\omega t) \text{ d}t\right )\\ &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot(\cos (n\omega t)-i\cdot\sin(n\omega t))\text{ d}t\\ &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot\left (\frac{1}{2}(e^{in\omega t}+e^{-in\omega t})-i\cdot\frac{1}{2i}(e^{in\omega t}-e^{-in\omega t})\right)\text{ d}t\\ &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot e^{-in\omega t}\text{ d}t\\ \frac{a_n+ib_n}{2}&=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot e^{in\omega t}\text{ d}t \end{align*} 2anibn2an+ibn=t2t11(t1t2f(t)cos(t) dtit1t2f(t)sin(t) dt)=t2t11t1t2f(t)(cos(t)isin(t)) dt=t2t11t1t2f(t)(21(einωt+einωt)i2i1(einωteinωt)) dt=t2t11t1t2f(t)einωt dt=t2t11t1t2f(t)einωt dt
代入 f ( t ) f(t) f(t) ,为了区分,将原系数 a 0 , a n a_0,a_n a0,an b n b_n bn 中的 t t t 表示为 τ \tau τ 。可得:
f ( t ) = a 0 2 + ∑ n = 1 ∞ ( ( 1 t 2 − t 1 ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ ) e i n ω t + ( 1 t 2 − t 1 ∫ t 1 t 2 f ( τ ) ⋅ e i n ω τ d τ ) e − i n ω t ) = a 0 2 + 1 t 2 − t 1 ∑ n = 1 ∞ ( ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ ) e i n ω t + 1 t 2 − t 1 ∑ n = 1 ∞ ( ∫ t 1 t 2 f ( τ ) ⋅ e i n ω τ d τ ) e − i n ω t = 1 t 2 − t 1 ∫ t 1 t 2 f ( τ ) d τ + 1 t 2 − t 1 ∑ n = 1 ∞ ( ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ ) e i n ω t + 1 t 2 − t 1 ∑ n = − ∞ − 1 ( ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ ) e i n ω t = 1 t 2 − t 1 ∑ n = − ∞ ∞ ( ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ ) e i n ω t = ∑ n = − ∞ ∞ c n e i n ω t c n = 1 t 2 − t 1 ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ \begin{align*} f(t)&=\frac{a_0}{2}+\sum_{n=1}^\infty \left(\left(\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau\right)e^{in\omega t} +\left(\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(\tau)\cdot e^{in\omega \tau}\text{ d}\tau\right)e^{-in\omega t}\right)\\ &=\frac{a_0}{2}+\frac{1}{t_2-t_1}\sum_{n=1}^\infty \left(\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \right)e^{in\omega t}+\frac{1}{t_2-t_1}\sum_{n=1}^\infty \left(\int_{t_1}^{t_2}f(\tau)\cdot e^{in\omega \tau}\text{ d}\tau \right)e^{-in\omega t}\\ &=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(\tau) \text{ d}\tau+\frac{1}{t_2-t_1}\sum_{n=1}^\infty \left(\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \right)e^{in\omega t}+\frac{1}{t_2-t_1}\sum_{n=-\infty}^{-1} \left(\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \right)e^{in\omega t}\\ &=\frac{1}{t_2-t_1}\sum_{n=-\infty}^\infty \left(\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \right)e^{in\omega t}\\ &=\sum_{n=-\infty}^{\infty}c_ne^{in\omega t}\\ c_n&=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \end{align*} f(t)cn=2a0+n=1((t2t11t1t2f(τ)einωτ dτ)einωt+(t2t11t1t2f(τ)einωτ dτ)einωt)=2a0+t2t11n=1(t1t2f(τ)einωτ dτ)einωt+t2t11n=1(t1t2f(τ)einωτ dτ)einωt=t2t11t1t2f(τ) dτ+t2t11n=1(t1t2f(τ)einωτ dτ)einωt+t2t11n=1(t1t2f(τ)einωτ dτ)einωt=t2t11n=(t1t2f(τ)einωτ dτ)einωt=n=cneinωt=t2t11t1t2f(τ)einωτ dτ
也就是将 f ( t ) f(t) f(t) 看作基向量 e i n ω t e^{in\omega t} einωt 的线性组合。同样,此时傅里叶级数可以将任意一个周期函数 f ( x ) f(x) f(x) 分解为多个复指数形式的组合,从而完成时域到频域的转换。

2.3.2 复指数函数系的正交性

证明 e i n ω t e^{in\omega t} einωt 确实可以作为基向量,即证明复指数函数系的正交性,即证明对于 n ≠ m n\ne m n=m ,相对应的复指数内积 ⟨ e i n ω t , e i m ω t ⟩ = 0 \left \langle e^{in\omega t},e^{im\omega t} \right \rangle=0 einωt,eimωt=0。注意两个复函数内积时要对一个求共轭,即 ⟨ f , g ⟩ : = ∫ a b f ( t ) g ( t ) ‾ d t \left \langle f,g\right \rangle:=\int_a^b f(t)\overline{g(t)}\text{ d}t f,g:=abf(t)g(t) dt
⟨ e i n ω t , e i m ω t ⟩ = ∫ t 1 t 2 e i n ω t ⋅ e − i m ω t d t = ∫ t 1 t 2 e i ω t ( n − m ) d t = 1 i ω ( n − m ) e i ω t ( n − m ) ∣ t 1 t 2 = 1 i ω ( n − m ) ( e i ω ( n − m ) t 2 − e i ω ( n − m ) t 1 ) \begin{align*} \left \langle e^{in\omega t},e^{im\omega t} \right \rangle&=\int_{t_1}^{t_2} e^{in\omega t}\cdot e^{-im\omega t} \text{ d}t\\ &=\int_{t_1}^{t_2} e^{i\omega t(n-m)} \text{ d}t\\ &=\frac{1}{i\omega(n-m)}e^{i\omega t(n-m)}\bigg|_{t_1}^{t_2}\\ &=\frac{1}{i\omega(n-m)}\left (e^{i\omega (n-m)t_2}-e^{i\omega (n-m)t_1}\right) \end{align*} einωt,eimωt=t1t2einωteimωt dt=t1t2et(nm) dt=(nm)1et(nm) t1t2=(nm)1(e(nm)t2e(nm)t1)
由于 f cplx n ( t ) = e i n ω t f^{n}_{\text{cplx}}(t)=e^{in\omega t} fcplxn(t)=einωt 的周期 T n = 2 π n ω = t 2 − t 1 n T_n=\frac{2\pi}{n\omega}=\frac{t_2-t_1}{n} Tn=2π=nt2t1 ,可以得出 t 2 − t 1 = n T n t_2-t_1=nT_n t2t1=nTn,即区间 [ t 1 , t 2 ] [t_1,t_2] [t1,t2] f cplx n ( t ) f^{n}_{\text{cplx}}(t) fcplxn(t) 的周期的整数倍,即 [ t 2 , t 1 ] [t_2,t_1] [t2,t1] 一定是 f cplx n ( t ) f^{n}_{\text{cplx}}(t) fcplxn(t) 的一个周期,即 f cplx n ( t 1 ) = f cplx n ( t 2 ) f^{n}_{\text{cplx}}(t_1)=f^{n}_{\text{cplx}}(t_2) fcplxn(t1)=fcplxn(t2),那么当 n = n − m = n ′ n=n-m=n' n=nm=n 时:
⟨ e i n ω t , e i m ω t ⟩ = 1 i ω ( n − m ) ( e i ω n ′ t 2 − e i ω n ′ t 1 ) = 1 i ω ( n − m ) ( f cplx n ′ ( t 2 ) − f cplx n ′ ( t 1 ) ) = 1 i ω ( n − m ) ⋅ 0 = 0 \begin{align*} \left \langle e^{in\omega t},e^{im\omega t} \right \rangle&=\frac{1}{i\omega(n-m)}\left (e^{i\omega n't_2}-e^{i\omega n't_1}\right)\\ &=\frac{1}{i\omega(n-m)}\left (f^{n'}_{\text{cplx}}(t_2)-f^{n'}_{\text{cplx}}(t_1)\right)\\ &=\frac{1}{i\omega(n-m)}\cdot 0\\ &=0 \end{align*} einωt,eimωt=(nm)1(ent2ent1)=(nm)1(fcplxn(t2)fcplxn(t1))=(nm)10=0

2.4 傅里叶级数总结

至此我们得到了周期性信号 f ( t ) f(t) f(t) 的三角函数系表示:
f ( t ) = a 0 2 + ∑ n = 1 ∞ ( a n cos ⁡ ( n ω t ) + b n sin ⁡ ( n ω t ) ) a 0 = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) d t a n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ cos ⁡ ( n ω t ) d t b n = 2 t 2 − t 1 ∫ t 1 t 2 f ( t ) ⋅ sin ⁡ ( n ω t ) d t \begin{align*} f(t)&=\frac{a_0}{2}+\sum_{n=1}^{\infty}\left (a_n\cos(n\omega t)+b_n \sin(n\omega t)\right )\\ a_0&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t) \text{ d}t\\ a_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \cos (n\omega t) \text{ d}t \\ b_n&=\frac{2}{t_2-t_1}\int_{t_1}^{t_2}f(t)\cdot \sin (n\omega t) \text{ d}t \end{align*} f(t)a0anbn=2a0+n=1(ancos(t)+bnsin(t))=t2t12t1t2f(t) dt=t2t12t1t2f(t)cos(t) dt=t2t12t1t2f(t)sin(t) dt
和复指数函数系表示:
f ( t ) = ∑ n = − ∞ ∞ c n e i n ω t c n = 1 t 2 − t 1 ∫ t 1 t 2 f ( τ ) ⋅ e − i n ω τ d τ \begin{align*} f(t) &=\sum_{n=-\infty}^{\infty}c_ne^{in\omega t}\\ c_n&=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}f(\tau)\cdot e^{-in\omega \tau}\text{ d}\tau \end{align*} f(t)cn=n=cneinωt=t2t11t1t2f(τ)einωτ dτ
其中 t 2 − t 1 t_2-t_1 t2t1 f ( t ) f(t) f(t) 的一个周期, ω = 2 π t 2 − t 1 \omega=\frac{2\pi}{t_2-t_1} ω=t2t12π

3 傅里叶变换

此时的傅里叶级数只是针对周期性函数的,即转换为频域时,频率的个数是有限多个,即频域图是离散的。傅里叶变换就是将傅里叶级数推广到一般的非周期性函数。

接下来对复指数形式的傅里叶级数进行一个从离散到连续的过程,即将傅里叶级数扩展到非周期性函数(周期无限大的函数)中。这里要用到黎曼积分的定义。此时 ω = 2 π t 2 − t 1 \omega=\frac{2\pi}{t_2-t_1} ω=t2t12π, 当周期 t 2 − t 1 → ∞ t_2-t_1\to\infty t2t1 时, ω → 0 \omega \to 0 ω0。此时我们令:
ω n = n ω = 2 π n t 2 − t 1 F ( ω ) = ∫ t 1 t 2 f ( τ ) ⋅ e − i ω τ d τ \begin{align*} \omega_n&=n\omega=\frac{2\pi n}{t_2-t_1}\\ F(\omega)&=\int_{t_1}^{t_2}f(\tau)\cdot e^{-i\omega \tau}\text{ d}\tau \end{align*} ωnF(ω)==t2t12πn=t1t2f(τ)eτ dτ
那么 f ( t ) f(t) f(t) 可以写成:
f ( t ) = ∑ n = − ∞ ∞ 1 t 2 − t 1 F ( ω n ) e i ω n t \begin{align*} f(t)=\sum_{n=-\infty}^{\infty}\frac{1}{t_2-t_1}F(\omega_n)e^{i\omega_n t} \end{align*} f(t)=n=t2t11F(ωn)eiωnt
根据积分的黎曼和表达式 :
∫ a b f riman ( x ) d x = lim ⁡ λ → 0 ∑ n = 0 ∞ f riman ( x n ) ⋅ λ \int_a^bf_{\text{riman}}(x)\text{ d}x = \underset{\lambda\to 0}{\lim}\sum_{n=0}^{\infty}f_{\text{riman}}(x_n)\cdot \lambda abfriman(x) dx=λ0limn=0friman(xn)λ
则对于 f ( t ) f(t) f(t) 来说:
f riman ( ω ) = F ( ω ) e i ω t λ = Δ ω = ω n − ω n − 1 = 2 π n t 2 − t 1 − 2 π ( n − 1 ) t 2 − t 1 = 2 π t 2 − t 1 \begin{align*} f_{\text{riman}}(\omega)&=F(\omega)e^{i\omega t}\\ \lambda & = \Delta \omega= \omega_n-\omega_{n-1}=\frac{2\pi n}{t_2-t_1} - \frac{2\pi (n-1)}{t_2-t_1}=\frac{2\pi}{t_2-t_1} \end{align*} friman(ω)λ=F(ω)et=Δω=ωnωn1=t2t12πnt2t12π(n1)=t2t12π
因此可以将 f ( t ) f(t) f(t) 写成
f ( t ) = 1 2 π ∑ n = − ∞ ∞ 2 π t 2 − t 1 F ( ω n ) e i ω n t = 1 2 π ∑ n = − ∞ ∞ λ ⋅ f riman ( ω n ) = 1 2 π ∫ − ∞ ∞ f riman ( ω ) d ω = 1 2 π ∫ − ∞ ∞ F ( ω ) e i ω t d ω \begin{align*} f(t)&=\frac{1}{2\pi}\sum_{n=-\infty}^{\infty}\frac{2\pi}{t_2-t_1}F(\omega_n)e^{i\omega_n t}\\ &= \frac{1}{2\pi}\sum_{n=-\infty}^{\infty}\lambda \cdot f_{\text{riman}}(\omega_n)\\ &=\frac{1}{2\pi}\int_{-\infty}^{\infty} f_{\text{riman}}(\omega) \text{ d} \omega\\ &=\frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)e^{i\omega t} \text{ d} \omega \end{align*} f(t)=2π1n=t2t12πF(ωn)eiωnt=2π1n=λfriman(ωn)=2π1friman(ω) dω=2π1F(ω)et dω
此时周期 t 2 − t 1 → ∞ t_2-t_1\to\infty t2t1,这就是傅里叶变换:
F ( ω ) = ∫ − ∞ ∞ f ( t ) ⋅ e − i ω t d t F(\omega)=\int_{-\infty}^{\infty}f(t)\cdot e^{-i\omega t}\text{ d}t F(ω)=f(t)et dt
和傅里叶逆变换:
f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e i ω t d ω f(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)e^{i\omega t} \text{ d} \omega f(t)=2π1F(ω)et dω

参考资料:

深入理解正交函数 https://zhuanlan.zhihu.com/p/338045910

傅里叶分析之掐死教程 https://zhuanlan.zhihu.com/p/19763358

三角函数和 e i k x e^{ikx} eikx的正交性 https://zhuanlan.zhihu.com/p/597931378

如何理解傅里叶变换公式?https://www.zhihu.com/question/19714540/answer/1119070975

傅里叶变换 https://zhuanlan.zhihu.com/p/104079068

浅谈傅里叶变换:关于傅里叶变换的几种几何学解释 https://mp.weixin.qq.com/s/rkDrHrTJwAbGL0znvnk_pA

傅里叶系列(二)傅里叶变换的推导 https://zhuanlan.zhihu.com/p/41875010

相关文章:

从零开始傅里叶变换

从零开始傅里叶变换 1 Overview2 傅里叶级数2.1 基向量2.2 三角函数系表示 f ( t ) f(t) f(t)2.2.1 三角函数系的正交性2.2.2 三角函数系的系数 2.3 复指数函数系表示 f ( t ) f(t) f(t)2.3.1 复指数函数系的系数2.3.2 复指数函数系的正交性 2.4 傅里叶级数总结 3 傅里叶变换…...

解决1万条数据前端渲染不卡的问题

万级数据前端渲染优化 解决思路requestAnimationFrame完整代码 解决思路 将数据分组,通过定时器或requestAnimationFrame两种方式分组渲染到Dom上 requestAnimationFrame 渲染数据-动画requestAnimationFram方法 使用requestAnimationFrame可以将动画的每一帧绘制…...

如何编写一个API——Python代码示例及拓展

下面是一个必备的API的demo,包括用户认证、数据库交互、错误处理和更复杂的异步任务处理。使用Flask来创建一个RESTful API,涉及用户注册、登录、以及获取用户信息的功能。 示例1:编写API 安装依赖 首先,你需要安装以下库来支持示例的功能: pip install flask flask-c…...

UMPNet: Universal Manipulation Policy Network for Articulated Objects

1. 摘要 UMPNet是一个基于图像的策略网络,能够推理用于操纵铰接物体的闭环动作序列。该策略支持6DoF动作表示和可变长度轨迹。 为处理多种类的物体,该策略从不同的铰接结构中学习,并泛化到未见过的物体或类别上。该策略是以自监督探索的方式…...

高通 Android 12/13冻结屏幕

冻结屏幕很多第一次听到以为是Android一种异常现象,实则不然,就是防止用户在做一些非法操作导致问题防止安全漏洞问题。 1、主要通过用户行为比如禁止下拉状态栏和按键以及onTouch事件拦截等,不知道请看这篇文章(Touch事件传递流…...

C++实现图的存储和遍历

前言 许多新手友友在初学算法和数据结构时,会被图论支配过。我这里整理了一下图论常见的存储和遍历方式,仅供参考。如有问题,欢迎大佬们批评指正。 存储我将提到四种方式:邻接矩阵、vector实现邻接表、数组模拟单链表实现的前向星…...

AI--构建检索增强生成 (RAG) 应用程序

LLM 所实现的最强大的应用之一是复杂的问答 (Q&A) 聊天机器人。这些应用程序可以回答有关特定源信息的问题。这些应用程序使用一种称为检索增强生成 (RAG) 的技术。 典型的 RAG 应用程序有两个主要组件 索引:从源中提取数据并对其进行索引的管道。这通常在线下…...

QT7_视频知识点笔记_4_文件操作,Socket通信:TCP/UDP

1.事件分发器&#xff0c;事件过滤器&#xff08;重要程度&#xff1a;一般&#xff09; event函数 2.文件操作&#xff08;QFile&#xff09; 实现功能&#xff1a;点击按钮&#xff0c;弹出对话框&#xff0c;并且用文件类读取出内容输出显示在控件上。 #include <QFi…...

智慧社区管理系统:打造便捷、安全、和谐的新型社区生态

项目背景 在信息化、智能化浪潮席卷全球的今天&#xff0c;人们对于生活品质的需求日益提升&#xff0c;期待居住环境能与科技深度融合&#xff0c;实现高效、舒适、安全的生活体验。在此背景下&#xff0c;智慧社区管理系统应运而生&#xff0c;旨在借助现代信息技术手段&…...

CustomTkinter:便捷美化Tkinter的UI界面(附模板)

CustomTkinter是一个基于Tkinter的Python用户界面库。 pip3 install customtkinter它提供了各种UI界面常见的小部件。这些小部件可以像正常的Tkinter小部件一样创建和使用&#xff0c;也可以与正常的Tkinter元素一起使用。 它的优势如下&#xff1a; CustomTkinter的小部件和…...

使用MicroPython和pyboard开发板(15):使用LCD和触摸传感器

使用LCD和触摸传感器 pybaord的pyb对LCD设备也进行了封装&#xff0c;可以使用官方的LCD显示屏。将LCD屏连接到开发板&#xff0c;连接后。 使用LCD 先用REPL来做个实验&#xff0c;在MicroPython提示符中输入以下指令。请确保LCD面板连接到pyboard的方式正确。 >>…...

c++20 std::jthread 源码简单赏析与应用

std::jthread 说明&#xff1a; std::jthread 是 C20 中引入的一个新特性&#xff0c;它是线程库中的一个类&#xff0c;专门用于处理 std::thread 与 std::stop_token 和 std::stop_source 之间的交互&#xff0c;以支持更优雅和安全的线程停止机制。 std::stop_source控制…...

自动化测试里的数据驱动和关键字驱动思路的理解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 初次接触自动化测试时&#xff0c;对数据驱动和关键字驱动不甚理解&#xff0c;觉得有点故弄玄须…...

【30天精通Prometheus:一站式监控实战指南】第6天:mysqld_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们&#x1f44b;   欢迎加入【30天精通Prometheus】专栏&#xff01;&#x1f4da; 在这里&#xff0c;我们将探索Prometheus的强大功能&#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。&#x1f680;   Prometheus是云原生和DevOps的…...

浅析智能体开发(第二部分):智能体设计模式和软件架构

大语言模型&#xff08;LLM&#xff09;驱动的智能体&#xff08;AI Agent&#xff09;展现出许多传统软件所不具备的特征。不仅与传统软件的设计理念、方法、工具和技术栈有显著的差异&#xff0c;AI原生&#xff08;AI Native&#xff09;的智能体还融入了多种新概念和技术。…...

Unity学习笔记---Transform组件

组件介绍 Transform组件在每个游戏对象中都存在&#xff0c;且只存在一个。该组件保存了游戏对象的位置、平移、旋转、缩放等信息。 组件相关方法 //获取当前游戏对象的Transform组件this.transform; getObject.transform; GetComponent<Transform>();//属性 gameObje…...

springboot+jsp校园理发店美容美发店信息管理系统0h29g

前台管理:会员管理、会员预定、开单点单、收银结帐、技师提成 后台管理:数据维护、物料管理、数据查询、报表分析、系统设置等 灵活的付款方式&#xff0c;支持现金、挂帐、会员卡&#xff0c;同时支持多种折扣方式并可按用户要求设置多种结帐类型善的充值卡管理模块:支持优惠卡…...

css - sass or scss ?

总的来说&#xff0c;Sass 和 SCSS 提供的功能是一样的&#xff0c;选择哪种语法主要取决于你的个人或团队的偏好。...

html5 笔记01

01 表单类型和属性 input的type属性 单行文本框: typetext 电子邮箱 : typeemail 地址路径 : type url 定义用于输入数字的字段: typenumber 手机号码: typetel 搜索框 : typesearch 定义颜色选择器 : typecolor 滑块控件 : typerange 定义日期 :typedate 定义输入时间的控件…...

E5063A是德科技e5063a网络分析仪

181-2461-8938产品概述&#xff1a; 简  述&#xff1a; E5063A 是低成本网络分析仪&#xff0c;可提供优化的性能和功能&#xff0c;适用于测试简单的无源器件&#xff0c;例如天线、电缆、滤波器和 PCB 等。它利用工业标准 ENA 系列始终如一的测量架构&#xff0c;能够极…...

【星海随笔】微信小程序(二)

WXML 模板语法 - 数据绑定 在data中定义页面的数据 在页面对应的 .js 文件中&#xff0c;把数据定义到 data 对象中即可&#xff1a; Page({data: {// 字符串类型的数据info: init data,// 数据类型的数据msgList: [{msg: hello},{msg: world}]} })Mustache 语法的格式 把 …...

Python采集安居客租房信息

Python采集安居客租房信息 一、需求介绍二、完整代码一、需求介绍 本次采集的需求就是获取到页面中的所有信息: 将数据采集好之后保存为如下csv文件: 爬取的流程不再展开分析,完整代码附后。 二、完整代码 import csvimport requests from lxml import etreeclass Anju…...

Rust构造JSON和解析JSON

目录 一、Rust构造JSON和解析JSON 二、知识点 serde_json JSON 一、Rust构造JSON和解析JSON 添加依赖项 cargo add serde-json 代码&#xff1a; use serde_json::{Result, Value};fn main() -> Result<()>{//构造json结构 cpu_loadlet data r#"{"…...

Linux 信号捕捉与处理

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;Linux知识分享⏪   &#x1f69a;代码仓库:Linux代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d; ​ 目录 前言 1. 信号的处理时机 1.1用户…...

桂林电子科技大学计算机工程学院、广西北部湾大学计信学院莅临泰迪智能科技参观交流

5月18日&#xff0c;桂林电子科技大学计算机工程学院副院长刘利民、副书记杨美娜、毕业班辅导员黄秀娟、广西北部湾大学计信学院院长助理刘秀平莅临广东泰迪智能科技股份有限公司产教融合实训基地参观交流。泰迪智能科技副总经理施兴、广西分公司郑廷和、梁霜、培训业务部孙学镂…...

Qt笔记:动态处理多个按钮点击事件以更新UI

问题描述 在开发Qt应用程序时&#xff0c;经常需要处理多个按钮的点击事件&#xff0c;并根据点击的按钮来更新用户界面&#xff08;UI&#xff09;&#xff0c;如下图。例如&#xff0c;你可能有一个包含多个按钮的界面&#xff0c;每个按钮都与一个文本框和一个复选框相关联…...

Excel模板计算得出表格看板

背景 表格看板及导出&#xff0c;单元格时间年是根据筛选器时间变化的 较往年和往年是计算单元格 思路 1.通过excel模板来把数据填入excel再数据清洗得到数据返回前端 2.数据填充&#xff0c;通过行列作为key 列如&#xff1a;key整体20241月&#xff0c;根据key匹配数据填…...

es数据备份和迁移Elasticsearch

Elasticsearch数据备份与恢复 前提 # 注意&#xff1a; 1.在进行本地备份时使用--type需要备份索引和数据&#xff08;mapping,data&#xff09; 2.在将数据备份到另外一台ES节点时需要比本地备份多备份一种数据类型&#xff08;analyzer,mapping,data,template&#xff09; …...

Oracle数据块之数据行中的SCN

从Oracle 10g开始&#xff0c;如果在表级别打开ROW DEPENDENCIES&#xff0c;业务数据行发生更改时会在数据块中进行登记。 可以通过DUMP数据块来观察上述SCN&#xff1a; &#xff08;1&#xff09;创建测试表&#xff0c;插入3条测试数据&#xff0c;插入一条提交一次。并调用…...

手写tomcat(Ⅱ)——Socket通信+tomcat静态资源的获取

Socket通信简介 参考文章&#xff1a;socket通讯原理及例程&#xff08;一看就懂&#xff09; socket是介于应用层&#xff08;http协议&#xff09;和传输层&#xff08;TCP/UDP协议&#xff09;之间的一层虚拟层 Socket是一个程序&#xff0c;符合TCP/UDP协议的规范&…...