文章目录

  • 一,实傅里叶级数和复傅里叶级数
    • 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∑∞​(ak​coskω0​t+bk​sinkω0​t)
它表示了任何一个函数都可以化成无穷多个幅度、频率不同的正弦波的叠加

为了直观感受傅里叶变换的魅力,我们试着用正弦波近似表示方波:
首先,我们画一个简单的: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∑∞​(ak​coskω0​t+bk​sinkω0​t)
我们可以直接看出一些简单函数的傅里叶系数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ω0​t=2j1​(ejω0​t−e−jω0​t)=−2j​(ejω0​t−e−jω0​t)
cosω0t=12(ejω0t+e−jω0t)cosω_0t = \frac{1}{2}(e^{jω_0t} + e^{-jω_0t})cosω0​t=21​(ejω0​t+e−jω0​t)
我们把这两个式子带入上面的实傅里叶级数公式:
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∑∞​(ak​coskω0​t+bk​sinkω0​t)=2a0​​+21​k=1∑∞​[(ak​ejkω0​t+ak​e−jkω0​t)−j(bk​ejkω0​t−bk​e−jkω0​t)]=2a0​​+21​k=1∑∞​(ak​−jbk​)ejkω0​t+21​k=1∑∞​(ak​+jbk​)e−jkω0​t=k=0∑​2ak​​+21​k=1∑∞​(ak​−jbk​)ejkω0​t+21​k=−1∑−∞​(a−k​+jb−k​)ejkω0​t=k=−∞∑+∞​ck​ejkω0​t​
对于复傅里叶系数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​=⎩⎪⎨⎪⎧​2a0​​k=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ω0​t+5ejω0​t+6;g(t)=3ejω0t+2g(t) = 3e^{jω_0t} + 2g(t)=3ejω0​t+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ω0​t前面的系数。那么,做信号时域上的乘法就可以等效成信号频域的卷积,再乘上对应的ejkω0te^{jkω_0t}ejkω0​t

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

补充:时域卷积定理

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

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

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

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

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

【例子二】:下面请读者和我一起做一件事情:我将给出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ω0​t−bsinω0​t
关于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∑∞​(ak​coskω0​t+bk​sinkω0​t)
当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ω0​t,再进行积分就可以解调出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​=⎩⎪⎨⎪⎧​2a0​​k=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(ω0​t)−bsin(ω0​t)=2a​(ejω0​t+e−jω0​t)+2jb​(ejω0​t−e−jω0​t)=(2a​+2jb​)ejω0​t+(2a​−2jb​)e−jω0​t​

由复傅里叶系变换:f(t)=∑k=−∞+∞ckejkω0tf(t) =\sum_{k = -∞}^{+∞}c_ke^{jkω_0t}f(t)=k=−∞∑+∞​ck​ejkω0​t
我们可以知道: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=−∞∑+∞​ck​ejkω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ω0​t而言,乘上一个e−jmω0te^{-jmω_0t}e−jmω0​t,那么它就变成了一个静止的向量,就可以得到地第m项的复傅里叶系数!但是,其他向量和这个e−jmω0te^{-jmω_0t}e−jmω0​t相乘依然还是会旋转,不过这并不影响!我们通过数学方式来看看:
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​+2T​​f(t)e−jmω0​t=T1​∫−2T​+2T​​k=−∞∑+∞​ck​ejkωte−jmω0​t=T1​∫−2T​+2T​​cm​+T1​∫−2T​+2T​​k=−∞;k​=m∑+∞​ck​ejkωte−jmω0​t=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​+2T​​f(t)e−jmω0​t

还记得上一节我们说:只要就出了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​+2T​​f(t)e−jω0​t

但是由于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​+2T​​f(t)e−jω0​t

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(ω0​t),sin(ω0​t),cos(2ω0​t),sin(2ω0​t),、、相乘的过程。

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​+2T​​f(t)cos(kω0​t)dt (k=0,1,2..)bk​=T2​∫−2T​+2T​​f(t)sin(kω0​t)dt (t=1,2,...)

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

  1. 【通信原理 入坑之路】—— 理解 4G,5G中的天王山:OFDM【学习笔记4】

    今天将要讨论的部分个人感觉非常绕,博主也是在阅读了大量相关书籍和文献之后才有所体悟.如有表述不当之处欢迎大家在评论区斧正! 在上一篇博文中,我们知道串并转换使得OFDM的符号速率降低了,可是总体符号传 ...

  2. 【通信原理 入坑之路】——深入、详细地理解通信里面“卷积”概念

    文章目录 一.多项式乘法和"卷积" 二."卷积"的计算公式 2.1 实例:利用卷积计算两个信号相乘 三.卷积的生动理解 3.1 卷积能够用来解决什么问题? 3. ...

  3. 【通信原理 入坑之路】—— 信号的包络分析2 包络分析的意义以及OQPSK调制的引入

    本篇 B l o g Blog Blog 是接上一篇未完的分析而作的,主要是继续深入理解信号包络以及包络的意义.同时,本篇 B l o g Blog Blog 是<深入浅出通信原理>的学习 ...

  4. 【通信原理 入坑之路】—— 详解IQ调制以及星座图原理

    写在前面:本博客是<深入浅出通信原理>的学习笔记,仅供个人学习参考使用 文章目录 一. IQ调制与解调的原理与过程 1.1 利用旋转向量理解IQ调制(正交调制) 1.2 利用旋转向量理解I ...

  5. 【通信原理 入坑之路】—— 数字载波传输系统 之 2PSK(二进制相移键控)2ASK(二进制幅度键控)的超详细分析

    在之前的文章里面,我们讨论过数字基带传输系统,他们指的是传输二进制脉冲成型信号.然而,在绝大部分场合,我们需要将数字基带信号装载到高频载波上(也就是我们所说的调制),通过天线等将高频波发射出去.这就是 ...

  6. 【通信原理 入坑之路】——信息论部分 之 离散无记忆信源的等长编码

    课本上的讲解公式实在是太多啦!看得人头大,那么本文试图从繁杂的公式中梳理一下几种等长编码的方法,并在最后给出一些解题技巧.我们开始吧! 文章目录 离散无记忆信源的等长编码 1.1 单符号等长编码 1. ...

  7. 【通信原理 入坑之路】—— 模拟信号的数字编码 之 PCM编码(A律13折线和μ律15折线的编译码剖析)

    引言: 在我们的数字通信系统中,一般要发送的绝大多数都是模拟信号.而所谓数字通信,传递的就应该是数字信号.因此,我们首先要对这个待发送的模拟信号进行采样(这在我之前<信号与系统>的相关博客 ...

  8. 【通信原理 入坑之路】—— 信息论部分 离散无记忆信源的不等长编码 之 霍夫曼编码过程详解

    还记得在上一篇博客中,我们讨论的离散无记忆信源的等长编码吗,我们最后得到的结论是 -- 如果使用等长编码,那么对典型序列编码的编码效率是最高的.然而,要满足较高的编码效率,同时还要保证误码率的情况下, ...

  9. 强化学习入坑之路04

    强化学习入坑之路04 今天继续强化学习的学习,这些内容的学习主要参考了李宏毅的强化学习教程,在此基础上加入了个人的理解和总结.好,废话少说下面开始进入正题. 1.Q-learning(DQN) Sta ...

  10. 从小白到迷茫菜鸟的IT入坑之路

    从接触IT到现在,大概有两年的时间了,从想着写技术博客开始到现在也差不多有半年时间了,本来想着是先写计算机多操作系统的安装.但是,无奈,太懒了,还是写写自己的入坑之路吧!没准对想入门的小白学弟学妹有帮 ...

最新文章

  1. 我希望支持JavaScript GraphQL实现的API
  2. 网页热点区域神器工具大曝光
  3. 使用masonry布局旋转View的问题
  4. linux下配置DHCP中继代理
  5. NYOJ 16 矩形嵌套(动态规划)
  6. PyCharm——导入模块时提示Unresolved Reference解决方案
  7. html5圆圈图标,html5移动端环形图标菜单代码
  8. halcon 旋转_HALCON高级篇:3D相机标定(3/3)
  9. 十、封装python3读写ini文件类
  10. linux mp3长度,得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢?...
  11. 人大金仓数据库sql语句_人大金仓数据库问题记录
  12. 电力拖动自动控制系统_专插本专业全面分析:电子工程及其自动化
  13. 华为荣耀9手机通过在Fastboot模式写ramdisk.img来获取ROOT权限 | 华为荣耀9怎么获取ROOT权限 | 华为荣耀9怎么用面具Magisk做ROOT权限
  14. 从零到一实现一个CNI
  15. 计算机应用基础——计算机软件(二)
  16. 用百度地图进行搜索周边的建筑,医院,餐厅,学校等。
  17. 信号完整性可能遇见的五类问题
  18. 【观察】戴尔易安信ECS:领跑企业级对象存储,背后的底蕴与底气
  19. 程序员:用代码改变世界
  20. 如何配置Instantiable pallets

热门文章

  1. 小米手机解锁 usb3.0状态下
  2. CI框架入门中的简单MVC例子
  3. 指数基金投资从入门到精通——阅读笔记
  4. C++ Primer Plus 第六版课后习题答案(第五章)
  5. 计算机如何更新苹果系统,苹果电脑系统怎么升级_苹果电脑升级系统的操作步骤...
  6. [读书笔记]《你的灯亮着吗?》
  7. 阿里巴巴java开发手册心得_阿里巴巴JAVA开发手册总结
  8. 手机12306买卧铺下铺技巧_12306订下铺有什么技巧?
  9. java 登陆微信获取好友列表_微信api接口,触发推送微信好友列表及返回
  10. 【LEDE】树莓派上玩LEDE终极指南-92-自己编译的LEDE为啥子不能用SSR和KoolProxy?