当前位置:网站首页>傅里叶分析概述
傅里叶分析概述
2022-07-05 22:34:00 【小裘HUST】
傅里叶变换主要分为连续和离散两大块。对连续时间信号的分析,从周期信号的傅里叶级数(FS)展开到统一的傅里叶变换(FT),是一套完整地体系。离散时间信号的傅里叶分析和连续时间信号的分析非常像,但确实是不同,没法统一地表示,主要区别在“求和”和“积分”上。FS,FT,DFS,DTFT,DFT构成了整个傅里叶分析的体系。
不管是哪种变换,都满足“周期-离散”,“非周期-连续”的对应关系。这个关系对帮助记忆非常有用。
| 分析方法 | 缩写 | 变换过程 时域信号 → 频域信号 |
|---|---|---|
| 傅里叶级数 | FS | 连续周期 → 非周期离散 |
| 傅里叶变换 | FT | (引入 δ ( ω ) \delta(\omega) δ(ω))连续周期 → 非周期离散 连续非周期 → 非周期连续 |
| 离散傅里叶级数 | DFS | 离散周期 → 周期离散 |
| 离散时间傅里叶变换 | DTFT | 离散非周期 → 周期连续 |
| 离散傅里叶变换 | DFT | 离散非周期 → 离散非周期 (本质)离散周期 → 周期离散 |
连续时间傅里叶分析
傅里叶级数
连续时间的分析得从傅里叶级数开始讲起。
f ( t ) = f ( t + T 0 ) f ( t ) = ∑ n = − ∞ + ∞ a n e − j n ω 0 f(t) = f(t + {T_0})\;\;\;\;\;f(t) = \sum\limits_{n = - \infty }^{ + \infty } { {a_n}{e^{ - jn{\omega _0}}}} f(t)=f(t+T0)f(t)=n=−∞∑+∞ane−jnω0
任何周期为 T 0 T_0 T0(频率为 f 0 f_0 f0,角频率为 ω 0 \omega_0 ω0)的周期信号,都可以用角频率为 ω 0 \omega_0 ω0整数倍的复指数信号 e − j n ω 0 e^{ - jn{\omega _0}} e−jnω0线性表示。
比如余弦信号 A c o s ( ω 0 t ) Acos(\omega_0t) Acos(ω0t)傅里叶级数展开可以表示为:
A c o s ( ω 0 t ) = A 2 ( e − j ω 0 t + e j ω 0 t ) Acos(\omega_0t)={A \over 2}\left( { {e^{ - j{\omega_0}t}} + {e^{j{\omega_0}t}}} \right) Acos(ω0t)=2A(e−jω0t+ejω0t)

实信号的傅里叶变换得到的幅度谱总是偶对称的,相位谱总是奇对称的。一个余弦信号能分解成两个共轭的复指数信号,如下图所示。

随着时间 t t t的增加,它们在复平面上不断转动,但是它们的矢量和总是落在实轴上,对外表现出来就是一个实信号。
这也是为什么有“负频率”存在的原因,这里的“负”指的是复指数信号的角频率是负数,与“正频率”的信号是共轭关系。相互成共轭关系的复指数信号一同构成实信号。
傅里叶变换
傅里叶级数仅限于对周期信号的分析,对于非周期信号,可以把信号的周期看作无穷大,基于这样的想法,可以从傅里叶级数的分析合成式推广到傅里叶变换对。以下是傅里叶级数的分析合成式:
a n = 1 T 0 ∫ T 0 f ( t ) e − j n ω 0 t d t f ( t ) = ∑ n = − ∞ + ∞ a n e j n ω 0 {a_n} = {1 \over { {T_0}}}\int\limits_{ {T_0}} {f(t){e^{ - jn{\omega _0}t}}dt} \;\;\;\;f(t) = \sum\limits_{n = - \infty }^{ + \infty } { {a_n}{e^{jn{\omega _0}}}} an=T01T0∫f(t)e−jnω0tdtf(t)=n=−∞∑+∞anejnω0
a n a_n an表示傅里叶级数中与基波成 n n n次谐波关系的复指数信号的系数。把它们写在一起可以得到:
f ( t ) = ∑ n = − ∞ + ∞ ( 1 T 0 ∫ T 0 f ( t ) e − j n ω 0 t d t ) e j n ω 0 f(t) = \sum\limits_{n = - \infty }^{ + \infty } {\left( { {1 \over { {T_0}}}\int\limits_{ {T_0}} {f(t){e^{ - jn{\omega _0}t}}dt} } \right){e^{jn{\omega _0}}}} \; f(t)=n=−∞∑+∞⎝⎛T01T0∫f(t)e−jnω0tdt⎠⎞ejnω0
= ∫ − ∞ + ∞ ( ∫ − ∞ + ∞ f ( t ) e − j n ω 0 t d t ) e j n ω 0 d f = \int_{ - \infty }^{ + \infty } {\left( {\int_{ - \infty }^{ + \infty } {f(t){e^{ - jn{\omega _0}t}}dt} } \right){e^{jn{\omega _0}}}df} =∫−∞+∞(∫−∞+∞f(t)e−jnω0tdt)ejnω0df
当 T 0 T_0 T0趋于无穷时, f 0 f_0 f0趋于无穷小,原来的求和就需要改为积分,微分变量是从原来的 1 / T 0 1/T_0 1/T0转变过来的 d f df df。
= 1 2 π ∫ − ∞ + ∞ ( ∫ − ∞ + ∞ f ( t ) e − j n ω 0 t d t ) e j n ω 0 d ω = {1 \over {2\pi }}\int_{ - \infty }^{ + \infty } {\left( {\int_{ - \infty }^{ + \infty } {f(t){e^{ - jn{\omega _0}t}}dt} } \right){e^{jn{\omega _0}}}d\omega } =2π1∫−∞+∞(∫−∞+∞f(t)e−jnω0tdt)ejnω0dω
d f df df到 d ω d\omega dω需要乘以 2 π 2\pi 2π,所以最后傅里叶变换的合成式里就有一个 1 / 2 π 1/2\pi 1/2π的系数。
X ( j ω ) = ∫ − ∞ + ∞ f ( t ) e − j ω t d t f ( t ) = 1 2 π ∫ − ∞ + ∞ X ( j ω ) e j ω t d ω X(j\omega ) = \int_{ - \infty }^{ + \infty } {f(t){e^{ - j\omega t}}dt} \;\;\;\;\;\;f(t) = {1 \over {2\pi }}\int_{ - \infty }^{ + \infty } {X(j\omega ){e^{j\omega t}}d\omega } X(jω)=∫−∞+∞f(t)e−jωtdtf(t)=2π1∫−∞+∞X(jω)ejωtdω
周期与非周期信号的统一
在引入了冲激信号 δ ( t ) \delta(t) δ(t)之后,周期信号和非周期信号的傅里叶变换得到了统一。周期信号做傅里叶变换的问题在于傅里叶变换的分析式是在无穷范围内的积分,周期信号做这样的积分无法收敛。
周期信号可以分解成多个复指数信号之和。所以我们只要能表示出复指数信号的傅里叶变换就可以得到周期信号的傅里叶变换。再结合傅里叶变换的频移性质:
e j ω 0 t x ( t ) ⇔ X ( j ( ω − ω 0 ) ) {e^{j{\omega _0}t}}x(t) \Leftrightarrow X\left( {j\left( {\omega - {\omega _0}} \right)} \right) ejω0tx(t)⇔X(j(ω−ω0))
我们只要知道"1"的傅里叶变换就能得到复指数信号的傅里叶变换。具体的求解过程有人写过,文章中给出了比较完整的推导过程,这里就不详细说了,结果是下面这个:
1 ⇔ 2 π δ ( ω ) 1 \Leftrightarrow 2\pi \delta \left( \omega \right) 1⇔2πδ(ω)
这个结果也很自然成立,把 2 π δ ( ω ) 2\pi \delta \left( \omega \right) 2πδ(ω)代入到傅里叶变换合成式里很明显就能成立。
F ( A cos ( ω 0 t ) ) = A 2 ⋅ 2 π δ ( ω − ω 0 ) + A 2 ⋅ 2 π δ ( ω + ω 0 ) {\mathcal F}\left( {A\cos ({\omega _0}t)} \right) = {A \over 2} \cdot 2\pi \delta \left( {\omega - {\omega _0}} \right) + {A \over 2} \cdot 2\pi \delta \left( {\omega + {\omega _0}} \right) F(Acos(ω0t))=2A⋅2πδ(ω−ω0)+2A⋅2πδ(ω+ω0)
所以周期信号的傅里叶变换的结果会包含 2 π δ ( ω − ω ′ ) 2\pi \delta \left( {\omega - {\omega'}} \right) 2πδ(ω−ω′)的冲激信号,而且每个冲激信号前面的系数正好是对应的傅里叶级数的各个系数。
离散时间傅里叶变换
离散时间的傅里叶变换和连续时间的傅里叶变换有很多相似的地方,但它们俩又是两套完全不同的分析体系,最大的区别在于从“积分”变为了“求和”。
离散傅里叶级数
傅里叶变换的本质是在频域对信号进行正交分解。在连续时间信号的情况下,对一个频率为 ω 0 \omega_0 ω0的周期信号来说,就是将它投影到 ω 0 \omega_0 ω0、 2 ω 0 2\omega_0 2ω0、 3 ω 0 3\omega_0 3ω0等这些与基频成谐波关系的频率上去。
连续的情况下,谐波是无限的.而在离散的情况下,周期为 N N N的数字序列,基频可以表示为 2 π / N 2\pi/N 2π/N,由于复指数信号的周期性:
e − j 2 π / N = e − j 2 π ( N + 1 ) / N {e^{ - j2\pi /N}} = {e^{ - j2\pi (N + 1)/N}} e−j2π/N=e−j2π(N+1)/N
所以在离散的情况下,一个周期为N的序列,只能在频域上分解为N个不同的复指数序列。
X ~ [ k ] = ∑ n = 0 N − 1 x ~ [ n ] W N k n x ~ [ n ] = 1 N ∑ n = 0 N − 1 X ~ [ k ] W N − k n \widetilde X[k] = \sum\limits_{n = 0}^{N - 1} {\widetilde x[n]W_N^{kn}} \;\;\;\;\widetilde x[n] = {1 \over N}\sum\limits_{n = 0}^{N - 1} {\widetilde X[k]W_N^{ - kn}} X[k]=n=0∑N−1x[n]WNknx[n]=N1n=0∑N−1X[k]WN−kn
上面是离散傅里叶级数的分析式和合成式, W N k n W_N^{kn} WNkn是对 e − j 2 π k n N e^{-j2\pi\frac{kn}{N}} e−j2πNkn的简记,也叫做旋转因子。
离散傅里叶级数,不管是时域的数字序列还是频域的复指数序列都是周期的, x ~ [ n ] \widetilde x[n] x[n]和 X ~ [ n ] \widetilde X[n] X[n]上的波浪线表示它们是周期信号。
离散傅里叶变换
先直接给出离散傅里叶变换的分析式和合成式:
X [ k ] = ∑ n = 0 N − 1 x [ n ] W N k n , 0 ≤ k ≤ N − 1 X[k] = \sum\limits_{n = 0}^{N - 1} {x[n]W_N^{kn}} ,\;\;0 \le k \le N - 1 X[k]=n=0∑N−1x[n]WNkn,0≤k≤N−1
x [ n ] = 1 N ∑ n = 0 N − 1 X [ k ] W N − k n , 0 ≤ n ≤ N − 1 x[n] = {1 \over N}\sum\limits_{n = 0}^{N - 1} {X[k]W_N^{ - kn}} ,\;\;0 \le n \le N - 1 x[n]=N1n=0∑N−1X[k]WN−kn,0≤n≤N−1
离散傅里叶变换也是为了处理非周期序列的分析问题,这里干脆就直接把非周期序列看作是周期序列,相当于从离散傅里叶级数中截取一个周期长度的序列来表示。这就是DFT固有的周期性。
离散时间傅里叶变换
课本上在讲DFT之前还讲了DTFT,这是正统的分析有限长序列的频谱的方法。它也是通过离散傅里叶级数,令N趋于无穷得到的。下面是DTFT的分析式和合成式:
x [ n ] = 1 2 π ∫ 2 π X ( e j ω ) e j ω n d ω X ( e j ω ) = ∑ n = − ∞ + ∞ x [ n ] e − j ω n x[n] = {1 \over {2\pi }}\int\limits_{2\pi } {X\left( { {e^{j\omega }}} \right){e^{j\omega n}}d\omega } \;\;\;\;X\left( { {e^{j\omega }}} \right) = \sum\nolimits_{n = - \infty }^{ + \infty } {x[n]{e^{ - j\omega n}}} x[n]=2π12π∫X(ejω)ejωndωX(ejω)=∑n=−∞+∞x[n]e−jωn
DTFT得到的频谱是周期连续的频谱,并且是以 2 π 2\pi 2π为周期,就像下面这样:

如果将这个有限长序列按照它的长度 N N N进行周期延拓,相当于将它和一个周期为 N N N的冲激串(由单位冲激函数组成的序列)卷积。时域卷积相当于频域相乘。时域周期为 N N N的冲激串在频域就是周期为 2 π / N 2\pi/N 2π/N的冲激串。所以有限长序列的DFT相当于在其DTFT的频谱上采样。

边栏推荐
- 如何開發引入小程序插件
- Oracle is sorted by creation time. If the creation time is empty, the record is placed last
- Platform bus
- Pl/sql basic syntax
- Leetcode simple question: the minimum cost of buying candy at a discount
- 二叉树(三)——堆排序优化、TOP K问题
- Why does the C# compiler allow an explicit cast between IEnumerable< T> and TAlmostAnything?
- GWT module may need to be (RE) compiled reduce - GWT module may need to be (RE) compiled reduce
- 分布式解决方案之TCC
- 了解 Android Kotlin 中 DataStore 的基本概念以及为什么应该停止在 Android 中使用 SharedPreferences
猜你喜欢

Postman核心功能解析-参数化和测试报告

Depth first DFS and breadth first BFS -- traversing adjacency tables

What about data leakage? " Watson k'7 moves to eliminate security threats

Metaverse Ape猿界应邀出席2022·粤港澳大湾区元宇宙和web3.0主题峰会,分享猿界在Web3时代从技术到应用的文明进化历程

鏈錶之雙指針(快慢指針,先後指針,首尾指針)

Postman core function analysis - parameterization and test report
![[groovy] groovy dynamic language features (automatic type inference of function arguments in groovy | precautions for function dynamic parameters)](/img/ab/086c7455706eecc467eef92c660803.jpg)
[groovy] groovy dynamic language features (automatic type inference of function arguments in groovy | precautions for function dynamic parameters)

Leetcode simple question: check whether each row and column contain all integers

Win11 runs CMD to prompt the solution of "the requested operation needs to be promoted"

链表之双指针(快慢指针,先后指针,首尾指针)
随机推荐
Postman核心功能解析-参数化和测试报告
When the industrial Internet era is truly mature, we will look at the emergence of a series of new industrial giants
[groovy] mop meta object protocol and meta programming (Introduction to groovyobject interface | introduction to metaclass | implementation of class methods using groovyobject invokemethod)
如何快速体验OneOS
Distributed solution selection
70. Climbing Stairs. Sol
Qtquick3d real time reflection
Win11 runs CMD to prompt the solution of "the requested operation needs to be promoted"
The difference between MVVM and MVC
Go语言学习教程(十五)
Cobaltstrike builds an intranet tunnel
Text组件新增内容通过tag_config设置前景色、背景色
U盘的文件无法删除文件怎么办?Win11无法删除U盘文件解决教程
Wonderful review of the digital Expo | highlight scientific research strength, and Zhongchuang computing power won the digital influence enterprise award
Binary tree (II) -- code implementation of heap
二叉树(二)——堆的代码实现
Evolution of APK reinforcement technology, APK reinforcement technology and shortcomings
科技云报道荣膺全球云计算大会“云鼎奖”2013-2022十周年特别贡献奖
Draw a red lantern with MATLAB
Binary tree (III) -- heap sort optimization, top k problem