【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用

文章目录

  • 一,实傅里叶级数和复傅里叶级数
    • 1.1实傅里叶级数
    • 1.2 复傅里叶级数
  • 二,频谱与卷积
    • 2.1 频谱
  • 补充:时域卷积定理
  • 三、用两个生动的例子阐释傅里叶变换的作用
  • 四、傅里叶变换与调制解调的关系
    • 4.1 用复傅里叶级数实现IQ解调的原理
      • 4.1 如何求解复傅里叶系数?
    • 4.2 傅里叶级数与正交频分复用OFDM的关系

一,实傅里叶级数和复傅里叶级数

1.1实傅里叶级数

我们还记得高数中实傅里叶级数的公式吗? f ( t ) = a 0 2 + ∑ k = 1 ∞ ( a k c o s k ω 0 t + b k s i n k ω 0 t ) f(t) = \frac{a_0}{2} + \sum_{k=1}^{∞}(a_kcoskω_0t + b_ksinkω_0t) f(t)=2a0+k=1(akcoskω0t+bksinkω0t)
它表示了任何一个函数都可以化成无穷多个幅度、频率不同的正弦波的叠加

为了直观感受傅里叶变换的魅力,我们试着用正弦波近似表示方波:
首先,我们画一个简单的:y = 0.5 + 0.637.*cos(x);

x = 0:0.01:30;
y = 0.5 + 0.637.*cos(x);
plot(x, y)
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第1张图片

再来看看 y=0.5+0.637.*cos(x)-0.212.cos(3x); 叠加了另外一个正弦波:

x = 0:0.01:30;
y=0.5+0.637.*cos(x)-0.212.*cos(3*x);
plot(x, y)
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第2张图片

如果我们试着再叠加正弦波呢?y=0.5+0.637.*cos(x)-0.212.cos(3x)+0.127.cos(5x);

x = 0:0.01:30;
y=0.5+0.637.*cos(x)-0.212.*cos(3*x)+0.127.*cos(5*x);
plot(x, y)
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第3张图片

我们能看到:如果叠加无穷多个正弦波,那么最终就会无限趋近于方波了

通过实傅里叶变换公式: f ( t ) = a 0 2 + ∑ k = 1 ∞ ( a k c o s k ω 0 t + b k s i n k ω 0 t ) f(t) = \frac{a_0}{2} + \sum_{k=1}^{∞}(a_kcoskω_0t + b_ksinkω_0t) f(t)=2a0+k=1(akcoskω0t+bksinkω0t)
我们可以直接看出一些简单函数的傅里叶系数a,b
例如, y = s i n t y = sint y=sint中, a 0 = 0 , a 1 = 0 , b 1 = 1 a_0 = 0, a_1 = 0, b_1 = 1 a0=0,a1=0,b1=1
y = c o s t y = cost y=cost中, a 0 = 0 , a 1 = 1 , b 1 = 0 a_0 = 0, a_1 = 1, b_1 = 0 a0=0,a1=1,b1=0
【当然, a 0 , a k , b k a_0, a_k, b_k a0,ak,bk有特定的公式可以计算,这里不打出来了】

1.2 复傅里叶级数

首先,由复变函数的知识我们知道: s i n ω 0 t = 1 2 j ( e j ω 0 t − e − j ω 0 t ) = − j 2 ( e j ω 0 t − e − j ω 0 t ) sinω_0t = \frac{1}{2j}(e^{jω_0t} - e^{-jω_0t}) = -\frac{j}{2}(e^{jω_0t} - e^{-jω_0t}) sinω0t=2j1(ejω0tejω0t)=2j(ejω0tejω0t)
c o s ω 0 t = 1 2 ( e j ω 0 t + e − j ω 0 t ) cosω_0t = \frac{1}{2}(e^{jω_0t} + e^{-jω_0t}) cosω0t=21(ejω0t+ejω0t)
我们把这两个式子带入上面的实傅里叶级数公式:
f ( t ) = a 0 2 + ∑ k = 1 ∞ ( a k c o s k ω 0 t + b k s i n k ω 0 t ) = a 0 2 + 1 2 ∑ k = 1 ∞ [ ( a k e j k ω 0 t + a k e − j k ω 0 t ) − j ( b k e j k ω 0 t − b k e − j k ω 0 t ) ] = a 0 2 + 1 2 ∑ k = 1 ∞ ( a k − j b k ) e j k ω 0 t + 1 2 ∑ k = 1 ∞ ( a k + j b k ) e − j k ω 0 t = ∑ k = 0 a k 2 + 1 2 ∑ k = 1 ∞ ( a k − j b k ) e j k ω 0 t + 1 2 ∑ k = − 1 − ∞ ( a − k + j b − k ) e j k ω 0 t = ∑ k = − ∞ + ∞ c k e j k ω 0 t \begin{aligned} f(t) &= \frac{a_0}{2} + \sum_{k=1}^{∞}(a_kcoskω_0t + b_ksinkω_0t)\\ &=\frac{a_0}{2} + \frac{1}{2}\sum_{k=1}^{∞}[(a_ke^{jkω_0t} + a_ke^{-jkω_0t})-j(b_ke^{jkω_0t}-b_ke^{-jkω_0t})]\\ &=\frac{a_0}{2} + \frac{1}{2}\sum_{k=1}^{∞}(a_k - jb_k)e^{jkω_0t} + \frac{1}{2}\sum_{k=1}^{∞}(a_k + jb_k)e^{-jkω_0t}\\ &=\sum_{k=0}\frac{a_k}{2} +\frac{1}{2}\sum_{k=1}^{∞}(a_k - jb_k)e^{jkω_0t} + \frac{1}{2}\sum_{k=-1}^{-∞}(a_{-k} + jb_{-k})e^{jkω_0t}\\ &=\sum_{k = -∞}^{+∞}c_ke^{jkω_0t} \end{aligned} f(t)=2a0+k=1(akcoskω0t+bksinkω0t)=2a0+21k=1[(akejkω0t+akejkω0t)j(bkejkω0tbkejkω0t)]=2a0+21k=1(akjbk)ejkω0t+21k=1(ak+jbk)ejkω0t=k=02ak+21k=1(akjbk)ejkω0t+21k=1(ak+jbk)ejkω0t=k=+ckejkω0t
对于复傅里叶系数 c k c_k ck,有: c k = { a 0 2 k = 0 1 2 ( a k − j b k ) k = 1 , 2 , . . . 1 2 ( a − k + j b − k ) k = − 1 , − 2 , . . . c_k = \begin{cases} \frac{a_0}{2} \quad k = 0\\ \frac{1}{2}(a_k - jb_k) \quad k = 1,2,...\\ \frac{1}{2}(a_{-k} + jb_{-k}) \quad k = -1,-2,...\\ \end{cases} ck=2a0k=021(akjbk)k=1,2,...21(ak+jbk)k=1,2,...
那么,只要我们就出了 a k , b k a_k, b_k ak,bk,就可以把复傅里叶系数 c k c_k ck计算出来。

二,频谱与卷积

上面的一大堆公式推导都是为这一节做了铺垫。首先,什么是频谱呢?
我们生活中就有一个很恰当的例子:

我们平常听的音乐,如果在时域中,是一个振幅随时间变化的波形,像下图这样:

【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第4张图片

而音乐的另外一种表达,则是大家更为熟悉的——音符

这种用音符表示音乐的方法,我们可以认为是频域的表示。
例如,使用傅立叶变换,诸如人类语音的声波可以被分解成其不同频率的音调分量,每个音调分量由具有不同幅度和相位的正弦波表示

2.1 频谱

频谱是频率谱密度的简称,是频率的分布曲线。复杂振荡分解为振幅不同频率不同的谐振荡,这些谐振荡的幅值按频率排列的图形叫做频谱。
也就是说,频谱横坐标是频率,纵坐标是该频率下对应的幅度

还记得我们在上一篇文章里面表示的信号 f ( t ) , g ( t ) f(t), g(t) f(t),g(t)吗?
【通信原理 入坑之路】——深入、详细地理解通信里面“卷积”概念

f ( t ) = e j 2 ω 0 t + 5 e j ω 0 t + 6 f(t) = e^{j2ω_0t} + 5e^{jω_0t} + 6 f(t)=ej2ω0t+5ejω0t+6 g ( t ) = 3 e j ω 0 t + 2 g(t) = 3e^{jω_0t} + 2 g(t)=3ejω0t+2
上面这个是 f ( t ) , g ( t ) f(t), g(t) f(t),g(t)两个信号的时域表示,下面我们画出它的频谱
先画 f ( t ) f(t) f(t)的,我们看到 f ( t ) f(t) f(t)信号可以分解为频率为0, ω_0,2ω_0三种频率的信号的叠加
频率为0的信号幅度为6;频率为 ω 0 ω_0 ω0的信号幅度为5;频率为 2 ω 0 2ω_0 2ω0的信号为1

【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第5张图片

下面是 g ( t ) g(t) g(t)的频谱

【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第6张图片

因此,[1 5 6]*[3 2] = [3 17 28 12]。我们平常所说的频域,实际上指的是频谱,也就是 e j k ω 0 t e^{jkω_0t} ejkω0t前面的系数。那么,做信号时域上的乘法就可以等效成信号频域的卷积,再乘上对应的 e j k ω 0 t e^{jkω_0t} ejkω0t

【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第7张图片

上图中最左边的黑色曲线是由右边各种彩色的,幅度不同、频率不同的正弦波组成的。那么,从图中黑色箭头方向看进去,就是组成黑色波形的各种频率成分的正弦波对应的幅度值,也就是频域图像

补充:时域卷积定理

上文我们提到了:“做信号时域上的乘法就可以等效成信号频域的卷积,再乘上对应的 e j k ω 0 t e^{jkω_0t} ejkω0t

那么,信号在时域上的卷积会等于信号的频域相乘!

三、用两个生动的例子阐释傅里叶变换的作用

【例子一】:现在一家餐厅研究了一个特殊的美食,作为美食家的你,想知道这个菜里面到底都有什么配料。那么,如果我们输入这个美食(这个美食就是我们的“时域信号”),通过傅里叶变换,就可以得到这份美食的配方(这个配方就是我们的“频域信号”)

如果我们输入的是这个美食的配方,就可以通过傅里叶反变换得到这份美食

【例子二】:下面请读者和我一起做一件事情:我将给出 s i n ( 3 x ) + s i n ( 5 x ) sin(3x) + sin(5x) sin(3x)+sin(5x)的曲线(你只知道这个曲线的样子,并不知道这个曲线的方程),那么应该如何去掉 s i n ( 5 x ) sin(5x) sin(5x)的成分呢?
想在时域中完成这个简直难于上青天,可以在频域中却很简单。

四、傅里叶变换与调制解调的关系

我们知道,IQ调制中,调制信号 s ( t ) s(t) s(t)可以表示为: s ( t ) = a c o s ω 0 t − b s i n ω 0 t s(t) = acosω_0t - bsinω_0t s(t)=acosω0tbsinω0t
关于IQ调制的具体知识可以参考:【通信原理 入坑之路】—— 星座图原理分析与IQ调制

而我们又知道,傅里叶变换公式是: f ( t ) = a 0 2 + ∑ k = 1 ∞ ( a k c o s k ω 0 t + b k s i n k ω 0 t ) f(t) = \frac{a_0}{2} + \sum_{k=1}^{∞}(a_kcoskω_0t + b_ksinkω_0t) f(t)=2a0+k=1(akcoskω0t+bksinkω0t)
当k = 1(只有基波分量的时候)且 a 0 = 0 a_0 = 0 a0=0 a k = a , b k = − b a_k = a,b_k = -b ak=abk=b时, f ( t ) = s ( t ) f(t) = s(t) f(t)=s(t)

因此,调制的过程就是用傅里叶系数和正余弦信号相乘,产生一个新的信号发送的过程。
解调就是求解傅里叶系数的过程

即信号的调制解调是傅里叶变换的一个简单的应用!

4.1 用复傅里叶级数实现IQ解调的原理

我们回顾一下IQ调制中使用复数进行解调的过程:
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第8张图片
这里我们对经过信道的 s ( t ) s(t) s(t)先乘上了一个顺时针旋转的单位向量 e − j ω 0 t e^{-jω_0t} ejω0t,再进行积分就可以解调出I, Q信号。可是,他和复傅里叶变换有啥关系呢?

在上文中,我们知道了复傅里叶系数 c k c_k ck的计算公式:
c k = { a 0 2 k = 0 1 2 ( a k − j b k ) k = 1 , 2 , . . . 1 2 ( a − k + j b − k ) k = − 1 , − 2 , . . . c_k = \begin{cases} \frac{a_0}{2} \quad k = 0\\ \frac{1}{2}(a_k - jb_k) \quad k = 1,2,...\\ \frac{1}{2}(a_{-k} + jb_{-k}) \quad k = -1,-2,...\\ \end{cases} ck=2a0k=021(akjbk)k=1,2,...21(ak+jbk)k=1,2,...
而对于傅里叶变换在解调中的应用,我们取基波(k = 1),且 a 0 = 0 a_0 = 0 a0=0
因此,对于上图IQ解调的过程, c k = { 1 2 ( a 1 − j b 1 ) k = 1 c_k = \begin{cases} \frac{1}{2}(a_1 - jb_1) \quad k = 1\\ \end{cases} ck={21(a1jb1)k=1
我们只需要求解出 a 1 , b 1 a_1, b_1 a1,b1即可。

由于: s ( t ) = a c o s ( ω 0 t ) − b s i n ( ω 0 t ) = a 2 ( e j ω 0 t + e − j ω 0 t ) + j b 2 ( e j ω 0 t − e − j ω 0 t ) = ( a 2 + j b 2 ) e j ω 0 t + ( a 2 − j b 2 ) e − j ω 0 t \begin{aligned} s(t) &= acos(ω_0t) - bsin(ω_0t) \\ &= \frac{a}{2}(e^{jω_0t} + e^{-jω_0t}) +\frac{jb}{2}(e^{jω_0t} - e^{-jω_0t})\\ &=(\frac{a}{2} + \frac{jb}{2})e^{jω_0t} + (\frac{a}{2} - \frac{jb}{2})e^{-jω_0t} \end{aligned} s(t)=acos(ω0t)bsin(ω0t)=2a(ejω0t+ejω0t)+2jb(ejω0tejω0t)=(2a+2jb)ejω0t+(2a2jb)ejω0t

由复傅里叶系变换: f ( t ) = ∑ k = − ∞ + ∞ c k e j k ω 0 t f(t) =\sum_{k = -∞}^{+∞}c_ke^{jkω_0t} f(t)=k=+ckejkω0t
我们可以知道: c 1 = a 2 + j b 2 ; c − 1 = a 2 − j b 2 c_1 = \frac{a}{2} + \frac{jb}{2};c_{-1} = \frac{a}{2} - \frac{jb}{2} c1=2a+2jbc1=2a2jb
那么,只要我们求出了 c 1 c_1 c1,我们就可以解调出a, b

4.1 如何求解复傅里叶系数?

回顾一下复傅里叶系数: f ( t ) = ∑ k = − ∞ + ∞ c k e j k ω t f(t) = \sum_{k = -∞}^{+∞}c_ke^{jkωt} f(t)=k=+ckejkωt
我们知道, e j k ω t e^{jkωt} ejkωt可以表示为不同角速度的旋转向量,因此,我们可以把 f ( t ) f(t) f(t)分解为若干个不同角速度,不同旋转方向的旋转向量(当k > 0时逆时针旋转,k < 0 时顺时针旋转)

【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第9张图片
那么,对于组成 f ( t ) f(t) f(t)的某一个旋转向量 e j m ω 0 t e^{jmω_0t} ejmω0t而言,乘上一个 e − j m ω 0 t e^{-jmω_0t} ejmω0t,那么它就变成了一个静止的向量,就可以得到地第m项的复傅里叶系数!但是,其他向量和这个 e − j m ω 0 t e^{-jmω_0t} ejmω0t相乘依然还是会旋转,不过这并不影响!我们通过数学方式来看看:
1 T ∫ − T 2 + T 2 f ( t ) e − j m ω 0 t = 1 T ∫ − T 2 + T 2 ∑ k = − ∞ + ∞ c k e j k ω t e − j m ω 0 t = 1 T ∫ − T 2 + T 2 c m + 1 T ∫ − T 2 + T 2 ∑ k = − ∞ ; k ≠ m + ∞ c k e j k ω t e − j m ω 0 t = c m \begin{aligned} &\frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jmω_0t}\\ &=\frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}\sum_{k = -∞}^{+∞}c_ke^{jkωt}e^{-jmω_0t}\\ &=\frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}c_m + \frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}\sum_{k = -∞;k≠m}^{+∞}c_ke^{jkωt}e^{-jmω_0t}\\ &=c_m \end{aligned} T12T+2Tf(t)ejmω0t=T12T+2Tk=+ckejkωtejmω0t=T12T+2Tcm+T12T+2Tk=;k=m+ckejkωtejmω0t=cm
我们刚刚的推导得出了任意一项复傅里叶系数 c m c_m cm的计算公式: c m = 1 T ∫ − T 2 + T 2 f ( t ) e − j m ω 0 t c_m = \frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jmω_0t} cm=T12T+2Tf(t)ejmω0t

还记得上一节我们说:只要就出了 c 1 c_1 c1既可以得到a 和b嘛。因此:
c 1 = 1 T ∫ − T 2 + T 2 f ( t ) e − j ω 0 t c_1 = \frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jω_0t} c1=T12T+2Tf(t)ejω0t

但是由于 c 1 = a 2 + j b 2 c_1 = \frac{a}{2} + \frac{jb}{2} c1=2a+2jb,我们还要对 c 1 c_1 c1乘以一个2,才能真正得到a, b
即: a + j b = 2 T ∫ − T 2 + T 2 f ( t ) e − j ω 0 t a+jb = \frac{2}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jω_0t} a+jb=T22T+2Tf(t)ejω0t

4.2 傅里叶级数与正交频分复用OFDM的关系

一图胜千言:
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用_第10张图片
OFDM调制的过程,就是把输入的 a 1 , b 1 , a 2 , b 2 、 、 a_1, b_1, a_2, b_2 、、 a1,b1,a2,b2作为傅里叶系数和 c o s ( ω 0 t ) , s i n ( ω 0 t ) , c o s ( 2 ω 0 t ) , s i n ( 2 ω 0 t ) , 、 、 cos(ω_0t), sin(ω_0t), cos(2ω_0t), sin(2ω_0t),、、 cos(ω0t),sin(ω0t),cos(2ω0t),sin(2ω0t),相乘的过程。

OFDM解调的过程就是把 s ( t ) s(t) s(t)做傅里叶级数展开,求解傅里叶系数的过程!

这里再附上求解傅里叶级数的计算公式: a k = 2 T ∫ − T 2 + T 2 f ( t ) c o s ( k ω 0 t ) d t   ( k = 0 , 1 , 2.. ) b k = 2 T ∫ − T 2 + T 2 f ( t ) s i n ( k ω 0 t ) d t   ( t = 1 , 2 , . . . ) a_k = \frac{2}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)cos(kω_0t)dt \space (k=0,1,2..)\\ \quad\\ b_k = \frac{2}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)sin(kω_0t)dt\space (t=1,2,...) ak=T22T+2Tf(t)cos(kω0t)dt (k=0,1,2..)bk=T22T+2Tf(t)sin(kω0t)dt (t=1,2,...)

你可能感兴趣的:(#,Communication,principle)