在学习高数的时候,就接触了傅里叶变换。也就记得是将一些周期函数表示成一系列三角函数的叠加,不是很理解这个变换的具体意义,就是觉的挺神奇的,可以求一些特殊的积分什么之类的。
到了学习信号与系统的时候,离散序列也可以傅里叶变换,还有一个叫离散傅里叶变换,那时学得很草,考完试之后都混在一起,不知道谁是谁了。
关于什么是傅里叶变化,网上有很多大佬写的很好。这里我也不打算科普(毕竟墨水不多,想吐也吐不出来),主要目的还是方便自己日后复习,省去翻书查看公式。
粗略地介绍下,傅里叶转化具体可以包含3个大类:
- CTFS和CTFT 连续(C)时间(T)傅里叶(F)系数(S)/ 变换(T)
- DTFS和DTFT 离散(D)时间(T)傅里叶(F)系数(S)/ 变换(T)
- DFS和DFT 离散(D)傅里叶(F)系数(S)/ 变换(T)
这些英文缩写值得记忆的,也能够帮助我们好好理解。
连续时间傅里叶系数/变换
周期的连续信号的CTFS
对象:连续的周期信号f(t),同时得满足Dirichlet条件
表达公式:
f(t)=a0+∞∑k=1(ancoskΩt+bnsinkΩt)a0=1T∫T/2−T/2f(t)dtak=2⋅1T∫T/2−T/2f(t)cosnΩtdtbk=2⋅1T∫T/2−T/2f(t)sinnΩtdt
非周期的连续信号的CTFT
对象:非周期的连续信号,同样得满足Dirichlet条件
表达公式:
设对一个非周期的连续信号f(t)的DTFT
记为F[f(t)],则有
F(w)=F[f(t)]=∫∞−∞f(t)e−jwtdtF−1[F(w)]=12π∫∞−∞F(w)ejwtdw
推导:
基本的思路是用一个周期无限长的信号来代替非周期信号,当周期足够长时可以忽略这种近似带来的影响。
-
假设f(t)是一个有限的连续非周期信号,对它进行一个周期延拓得到一个周期函数fT(t);
-
对fT(t)进行DTFS
,有fT(t)=∞∑n=−∞FnejnΩt,而Fn=1T∫T/2−T/2f(t)e−jnΩtdt=1TF(nΩ);
-
当T→+∞时,这种用”无限的周期信号“近似代替”有限的非周期信号“的影响就会越小,此时Ω=2πT→0,可记为一个微分Δw,同时nΔw可以看出一个连续量w,累加运算转化为积分运算,于是有
f(t)=limT→+∞fT(t)=limT→+∞∞∑n=−∞FnejnΩt=limT→+∞∞∑n=−∞Δw2πF(nΔw)ejΔwt=12π∫∞−∞F(w)ejwtdwF(w)=limT→+∞∫T/2−T/2f(t)e−jnΩtdt=limT→+∞∫T/2−T/2f(t)e−jwtdt=∫∞−∞f(t)e−jwtdt
也就是说,求一个信号f(t)的频谱F(w),实际上与频率/旋转因子e−jwt做一个积分,积分对象是时域上的t;反变换同样也是一个积分,积分对象是频域上的w。
周期信号的DTFT
周期信号的DTFT的推导需要用到一个傅里叶变换对F(ejw0t)=2πδ(w−w0),则有
F[fT(t)]=F(∞∑n=−∞FnejnΩt)=∞∑n=−∞FnF(ejnΩt)=2π∞∑n=−∞Fnδ(w−n2πT)
可见,有周期的连续信号在频域上是一系列的冲激函数之和,即在频域上是离散的。
离散时间傅里叶系数/变换
周期序列的DTFS
对象:周期的离散序列,无限长的序列必须绝对可和(和收敛)
表达公式:用一系列周期的复指数信号之和表示周期的离散序列
xN(n)=∑k=<N>akejk2πNnak=1N∑n=<N>xN(n)e−jk2πNn
其中ak即为离散时间傅里叶系数(DTFS),注意符号∑n=<N>表示的是序列长度为N,但是起点可以任意起,通常我们取n=0,1,⋯,N−1。值得注意的是,ak也是周期的,也是离散的。
复指数函数一定是周期函数,但是复指数序列ejΩn不一定是周期序列,易证当Ω为2π的有理数倍的时候才为周期序列。
非周期序列的DTFT
对象:有限长的非周期序列
表达公式:
设一有限的离散非周期序列的DTFT为F[x(n)],则有
F[x(n)]=∞∑n=−∞x(n)e−jwnF−1[X(w)]=12π∫2πX(w)ejwndw
因为x(n)是有限长度的,因此它的DTFT
是复指数函数之和,也是一个连续的周期函数。与CTFT
不同的是,DTFT
是累加运算,但IDTFT
仍是积分,但限制在2π的区间内。
推导:
与周期信号的思路一致,用无限周期的离散序列来近似代替有限的非周期离散序列。
-
设一个有限的非周期序列x(n),进行周期延扩得到xN(n);
-
对xN(n)进行DTFS,有xN(n)=N/2−1∑k=−N/2akejk2πNn,其中ak=1NN/2−1∑n=−N/2xN(n)e−jk2πNn=1NX(Ωk);
-
当N→+∞,Ω=2πN→0可记为微分Δw,离散量Δwk变为连续量w,累加变为积分,即
x(n)=limN→+∞xN(n)=limN→+∞N/2−1∑k=−N/2akejkΩn=limN→+∞N/2−1∑k=−N/2Δw2πX(Δwk)ejkΩn=12π∫2πX(w)ejwndwX(w)=limN→+∞N/2−1∑n=−N/2xN(n)e−jkΩn=∞∑n=−∞x(n)e−jwn
周期序列的DTFT
根据变换对F(ejΩ0n)=δ(w−Ω0),则对于周期序列xN(n),有
F(xN(n))=F(∑k=<N>akejkΩn)=∑k=<N>akF(ejkΩn)=∑k=<N>akδ(w−kΩ)
可见,周期离散序列的DTFT在频域上是一系列的冲激函数,冲激强度由DFTS
的值确定,同时具有周期性。
离散傅里叶系数/变换
实际中我们处理得更多的是离散的、有限长的信号,对离散序列进行DTFT
得到的频谱却是连续的,计算机是不能直接进行处理的。在上信号与系统老师一直强调,时域上的离散性对应频域上的周期性,时域上的周期性对应频域上的离散性。因此,有一个很自然的想法,就是对时域上的有限序列进行周期延拓,这样频域上的数据不也是离散的吗?这就是DFT
的基本思想,问题的关键是:这种方法好不好呢?准不准呢?
周期序列的DFS
对象:周期序列
说明:DFS可以从DTFS中推导出来,或者说DFS其实是DTFS的另一种形式(多乘了个周期)
表达式:
XN(k)=DFS(xN(n))=Nak=∑n=<N>xN(n)e−jk2πNnxN(n)=1N∑k=<N>XN(k)ejk2πNn
非周期序列的DFT
DFT的基本原理:
-
x(n)进行周期延扩得到xN(n),这样时域的周期反映到频域上的离散;
-
对xN(n)进行DFS得到XN(k),这样时域上的离散反映到频域上的周期;
-
取XN(k)一个周期的值,得到的就是DFT
,即
X(k)=DFT[x(n)]=N−1∑n=0x(n)e−jk2πNn,0≤k≤N−1x(n)=IDFT[X(k)]=1NN−1∑n=0X(k)ejk2πNn,0≤n≤N−1
DFT可以看成是一个连续函数在时域上和频域上都被采样,由采样定理可知,当对DFT和离散序列乘以相应的采样函数即可得到原函数,也就是说DFT可以看出CTFT的一个近似。同时,对于一个确定的x(n)可以唯一延拓成唯一的xN(n),因此DFT
是惟一的。
总结

本文作者:Wreng
本文链接:https://www.cnblogs.com/wreng/p/13512491.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步