「信号」信号分析与处理(二)

傅立叶级数 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}tf=kx22f

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)=Bf(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)ekω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)ekω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+Σ1Bkcos(kω0x)+Σ1Cksin(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+Σ1Bkcos(kω0x)eKk2ω2t+Σ1Cksin(kω0x)eKk2ω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+Σ1Bkcos(kω0x)+Σ1Cksin(kω0x)两边同时取一个周期内的积分,可以消除正余弦项,通过两边同时乘以cos/sin,取一个周期的积分,可以消除常数项和正余弦的其中一项。

B0=1T0∫T0f(x)dxB_0=\frac 1{T_0}\int_{T_0}f(x)dxB0=T01T0f(x)dx

Bk=2T0∫T0f(x)cos(kω0x)dxB_k=\frac2{T_0}\int_{T_0}f(x)cos(k\omega_0x)dxBk=T02T0f(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=T02T0f(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=T01T0x(t)ejkω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(tt0)Fsakejkω0t0

时间反转性质

x(−t)↔  Fs  a−kx(-t) \xleftrightarrow{\;Fs\;} a_{-k}x(t)Fsak

时域尺度变换性质

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=+albkl

共轭性质

x(t)↔  Fs  akx(t) \xleftrightarrow{\;Fs\;} a_kx(t)Fsak

x∗(t)↔  Fs  a−k∗x^*(t) \xleftrightarrow{\;Fs\;} a_{-k}^*x(t)Fsak

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=ak,也即a−k=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=ak=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=ak=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)=Σ+akejkω0t,两边取共轭

令k=-k,x∗(t)=Σ−∞+∞a−k∗ejkω0tx^*(t)=\Sigma_{-\infin}^{+\infin}a_{-k}^*e^{jk\omega_0t}x(t)=Σ+akejkω0t

这样就可以看出对应关系:x∗(t)↔  Fs  a−k∗x^*(t) \xleftrightarrow{\;Fs\;} a_{-k}^*x(t)Fsak,


e.g 求周期方波信号的傅立叶级数

在这里插入图片描述

可以使用傅立叶的三角正弦级数形式来进行计算。观察这个函数可知为偶函数,所以Σ1∞Cksin(kω0x)=0\Sigma_1^\infin C_ksin(k\omega_0x)=0Σ1Cksin(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=T1T/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=T2T/2T/2x(t)cos(kω0t)dt=2sin(T2T1)

而再用一次傅立叶的复指数级数形式来计算:

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=T1Tx(t)ejkω0tdt=T12T1ejkω0tdt=jkω0T12jsin(kω0T1)=kω0T2sin(kω0T1)=sin(T2T1)

∴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=+sin(T2T1)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]ejkω0n


傅立叶级数在LTI系统中如何生效

傅立叶级数可以表示大部分的连续时间的信号和离散时间信号,而我们又已经知道了系统是怎么处理信号的(卷积)。接下来,将“表示信号”和“处理信号”结合起来。

前面提到,之所以要选复指数,就是因为它是系统的特征函数。

连续时间下est→H(s)este^{st}\rightarrow H(s)e^{st}estH(s)est

离散时间下zn→H(z)znz^n\rightarrow H(z)z^nznH(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]zk

这实际上使得傅立叶级数的分析理论更完备了。因为我们现在要表示一个系统,已经可以抛开时域,关注频域,利用系统函数来表示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

那就有根据输入输出反求系统函数的方式。这在傅立叶变换中更显作用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值