4G LTE教程
整体架构
物理层(第 1 层)
物理层通过空中接口传输来自 MAC 传输信道的所有信息。负责 RRC 层的链路自适应 (AMC)、功率控制、小区搜索(用于初始同步和切换目的)和其他测量(LTE 系统内部和系统之间)。
介质访问层 (MAC)
MAC层负责逻辑信道和传输信道之间的映射,将来自一个或多个逻辑信道的MAC SDU复用到传输块(TB)上,以便在传输信道上传送到物理层,将来自一个或多个逻辑信道的MAC SDU与从物理层在传输信道上传送的传输块(TB)进行解复用,调度信息报告,通过HARQ进行错误纠正,通过动态调度在UE之间进行优先级处理,在一个UE的逻辑信道之间进行优先级处理,逻辑信道优先级排序。
无线链路控制 (RLC)
RLC 有 3 种操作模式:透明模式 ™、非确认模式 (UM) 和确认模式 (AM)。
RLC 层负责上层 PDU 的传输、通过 ARQ 进行错误校正(仅适用于 AM 数据传输)、RLC SDU 的串联、分段和重组(仅适用于 UM 和 AM 数据传输)。
RLC 还负责 RLC 数据 PDU 的重新分段(仅适用于 AM 数据传输)、RLC 数据 PDU 的重新排序(仅适用于 UM 和 AM 数据传输)、重复检测(仅适用于 UM 和 AM 数据传输)、RLC SDU 丢弃(仅适用于 UM 和 AM 数据传输)、RLC 重建和协议错误检测(仅适用于 AM 数据传输)。
无线资源控制 (RRC)
RRC子层的主要服务和功能包括与非接入层(NAS)相关的系统信息广播、与接入层(AS)相关的系统信息广播、寻呼、UE与E-UTRAN之间的RRC连接的建立、维护和释放、安全功能包括密钥管理、点对点无线承载的建立、配置、维护和释放。
分组数据汇聚控制 (PDCP)
PDCP 层负责 IP 数据的报头压缩和解压、数据传输(用户平面或控制平面)、PDCP 序列号(SN)的维护、在重新建立下层时按顺序传送上层 PDU、在重新建立 RLC AM 上映射的无线承载的下层 SDU 的重复消除、用户平面数据和控制平面数据的加密和解密、控制平面数据的完整性保护和完整性验证、基于计时器的丢弃、重复丢弃,PDCP 用于映射到 DCCH 和 DTCH 类型的逻辑信道上的 SRB 和 DRB。
非接入层 (NAS) 协议
非接入层 (NAS) 协议构成了用户设备 (UE) 和 MME 之间的控制平面的最高层。
NAS 协议支持 UE 的移动性和会话管理程序,以建立和维护 UE 和 PDN GW 之间的 IP 连接。
LTE 层数据流
层接收到的数据包称为服务数据单元 (SDU),而层输出的数据包称为协议数据单元 (PDU)。让我们从上到下看看数据流:
IP 层将 PDCP SDU(IP 数据包)提交给 PDCP 层。PDCP 层进行报头压缩并将 PDCP 报头添加到这些 PDCP SDU。PDCP 层将 PDCP PDU(RLC SDU)提交给 RLC 层。
PDCP 报头压缩:PDCP 从 PDU 中删除 IP 报头(最少 20 个字节),并添加 1-4 个字节的令牌。这大大节省了原本必须通过无线方式传输的报头数量。
LTE PDCP 服务数据单元
RLC 层对这些 SDUS 进行分段,形成 RLC PDU。RLC 根据 RLC 操作模式添加标头。RLC 将这些 RLC PDU(MAC SDU)提交给 MAC 层。
RLC 分段:如果 RLC SDU 较大,或者可用的无线数据速率较低(导致传输块较小),则 RLC SDU 可能会被拆分为多个 RLC PDU。如果 RLC SDU 较小,或者可用的无线数据速率较高,则多个 RLC SDU 可能会被打包成单个 PDU。
MAC 层添加报头并进行填充以使此 MAC SDU 适合 TTI。MAC 层将 MAC PDU 提交给物理层,以便将其传输到物理信道上。
物理通道将该数据传输到子帧的时隙中。
LTE 通信信道
不同协议之间的信息流称为信道和信号。LTE 使用几种不同类型的逻辑、传输和物理信道,这些信道根据其承载的信息类型和信息处理方式进行区分。
-
逻辑信道:定义通过空中传输的信息类型,例如业务信道、控制信道、系统广播等。数据和信令消息在 RLC 和 MAC 协议之间的逻辑信道上传输。
-
传输信道:定义如何通过无线方式传输数据,例如,传输数据的编码、交织选项是什么。数据和信令消息在 MAC 层和物理层之间的传输信道上传输。
-
物理信道:定义在空中传输的内容,例如 DL 帧中的前 N 个符号。数据和信令消息在物理层不同层级之间的物理信道上传输。
https://www.tutorialspoint.com/lte/lte_communication_channels.htm
LTE OFDM 技术
为了克服 UMTS 中存在的多径衰落问题,LTE 在下行链路中使用正交频分复用 (OFDM) - 即从基站到终端通过多个 180 KHz 的窄带信道传输数据,而不是将一个信号分散到整个 5MHz 信道带宽上。即 OFDM 使用大量窄子载波进行多载波传输来承载数据。
正交频分复用(OFDM)是一种用作数字多载波调制方法的频分复用(FDM)方案。
OFDM 满足 LTE 对频谱灵活性的要求,并为具有高峰值速率的超宽载波提供经济高效的解决方案。基本的 LTE 下行链路物理资源可以看作是一个时频网格,如下图所示:
OFDM 符号被分组为资源块。资源块在频域上的总大小为 180kHz,在时域上的总大小为 0.5ms。每个 1ms 传输时间间隔 (TTI) 由两个时隙 (Tslot) 组成。
每个用户在时间频率网格中被分配一定数量的所谓资源块。用户获得的资源块越多,资源元素中使用的调制越高,比特率就越高。用户在给定时间点获得哪些资源块以及获得多少资源块取决于频率和时间维度的高级调度机制。
LTE 中的调度机制与 HSPA 中使用的机制类似,并能够在不同的无线电环境中为不同的服务提供最佳性能。
OFDM 的优点
OFDM 相对于单载波方案的主要优势在于它无需复杂的均衡滤波器便可应对严酷的信道条件(例如,长铜线中的高频衰减、窄带干扰和多径引起的频率选择性衰落)。
由于 OFDM 可以看作是使用许多缓慢调制的窄带信号而不是一个快速调制的宽带信号,因此信道均衡得到简化。
低符号率使得可以使用符号间的保护间隔,从而可以消除符号间干扰 (ISI)。
这种机制还有利于单频网络(SFN)的设计,其中几个相邻的发射器以相同的频率同时发送相同的信号,因为来自多个远距离发射器的信号可以建设性地组合,而不是像在传统的单载波系统中通常发生的那样互相干扰。
OFDM 的缺点
峰值与平均值之比高
对频率偏移敏感,因此也对多普勒频移敏感
相关文章:

4G LTE教程
整体架构 物理层(第 1 层) 物理层通过空中接口传输来自 MAC 传输信道的所有信息。负责 RRC 层的链路自适应 (AMC)、功率控制、小区搜索(用于初始同步和切换目的)和其他测量(LTE 系统内部和系统之间)。 介…...

C++:哈希表
哈希表概念 哈希表可以简单理解为:把数据转化为数组的下标,然后用数组的下标对应的值来表示这个数据。如果我们想要搜索这个数据,直接计算出这个数据的下标,然后就可以直接访问数组对应的位置,所以可以用O(1)的复杂度…...

自己动手写一个滑动验证码组件(后端为Spring Boot项目)
近期参加的项目,主管丢给我一个任务,说要支持滑动验证码。我身为50岁的软件攻城狮,当时正背着双手,好像一个受训的保安似的,中规中矩地参加每日站会,心想滑动验证码在今时今日已经是标配了,司空…...
keepalive脑裂
keepalive脑裂 调度器的高可用 vip地址主备之间的切换,主在工作时,p地址只在主上,主停止工作,ip飘移到备服务器。 在主备的优先级不变的情况下,主恢复工作,vip会飘回到主服务器。 1、配优先级 2、配置…...

STM32Cubemx配置生成 Keil AC6支持代码
文章目录 一、前言二、AC 6配置2.1 ARM ComPiler 选择AC62.2 AC6 UTF-8的编译命令会报错 三、STM32Cubemx 配置3.1 找到stm32cubemx的模板位置3.2 替换文件内核文件3.3 修改 cmsis_os.c文件3.4 修改本地 四、编译对比 一、前言 使用keil ARM compiler V5的时候,编译…...
Perl基础入门指南:从零开始掌握Perl编程
Perl是一种功能强大且灵活的编程语言,广泛应用于系统管理、Web开发、网络编程和文本处理等领域。如果你是编程新手或者想学习一种新的编程语言,Perl是一个不错的选择。本文将带你了解Perl的基础知识,并通过简单的示例代码帮助你快速入门。 什…...
Mybatis SQL注解使用场景
MyBatis 提供了几种常用的注解,主要用于简化 XML 映射文件的编写,使得 SQL 查询和操作可以直接在 Java 接口中定义。下面列出了主要的注解以及它们在被调用时的写法示例: 1. Select Select 注解用于执行查询操作,并将查询结果映…...

Dataset for Stable Diffusion
1.Dataset for Stable Diffusion 笔记来源: 1.Flickr8k数据集处理 2.处理Flickr8k数据集 3.Github:pytorch-stable-diffusion 4.Flickr 8k Dataset 5.dataset_flickr8k.json 1.1 Dataset 采用Flicker8k数据集,该数据集有两个文件ÿ…...

近期matlab学习笔记,学习是一个记录,反复的过程
近期matlab学习笔记,学习是一个记录,反复的过程 matlab的mlx文件在运行的时候,不需要在文件夹路径下,也能运行,但是需要调用子函数时,就需要在文件所在路径下运行 那就先运行子函数,把路径换过来…...
Elasticsearch7.5.2 常用rest api与elasticsearch库
目录 一、rest api 1. 新建索引 2. 删除索引 3. 插入单条数据 4. 更新单条数据 5. 删除单条数据 6. 查询数据 二、python elasticsearch库 1. 新建索引 一、rest api 1. 新建索引 请求方式:PUT 请求URL:http://ip/(your_index_nam…...

Autosar Dcm配置-0x28服务ComControl-基于ETAS软件
文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…...
平安养老险厦门分公司:提升金融服务,发挥金融力量
为向社会公众普及金融保险知识,传递消费者权益保护理念,平安养老保险股份有限公司厦门分公司(以下简称“分公司”)积极开展“78保险公众宣传日”系列教育宣传活动。分公司紧扣“保险,让每一步前行更有底气”主题&#…...

【开源合规】开源许可证风险场景详细解读
文章目录 前言关于BlackDuck许可证风险对比图弱互惠型许可证举个例子具体示例LGPL系列LGPL-2.0-onlyLGPL-2.0-or-laterLGPL-2.1-onlyLGPL-2.1-or-laterLGPL-3.0-onlyLGPL-3.0-or-laterMPL系列MPL-1.0MPL-1.1MPL-2.0EPL系列EPL-1.0EPL-2.0互惠型许可证GPL系列GPL-1.0GPL-2.0GPL-…...

Redis持久化RDB,AOF
目 录 CONFIG动态修改配置 慢查询 持久化 在上一篇主要对redis的了解入门,安装,以及基础配置,多实例的实现:redis的安装看我上一篇: Redis安装部署与使用,多实例 redis是挡在MySQL前面的,运行在内存…...

【持续集成_03课_Linux部署Sonar+Gogs+Jenkins】
一、通过虚拟机搭建Linux环境-CnetOS 1、安装virtualbox,和Vmware是一样的,只是box更轻量级 1)需要注意内存选择,4G 2、启动完成后,需要获取服务器IP地址 命令 ip add 服务器IP地址 通过本地的工具,进…...
mvcc 速读
MVCC(Multi-Version Concurrency Control,多版本并发控制)是MySQL中一种用于实现数据库并发控制的方法,尤其在InnoDB存储引擎中得到了广泛应用。它的主要作用是提高数据库在高并发场景下的性能,并确保数据的一致性。 …...

美容仪维修过程记录
近期维修的家用射频美容仪,发一些维修过程的拆机图片...

STM32入门开发操作记录(一)——新建工程
目录 一、课程准备1. 课程资料2. 配件清单3. 根目录 二、环境搭建三、新建工程1. 载入器件支持包2. 添加模块3. ST配置4. 外观设置5. 主函数文件 一、课程准备 1. 课程资料 本记录操作流程参考自b站视频BV1th411z7snSTM32入门教程-2023版 细致讲解 中文字幕,课程资…...

QT实现自定义带有提示信息的透明环形进度条
1. 概述 做界面开发的童鞋可能都会遇到这样的需求,就是有一些界面点击了之后比较耗时的操作,需要界面给出一个环形进度条的进度反馈信息. 如何来实现这样的需求呢,话不多说,上效果 透明进度条 2. 代码实现 waitfeedbackprogressba…...
金币程序题
昨天,小孩问了我一个python编程竞赛题,我看了一下题目,是一个数列编程的问题,我在想,小学五年级的学生能搞得懂吗?反正我家小孩是没有搞懂,不知道别人家的小孩能不能搞明白。所以我花了一点时间…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...