傅立叶级数 Fourier Series
傅立叶的发现
十八世纪中到十九世纪初,随着热力学的蓬勃发展,求解热传导方程变成了一个焦点问题。而傅立叶级数便是傅立叶在1805年左右研究热传导方程的解的时候提出的一种巧妙解法。
先来介绍一下一维的热传导方程
如图是一根均匀导热的杆子,若我们知道这跟杆子上每一点的温度,标识为f(x,t)f(x,t)f(x,t),要解决的问题是
已知f(x)=f(x,0)f(x)=f(x,0)f(x)=f(x,0)
求f(x,t),当t>0f(x,t),当t>0f(x,t),当t>0
有前人根据热力学的基本理论推出了热力学方程的形式,即
∂f∂t=k∂2f∂x2\frac{∂f}{∂t}=k\frac{∂^2f}{∂x^2}∂t∂f=k∂x2∂2f
f(x)=f(x,0)f(x)=f(x,0)f(x)=f(x,0)
显然,直接入手解出一个通解是非常难得,更何况这只是一维的情况,三维以上的方程更是难解。对此,傅立叶提出了一个特殊解。而这个特殊解没有那么“特殊”,他足够代表一大部分的函数。
当f(x)=B时,有f(x,t)=B当f(x)=B时,有f(x,t)=B当f(x)=B时,有f(x,t)=B,/理解:如果杆子上每个点温度都一样,而杆子本身不对外辐射热量,那么任何时候杆子上各个点温度都一样且不变
当f(x)=Bcos(ω0x)时,有f(x,t)=Bcos(ω0x)e−kω2t当f(x)=Bcos(\omega_0x)时,有f(x,t)=Bcos(\omega_0x)e^{-k\omega^2t}当f(x)=Bcos(ω0x)时,有f(x,t)=Bcos(ω0x)e−kω2t
当f(x)=Csin(ω0x)时,有f(x,t)=Csin(ω0x)e−kω2t当f(x)=Csin(\omega_0x)时,有f(x,t)=Csin(\omega_0x)e^{-k\omega^2t}当f(x)=Csin(ω0x)时,有f(x,t)=Csin(ω0x)e−kω2t
如果f(x)=B0+Σ1∞Bkcos(kω0x)+Σ1∞Cksin(kω0x)f(x)=B_0+\Sigma_1^\infin B_kcos(k\omega_0x)+\Sigma_1^\infin C_ksin(k\omega_0x)f(x)=B0+Σ1∞Bkcos(kω0x)+Σ1∞Cksin(kω0x)
那么热传导方程的解就是
f(x,t)=B0+Σ1∞Bkcos(kω0x)e−Kk2ω2t+Σ1∞Cksin(kω0x)e−Kk2ω2tf(x,t)=B_0+\Sigma_1^\infin B_kcos(k\omega_0x)e^{-Kk^2\omega^2t}+\Sigma_1^\infin C_ksin(k\omega_0x)e^{-Kk^2\omega^2t}f(x,t)=B0+Σ1∞Bkcos(kω0x)e−Kk2ω2t+Σ1∞Cksin(kω0x)e−Kk2ω2t
这种三个特殊解的组合,说明热传导方程是一个LTI系统,输入和输出满足叠加性。
必须指出,傅立叶埋了一个坑:
这些ω0\omega_0ω0都不是随便取的,而叫做基波频率,kω0k\omega_0kω0叫做k次谐波频率,B0B_0B0叫做直流分量
连续时间的傅立叶级数
现在这个理论还不够完备。该如何让我们能够通过f(x)f(x)f(x)的表达式,求出B0,Bk,CkB_0,B_k,C_kB0,Bk,Ck呢?一旦我们求出这几个量,就一定可以把f(x)f(x)f(x)写成傅立叶级数形式,就一定可以把f(x,t)f(x,t)f(x,t)写出来。读完这一推导我们将知道,傅立叶之所以要假定ω0\omega_0ω0不是随便取的,就是为了方便求出B0,Bk,CkB_0,B_k,C_kB0,Bk,Ck
通过等式f(x)=B0+Σ1∞Bkcos(kω0x)+Σ1∞Cksin(kω0x)f(x)=B_0+\Sigma_1^\infin B_kcos(k\omega_0x)+\Sigma_1^\infin C_ksin(k\omega_0x)f(x)=B0+Σ1∞Bkcos(kω0x)+Σ1∞Cksin(kω0x)两边同时取一个周期内的积分,可以消除正余弦项,通过两边同时乘以cos/sin,取一个周期的积分,可以消除常数项和正余弦的其中一项。
B0=1T0∫T0f(x)dxB_0=\frac 1{T_0}\int_{T_0}f(x)dxB0=T01∫T0f(x)dx
Bk=2T0∫T0f(x)cos(kω0x)dxB_k=\frac2{T_0}\int_{T_0}f(x)cos(k\omega_0x)dxBk=T02∫T0f(x)cos(kω0x)dx
Ck=2T0∫T0f(x)sin(kω0x)dxC_k=\frac2{T_0}\int_{T_0}f(x)sin(k\omega_0x)dxCk=T02∫T0f(x)sin(kω0x)dx
什么样的函数能表示为这样的形式呢?傅立叶没有给出回答,但狄里赫利给出了条件
f(x)f(x)f(x)在一个周期内绝对可积
f(x)f(x)f(x)在一个周期内最值有限
f(x)f(x)f(x)在一个周期内断点有限
我们不禁要发问,想必当时的人们也要发问:自然界的呈现的函数,难道真的都是这样子由常数项和正弦级数项构成的吗?恐怕这不是现在能够被解答的问题了。
傅立叶级数:更常用的表达形式->复指数形式
x(t)=Σ−∞+∞akejkω0tx(t)=\Sigma_{-\infin}^{+\infin}a_ke^{jk\omega_0t}x(t)=Σ−∞+∞akejkω0t
ak=1T0∫T0x(t)e−jkω0tdta_k=\frac1{T_0}\int_{T_0}x(t)e^{-jk\omega_0t}dtak=T01∫T0x(t)e−jkω0tdt
通过欧拉公式,复指数形式的傅立叶级数是可以和正弦形式的傅立叶级数互化的。
连续时间傅立叶级数性质
线性性质
x(t)↔ Fs akx(t) \xleftrightarrow{\;Fs\;} a_kx(t)Fsak
y(t)↔ Fs bky(t) \xleftrightarrow{\;Fs\;} b_ky(t)Fsbk
z(t)=Ax(t)+By(t)↔ Fs ck=Aak+Bbkz(t)=Ax(t)+By(t) \xleftrightarrow{\;Fs\;} c_k=Aa_k+Bb_kz(t)=Ax(t)+By(t)Fsck=Aak+Bbk
时移性质
x(t−t0)↔ Fs ake−jkω0t0x(t-t_0) \xleftrightarrow{\;Fs\;} a_ke^{-jk\omega_0t_0}x(t−t0)Fsake−jkω0t0
时间反转性质
x(−t)↔ Fs a−kx(-t) \xleftrightarrow{\;Fs\;} a_{-k}x(−t)Fsa−k
时域尺度变换性质
x(αt)↔ Fs akx(\alpha t) \xleftrightarrow{\;Fs\;} a_kx(αt)Fsak
虽然傅立叶系数本身没改变,但是它对应的级数改变了
相乘性质
x(t)↔ Fs akx(t) \xleftrightarrow{\;Fs\;} a_kx(t)Fsak
y(t)↔ Fs bky(t) \xleftrightarrow{\;Fs\;} b_ky(t)Fsbk
x(t)y(t)↔ Fs hk=Σl=−∞+∞albk−lx(t)y(t) \xleftrightarrow{\;Fs\;} h_k=\Sigma_{l=-\infin}^{+\infin} a_lb_{k-l}x(t)y(t)Fshk=Σl=−∞+∞albk−l
共轭性质
x(t)↔ Fs akx(t) \xleftrightarrow{\;Fs\;} a_kx(t)Fsak
x∗(t)↔ Fs a−k∗x^*(t) \xleftrightarrow{\;Fs\;} a_{-k}^*x∗(t)Fsa−k∗
当x(t)x(t)x(t)为实数函数,x(t)=x∗(t)x(t)=x^*(t)x(t)=x∗(t),所以ak=a−k∗a_k=a^*_{-k}ak=a−k∗,也即a−k=ak∗a_{-k}=a^*_ka−k=ak∗
进一步,x(t)x(t)x(t)为实偶函数,x(t)=x(−t)=x∗(t)=x∗(−t)x(t)=x(-t)=x^*(t)=x^*(-t)x(t)=x(−t)=x∗(t)=x∗(−t),那么ak=a−k=ak∗a_k=a_{-k}=a^*_kak=a−k=ak∗。所以**ak=ak∗a_k=a^*_kak=ak∗**。
相应地,x(t)x(t)x(t)为实奇函数,x(t)=−x(−t)=x∗(t)=−x∗(−t)x(t)=-x(-t)=x^*(t)=-x^*(-t)x(t)=−x(−t)=x∗(t)=−x∗(−t),那么ak=−a−k=−ak∗a_k=-a_{-k}=-a^*_kak=−a−k=−ak∗。所以**ak=−ak∗a_k=-a^*_kak=−ak∗**。
P.f.
x(t)=Σ−∞+∞akejkω0tx(t)=\Sigma_{-\infin}^{+\infin}a_ke^{jk\omega_0t}x(t)=Σ−∞+∞akejkω0t
x∗(t)=Σ−∞+∞ak∗e−jkω0tx^*(t)=\Sigma_{-\infin}^{+\infin}a_{k}^*e^{-jk\omega_0t}x∗(t)=Σ−∞+∞ak∗e−jkω0t,两边取共轭
令k=-k,x∗(t)=Σ−∞+∞a−k∗ejkω0tx^*(t)=\Sigma_{-\infin}^{+\infin}a_{-k}^*e^{jk\omega_0t}x∗(t)=Σ−∞+∞a−k∗ejkω0t
这样就可以看出对应关系:x∗(t)↔ Fs a−k∗x^*(t) \xleftrightarrow{\;Fs\;} a_{-k}^*x∗(t)Fsa−k∗,
e.g 求周期方波信号的傅立叶级数
可以使用傅立叶的三角正弦级数形式来进行计算。观察这个函数可知为偶函数,所以Σ1∞Cksin(kω0x)=0\Sigma_1^\infin C_ksin(k\omega_0x)=0Σ1∞Cksin(kω0x)=0。而B0=1T∫−T/2T/2x(t)dt=2T1TB_0=\frac1T\int_{-T/2}^{T/2}x(t)dt=\frac{2T_1}TB0=T1∫−T/2T/2x(t)dt=T2T1
Bk=2T∫−T/2T/2x(t)cos(kω0t)dt=2kπsin(2kπT1T)B_k=\frac2T\int_{-T/2}^{T/2}x(t)cos(k\omega_0t)dt=\frac{2}{k\pi}sin(\frac{2k\pi T_1}{T})Bk=T2∫−T/2T/2x(t)cos(kω0t)dt=kπ2sin(T2kπT1)
而再用一次傅立叶的复指数级数形式来计算:
ak=1T∫Tx(t)e−jkω0tdt=1T∫2T1e−jkω0tdt=1jkω0T2jsin(kω0T1)=2sin(kω0T1)kω0T=sin(2kπTT1)kπa_k=\frac1T\int_{T}x(t)e^{-jk\omega_0t}dt\\=\frac1T\int_{2T_1}e^{-jk\omega_0t}dt\\=\frac1{jk\omega_0T}2jsin(k\omega_0T_1)\\=\frac{2sin(k\omega_0T_1)}{k\omega_0T}\\=\frac{sin(\frac{2k\pi}{T}T_1)}{k\pi}ak=T1∫Tx(t)e−jkω0tdt=T1∫2T1e−jkω0tdt=jkω0T12jsin(kω0T1)=kω0T2sin(kω0T1)=kπsin(T2kπT1)
∴x(t)=Σk=−∞+∞sin(2kπTT1)kπejkw0t)\therefore x(t)=\Sigma_{k=-\infin}^{+\infin}\frac{sin(\frac{2k\pi}{T}T_1)}{k\pi}e^{jkw_0t)}∴x(t)=Σk=−∞+∞kπsin(T2kπT1)ejkw0t)
可以发现,k=0,ak=2T1Tk=0,a_k=\frac{2T_1}{T}k=0,ak=T2T1,和上面的B0B_0B0对应
如果T=8T1T=8T_1T=8T1,那么:
离散时间的傅立叶级数
一个很关键的问题是,连续时间的复指数是非周期的,而离散时间的复指数是周期的,也就是说:ejω0n=ejω0(n+N)e^{j\omega_0n}=e^{j\omega_0(n+N)}ejω0n=ejω0(n+N)。
也就是说,离散情况下,复指数信号集中只有N个信号是不相同的。而连续情况下,每个复指数信号都是互不相同的。这也就是离散和连续的傅立叶级数唯一不同的点了。基于这个,可以容易的推出离散时间的傅立叶级数对:
x[n]=ΣNakejkω0tx[n]=\Sigma_{N}a_ke^{jk\omega_0t}x[n]=ΣNakejkω0t
ak=1NΣNx[n]e−jkω0na_k=\frac1{N}\Sigma_{N}x[n]e^{-jk\omega_0n}ak=N1ΣNx[n]e−jkω0n
傅立叶级数在LTI系统中如何生效
傅立叶级数可以表示大部分的连续时间的信号和离散时间信号,而我们又已经知道了系统是怎么处理信号的(卷积)。接下来,将“表示信号”和“处理信号”结合起来。
前面提到,之所以要选复指数,就是因为它是系统的特征函数。
连续时间下est→H(s)este^{st}\rightarrow H(s)e^{st}est→H(s)est
离散时间下zn→H(z)znz^n\rightarrow H(z)z^nzn→H(z)zn
于是,在LTI系统下,单位脉冲响应为h(t)h(t)h(t),当输入信号x(t)x(t)x(t),得到的响应y(t)y(t)y(t)
$y(t)=\int_{-\infin}^{+\infin}h(\tau)x(t-\tau)d\tau \ =\int_{-\infin}{+\infin}h(\tau)e{s(t-\tau)}\ =e{st}\int_{-\infin}{+\infin}h(\tau)e^{-s\tau}d\tau $
也就是y(t)=H(s)esty(t)=H(s)e^{st}y(t)=H(s)est
系统函数 System Function
$H(s)=\int_{-\infin}{+\infin}h(\tau)e{-s\tau}d\tau $
H(z)=Σ−∞+∞h[k]z−kH(z)=\Sigma_{-\infin}^{+\infin}h[k]z^{-k}H(z)=Σ−∞+∞h[k]z−k
这实际上使得傅立叶级数的分析理论更完备了。因为我们现在要表示一个系统,已经可以抛开时域,关注频域,利用系统函数来表示LTI系统。那就有根据输入求输出的公式:
x(t)=Σ−∞+∞akejkω0tx(t)=\Sigma_{-\infin}^{+\infin}a_ke^{jk\omega_0t}x(t)=Σ−∞+∞akejkω0t
y(t)=Σ−∞+∞akH(jkω0)ejkω0ty(t)=\Sigma_{-\infin}^{+\infin}a_kH(jk\omega_0)e^{jk\omega_0t}y(t)=Σ−∞+∞akH(jkω0)ejkω0t
那就有根据输入输出反求系统函数的方式。这在傅立叶变换中更显作用。




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



