信号类型——正交频分复用(OFDM)

系列文章目录

《信号类型(通信)——仿真》

《信号类型(通信)——QAM调制信号》

《信号类型(通信)——QPSK、OQPSK、IJF_OQPSK调制信号》

《信号类型(通信)——最小频移键控(MSK)》

《信号类型(通信)——高斯最小频率键控(GMSK)》


文章目录

前言

一、OFDM信号特点

1.1、子载波

1.2、OFDM的快速实现

1.3、问题

二、OFDM调制与解调

三、仿真

3.1、不同导频模式

3.2、成型滤波的影响

总结


前言

       OFDM技术是多载波传输方案的实现方式之一,能够在多径衰弱严重的无线信道实现信号高速率传输。本文简单介绍OFDM的调制与解调过程。


一、OFDM信号特点

        OFDM主要思想是将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输,正交信号可以通过在接收端采用相关技术来分开,这样可以减少子信道之间的相互干扰(ISI) 。每个子信道上的信号带宽小于信道的相关带宽,因此每个子信道上可以看成平坦性衰落,从而可以消除码间串扰,而且由于每个子信道的带宽仅仅是原信道带宽的一小部分,信道均衡变得相对容易。因此,OFDM信号实现关键之一是子信道(子载波)的确定。

1.1、子载波

假设OFDM系统存在K个子信道,每个子信道的中心频率(子载波)为:

x_{k}\left ( t \right )=B_{k}\cos\left ( 2\pi f_{k}t+\varphi _{k} \right ),k=0,1,\cdots ,K-1

其中B_{k},\varphi _{k}分别表示第k路子载波的幅度和相位,可由QPSK或QAM调制生成;f_{k}表示第k路子载波的频率。N路子载波在一个OFDM符号时间内同时发射,因此OFDM信号在时域上表示为:

e\left ( t \right )=\sum_{k=0}^{N-1}x_{k}\left ( t \right )=\sum_{k=0}^{N-1}B_{k}\cos\left ( 2\pi f_{k}t+\varphi _{k} \right )

由于不同子信道的信号x_{k}\left ( t \right )在时域上是混叠的,为了将其分离出来了,需要对每个子信道的被调制载波施加限制,使其满足正交性,即:

\int_{0}^{T_{B}}\cos\left ( 2\pi f_{k}t+\varphi _{k} \right )\cos\left ( 2\pi f_{i}t+\varphi _{i} \right )dt=0

其中T_{B}为每个子信道码元持续时间,即OFDM符号时长。上式根据积化和差公式,可以看成f_{k}+f_{i}f_{k}-f_{i}两个单频信号的积分,为了满足积分和为零,f_{k}+f_{i}f_{k}-f_{i}在一个符号时间T_{B}内需要有整数个载波周期,即:

\left (f_{k}+f_{i} \right )T_{B}=m,\left (f_{k}-f_{i} \right )T_{B}=n

其中m,n均为整数,\varphi _{k},\varphi _{i}为任意值。因此子载波要求\Delta f_{min}=\left (f_{k}-f_{i} \right )_{min}=\frac{1}{T_{B}}f_{k}=\frac{k}{2T_{B}}

子载波时域波形                               子载波频谱(实部)

        每个子载波幅度以及初相一致,上图分别展示了各个子信道下信号的时域以及频域波形。从频域可以看出,在每个子载波频率处,FFT得到频谱幅度以及相位只与该子载波对应调制幅度以及相位有关,其他子载波的调制信息不影响该子载波频率上频谱的取值。而这正是子载波正交条件下OFDM信号的特点,可以利用这一性质通过FFT处理从OFDM时域信号解调处调制信息。

       下图分别展示了不同子信道数下信号频谱(每个子信道调制信息一致,子信道从-K/2到K/2-1)。可以看出子信道越多,信号频谱越趋于矩形。

子载波数4                          子载波数16                               子载波数256 

1.2、OFDM的快速实现

       OFDM时域信号可以认为是多个单频信号的叠加,因此可以由多个频率源单独生成并调制信号后混叠产生,但是这对频率源稳定度有着极高要求(受子载波正交条件限制),实际很难实现,此外如果基于数字化的信号产生方式生成每个子信道的数据,然后叠加生成最终OFDM信号会导致数据量随着子信道数量增加而迅速增加。而基于IFFT的OFDM信号生成方式很好的解决上述问题。下面简单介绍原理,OFDM连续信号在复数形式中可以表达为:

e\left ( t \right )=\sum_{k=0}^{K-1}s\left (k \right )e^{2\pi f_{k}t}

其中s\left (k \right )为调制信号(如QPSK、QAM调制信号)。信号表现形式类似IFFT变换,为了构造IFFT形式,f_{k}=\frac{k}{T_B},并对上式信号进行\frac{T_B}{K}间隔的采样,则离散的OFDM信号为:

e\left ( l \right )=\sum_{k=0}^{K-1}s\left (k \right )e^{2\pi \frac{k}{T_{B}}\frac{lT_{B}}{K}}=\sum_{k=0}^{K-1}s\left (k \right )e^{2\pi \frac{kl}{K}}

因此OFDM离散信号可以通过K点调制信息S=\left [s\left (0 \right ),s\left (1 \right ), \cdots ,s\left (K-1 \right ) \right ]^{T}的IFFT变化得到OFDM离散信号。同样的,当已知OFDM信号的采样值S=\left [e\left (0 \right ),e\left (1 \right ), \cdots ,e\left (K-1 \right ) \right ]^{T},可以通过FFT得到调制信号S

       考虑到实际能够发射的信号是模拟信号,需要由通过DAC将OFDM离散信号e\left ( l \right )转变为OFDM连续信号e\left ( t \right )。为了抑制带外信号能量,在对信号进行DAC处理过程中也会进行成型滤波处理。

       考虑到实际传输信号为实信号,这里有两种方案。

        一种是基于IQ调制技术实现复信号e\left ( t \right )的发射,发射信号表示为:

s\left ( t \right )=a\left ( t \right )\cos(2\pi f_{c}t)-b(t)\sin(2\pi f_{c}t)

其中e\left ( t \right )=a\left ( t \right )+jb(t)f_{c}为发射载频。

       另一种是利用调制信号,构造新的用于生成最终OFDM信号的调制信号,构造原理是基于实信号的频谱复共轭对称特点。新的调制信息S'=\left [s'\left (0 \right ),s'\left (1 \right ), \cdots ,s'\left (2K-1 \right ) \right ]^{T}长度为原来两倍,且满足:

s'(2K-k-1)=s(k),k=1,2,\cdots ,K-1

s'(2K-k-1)=s(2K-k-1),k=K,K+1,\cdots ,2K-2

s'(0)=Re(s(0))

s'(2K-1)=Im(s(0))

由此构造的调制信息S'复共轭对称,因此IFFT得到OFDM离散信号为实信号,不过这种方式会浪费一半的子信道资源。

       考虑到实际接收信号会存在多径效应,与单载波传输相比,虽然OFDM增加了每个子信道的码元时长,但这种因为多径引起的码间串扰仍然存在。为了进一步消除多径引起的码间串扰(ISI),在每个OFDM符号之间会设置保护间隔,同时为了保证不同子载波在经过多径效应之后仍能保证正交性,保护间隔内由OFDM尾部信号填充,称为循环前缀。

1.3、问题

         对相位噪声和载波频偏十分敏感。任何一点小的载波频偏都会破坏子载波之间的正交性,引起子信道干扰ICI。同样,相位噪声也会导致码元星座点的旋转、扩散,形成ISI。而单载波系统就没有这个问题,相位噪声和载波频偏仅仅是降低了接收到的信噪比SNR,而不会引起互相之间的干扰。信号峰均比过大,将会增加A/D和D/A的复杂性,而且会降低射频功率放大器的效率。同时,在发射端,放大器的最大输出功率就限制了信号的峰值,这会在OFDM频段内和相邻频段之间产生干扰。

二、OFDM调制与解调

OFDM调制原理图

       在发射端,首先对比特流进行QAM或QPSK调制,然后依次经过串并转换和IFFT变换,再将并行数据转化为串行数据,加上保护间隔(又称“循环前缀”),形成OFDM码元。在组帧时,须加入同步序列和信道估计序列,以便接收端进行突发检测、同步和信道估计,最后输出正交的基带信号。

OFDM解调原理图

       当接收机检测到信号到达时,首先进行同步和信道估计。当完成时间同步、小数倍频偏估计和纠正后,经过FFT变换,进行整数倍频偏估计和纠正,此时得到的数据是QAM或QPSK的已调数据。对该数据进行相应的解调,就可得到比特流。

       实际非理想传输条件以及非理想接收机状态的影响下,OFDM的解调首先需要考虑OFDM信号的同步问题,包括采样时钟同步(采样时钟晶振不稳定导致的)、码元/OFDM符号同步(收发机相互分离导致的)以及载频同步(多普勒效应等导致的),同步的目的主要为了确定OFDM解调时FFT运算的截取窗口位置;然后是基于导频或训练序列等先验证信息的进行信道的估计。这里不详细展开,感性兴趣的可以参考文献。

三、仿真

3.1、不同导频模式

  • 块状导频

       参数设置,符号速率100kHz,QPSK调制映射,256载波位,块状导频,时间间隔4,保护间隔位为FFT点数的四分之一,根升余弦成型滤波器,滚降系数0.3,符号数6。

(a)QPSK调制星座图                     (b)导频图案

上图为OFDM调制前QPSK调制星座图,以及OFDM插入的导频图案(导频的位置分布)。

(a)成型滤波前时域信号          (b)成型滤波后时域信号

       上图为块状导频OFDM信号成型滤波前后时域信号,下图分别为信号频谱以及OFDM解调后的星座图

信号频谱以及星座图

  • 梳状导频

             参数设置,符号速率100kHz,QPSK调制映射,256载波位,其中180数据载波位,梳状导频,载频间隔4,保护间隔位为FFT点数的四分之一,根升余弦成型滤波器,滚降系数0.3,符号数6。

(a)QPSK调制星座图                              (b)导频图案

上图为OFDM调制前QPSK调制星座图,以及OFDM插入的导频图案(导频的位置分布)。

(a)成型滤波后时域信号          (b)成型滤波后频域信号

       上图为梳状导频OFDM信号成型滤波前后时域信号,下图分别为信号频谱以及OFDM解调后的星座图

信号频谱以及星座图

3.2、成型滤波的影响

滤波器长度6(滚降系数0.05,0.3,0.8)

  • 滤波器长度16(滚降系数0.05,0.3,0.8)

参考文献

1、樊昌信 曹丽娜《通信原理》第7版

2、邝育军. OFDM无线传输系统中定时同步和信道估计的研究[D]. 北京:北京邮电大学,2003.

总结

       本文重点介绍OFDM调制与解调原理,并结合仿真分析OFDM信号传输过程。有问题也欢迎评论区留言。转载请附链接【杨(_> <_)】的博客_CSDN博客-信号处理,SAR,代码实现领域博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/586736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】分支与循环语句

什么是语句&#xff1f; C语句可分为以下五类&#xff1a; 表达式语句函数调用语句控制语句 &#xff08;本篇重点介绍&#xff09;复合语句空语句 控制语句用于控制程序的执行流程&#xff0c;以实现程序的各种结构方式。C语言支持三种结构&#xff1a; 顺序结构选择结构循…

软件设计师——软件工程(三)

&#x1f4d1;前言 本文主要是【软件工程】——软件设计师——软件工程的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304…

使用SecoClient软件连接L2TP

secoclient软件是华为防火墙与友商设备进行微屁恩对接的一款软件,运行在windows下可以替代掉win系统自带的连接功能,因为win系统自带的连接功能总是不可用而且我照着网上查到的各种方法调试了很久都调不好,导致我一度怀疑是我的服务没搭建好,浪费了大把时间去研究其他搭建方案 …

最新Redis7哨兵模式(保姆级教学)

一定一定要把云服务器的防火墙打开一定要&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;否则不成功&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

AppWeb认证绕过漏洞(CVE-2018-8715)

一、环境搭建 二、影响版本 三、构造payload Authorization: Digest usernameadmin 四、抓包获取sesion 五、修改数据包、认证头 记得设置用户名 六、漏洞存在特征&#xff08;Gigest&#xff09;

基于AM62x的ARM+FPGA+Codesys低成本软PLC解决方案

GPMC并口简介 GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口&#xff0c;支持8/16bit数据位宽&#xff0c;支持128MB访问空间&#xff0c;最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口…

2023年新一代开发者工具 Vue ,正式开源!

以下文章来源于前端充电宝 &#xff0c;作者CUGGZ 近日&#xff0c;Vue 新一代开发者工具&#xff08;DevTools&#xff09;正式开源&#xff01;Vue DevTools 是一个旨在增强 Vue 开发人员体验的工具&#xff0c;它提供了一些功能来帮助开发者更好地了解 Vue 应用。下面就来看…

小程序入门-登录+首页

正常新建一个登录页面 创建首页和TatBar&#xff0c;实现登录后底部出现两个按钮 代码 "pages": ["pages/login/index","pages/index/index","pages/logs/logs" ],"tabBar": {"list": [{"pagePath"…

Hexo 部署 Github Pages, Github Actions自动部署

想整个静态的博客部署在github pages 历经两天的折磨终于是摸索成功了&#xff0c;官网的文档太简陋了&#xff0c;很多东西没说清楚。 欢迎大家访问我的博客&#xff01; CanyueThis is Canyues blog.https://mobeicanyue.github.io/ 最终实现的效果&#xff0c;一个项目仓库…

51单片机之LED灯

51单片机之LED灯 &#x1f334;前言&#xff1a;&#x1f3ee;点亮LED灯的原理&#x1f498;点亮你的第一个LED灯&#x1f498;点亮你的八个LED灯 &#x1f4cc;让LED灯闪烁的原理&#x1f3bd; LED灯的闪烁&#x1f3d3;错误示范1&#x1f3d3;正确的LED闪烁代码应该是这样&am…

PythonTSK Study for first day (paper read)

HTSK model Study AbstractIntroductionII TSK for high-dimentional datasetIII ResultsA DatesetB AlgorithmC性能评估 Abstract The TSK Fuzzy System with Gaussian membership functions can not address high dimentional datasets, if add softmax function to solve i…

day14--JDK8~17新特性(下):

第18章_JDK8-17新特性&#xff08;下&#xff09; 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 6. 新语法结构 新的语法结构&#xff0c;为我们勾勒出了 Java 语法进化的一个趋势&#xff0c…

CSP CCF 202305-1 重复局面 C++满分题解

#include<iostream> using namespace std;int judge(char arr[][64],int m) {int a1;for(int i0;i<m;i){int flag0;for(int j0;j<64;j){if(arr[i][j]!arr[m][j]){flag1;break;}}if(flag0)a;}return a; }int main() {int n;cin>>n;char arr[n][64]; //直接看…

SpringMVC源码解析——DispatcherServlet初始化

在Spring中&#xff0c;ContextLoaderListener只是辅助功能&#xff0c;用于创建WebApplicationContext类型的实例&#xff0c;而真正的逻辑实现其实是在DispatcherServlet中进行的&#xff0c;DispatcherServlet是实现Servlet接口的实现类。Servlet是一个JAVA编写的程序&#…

Nacos 基础篇:Nacos简介、基本概念、基本架构、Standalone单机搭建部署

文章目录 什么是Nacos基本架构逻辑架构及其组件介绍领域模型数据模型服务领域模型配置领域模型 下载目录结构配置启动 什么是Nacos Nacos&#xff1a;(Dynamic) Naming and Configuration Service&#xff0c;动态的服务发现和配置的服务&#xff0c;是一个更易于构建云原生应…

<PDF-Pics> support

If get any questions,email me caohechunhotmail.com

力扣LeetCode第26题 删除有序数组中的重复项

一、题目 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1&#xff1…

[Angular] 笔记 24:ngContainer vs. ngTemplate vs. ngContent

请说明 Angular 中 ngContainer&#xff0c; ngTemplate 和 ngContent 这三者之间的区别。 chatgpt 回答&#xff1a; 这三个在 Angular 中的概念是关于处理和组织视图的。 1. ngContainer&#xff1a; ngContainer 是一个虚拟的 HTML 容器&#xff0c;它本身不会在最终渲染…

WPF+Halcon 培训项目实战(12):WPF导出匹配模板

文章目录 前言相关链接项目专栏运行环境匹配图片WPF导出匹配模板如何了解Halcon和C#代码的对应关系逻辑分析&#xff1a;添加截取ROI功能基类矩形圆形 生成导出模板运行结果&#xff1a;可能的报错你的文件路径不存在你选择的区域的内容有效信息过少 前言 为了更好地去学习WPF…

DFS BFS

用DFS和BFS分别实现 //这边给出DFS的模版 void dfs(int x,int y) {//判断是否到达终点&#xff08;只有给出结束点的时候需要&#xff09; if (x ex && y ey) {if (min_steps > step) {min_steps step;}return;}//给出移动方向int move[4][2] {{0, 1}, {0, -1}…