【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用
文章目录
- 一,实傅里叶级数和复傅里叶级数
- 1.1实傅里叶级数
- 1.2 复傅里叶级数
- 二,频谱与卷积
- 2.1 频谱
- 补充:时域卷积定理
- 三、用两个生动的例子阐释傅里叶变换的作用
- 四、傅里叶变换与调制解调的关系
- 4.1 用复傅里叶级数实现IQ解调的原理
- 4.1 如何求解复傅里叶系数?
- 4.2 傅里叶级数与正交频分复用OFDM的关系
一,实傅里叶级数和复傅里叶级数
1.1实傅里叶级数
我们还记得高数中实傅里叶级数的公式吗?f(t)=a02+∑k=1∞(akcoskω0t+bksinkω0t)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)
再来看看 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)
如果我们试着再叠加正弦波呢?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)
我们能看到:如果叠加无穷多个正弦波,那么最终就会无限趋近于方波了
通过实傅里叶变换公式:f(t)=a02+∑k=1∞(akcoskω0t+bksinkω0t)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=sinty = sinty=sint中,a0=0,a1=0,b1=1a_0 = 0, a_1 = 0, b_1 = 1a0=0,a1=0,b1=1
y=costy = costy=cost中,a0=0,a1=1,b1=0a_0 = 0, a_1 = 1, b_1 = 0a0=0,a1=1,b1=0
【当然,a0,ak,bka_0, a_k, b_ka0,ak,bk有特定的公式可以计算,这里不打出来了】
1.2 复傅里叶级数
首先,由复变函数的知识我们知道:sinω0t=12j(ejω0t−e−jω0t)=−j2(ejω0t−e−jω0t)sinω_0t = \frac{1}{2j}(e^{jω_0t} - e^{-jω_0t}) = -\frac{j}{2}(e^{jω_0t} - e^{-jω_0t})sinω0t=2j1(ejω0t−e−jω0t)=−2j(ejω0t−e−jω0t)
cosω0t=12(ejω0t+e−jω0t)cosω_0t = \frac{1}{2}(e^{jω_0t} + e^{-jω_0t})cosω0t=21(ejω0t+e−jω0t)
我们把这两个式子带入上面的实傅里叶级数公式:
f(t)=a02+∑k=1∞(akcoskω0t+bksinkω0t)=a02+12∑k=1∞[(akejkω0t+ake−jkω0t)−j(bkejkω0t−bke−jkω0t)]=a02+12∑k=1∞(ak−jbk)ejkω0t+12∑k=1∞(ak+jbk)e−jkω0t=∑k=0ak2+12∑k=1∞(ak−jbk)ejkω0t+12∑k=−1−∞(a−k+jb−k)ejkω0t=∑k=−∞+∞ckejkω0t\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+ake−jkω0t)−j(bkejkω0t−bke−jkω0t)]=2a0+21k=1∑∞(ak−jbk)ejkω0t+21k=1∑∞(ak+jbk)e−jkω0t=k=0∑2ak+21k=1∑∞(ak−jbk)ejkω0t+21k=−1∑−∞(a−k+jb−k)ejkω0t=k=−∞∑+∞ckejkω0t
对于复傅里叶系数ckc_kck,有:ck={a02k=012(ak−jbk)k=1,2,...12(a−k+jb−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(ak−jbk)k=1,2,...21(a−k+jb−k)k=−1,−2,...
那么,只要我们就出了ak,bka_k, b_kak,bk,就可以把复傅里叶系数ckc_kck计算出来。
二,频谱与卷积
上面的一大堆公式推导都是为这一节做了铺垫。首先,什么是频谱呢?
我们生活中就有一个很恰当的例子:
我们平常听的音乐,如果在时域中,是一个振幅随时间变化的波形,像下图这样:
而音乐的另外一种表达,则是大家更为熟悉的——音符
这种用音符表示音乐的方法,我们可以认为是频域的表示。
例如,使用傅立叶变换,诸如人类语音的声波可以被分解成其不同频率的音调分量,每个音调分量由具有不同幅度和相位的正弦波表示
2.1 频谱
频谱是频率谱密度的简称,是频率的分布曲线。复杂振荡分解为振幅不同和频率不同的谐振荡,这些谐振荡的幅值按频率排列的图形叫做频谱。
也就是说,频谱横坐标是频率,纵坐标是该频率下对应的幅度
还记得我们在上一篇文章里面表示的信号f(t),g(t)f(t), g(t)f(t),g(t)吗?
【通信原理 入坑之路】——深入、详细地理解通信里面“卷积”概念
f(t)=ej2ω0t+5ejω0t+6f(t) = e^{j2ω_0t} + 5e^{jω_0t} + 6f(t)=ej2ω0t+5ejω0t+6;g(t)=3ejω0t+2g(t) = 3e^{jω_0t} + 2g(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ω02ω_02ω0的信号为1
下面是g(t)g(t)g(t)的频谱
因此,[1 5 6]*[3 2] = [3 17 28 12]。我们平常所说的频域,实际上指的是频谱,也就是ejkω0te^{jkω_0t}ejkω0t前面的系数。那么,做信号时域上的乘法就可以等效成信号频域的卷积,再乘上对应的ejkω0te^{jkω_0t}ejkω0t
上图中最左边的黑色曲线是由右边各种彩色的,幅度不同、频率不同的正弦波组成的。那么,从图中黑色箭头方向看进去,就是组成黑色波形的各种频率成分的正弦波对应的幅度值,也就是频域图像
补充:时域卷积定理
上文我们提到了:“做信号时域上的乘法就可以等效成信号频域的卷积,再乘上对应的ejkω0te^{jkω_0t}ejkω0t
那么,信号在时域上的卷积会等于信号的频域相乘!
三、用两个生动的例子阐释傅里叶变换的作用
【例子一】:现在一家餐厅研究了一个特殊的美食,作为美食家的你,想知道这个菜里面到底都有什么配料。那么,如果我们输入这个美食(这个美食就是我们的“时域信号”),通过傅里叶变换,就可以得到这份美食的配方(这个配方就是我们的“频域信号”)
如果我们输入的是这个美食的配方,就可以通过傅里叶反变换得到这份美食
【例子二】:下面请读者和我一起做一件事情:我将给出sin(3x)+sin(5x)sin(3x) + sin(5x)sin(3x)+sin(5x)的曲线(你只知道这个曲线的样子,并不知道这个曲线的方程),那么应该如何去掉sin(5x)sin(5x)sin(5x)的成分呢?
想在时域中完成这个简直难于上青天,可以在频域中却很简单。
四、傅里叶变换与调制解调的关系
我们知道,IQ调制中,调制信号s(t)s(t)s(t)可以表示为:s(t)=acosω0t−bsinω0ts(t) = acosω_0t - bsinω_0ts(t)=acosω0t−bsinω0t
关于IQ调制的具体知识可以参考:【通信原理 入坑之路】—— 星座图原理分析与IQ调制
而我们又知道,傅里叶变换公式是:f(t)=a02+∑k=1∞(akcoskω0t+bksinkω0t)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(只有基波分量的时候)且a0=0a_0 = 0a0=0,ak=a,bk=−ba_k = a,b_k = -bak=a,bk=−b时,f(t)=s(t)f(t) = s(t)f(t)=s(t)
因此,调制的过程就是用傅里叶系数和正余弦信号相乘,产生一个新的信号发送的过程。
解调就是求解傅里叶系数的过程
即信号的调制解调是傅里叶变换的一个简单的应用!
4.1 用复傅里叶级数实现IQ解调的原理
我们回顾一下IQ调制中使用复数进行解调的过程:
这里我们对经过信道的s(t)s(t)s(t)先乘上了一个顺时针旋转的单位向量e−jω0te^{-jω_0t}e−jω0t,再进行积分就可以解调出I, Q信号。可是,他和复傅里叶变换有啥关系呢?
在上文中,我们知道了复傅里叶系数ckc_kck的计算公式:
ck={a02k=012(ak−jbk)k=1,2,...12(a−k+jb−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(ak−jbk)k=1,2,...21(a−k+jb−k)k=−1,−2,...
而对于傅里叶变换在解调中的应用,我们取基波(k = 1),且a0=0a_0 = 0a0=0
因此,对于上图IQ解调的过程,ck={12(a1−jb1)k=1c_k = \begin{cases} \frac{1}{2}(a_1 - jb_1) \quad k = 1\\ \end{cases} ck={21(a1−jb1)k=1
我们只需要求解出a1,b1a_1, b_1a1,b1即可。
由于:s(t)=acos(ω0t)−bsin(ω0t)=a2(ejω0t+e−jω0t)+jb2(ejω0t−e−jω0t)=(a2+jb2)ejω0t+(a2−jb2)e−jω0t\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+e−jω0t)+2jb(ejω0t−e−jω0t)=(2a+2jb)ejω0t+(2a−2jb)e−jω0t
由复傅里叶系变换:f(t)=∑k=−∞+∞ckejkω0tf(t) =\sum_{k = -∞}^{+∞}c_ke^{jkω_0t}f(t)=k=−∞∑+∞ckejkω0t
我们可以知道:c1=a2+jb2;c−1=a2−jb2c_1 = \frac{a}{2} + \frac{jb}{2};c_{-1} = \frac{a}{2} - \frac{jb}{2}c1=2a+2jb;c−1=2a−2jb
那么,只要我们求出了c1c_1c1,我们就可以解调出a, b
4.1 如何求解复傅里叶系数?
回顾一下复傅里叶系数:f(t)=∑k=−∞+∞ckejkωtf(t) = \sum_{k = -∞}^{+∞}c_ke^{jkωt} f(t)=k=−∞∑+∞ckejkωt
我们知道,ejkωte^{jkωt}ejkωt可以表示为不同角速度的旋转向量,因此,我们可以把f(t)f(t)f(t)分解为若干个不同角速度,不同旋转方向的旋转向量(当k > 0时逆时针旋转,k < 0 时顺时针旋转)
那么,对于组成f(t)f(t)f(t)的某一个旋转向量ejmω0te^{jmω_0t}ejmω0t而言,乘上一个e−jmω0te^{-jmω_0t}e−jmω0t,那么它就变成了一个静止的向量,就可以得到地第m项的复傅里叶系数!但是,其他向量和这个e−jmω0te^{-jmω_0t}e−jmω0t相乘依然还是会旋转,不过这并不影响!我们通过数学方式来看看:
1T∫−T2+T2f(t)e−jmω0t=1T∫−T2+T2∑k=−∞+∞ckejkωte−jmω0t=1T∫−T2+T2cm+1T∫−T2+T2∑k=−∞;k≠m+∞ckejkωte−jmω0t=cm\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} T1∫−2T+2Tf(t)e−jmω0t=T1∫−2T+2Tk=−∞∑+∞ckejkωte−jmω0t=T1∫−2T+2Tcm+T1∫−2T+2Tk=−∞;k=m∑+∞ckejkωte−jmω0t=cm
我们刚刚的推导得出了任意一项复傅里叶系数cmc_mcm的计算公式:cm=1T∫−T2+T2f(t)e−jmω0tc_m = \frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jmω_0t}cm=T1∫−2T+2Tf(t)e−jmω0t
还记得上一节我们说:只要就出了c1c_1c1既可以得到a 和b嘛。因此:
c1=1T∫−T2+T2f(t)e−jω0tc_1 = \frac{1}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jω_0t}c1=T1∫−2T+2Tf(t)e−jω0t
但是由于c1=a2+jb2c_1 = \frac{a}{2} + \frac{jb}{2}c1=2a+2jb,我们还要对c1c_1c1乘以一个2,才能真正得到a, b
即:a+jb=2T∫−T2+T2f(t)e−jω0ta+jb = \frac{2}{T}\int_{-\frac{T}{2}}^{+\frac{T}{2}}f(t)e^{-jω_0t}a+jb=T2∫−2T+2Tf(t)e−jω0t
4.2 傅里叶级数与正交频分复用OFDM的关系
一图胜千言:
OFDM调制的过程,就是把输入的a1,b1,a2,b2、、a_1, b_1, a_2, b_2 、、a1,b1,a2,b2、、作为傅里叶系数和cos(ω0t),sin(ω0t),cos(2ω0t),sin(2ω0t),、、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)做傅里叶级数展开,求解傅里叶系数的过程!
这里再附上求解傅里叶级数的计算公式:ak=2T∫−T2+T2f(t)cos(kω0t)dt(k=0,1,2..)bk=2T∫−T2+T2f(t)sin(kω0t)dt(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=T2∫−2T+2Tf(t)cos(kω0t)dt (k=0,1,2..)bk=T2∫−2T+2Tf(t)sin(kω0t)dt (t=1,2,...)
【通信原理 入坑之路】 —— 详细理解傅里叶变换以及它在通信里面的应用相关推荐
- 【通信原理 入坑之路】—— 理解 4G,5G中的天王山:OFDM【学习笔记4】
今天将要讨论的部分个人感觉非常绕,博主也是在阅读了大量相关书籍和文献之后才有所体悟.如有表述不当之处欢迎大家在评论区斧正! 在上一篇博文中,我们知道串并转换使得OFDM的符号速率降低了,可是总体符号传 ...
- 【通信原理 入坑之路】——深入、详细地理解通信里面“卷积”概念
文章目录 一.多项式乘法和"卷积" 二."卷积"的计算公式 2.1 实例:利用卷积计算两个信号相乘 三.卷积的生动理解 3.1 卷积能够用来解决什么问题? 3. ...
- 【通信原理 入坑之路】—— 信号的包络分析2 包络分析的意义以及OQPSK调制的引入
本篇 B l o g Blog Blog 是接上一篇未完的分析而作的,主要是继续深入理解信号包络以及包络的意义.同时,本篇 B l o g Blog Blog 是<深入浅出通信原理>的学习 ...
- 【通信原理 入坑之路】—— 详解IQ调制以及星座图原理
写在前面:本博客是<深入浅出通信原理>的学习笔记,仅供个人学习参考使用 文章目录 一. IQ调制与解调的原理与过程 1.1 利用旋转向量理解IQ调制(正交调制) 1.2 利用旋转向量理解I ...
- 【通信原理 入坑之路】—— 数字载波传输系统 之 2PSK(二进制相移键控)2ASK(二进制幅度键控)的超详细分析
在之前的文章里面,我们讨论过数字基带传输系统,他们指的是传输二进制脉冲成型信号.然而,在绝大部分场合,我们需要将数字基带信号装载到高频载波上(也就是我们所说的调制),通过天线等将高频波发射出去.这就是 ...
- 【通信原理 入坑之路】——信息论部分 之 离散无记忆信源的等长编码
课本上的讲解公式实在是太多啦!看得人头大,那么本文试图从繁杂的公式中梳理一下几种等长编码的方法,并在最后给出一些解题技巧.我们开始吧! 文章目录 离散无记忆信源的等长编码 1.1 单符号等长编码 1. ...
- 【通信原理 入坑之路】—— 模拟信号的数字编码 之 PCM编码(A律13折线和μ律15折线的编译码剖析)
引言: 在我们的数字通信系统中,一般要发送的绝大多数都是模拟信号.而所谓数字通信,传递的就应该是数字信号.因此,我们首先要对这个待发送的模拟信号进行采样(这在我之前<信号与系统>的相关博客 ...
- 【通信原理 入坑之路】—— 信息论部分 离散无记忆信源的不等长编码 之 霍夫曼编码过程详解
还记得在上一篇博客中,我们讨论的离散无记忆信源的等长编码吗,我们最后得到的结论是 -- 如果使用等长编码,那么对典型序列编码的编码效率是最高的.然而,要满足较高的编码效率,同时还要保证误码率的情况下, ...
- 强化学习入坑之路04
强化学习入坑之路04 今天继续强化学习的学习,这些内容的学习主要参考了李宏毅的强化学习教程,在此基础上加入了个人的理解和总结.好,废话少说下面开始进入正题. 1.Q-learning(DQN) Sta ...
- 从小白到迷茫菜鸟的IT入坑之路
从接触IT到现在,大概有两年的时间了,从想着写技术博客开始到现在也差不多有半年时间了,本来想着是先写计算机多操作系统的安装.但是,无奈,太懒了,还是写写自己的入坑之路吧!没准对想入门的小白学弟学妹有帮 ...
最新文章
- 我希望支持JavaScript GraphQL实现的API
- 网页热点区域神器工具大曝光
- 使用masonry布局旋转View的问题
- linux下配置DHCP中继代理
- NYOJ 16 矩形嵌套(动态规划)
- PyCharm——导入模块时提示Unresolved Reference解决方案
- html5圆圈图标,html5移动端环形图标菜单代码
- halcon 旋转_HALCON高级篇:3D相机标定(3/3)
- 十、封装python3读写ini文件类
- linux mp3长度,得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢?...
- 人大金仓数据库sql语句_人大金仓数据库问题记录
- 电力拖动自动控制系统_专插本专业全面分析:电子工程及其自动化
- 华为荣耀9手机通过在Fastboot模式写ramdisk.img来获取ROOT权限 | 华为荣耀9怎么获取ROOT权限 | 华为荣耀9怎么用面具Magisk做ROOT权限
- 从零到一实现一个CNI
- 计算机应用基础——计算机软件(二)
- 用百度地图进行搜索周边的建筑,医院,餐厅,学校等。
- 信号完整性可能遇见的五类问题
- 【观察】戴尔易安信ECS:领跑企业级对象存储,背后的底蕴与底气
- 程序员:用代码改变世界
- 如何配置Instantiable pallets
热门文章
- 小米手机解锁 usb3.0状态下
- CI框架入门中的简单MVC例子
- 指数基金投资从入门到精通——阅读笔记
- C++ Primer Plus 第六版课后习题答案(第五章)
- 计算机如何更新苹果系统,苹果电脑系统怎么升级_苹果电脑升级系统的操作步骤...
- [读书笔记]《你的灯亮着吗?》
- 阿里巴巴java开发手册心得_阿里巴巴JAVA开发手册总结
- 手机12306买卧铺下铺技巧_12306订下铺有什么技巧?
- java 登陆微信获取好友列表_微信api接口,触发推送微信好友列表及返回
- 【LEDE】树莓派上玩LEDE终极指南-92-自己编译的LEDE为啥子不能用SSR和KoolProxy?