正交频分复用(OFDM)原理及实现

目录

1.OFDM原理

1.1时域正交与基带信号

1.2频域正交与频率间隔Δf 

2.基带信号的调制框图

3.OFDM调制与IDFT

4.串行比特流怎么进行IDFT


1.OFDM原理

1.1时域正交与基带信号

[1]OFDM的核心就是利用各个子载波的正交性,信号的正交性是什么呢?就是无论两个函数(信号的表达式称为函数)的幅值为多少,在确定的一个时间周期内相乘,其积分总是等于0(也就是面积相加为0)。比如最简单的一对正交函数sin(t)和sin(2t),其中红色是sin(t),蓝色是sin(2t)。他们均在2π时间内具有完整的周期,各自在2π时间内的积分问为0(正负面积相加为0)。而sin(t)*sin(2t)的图像为:

 可以大概地看出,图像中正负面积相加同样为0,也就是:

那么如果使得sin(t)的幅度为a,sin(2t)的幅度为b,也就是将a调制于sin(t),将b调制于sin(2t),同时传输这两个调制了信号的正弦波(子载波):a*sin(t)+b*sin(2t),在接收时又分别对两路子载波进行积分,也就是:

这样就将原始信息a和b解调出来了,两路子载波互不干扰,而OFDM就是通过多路互不干扰的子载波传递了不同的信息。而由于子载波的正交性,其频率间隔很小,使得频带利用率很高。

设f0~fN-1是以Δf(能使每个子载波互相正交的频率间隔)为频率间隔的N个频率,那么就有:

                                                   s(t)=b_{0}sin(2\pi f_{0}t)+b_{1}sin(2\pi f_{1}t)+...+b_{N-1}sin(2\pi f_{N-1}t)

由于正弦函数与余弦函数的正交关系,上式还可以扩展得到OFDM的基带信号表达式

                                              s(t)=b_{0}sin(2\pi f_{0}t)+b_{1}sin(2\pi f_{1}t)+...+b_{N-1}sin(2\pi f_{N-1}t)

                                                     +a_{0}cos(2\pi f_{0}t)+a_{1}cos(2\pi f_{1}t)+...+a_{N-1}cos(2\pi f_{N-1}t)

1.2频域正交与频率间隔Δf 

对限制在[0,2π]内的sin(t)信号,相当于无限长的sin(t)信号乘以一个[0,2π]上的门信号(矩形脉冲),其频谱为两者频谱的卷积。sin(t)的频谱为冲激,门信号的频谱为sinc信号(即sin(x)/x信号)。冲激信号卷积sinc信号,相当于对sinc信号的搬移。所以分析到这里,可以得出[0,2π]内的sin(t)信号时域波形其对应的频谱如下[3]:

sin(2t)的频谱分析基本相同。需要注意的是,由于正交区间为[0,2π],因此sin(2t)在相同的时间内发送了两个完整波形。相同的门函数保证了两个函数的频谱形状相同,只是频谱被搬移的位置变了[3]

将sin(t)和sin(2t)所传信号的频谱叠加在一起,正交在频域看就是他们的主瓣关系以及零点关系,如下:

那么子载波的间隔怎么取呢?即下图中的Δf :

假设s(t)的一个码元周期是Ts,即Ts内所有的子载波波形分别代表一个码元,且子载波都应该正交,就是任意两个子载波在Ts内的积分为0,幅度不影响,有如下[4]:

                                                    \int_{0}^{T_{s}} cos(2\pi f_{i}t)cos(2\pi f_{j}t) dt=0

                                                    =\frac{1}{2}\int_{0}^{T_{s}}cos[2\pi(f_{i}-f_{j})t] dt+\frac{1}{2}\int_{0}^{T_{s}}cos[2\pi(f_{i}+f_{j})t]dt

                                                    =\frac{sin[2\pi(f_{i}-f_{j})T_{s}]}{2\pi(f_{i}-f_{j})}+\frac{sin[2\pi(f_{i}+f_{j})T_{s}]}{2\pi(f_{i}+f_{j})}

上式等于0的即为分母等于零:

                                                      (f_{i}+f_{j})T_{s}=m,(f_{i}-f_{j})T_{s}=n

m,n为整数,即子载波频率:

                                                     f_{i}=(m+n)/(2T_{s}) ,f_{j}=(m-n)/(2T_{s})

要求子载波满足:f_{k}=k/(2T_{s}),k为整数, 最小子载波间隔:min(f_{i}-f_{j})=min(n/T_{s})=\Delta f_{min}=1/T_{s}

2.基带信号的调制框图

设一个OFDM系统有N个子信道,第k个子载波公式为:

                                                              x_{k}(t)=a_{k}cos(2\pi f_{k}t)-b_{k}sin(2\pi f_{k}t),其中k=0,1,...N-1           

(注意这里中间的加号变成了减号是为了推导下面的复频域信号方便)子载波是承载所要传递的信息的正/余弦波,那么它怎么体现所承载的信息内容?幅度。频率是用来区分哪个子载波的。

 一路子载波包括两路正交的信号(任意频率的正弦余弦波都相互正交),这就可以看做IQ信号。下图是单个子载波的IQ调制:

把N个携带信息的子载波累加,就得到了OFDM信号的模拟形式:

                                                            s(t)=\sum_{k=0}^{N-1} \left [ a_{k} cos(2\pi f_{k}t) - b_{k} sin(2\pi f_{k}t) \right ]      

其中0\leq t\leq T_{s},意思是所有子载波的一个码元周期T_{s}的连续波形。注意我们这里得到的是基带信号,也就是:

                                                                   f_{0}=0,\Delta f=\frac{1}{T_{s}},f_{k}=\frac{k}{T_{s}},k=0,1,...N-1

所以根据s(t)的公式,我们可以对每个子载波进行IQ调制,把所有的子载波中的I路加起来,把所有Q路加起来,基带信号的输出结果就是两路IQ信号,一路cos,一路sin,(关于调制方式可以是QPSK,QAM等)如下图所示:

解调框图就是对接收的s(t)乘以相应载波并积分就得到相应载波承载的信息ak或bk了,详细内容参考资料[6].

然而理论上可行,实际生成多个子载波然后分别调制后求和,就很难了;是否可以避免一个一个的调制后再求和,而是直接生成求和后的信号呢?当然可以,用IDFT。

3.OFDM调制与IDFT

上述信号s(t)可以写成复指数表示:   

                                                            s(t)= Re[\sum_{k=0}^{N-1} (a_{k}+jb_{k})e^{j2\pi f_{k}t}]      

原因:                                              \sum_{k=0}^{N-1} (a_{k}+jb_{k})e^{j2\pi f_{k}t}=\sum_{k=0}^{N-1}(a_{k}+jb_{k})(cos(2\pi f_{k}t)+jsin(2\pi f_{k}t))

                                                    =\sum_{k=0}^{N-1} [a_{k} cos(2\pi f_{k}t) - b_{k} sin(2\pi f_{k}t)] +\mathbf{ j}\sum_{k=0}^{N-1}[b_{k} cos(2\pi f_{k}t) + a_{k} sin(2\pi f_{k}t)]

                                                  =s(t)+\mathbf{j}z(t)

                                                           z(t)= Im[\sum_{k=0}^{N-1} (a_{k}+jb_{k})e^{j2\pi f_{k}t}]

其中Re[]是取实部操作, Im[]是取虚部操作,所以s(t)的复指数形式的调制框图就不言而喻了,参考[6].

因为硬件实现上复数是没有意义的,复数只是数学计算上才有意义。我们硬件实现时传递的两路信号I和Q也都是实数,来代表复数。不要纠结这两个式子的关系,只要做到硬件实现和数学计算上的对应就可以了。

这个式子是模拟信号,我处理的是离散的数字信号,带入f_{k}=\frac{k}{T_{s}},k=0,1,...N-1,在一个码元周期内采样N点即t=T_{s}\frac{n}{N},n=0,1,...N-1带入得到信号采样后的离散OFDM基带信号:

                                                         s(n)=Re[\sum_{k=0}^{N-1} (a_{k}+jb_{k})e^{j \frac{2\pi}{N} k n} ] ,n=0,1,2,...N-1

注意这里子载波个数k和采样点n都是N个。

说到这里,很明显上式就是IDFT的形式了,输入就是N个单独子载波的a_{k}+jb_{k}输出就是子载波叠加后信号进行N点采样的N个数据点。

4.串行比特流怎么进行IDFT

那么a_{k}+jb_{k}对应的是什么呢?

事实上,原始数据是串行的二进制数据,我们把数据分成帧,一帧F比特就是合成后的s(t)在一个码元周期T_{s}的数据,F比特分成N组:B_{0}-B_{N-1},N组分别对应N个子载波,每组的比特数可以不同,因为每个子载波可以采用不同的调制方式。

将每组中的b_{i}个比特看作是一个M_{i}进制码元 B_{i},则b_{i}=log_{2}M_{i},例如16进制对应4个比特,假设这4比特为1100,我们采用16QAM映射,根据星座图

调制后的相位45度,振幅A/\sqrt{2},即把1100映射为\boldsymbol{B_{i}}=(\frac{A}{\sqrt{2}})e^{j\frac{\pi}{4}}=\frac{A}{2}+j\frac{A}{2},这就是a_{k}+jb_{k},当然我们会把a和b均用二进制表示,这就完成了把一路子载波上的信息映射成两路信号I和Q。假设每个子载波调制方式相同,我们把所有数据映射完后的示意图如下:

最终,我们得到了IDFT的输入:a_{k}+jb_{k},使用IFFT算法即可得到输出的离散的s(n),对应s(t)的N个采样点。

当然,实际实现中我们的数据在进行IFFT之前和之后都要进行一系列的编码和处理等,这个我会另外再写博文详细讲解。

参考资料:

1.OFDM基本原理及简单实例应用

2.通信里 星座图 到底是什么意思啊? 

3.给"小白"图示讲解OFDM的原理

4.《通信原理》樊昌信第六版

5.OFDM专题之输入的复信号从何而来

6.OFDM专题之理解原理图(暂不包含用IFFT以及FFT的原理图形式)

  • 106
    点赞
  • 562
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
正交频分复用(OFDM)是一种多路子载波复用的技术,它在无线通信领域得到广泛应用。OFDM系统通过将高速数据信号流分解成多组并行的低速子数据流,并将这些子数据流分别调制到非正交的平行子载波上进行传输。每个子载波的间隔等于信号周期时间T的倒数再乘以一个分数系数α。这种设置使得子载波之间的间隔更加紧密,相比于传统的OFDM系统,传输相同数据量的OFDM信号,OFDM只需要OFDM系统带宽的α倍。一个基带的OFDM时域信号可以用数学式表示为: 正交频分复用(OFDM)的原理是通过将高速数据信号流分解成多组并行的低速子数据流,然后分别调制到非正交的平行子载波上进行传输。OFDM系统放弃了子载波之间的正交性条件,使得子载波之间的间隔更加紧密,从而获得更高的频谱利用率。与传统的OFDM技术相比,OFDM系统在对抗时间衰落信道方面具有良好的性能。虽然OFDM系统的谱效率提高了,但是子载波之间的非正交性会引入严重的码间干扰(ISI),给译码器带来挑战。 多输入多输出正交频分复用(MIMO-OFDM)系统存在高峰均功率比(PAPR)问题,这是限制MIMO-OFDM技术应用和发展的主要障碍之一。针对这个问题,可以采用一种由子块逐次取反(SSI )和循环限幅算法的联合方案来解决。这种方案旨在减小PAPR,并提高系统的性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [学习笔记之——高频谱效率频分复用(SEFDM)](https://blog.csdn.net/gwplovekimi/article/details/102461465)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [一种抑制MI MO- OF DM峰均比的联合算法 (2011年)](https://download.csdn.net/download/weixin_38659805/18181075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值