通信基础概念(四)傅立叶变换

傅立叶级数与傅立叶变换

     \;\;\,\quad傅立叶级数/变换的作用是求时域信号的频域表示,傅立叶级数作用于周期信号,而对于非周期信号可以使用傅立叶变换,而在引入冲激函数δ(t)\delta(t)δ(t)之后就可以对周期信号也做傅立叶变换。

     \;\;\,\quad傅立叶级数。在上一篇文章中,我们讨论了相关正交的概念——相关函数用内积用来表述计算两个信号的相似性;用正交性来尽可能简单地描述地描述信号。从这点出发,结合前人研究的经验,傅立叶想到使用三角函数去描述周期信号(后面拓展到非周期信号),将一个周期信号用三角函数的加权和表示,这就是傅立叶级数/变换的来源。
     \;\;\,\quad可以证明,{1,cos(x),sin(x),cos(2x),sin(2x),...}\{1,\cos(x),\sin(x),\cos(2x),\sin(2x),...\}{1,cos(x),sin(x),cos(2x),sin(2x),...}是一个完备正交函数集1,傅立叶将用这个函数集去对信号进行分解。上一篇文章说了,可以把一个信号表示为函数集内各个函数的加权和,即下式。那么问题来了,系数cic_ici​怎么求呢?
f(x)=i=1ncigi(x)f(x)=\sum_{i=1}^{n}{c_ig_i(x)}f(x)=i=1∑n​ci​gi​(x)      \;\;\,\quad这就要用到相关了。理所当然地,既然是信号分解,那系数就应该表示在这个“方向”上投影的大小(如果不好理解,想想高中物理中,对力的正交分解)。而相关性就是用投影的大小表示的,你说巧不巧。既然这样,那这个系数cic_ici​就很好求了!大概应该长这样:
ci=f(t)gi(t)dtc_i=\int_{-\infty}^{\infty}{f(t)g_i(t)dt}ci​=∫−∞∞​f(t)gi​(t)dt      \;\;\,\quad嗯,这么看,gi(t)g_i(t)gi​(t)有了,cic_ici​怎么算也知道了,可以把傅立叶放出来了。
f(t)=a0+n=1ancos(nωnt)+bnsin(nωnt)a0=1Tt0t0+Tf(t)×1dtan=2Tt0t0+Tf(t)cos(nω1t)dtbn=2Tt0t0+Tf(t)sin(nω1t)dtt0Tωω=2πf=2πT\bm{f(t)=a_0+\sum_{n=1}^{\infty}{a_n\cos{(n\omega_nt)}+b_n\sin{(n\omega_nt)}}} \\其中,a_0=\frac{1}{T}\int_{t_0}^{t_0+T}f(t)\times1 dt(直流分量) \\a_n=\frac{\textbf{2}}{T}\int_{t_0}^{t_0+T}f(t)\cos{(n\omega_1t)}dt (余弦分量) \\b_n=\frac{\textbf{2}}{T}\int_{t_0}^{t_0+T}f(t)\sin{(n\omega_1t)}dt(正弦分量) \\t_0任取,T为信号周期,\omega 为角频率,\omega=2\pi f=\frac{2\pi}{T}f(t)=a0​+n=1∑∞​an​cos(nωn​t)+bn​sin(nωn​t)其中,a0​=T1​∫t0​t0​+T​f(t)×1dt(直流分量)an​=T2​∫t0​t0​+T​f(t)cos(nω1​t)dt(余弦分量)bn​=T2​∫t0​t0​+T​f(t)sin(nω1​t)dt(正弦分量)t0​任取,T为信号周期,ω为角频率,ω=2πf=T2π​      \;\;\,\quad看上去像是这么一回事儿,但是怎么多了个1T\frac{1}{T}T1​,甚至还有2T\frac{\textbf{2}}{T}T2​呢?为了公平起见,取平均。如果不取平均,周期越长的信号积分值可能会越大,对周期短的信号不公平。那分子上的“2”又是从哪里冒出来的呢?这是个好问题!那不如再问多一个问题,为啥求和的范围是n=1n=1n=1到\infty∞呢?好像没有规定nnn不能为负数吧?不对,nnn怎么可能是负数!如果nnn是负数那岂不是出现了负频率了?那么问题又来了,负频率真的不存在么,如果存在它有什么意义呢?如果想深究,请看附录2,我们就暂且承认它存在吧。引入了负频率之后就很好解释了,本来应该是\sum_{-\infty}^{\infty}∑−∞∞​的,但是这么巧,对我们用到的实信号而言,正负频率系数是相同的,为了计算方便就取一半,n=1\sum_{n=1}^{\infty}∑n=1∞​,同时系数乘以2,完事儿~

     \;\;\,\quad傅立叶级数的“简单”表示。傅立叶级数的原理其实就是上面所说的,把原信号正交分解,再求系数。只不过,在一个式子里面即有cos也有sin,写起来有点长。人是很懒的,能不能少写点呢?这就要用到高中所学的cos和sin的合并公式了,傅立叶级数就可以写成
f(t)=c0+n=1cncos(nωnt+φn)c0=a0cn2=an2+bn2φn=arctan(bnan)\bm{f(t)=c_0+\sum_{n=1}^{\infty}{c_n\cos{(n\omega_nt+\varphi_n)}}} \\其中,c_0=a_0,c_n^2=a_n^2+b_n^2,\varphi_n=\arctan(-\frac{b_n}{a_n})f(t)=c0​+n=1∑∞​cn​cos(nωn​t+φn​)其中,c0​=a0​,cn2​=an2​+bn2​,φn​=arctan(−an​bn​​)      \;\;\,\quad能不能再简单点呢?那就引入复频率吧!欧拉老爷子曾经说过, eix=cos(x)+isin(x)e^{ix}=\cos(x)+i\sin(x)eix=cos(x)+isin(x),再做一个x=nωtx=n\omega tx=nωt的变量代换,然后我们得到了指数形式的傅立叶级数
f(t)=n=FnejωntFn=1Tt0t0+Tf(t)e-jωntdt\bm{f(t)=\sum_{n=-\infty}^{\infty}F_ne^{j\omega_nt}} \\其中,F_n=\frac{1}{T}\int_{t_0}^{t_0+T}f(t)e^{\textbf{-}j\omega_nt}dtf(t)=n=−∞∑∞​Fn​ejωn​t其中,Fn​=T1​∫t0​t0​+T​f(t)e-jωn​tdt      \;\;\,\quad多简洁!注意,积分是\sum_{-\infty}^{\infty}∑−∞∞​,包括了负频率,因此FnF_nFn​是1T\frac{1}{T}T1​,非常直观。诶不对!为什么求FnF_nFn​时做相关运算的复指数信号是负值(-jωnt{\textbf{-}j\omega_nt}-jωn​t)?


  1. 正交函数集指的是对集合内的每个函数,两两正交,即gi,gj=0(ij)\langle{g_i,g_j}\rangle=0(i \neq j)⟨gi​,gj​⟩=0(i̸​=j)。完备正交函数集,指的是这个集合满足,找不到其他函数,即不在这个函数集内,还能和该集合内的函数正交。详情见郑君里《信号与系统》第六章。 ↩︎

  2. 负频率这东西,看起来像是欧拉老头子引入的,只有数学上的意义。由于我们平时看到的信号都是实信号,不好理解这怎么能是负的,其实只是我们的视角问题。回忆一下复数的幅角表示,c=a+jb=Aejθc=a+jb=Ae^{j\theta}c=a+jb=Aejθ,θ\thetaθ为正时角度为正逆时针转,负数为顺时针转,而角频率ω\omegaω就是对θ\thetaθ求导得到的,负频率就意味着它的“转动方向”是顺时针。这在机械和控制理论上用得可能会更多。由于比较抽象,可以参考别人对负频率的解释加以理解:链接1链接2链接3 ↩︎

上一篇:Serv-U设置匿名账户以及中文路径文件名支持


下一篇:网编(18):多线程服务器端的实现