MAC层程序设计文档_第1页
MAC层程序设计文档_第2页
MAC层程序设计文档_第3页
MAC层程序设计文档_第4页
MAC层程序设计文档_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MACMAC 层程序设计层程序设计文档文档 清清华华大学微波与数字通信大学微波与数字通信实验实验室室 Jan 19 2002 MAC 层程序设计方案 第 1 页 共 31 页 李云洲 2002 年 01 月 1 概述概述 2 1 1 项目背景 2 1 2 术语和缩写词 2 1 3 参考资料 3 2 MAC 层介绍层介绍 5 2 1 MAC 子层功能 5 2 1 1 基本功能 5 2 1 2 功能与信道映射的关系 5 2 2 与外部接口关系 6 2 2 1 MAC层的下部接口 7 2 2 2 MAC层的上部接口 8 2 2 3 传输信道与逻辑信道的映射关系 9 2 2 4 对MAC的控制接口 9 2 3 MAC 子系统结构 9 2 3 1 MAC C结构 10 2 3 2 MAC D结构 11 2 4 MAC 层数据帧结构 12 2 4 1 TCTF字段 12 2 4 2 C T字段 13 2 4 3 UE ID字段 14 2 4 4 UE ID类型字段 15 3 MAC 层实现方案层实现方案 16 3 1 MAC 子系统的结构 16 3 2实现中的主要数据结构 17 3 3RRC 的配置原语 20 3 4 设计中对 TFC 的处理 20 3 4 1 CTFC到TFCS的转换 20 3 4 2 选择TFI的算法 22 4 MAC 实现中用到的任务介绍实现中用到的任务介绍 24 4 1 任务 CCCH RACH 24 4 2 任务 DCCH RACH 25 4 3 任务 DCCH DCH 26 4 4 任务 BCH BCCH 27 4 5 任务 PCH PCCH 28 4 6 任务 FACH CCCH 28 4 7 任务 FACH DCCH 29 4 8 任务 DCH DCCH 30 MAC 层程序设计方案 第 2 页 共 31 页 李云洲 2002 年 01 月 1 概述概述 第三代移动通信系统与以往的移动通信系统相比 最明显的特征就是它能 提供多媒体业务 这些业务既有高实时性 低吞吐量的语音业务 又有高吞吐 量 低实时性的数据业务 还有对实时性和吞吐量要求都很高的视频点播业务 而这些灵活 多样的功能是由复杂的 3GPP 协议栈实现的 MAC 层是 3GPP 协 议栈的重要组成部分 无线资源管理和控制的主要执行实体 1 1 项目背景项目背景 本设计是国家 863 计划第三代移动通信系统移动台项目的一部分 MAC 层 的设计是依据 3GPP 中关于 UMTS WCDMA 的有关文件 结合 C3G 具体情况 制定出来的 本设计采用 Telelogic 公司的 TelelogicTau4 0 工具 所设计的程序与我们常 用的 C 语言编写的程序有很大的区别 它的优点是实现协议方便 简洁 不需 要人为处理缓冲区 不需要人为给消息定义 ID 等等 缺点是由于过多的使用 Task 使程序的效率降低 1 2 术语和缩写词术语和缩写词 ASCAccess Service Class BCCHBroadcast Control Channel BCHBroadcast Channel C Control CCCHCommon Control Channel CPCHCommon Packet Channel UL DCCHDedicated Control Channel DCHDedicated Channel DLDownlink DSCHDownlink Shared Channel DTCHDedicated Traffic Channel FACH Forward Link Access Channel FDDFrequency Division Duplex L1Layer 1 physical layer L2Layer 2 data link layer MAC 层程序设计方案 第 3 页 共 31 页 李云洲 2002 年 01 月 L3Layer 3 network layer MACMedium Access Control PCCHPaging Control Channel PCH Paging Channel PDUProtocol Data Unit PHYPhysical layer PhyCHPhysical Channels RACHRandom Access Channel RLCRadio Link Control RNCRadio Network Controller RNSRadio Network Subsystem RNTIRadio Network Temporary Identity RRCRadio Resource Control SAPService Access Point SDUService Data Unit SRNCServing Radio Network Controller SRNSServing Radio Network Subsystem TDDTime Division Duplex TFCITransport Format Combination Indicator TFITransport Format Indicator U User UEUser Equipment ULUplink UMTSUniversal Mobile Telecommunications System UTRAUMTS Terrestrial Radio Access UTRANUMTS Terrestrial Radio Access Network 1 3 参考资料参考资料 3GPP TS25 301v3 6 0 Radio Interface Protocol Architecture 3GPP TS25 302v3 7 0 Layer 1 General requirements 3GPP TS25 303v3 6 0 UE States and Procedures in Connected Mode 3GPP TS25 304v3 5 0 UE Procedures in Idle Mode 3GPP TS25 321v3 6 0 MAC Protocol Specification 3GPP TS25 322v3 5 0 Description of RLC protocol 3GPP TS25 331v3 5 0 Description of RRC protocol 3GPP TS25 401v3 5 0 UTRAN Overall Description 3GPP TS25 415v3 5 0 UTRAN Iu Interface CN UTRAN User Plane MAC 层程序设计方案 第 4 页 共 31 页 李云洲 2002 年 01 月 Protocol 3GPP TS25 425v3 2 0 Iur User Plane Protocols for common transport channal Data Streams 3GPP TS25 427v3 3 0 Iub Iur User Plane Protocols for DCH Data Streams 3GPP TS25 931v3 2 0 UTRAN Functions Examples on Signalling Procedures WCDMA 空中接口协议 v2 2 C3G 总体组 WCDMA 系统业务复用规范 MAC 层程序设计方案 第 5 页 共 31 页 李云洲 2002 年 01 月 2 MAC 层介绍层介绍 MAC 子层是 3GPP 协议栈的数据链路层 L2 的一个子层 其主要功能是 按照 RRC 对无线资源的配置实现无线资源控制 2 1 MAC 子层子层功能功能 2 1 1 基本功能基本功能 完成逻辑信道和传输信道之间的映射 根据瞬时源速率 为每个传输信道选择相应的传输格式 同一个 UE 的数据流的优先级处理 通过动态分配的方法 在 UEs 之间做优先级处理 在 FACH 上 几个用户的数据流的优先级处理 公共传输信道上 UEs 的身份识别 高层 PDUs 到公用传输信道上传输块的复用 公用传输信道上传输块到高层 PDUs 的解复用 高层 PDUs 到专用传输信道上传输块集的复用 专用传输信道上传输块集到 高层 PDUs 的解复用 业务量监视 动态传输信道类型切换 RLC 透明数据的加密 解密 2 1 2 功能与信道映射的关系功能与信道映射的关系 MAC 层功能和信道映射之间存在着对应关系 参见下表 MAC 层功 能 逻辑信道传输信道支持TF 选择 用户间 优先级 处理 优先级处 理 一个 用户 对 UE 识别 公用传输信 道上的复用 解复用 专用传输信 道上的复用 解复用 动态的 传输信 道切换 Uplink Rx CCCHRACH DCCHRACH DCCHCPCH DCCHDCH DTCHRACH DTCHCPCH DTCHDCH Downlink Tx BCCHFACH PCCHPCH MAC 层程序设计方案 第 6 页 共 31 页 李云洲 2002 年 01 月 CCCHFACH DCCHFACH DCCHDCH DTCHFACH DTCHDCH 表表 2 1 功能与信道映射的关系 功能与信道映射的关系 2 2 与与外部接口关系外部接口关系 无线接口分为三个协议层 物理层 L1 数据链路层 L2 网络层 L3 其中 L2 分为以下子层 媒体接入控制子层 MAC 无线链路控制子层 RLC 分组数据集中协议子层 PDCP 和广播 多点传送控制子层 BMC L3 又分为几个子层 其中的最低层 即与 L2 连接并终止在 UTRAN 的子层 记作无线资源控制层 RRC RRC 层处于控制平面 在需要时向用户平面的 L2 层和 L1 层发出控制原语 PCH RRC 层 RLC 层 Iur Iub 用户帧协议处理 控制平面 用户平面 配置原语 配置原语 信令 CCCH DCCH DTCH DCH PCCH FACH RACH MAC 层 图图 2 1 MAC 层的外部接口关系层的外部接口关系 MAC 层程序设计方案 第 7 页 共 31 页 李云洲 2002 年 01 月 2 2 1 MAC 层的下部接口层的下部接口 MAC Medium Access Control 层位于数据链路层的最低层 直接与 Iur Iub 接口用户平面 或 L1 相连 其接口定义为传输信道 分为公用传输信 道和专用传输信道 公用传输信道是由一个小区所有 UEs 所公用的 有如下类型 随机接入信道 RACH Random Access Channel 只在上行链路存在 用于相对少量数据的传输 例如初始接入或非实 时专用控制或通信时的数据 前向接入信道 FACH Forward Access Channel 只在下行链路存在 用于传输相对少量数据 寻呼信道 PCH Paging Channel 只在下行链路存在 用于广播发送控制信息到整个小区 信息类型有 寻呼和通知 另一个用处是UTRAN 的BCCH信息变化的通知 专用传输信道是由某个 UE 专用的 有如下类型 专用信道 DCH Dedicated Channel 在上行和下行链路中都存在 传输块 TB 相当于一个 MAC PDU 是 L1 层和 MAC 层交换的基本单元 L1 层为每个传输块加上 CRC 校验 在同一时刻 使用同一传输信道 在 L1 层 和 MAC 层间交换的一组传输块就是传输块集 TBS 在一个传输块集中的传 输块应该是等长的 传输时间间隔 TTI 定义为传输块集的到达间隔时间 它等于在无线接口 上物理层传送传输块集的周期 它经常是最小交织周期 如 10ms 一个无线帧 的长度 的整数倍 MAC 每个 TTI 传递一个传输块集到物理层 传输格式 TF 定义为由 L1 层提供给 MAC 层 反之亦然 的用于在传输 时间间隔中 在传输信道上传递传输块集的格式 传输格式包含两部分 动态 部分 Dynamic part 和半静态部分 Semi static part 动态部分的属性 传输块大小 传输块集大小 半静态部分的属性 传输时间间隔 应用的纠错方案 纠错类型 Turbo 码 卷积码或无信道编码 编码速率 静态速率匹配参数 上行 Puncturing 界限 CRC 的大小 某个传输信道有关的一组传输格式定义为传输格式集 一个传输格式集中 MAC 层程序设计方案 第 8 页 共 31 页 李云洲 2002 年 01 月 所有传输格式的半静态部分都是相同的 动态部分的两个属性有效地组成了传 输信道上的瞬时位速率 传输信道上的变位速率 根据映射到传输信道上服务 的类型 通过改变每个传输时间间隔中下面各项中的一项 1 只改变传输块集大小 2 传输块大小和传输块集大小都改变 几个传输信道可以在 L1 层复用 对于每个传输信道 存在一个传输格式列 表 传输格式集 来使用 然而 在给定的某一时刻 不是所有组合都可以提 交给 L1 而是只有一个子集 即传输格式组合 TFC 在 CCTrCH 上的一组 传输格式组合定义为传输格式组合集 TFCS 传输格式组合集是由 MAC 层 来控制 然而 传输格式组合集的分配是由 L3 层完成的 当把数据映射到 L1 层时 MAC 在给定的 TFCS 的不同的传输格式组合中选择 由于传输格式组合 中只有动态部分不同 所以实际上 MAC 只控制动态部分 传输格式指示 TFI 是在一个 TFS 中某个 TF 的标记 它用于 MAC 和 L1 层间通信 并且在每次两层间的传输信道上交换传输块集都使用 2 2 2 MAC 层的上部接口层的上部接口 MAC 层邻近上层是 L2 层的 RLC 层 其接口定义为逻辑信道 用于传送 PDU 逻辑信道按传输数据的类型分为控制信道和业务信道 以下的控制信道只用于传输控制平面的信息 广播控制信道 BCCH Broadcast Control Channel 下行信道 用于广播系统控制信息 寻呼控制信道 PCCH Paging Control Channel 下行信道 传送寻呼信息 此信道用于当网络不清楚 UE 的小区位置 或者 UE 处在小区连接状态时 利用 UE 休眠模式程序 公用控制信道 CCCH Common Control Channel 双向信道 用于在网络和 UEs 间传送控制信息 此信道由与网络没有 RRC 连接的 UEs 所共用 专用控制信道 DCCH Dedicated Control Channel 点到点的双向信道 传送在 UE 和网络之间的专用控制信息 这个信道 通过 RRC 连接建立程序建立 以下的业务信道仅用于传输用户平面的信息 专用业务信道 DTCH Dedicated Traffic Channel 点到点信道 由每个 UE 专用 用于传送用户信息 DTCH 存在于上行 和下行均可 公用业务信道 CTCH Common Traffic Channel 一点到多点单向信道 仅有下行 用于为所有或一组指定的 UEs 传送 专用用户信息 MAC 层程序设计方案 第 9 页 共 31 页 李云洲 2002 年 01 月 2 2 3 传输信道与逻辑信道的映射关系传输信道与逻辑信道的映射关系 如下图 其中向下箭头表示下行 向上箭头表示上行 PCH FACH RACH DCH PCCH SAP DCCH SAP CCCH SAP BCCH SAP DTCH SAP Transport Channels MAC SAPs CPCH FDD only CTCH SAP 图图 2 2 传输信道与逻辑信道的映射关系传输信道与逻辑信道的映射关系 2 2 4 对对 MAC 的控制接口的控制接口 对 MAC 层的控制主要来源于 L3 层的 RRC 层 因此与 RRC 层也有直接联 系 这些控制都是通过原语实现的 RRC 对 MAC 的控制包括公用和专用两种 既可以配置小区 也可以配置 UE 原语类型有 小区建立 公用信道增加 公 用信道删除 小区删除 UE 建立 UE 重配置 UE 删除等 MAC 层根据这些 原语 修改 维护 MAC 层等公用 专用上下文表 2 3 MAC 子系统子系统结构结构 MAC 层可以分为公用信道处理模块 MAC C 专用信道处理模块 MAC D 和配置原语处理模块 MAC MSG 在 MAC 层中只有一个 MAC MSG 实体 每个小区对应一个 MAC C 实体 每个 UE 对应一个 MAC D 实体 MAC C 实体之间是独立的 MAC D 之间也是独立的 而 MAC MSG 与 MAC C MAC D 之间都有联系 图中的圆圈代表业务接入点 MAC 层程序设计方案 第 10 页 共 31 页 李云洲 2002 年 01 月 FACH RACH DCCH DTCH DTCH MAC Control Iur or local MAC Control DCH DCH MAC d MAC c CCCH CTCH BCCH PCCH FACH PCH MAC MSG MAC MSG 图图 2 3 MAC 层内部结构层内部结构 2 3 1 MAC C 结构结构 MAC C 控制公用传输信道 公用逻辑信道的接入 以及来自 发给 MAC D 的专用数据 CTCH FACH MAC c to MAC d RACH CCCH FACH BCCH PCCH PCH TFC 选择 MAC c MAC d 间缓冲区 安排优先级处理 TCTF 复复用用 解解复复用用 UE ID 复复用用 解解复复用用 CPCH FDD only 图图 2 4 MAC C 内部结构内部结构 下行时 RLC 层通过公用逻辑信道将 SDU 发给 MAC C MAC C 根据不同 的逻辑信道类型 进行不同的处理 通过加 TCTF 头 使对等 MAC 层识别逻 MAC 层程序设计方案 第 11 页 共 31 页 李云洲 2002 年 01 月 辑信道 还有根据优先级的不同 对不同的逻辑信道进行优先级处理 最后选 择 TFC 和 TF 处理完毕后 通过传输信道将数据送给底层 如果有数据从 MAC D 来 则为数据加 UE ID 头 使 UE 侧的 MAC C 可以识别出该数据包是 否是发给自己的 另外还要加 TCTF 头来标明此数据是要送给 MAC D 的 上行时 MAC C 从传输信道 RACH 得到数据 通过分析 UE 侧 MAC C 加的 TCTF 头和 UE ID 头 决定数据的去向 2 3 2 MAC D 结构结构 MAC D 控制专用传输信道 专用逻辑信道的接入 以及来自 发给 MAC C 的专用数据 DCCH DTCH DTCH DCH DCH MAC d to MAC c C T 复用 解复用 下行优先级处理 信道切换 C T 复用 解复用 优先级处 理 加密 解密 图图 2 5 MAC D 内部结构内部结构 下行时 MAC D 从 DCCH DTCH 逻辑信道接收数据 根据 RRC 的配置决 定映射的传输信道类型 如果是公用传输信道 则加 C T 头用以区分逻辑信道 再将数据送到 MAC C 如果是专用传输信道 根据需要进行加密 加 C T 头处 理 优先级处理 通过 DCH 送到低层 上行时 分析 C T 头决定数据应该映射到的逻辑信道 ID 根据需要进行解 密处理 如果数据来自 MAC C 则处理 C T 头 将数据送到对应的逻辑信道 MAC 层程序设计方案 第 12 页 共 31 页 李云洲 2002 年 01 月 2 4 MAC 层层数据帧结构数据帧结构 按照 3GPP 协议规定 MAC PDU Protocol Data Unit 包括 MAC SDU Service Data Unit 和 MAC header MAC SDU 长度和 MAC 头的长度都 是变长的 SDU 的长度决定于 RLC PDU 长度 MAC 头取决于逻辑信道类型 MAC 头共有 4 种 参见下图 用于对等层区分数据的映射信道 MAC SDUC TUE Id MAC headerMAC SDU TCTF UE Id type 图图 2 6 MAC PDU 注 对于 C3G 规范中对 3GPP 协议的修改 下文都有注明 2 4 1 TCTF 字段字段 TCTF Target Channel Type Field 字段是个标志位 提供 FACH 和 RACH 传输信道上逻辑信道等级的识别 即它所承载的是 BCCH CCCH CTCH SHCCH 还是专用逻辑信道 注意 FDD 模式下 FACH 信道 TCTF 字段的长度是 2bits 还是 8bits 依赖 于 2 个最重要位的数值 TCTF Designation 00BCCH 01000000CCCH 01000001 01111111 Reserved PDUs with this coding will be discarded by this version of the protocol 10000000CTCH 10000001 10111111 Reserved PDUs with this coding will be discarded by this version of the protocol 11DCCH or DTCH over FACH 表表 2 2 FACH 上目标信道类型字段的编码上目标信道类型字段的编码 FDD MAC 层程序设计方案 第 13 页 共 31 页 李云洲 2002 年 01 月 TCTF Designation 00CCCH 01DCCH or DTCH over RACH 10TDD SHCCH FDD Reserved PDUs with this coding will be discarded by this version of the protocol 11Reserved PDUs with this coding will be discarded by this version of the protocol 表表 2 3 RACH 上目标信道类型字段的编码上目标信道类型字段的编码 注 为了符合 C3G 的要求 实现时 TCTF 改为一个字节 编码定义如下 TCTFDesignation 0 x01CCCH FACH 0 x03CTCH FACH 0 x04BCCH FACH 0 x11RACH CCCH 0 x12RACH CTCH 0 x21DCCH FACH 0 x31RACH DCCH 表表 2 4 TCTF 编码 编码 C3G 2 4 2 C T 字段字段 C T 字段在多个逻辑信道由同一个传输信道承载时 提供逻辑信道的识别 C T 字段还用于在 DCH 上以及在 FACH 和 RACH 信道上传输用户数据时 对 逻辑信道类型的识别 C T 字段的大小固定为 4 bits 既用于公用传输信道 又 适用于专用传输信道 MAC 层程序设计方案 第 14 页 共 31 页 李云洲 2002 年 01 月 C T fieldDesignation 0000Logical channel 1 0001Logical channel 2 1110Logical channel 15 1111Reserved PDUs with this coding will be discarded by this version of the protocol 表表 2 5 C T 字段的结构字段的结构 在UE状态表中 MultiNum为复用的标志字段 代表复用的逻辑信道个数 当MultiNum 0 缺省值 说明此传输信道没有使用 当MultiNum 1时 说明 没有复用 逻辑信道与传输信道一一对应 当MultiNum 1时 说明有复用 注 C3G规范中没有定义C T字段 2 4 3 UE ID 字段字段 UE Id 字段用于对 UE 在公用传输信道上的识别 在 MAC 层使用的 UE Id 类型定义如下 U RNTI UTRAN 无线网络临时身份识别符 是 RNC ID 和 S RNTI 的组合 S RNTI 是 SRNC 标识 UE 的临时标识符 在 SRNC 中是唯一 的 当 DCCH 映射到公用传输信道上时 MAC 头使用 U RNTI C RNTI 小区无线网络临时身份识别符 是 CRNC 标识 UE 的临时 标识符 CRNTI 在一个 CELL 中是唯一的 DTCH 也可能是 DCCH 映射到公用信道时使用 C RNTI 由 MAC 层使用的 UE Id 是通过 MAC 控制 SAP 配置的 MAC 头中 UE Id 字段的长度见下表 UE Id typeLength of UE Id field U RNTI32 bits 12 20 C RNTI16 bits 表表 2 6 UE Id 字段的长度字段的长度 注 C3G 规范中要求 UE ID 字段采用一个字节的 S RNTI MAC 层程序设计方案 第 15 页 共 31 页 李云洲 2002 年 01 月 2 4 4 UE ID 类型类型字段字段 UE Id 类型字段用来保证在 MAC 头中 UE Id 字段的正确译码 当专用 逻辑信道数据映射到公用传输信道时 MAC C 需要在 MAC 帧中加入 UE ID 字段和 UE ID 类型字段 以便 UE 对等层收到数据时分辨是否是发给自 己的数据 MAC 在加 UE ID 头时可以选择使用 C RNTI 或者 U RNTI UE ID 类型字段是为了让对等层可以区分出何种 UE ID UE Id 类型字段定义如下 UE Id Type field 2 bits UE Id Type 00U RNTI 01C RNTI 10 Reserved PDUs with this coding will be discarded by this version of the protocol 11 Reserved PDUs with this coding will be discarded by this version of the protocol 表表 2 7 UE Id 类型字段的定义类型字段的定义 注 C3G 没有定义 UE ID 字段 MAC 层程序设计方案 第 16 页 共 31 页 李云洲 2002 年 01 月 3 MAC 层实现方案层实现方案 首先要明确的一点是所谓提供的服务或接口 就是提供被调用的函数或 Task 它不应该被上 下层的概念所限制 因为 MAC 与 L1 RLC 有接口 所 以下行 MAC 为 RLC 提供接口调用 L1 为 MAC 提供接口调用 上行 MAC 为 L1 提供接口调用 RLC 为 MAC 提供接口调用 MAC 与 RLC 之间的接口是通过逻辑信道标识 而 MAC 与 L1 之间的接口 是通过传输信道标识 MAC 的功能表现在它对数据的处理上 而 UE 对多种类型业务的支持很大 程度上体现在它对上行数据的处理上 更具体的说 是通过 MAC 对 TFC 的选 择来实现的 下行方向 MAC 要做的处理就是分析 MAC 帧头 即根据传输信 道 ID 对 MAC 数据包的帧头进行分析 提取数据并交给相应的 RLC 实体 在 上行方向上 MAC 的所要做的工作就复杂许多 根据 RRC 的 RB 配置 更新 TFCS 逻辑信道的优先级等参数 根据 TFCS 逻辑信道的优先级和 RLC 的 缓冲区状态选择合适 TFC 3 1 MAC 子系统的结构子系统的结构 MAC 子层的功能可以分为数据处理功能 控制功能两部分 数据处理功能 按方向划分 可分为上行模块 DL Module 和下行模块 UL Module DL Module 实现从传输信道到逻辑信道的映射 UL Module 实现从逻辑信道到传输信道的 映射 如下是功能示意图 Control UL ModuleDL Module From L1 To RLC To L1 From RLC From RRC 控制功能包括 根据 RRC 的 RB 配置 更新 TFCS 逻辑信道的优先级等 参数 和 根据 TFCS 逻辑信道的优先级和 RLC 的缓冲区状态选择合适 TFC 根据实时性要求 由函数实现 由 Task 实现 在每 10ms 发生一次 的中断里 设置一个 TFC 选择函数 它根据参考参数 为每一个 RLC Task 选 择一组 TF 对应的参数 并通过消息发送给相应的 RLC Task MAC 层程序设计方案 第 17 页 共 31 页 李云洲 2002 年 01 月 3 2实现中的主要数据结构实现中的主要数据结构 newtype TF str struct TFIndex integer 1 31 represent 1 31 respectly 0 represent 32 TrchBlocksNum integer range from 1 to 512 TrchBlockSize integer range from 1 to 4992 TTI integer endnewtype newtype TFList array ARRAY Integer TF str endnewtype newtype Octet array ARRAY integer octet string endnewtype newtype TFS str struct TrchIdentity integer 1 16 ChannelCodingType integer 0 2 represents NoCoding Convolutional Turbo respectively CodingRate integer 0 1 represents 1 2 1 3 RateMatchAttrib integer 1 255 represent 1 255 respectly and 0 represent 256 CRCSize integer TFNum integer tflist TFList array endnewtype CRCSize 1 represents that the size of CRC equals to 0 2 represents that the size of CRC equals to 8 3 represents that the size of CRC equals to 12 4 represents that the size of CRC equals to 16 5 represents that the size of CRC equals to 24 MAC 层程序设计方案 第 18 页 共 31 页 李云洲 2002 年 01 月 1 represents that TTI is 10 ms 2 represents that TTI is 20 ms 3 represents that TTI is 40 ms 4 represents that TTI is 80 ms 5 represents that TTI is dynamic newtype TFC Str struct tfcindex integer 0 1023 trch1tfindex integer 0 15 trch2tfindex integer 0 15 trch3tfindex integer 0 15 trch4tfindex integer 0 15 trch5tfindex integer 0 15 trch6tfindex integer 0 15 trch7tfindex integer 0 15 trch8tfindex integer 0 15 choicegainfactors integer 0 1 represent fixed flexible respectively gainfactorbc integer 0 15 gainfactorbd integer 0 3 referencedtfcid integer 0 3 poweroffppm integer 1 16 represent from 5 to 10 endnewtype newtype TFCSList arr ARRAY integer TFC Str endnewtype newtype TFCS Str struct fixedorflexible integer 0 1 represent SigGainFactors ComGainFactors respectively puncturinglimit integer 1 16 1 16 represents 0 40 1 00 the step 0 04 tfcnum integer 0 1023 tfchnum integer 0 31 tfclist TFCSList arr endnewtype newtype List str struct MAC 层程序设计方案 第 19 页 共 31 页 李云洲 2002 年 01 月 Quantity integer 1 9 ID1 integer 0 9 ID2 integer 0 9 ID3 integer 0 9 ID4 integer 0 9 ID5 integer 0 9 ID6 integer 0 9 ID7 integer 0 9 ID8 integer 0 9 ID9 integer 0 9 endnewtype newtype RB mapping info struct TrchNum integer 1 9 UlTrchNum integer LCH List List str TrCH List List str endnewtype newtype ASC str struct ASCindex integer 0 NumASC Pi Real 0 1 endnewtype newtype ASC array array integer ASC str endnewtype RACH control Parameters need to be defined by ourselves newtype RACHControlPara str struct Mmax integer NBOImax integer NBOImin integer ASCNum integer ASC ASC array endnewtype MAC 层程序设计方案 第 20 页 共 31 页 李云洲 2002 年 01 月 3 3RRC 的配置原语的配置原语 CMAC CONFIG UEIE CMAC RELEASE DEL CHANNEL ADD CHANNEL CMAC CONFIG RB CMAC CONFIG RACH CMAC CONFIG FACH CMAC CONFIG PCH CMAC CONFIG DCH CMAC CONFIG ULDPCH CMAC CONFIG DLDPCH CMAC CONFIG PRACH CMAC CONFIG SCCPCH CMAC CONFIG RACH Para RACH Failure Ind 3 4 设计中对设计中对 TFC 的处理的处理 MAC 能够实时地修改 TFC 对 3G 系统支持有各种 QOS 要求的类业务 起 着决定性的作用 MAC 应该能够根据 RRC 配置的 TFCS 逻辑信道的优先级 和 RLC 的缓冲区状态选择合适 TFC 3 4 1 CTFC 到到 TFCS 的转换的转换 在 3GPP 协议中 RNC 发送给 UE 的 RRC 的 TFCS 的表示方式有两种 一 种是以显式的方式表示 另一种就是用 CTFC 表示 CTFC Calculated Transport Format Combination 是 TFC Transport Format Combination 信令的 一个高效表达形式 设 I 为传输 TFC 中所包含的传输信道的个数 每条传输信 道 Trch i 1 2 I 具有 L 个传输格式 即传输格式指示 TFI 可以取 L 个值 iiii TFI 0 1 2 L 1 定义 P 这里 i 1 2 I 并且 L0 1 设 i ii 1 0 i j i L TFC TFI1 TFI2 TFII 为传输格式组合 其中 TrCH1的传输格式为 TFI1 TrCH2的传输格式为 TFI2 等等 对应的 CTFC TFI1 TFI2 TFII 可以 计算如下 MAC 层程序设计方案 第 21 页 共 31 页 李云洲 2002 年 01 月 1 i I i iI PTFITFITFITFICTFC 1 21 那么接受到了 CTFC 能否得到对应的 TFI 呢 经过证明 是可以做到的 i 将式 1 变形 可以得到 TFII 2 1 1 1 I i ii I PTFICTFC P 需要注意的是 TFI 最大值只能取到 L 1 而 P iii 1 0 i j i L 这样 假设所有 1 到 I 1 个 TFI 都取最大值 即 L 1 不失一般性 取所 ii 有信道的 L 都相同 为 L i L 1 3 1 1 I i ii PTFI 1 1 1 I i i PL 1 1 1 I i i L 式 3 中的为一个等比数列 利用求和公式 可以得到 1 1 1 I i i L 4 1 1 1 I i i L 1 1 1 L LI 所以 式 3 变成 5 1 1 I i ii PTFI1 1 I L 而 P L 因此 式 2 中的部分一定小于 1 I 1 I 1 1 1 I i ii I PTFI P 这样 就推导出了计算 TFII的公式 即 TFII 6 CTFC PI 1 其中代表结果下取整 类似地 可以得到其他 TFI 的值 i TFI 7 i I i ii i PTFICTFC P 1 1 MAC 层程序设计方案 第 22 页 共 31 页 李云洲 2002 年 01 月 式 7 即为 TFI 的一般表达式 i 可以证明 公式 7 同样适用于 L 不相等的情况 i 3 4 2 选择选择 TFI 的算法的算法 1 说明说明 选择 TFI 的过程也就是处理信道优先级的过程 几条逻辑信道可以映射 到同一条传输信道上 在专用信道状态表中的 Trans Channel DL Attr 结构 体中 这几条逻辑信道的 ID 按优先级的顺序排序 即高优先级的信道在前 低优先级的信道在后 处理时 根据逻辑信道优先级 RLC 缓冲区状态 选择出一条信道 此时 传输信道的优先级也就是该逻辑信道的优先级 再将这些传输信道 按照优先级排序 然后 根据 TFCS 中所定各条传输信道的传输格式 再 次按照优先级 RLC 缓冲区状态指示描述的 PDU 大小和个数进行选择 原 则是 保证优先级高的信道的 PDUs 尽量都能发送出去 优先级低的信道 可以只发送部分 PDUs 甚至不发送 留待下一个 TTI 发送 最终将满足条 件的数据及 TFI 发送到底层 公用信道和专用信道的解决办法类似 区别有 TB 大小的计算不同 信道优先级可以指定 2 处理过程处理过程 1 首先初始化 allowtfci1 设 TFCS 有 notfc 个 TFC 则将 allowtfci1 中前 notfc 项初始化为 allowtfci1 i i 剩余的赋为 MAX TFCS 2 初始化 trch 将该 TFC 的传输信道属性赋给 trch 3 逐个信道调用 get d tf sotb ue trid seq 函数获得 tfi head 4 在 get d tf 函数中 首先初始化 First 将 tfi 和 tfci 赋为缺省的最大值 num 和 size 赋为 1 5 将 TFS 中所有 TB SIZE 与 sotb 相同的 TF 选出 存入 First 同时计数器 cnt 累加 6 如果循环结束时 cnt 仍为 0 则说明 TB SIZE 与 sotb 没有相同的 返回 2 退出 否则 按照 TB NUM 的降序排列 First 7 比较 trch seq nopdu 和 First 中 TB NUM 得到 First 中 TB NUM 最接近并 且小于 trch seq nopdu 的数组下表 8 如果到最后只得到了 1 的缺省值 说明没有合适的个数 返回 1 否则 MAC 层程序设计方案 第 23 页 共 31 页 李云洲 2002 年 01 月 就得到了合适的 TFI 将 TFCS 中包含此信道 TFI 的 TFCI 存到 allowtfci1 中 返回 TFI 结束 开始 初始化 allowtfci1 和 trch for seq 0 seqno dl trch seq for seq over tfi head get d tf sotb ue trid seq 结束 选择 TFI 的主流程 MAC 层程序设计方案 第 24 页 共 31 页 李云洲 2002 年 01 月 4 MAC 实现中用到的任务介绍实现中用到的任务介绍 DL Module 和 UL Module 中包含的 Task 如下表 4 1 任务任务 CCCH RACH 方向 上行 处理过程描述 在目前的简化协议中 只有当发送第一条信令 即 RRC Setup REQ 时 使用该任务 在处理中 MAC 需要加上 CCCH 到 RACH 映射的 TCTF 值 另外还需要按照简化协议约定 在填充标志字节设置数据有效标志 主要处理流程图如下 功能描述任务名称 接收 RLC 从 CCCH 发送来的数据处理 之后从 RACH 上发送给 L1 CCCH RACH 接收 RLC 从 DCCH 发送来的数据处理 之后从 RACH 上发送给 L1 DCCH RACH 上行 接收 RLC 从 DCCH 发送来的数据处理 之后从 DCH 上发送给 L1 DCCH DCH 接收 L1 从 BCH 发送来的数据处理之 后从 BCCH 上发送给 RLC BCH BCCH 接收 L1 从 PCH 发送来的数据处理之 后从 PCCH 上发送给 RLC PCH PCCH 接收 L1 从 FACH 发送来的数据处理之 后从 CCCH 上发送给 RLC FACH CCCH 接收 L1 从 FACH 发送来的数据处理之 后从 DCCH 上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论