大家好,又见面了,我是你们的朋友全栈君。
在学习高数的时候,就接触了傅里叶变换。也就记得是将一些周期函数表示成一系列三角函数的叠加,不是很理解这个变换的具体意义,就是觉的挺神奇的,可以求一些特殊的积分什么之类的。
到了学习信号与系统的时候,离散序列也可以傅里叶变换,还有一个叫离散傅里叶变换,那时学得很草,考完试之后都混在一起,不知道谁是谁了。
关于什么是傅里叶变化,网上有很多大佬写的很好。这里我也不打算科普(毕竟墨水不多,想吐也吐不出来),主要目的还是方便自己日后复习,省去翻书查看公式。
粗略地介绍下,傅里叶转化具体可以包含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条件[1]
表达公式:
- 三角形式(高数学的)
- 复指数形式(更加通用形式)
\[\begin{aligned} f(t) &= \sum_{n=-\infty}^{\infty}F_n e^{jn\Omega t}\\ F_n &= \frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-jn\Omega t}dt\\ \end{aligned} \]
两种形式可以相互转化,当\(n > 0\)的时候,\(F_n = \frac{1}{2}(a_n – jb_n)\);当\(-n < 0\)时,\(F_{-n} = \frac{1}{2}(a_n + jb_n)\)。此式当\(n=0\)时\(F_0 = a_0\)。
非周期的连续信号的CTFT
对象:非周期的连续信号,同样得满足Dirichlet条件
表达公式:
设对一个非周期的连续信号\(f(t)\)的DTFT
记为\(\mathscr F[f(t)]\),则有
推导:
基本的思路是用一个周期无限长的信号来代替非周期信号,当周期足够长时可以忽略这种近似带来的影响。
-
假设\(f(t)\)是一个有限的连续非周期信号,对它进行一个周期延拓得到一个周期函数\({f_T(t)}\);
-
对\({f_T(t)}\)进行
DTFS
,有\(\displaystyle f_T(t) = \sum_{n=-\infty}^{\infty}F_n e^{jn\Omega t}\),而\(\displaystyle F_n = \frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-jn\Omega t}dt=\frac{1}{T}F(n\Omega)\); -
当\(T\to +\infty\)时,这种用”无限的周期信号“近似代替”有限的非周期信号“的影响就会越小,此时\(\Omega=\frac{2 \pi}{T}\to 0\),可记为一个微分\(\Delta w\),同时\(n\Delta w\)可以看出一个连续量\(w\),累加运算转化为积分运算,于是有
\[\begin{aligned} f(t) &= \lim_{T\to +\infty} f_T(t)\\ &= \lim_{T\to +\infty} \sum_{n=-\infty}^{\infty}F_n e^{jn\Omega t}\\ &= \lim_{T\to +\infty} \sum_{n=-\infty}^{\infty} \frac{\Delta w}{2\pi}F(n\Delta w) e^{j\Delta w t}\\ &= \frac{1}{2\pi}\int_{-\infty}^{\infty} F(w)e^{jwt}dw\\ F(w) &= \lim_{T\to +\infty} \int_{-T/2}^{T/2}f(t)e^{-jn\Omega t}dt\\ &= \lim_{T\to +\infty} \int_{-T/2}^{T/2} f(t) e^{-jwt} dt\\ &= \int_{-\infty}^{\infty} f(t) e^{-jwt} dt\\ \end{aligned} \]
也就是说,求一个信号\(f(t)\)的频谱\(F(w)\),实际上与频率/旋转因子\(e^{-jwt}\)做一个积分,积分对象是时域上的\(t\);反变换同样也是一个积分,积分对象是频域上的\(w\)。
周期信号的DTFT
周期信号的DTFT的推导需要用到一个傅里叶变换对\(\mathscr F(e^{jw_0t})=2\pi \delta(w-w_0)\),则有
可见,有周期的连续信号在频域上是一系列的冲激函数之和,即在频域上是离散的。
离散时间傅里叶系数/变换
周期序列的DTFS
对象:周期的离散序列,无限长的序列必须绝对可和(和收敛)
表达公式:用一系列周期的复指数信号之和表示周期的离散序列
其中\(a_k\)即为离散时间傅里叶系数(DTFS),注意符号\(\displaystyle\sum_{n=<N>}\)表示的是序列长度为\(N\),但是起点可以任意起,通常我们取\(n=0,1, \cdots ,N-1\)。值得注意的是,\(a_k\)也是周期的,也是离散的。
复指数函数一定是周期函数,但是复指数序列\(e^{j\Omega n}\)不一定是周期序列,易证当\(\Omega\)为\(2\pi\)的有理数倍的时候才为周期序列。
非周期序列的DTFT
对象:有限长的非周期序列
表达公式:
设一有限的离散非周期序列的DTFT为\(\mathscr{F}[x(n)]\),则有
因为\(x(n)\)是有限长度的,因此它的DTFT
是复指数函数之和,也是一个连续的周期函数。与CTFT
不同的是,DTFT
是累加运算,但IDTFT
仍是积分,但限制在\(2\pi\)的区间内。
推导:
与周期信号的思路一致,用无限周期的离散序列来近似代替有限的非周期离散序列。
-
设一个有限的非周期序列\(x(n)\),进行周期延扩得到\(x_N(n)\);
-
对\(x_N(n)\)进行DTFS,有\(\displaystyle x_N(n) = \sum_{k=-N/2}^{N/2-1} a_k e^{jk\frac{2\pi}{N}n}\),其中\(\displaystyle a_k = \frac{1}{N}\sum_{n=-N/2}^{N/2-1} x_N(n) e^{-jk\frac{2\pi}{N}n}=\frac{1}{N}X(\Omega k)\);
-
当\(N\to +\infty\),\(\Omega = \frac{2\pi}{N}\to 0\)可记为微分\(\Delta w\),离散量\(\Delta w k\)变为连续量\(w\),累加变为积分,即
\[\begin{aligned} x(n) &= \lim_{N\to+\infty}x_N(n)\\ &= \lim_{N\to+\infty}\sum_{k=-N/2}^{N/2-1} a_k e^{jk\Omega n}\\ &= \lim_{N\to+\infty}\sum_{k=-N/2}^{N/2-1} \frac{\Delta w}{2\pi}X(\Delta w k) e^{jk\Omega n}\\ &= \frac{1}{2\pi}\int_{2\pi} X(w)e^{jwn}dw\\ X(w) &= \lim_{N\to+\infty}\sum_{n=-N/2}^{N/2-1} x_N(n) e^{-jk\Omega n}\\ &= \sum_{n=-\infty}^{\infty} x(n)e^{-jwn} \end{aligned} \]
周期序列的DTFT
根据变换对\(\mathscr{F}(e^{j\Omega_0 n})=\delta(w – \Omega_0)\),则对于周期序列\(x_N(n)\),有
可见,周期离散序列的DTFT在频域上是一系列的冲激函数,冲激强度由DFTS
的值确定,同时具有周期性。
离散傅里叶系数/变换
实际中我们处理得更多的是离散的、有限长的信号,对离散序列进行DTFT
得到的频谱却是连续的,计算机是不能直接进行处理的。在上信号与系统老师一直强调,时域上的离散性对应频域上的周期性,时域上的周期性对应频域上的离散性。因此,有一个很自然的想法,就是对时域上的有限序列进行周期延拓,这样频域上的数据不也是离散的吗?这就是DFT
的基本思想,问题的关键是:这种方法好不好呢?准不准呢?
周期序列的DFS
对象:周期序列
说明:DFS可以从DTFS中推导出来,或者说DFS其实是DTFS的另一种形式(多乘了个周期)
表达式:
非周期序列的DFT
DFT的基本原理:
-
\(x(n)\)进行周期延扩得到\(x_N(n)\),这样时域的周期反映到频域上的离散;
-
对\(x_N(n)\)进行DFS得到\(X_N(k)\),这样时域上的离散反映到频域上的周期;
-
取\(X_N(k)\)一个周期的值,得到的就是
DFT
,即\[X(k)=\rm{DFT}[x(n)] = \sum_{n=0}^{N-1}x(n)e^{-jk\frac{2\pi}{N}n},0 \le k \le N-1\\ x(n) =IDFT[X(k)]= \frac{1}{N} \sum_{n=0}^{N-1} X(k) e^{jk\frac{2\pi}{N}n}, 0 \le n \le N-1\\ \]DFT可以看成是一个连续函数在时域上和频域上都被采样,由采样定理可知,当对DFT和离散序列乘以相应的采样函数即可得到原函数,也就是说DFT可以看出CTFT的一个近似。同时,对于一个确定的\(x(n)\)可以唯一延拓成唯一的\(x_N(n)\),因此
DFT
是惟一的。
总结
-
是指满足绝对可积、有限的极值点和间断点的函数 ↩︎
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154770.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...