Tianger's Family

Leave no regrets every day


  • 首页

  • 分类

  • 关于

  • 归档

  • 公益404

跟我一起写python--编程风格 (4)

发表于 2016-04-02   |   分类于 跟我一起写python   |  

注:部分内容来自网络。
Python语言与C、C++、JAVA比较类似,具体在编程风格上体现。
本课主要来讲解python的编程风格.


1.文件名

python的文件名以.py结尾,与.c.cpp.java不同.
执行python程序的方法:python 文件名.py or python3 文件名.py
或者如果脚本文件存在于/user/bin中,执行方法:./文件名.py

2.标识符

标识符区分大小写 标识符由字母、数字、下划线组成。
标识符可以包括英文、数字以及下划线( _ ),但不能以数字开头 以下划线开头的标识符都是有特殊意义的,以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import ”而导入。 以双下划线开头的(foo)代表类的私有成员;以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如init__()代表类的构造函数。

3.代码注释

*单行注释采用 #开头
例:#这是一个测试程序

*多行注释采用 三个单引号(‘’’)或三个双引号(“””),注意引号要成对出现。
例:
‘’’
多行注释,单引号
多行注释,单引号
‘’’
“””
多行注释,双引号
多行注释,双引号
“””

4.引号

*引号包括单引号(‘),双引号(“),和三引号(’’’,”“”)来表示字符串

*三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。
例:

1
2
3
hello = ‘hello'
test = “这是一个测试"
paragraph = “””这是一个段落。“”“

源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/user/bin/python
# coding=utf-8
#下面三行主要用来解决编码问题(UnicodeEncodeError: 'ascii' codec can't encode character)
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

hello = 'hello'
test = "这是一个测试"
paragraph = """这是一个段落"""

print (hello)
print (test)
print (paragraph)

打印值:
hello
这是一个测试
这是一个段落

5.多行语句
Python语句中一般以新行作为为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

sum = test_one + \
test_two + \
test_three + \

6.行和缩进
python与C\C++\JAVA等其他语言最大的区别就是,代码块是通过缩进来控制。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,例如:

1
2
3
4
if 0:
print “0"
else:
print “1”

错误代码示例:

1
2
3
4
5
6
7
if 0:
print “test"
print “0"
else
print “test"
#下面这行代码,没有雨上面的print或者else保持缩进对齐,所以会报错
print “1"

报错如下:
    print "1"
       ^
     IndentationError: unindent does not match any outer indentation level

小结:
在python的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或者 四个空格

跟我一起写python--Helloworld(3)

发表于 2016-03-16   |   分类于 跟我一起写python   |  

接下来的例子都是在LINUX\MAC OS上进行实际操作,Python为3.5,建议文中的所有例子,都自己一行一行的敲到终端并执行,好记性不如烂笔头还是有些道理的

打开终端,输入python3
得到>>>的标记。

在里面输入print (’hello world’),会打印我们熟悉的hello world

print (‘hello world’)
hello world

输入exit()退出

如果我们想完成一个python脚本,通过执行脚本来打印hello world,操作如下:

  • mkdir python_test
  • vim hello.py
  • 按下esc,按下I键,进入INSERT模式
  • 输入 print (‘hello world’)
  • 按下esc,同时按下shift+冒号,输入wq,即保存并退出
  • 在终端上输入python3 hello.py
  • 得出结果 hello world

如果你把hello world替换成中文,则会出现乱码,此时我们需要在hello.py中加入#coding=utf-8,来保证编码格式:

#coding=utf-8
print ('你好')

跟我一起写python--环境搭建(2)

发表于 2016-03-16   |   分类于 跟我一起写python   |  

python可以用在多个平台–Windows、Linux、MAC OS等
如果想知道当前的python是哪个版本或者确认是否已经安装了python,可以在终端上输入“python”来查看

Python 下载:
从python官网进行下载
https://www.python.org/downloads/

根据你的使用的系统,下载相应的python,推荐使用python3.5

python安装:
1)MAC OS
下载3.5的pkg包直接,直接一步步默认安装,如果你是10.8及以上用户,系统自动安装了python2.7,建议升级到3.5,安装完再终端上运行python3

2)Linux

  • 下载合适的源码包并解压
  • 如果你需要自定义一些选项修改Modules/Setup
  • 执行./configure脚本
  • make
  • make install

执行以上操作后,python会安装在/usr/local/bin目录,python库安装在/usr/local/lib/pythonXX,XX为你使用的python版本号,安装完再终端上运行python3

3)Windows安装
根据系统是32\64bit下载对应的msi格式的安装包,勾选Add python 3.5 to PATH,默认一步步安装即可,安装完再终端上运行python
如果运行python提示找不到,则需要去配置环境变量,在系统变量的Path中加入python路径,或者重新安装一下,安装向导上要勾选Add python 3.5 to PATH

跟我一起写python--为什么要学习python(1)

发表于 2016-03-15   |   分类于 跟我一起写python   |  

    最近在做高通平台的MCFG适配功能,发现要手动整理一大堆xml、excel,比较一堆数据,此时萌生了一个想法,为什么我不用脚本来实现,在shell、perl、python中做了多方选择后,确认使用python,因为python有很多通用的API、对XML、文件操作非常方便,代码量少,语法简单,就类似于写C语言一样来写python,上手很快。

    例如用C语言来实现MCFG适配功能,可能需要上千行的C代码,而且执行也不方便,但是用python可能只要几百行代码,并且可以把脚本加入到编译环境中,当项目执行编译时,自动运行脚本得出结果,减少了人为的动作,缩短了工作量,提高工作效率。

    同时在看了高通骁龙820的平台代码后,发现高通已经在工程中大量的使用了python,因此,使用python将会成为一个趋势,就让大家跟着我一起来学习python吧。

    Python简介–来自百度百科:

    Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象、解析型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
    Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[1] 。
    Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进
    Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[2] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

WCDMA协议和信令—呼叫建立和释放流程分析(5)

发表于 2016-03-14   |   分类于 WCDMA   |  

​

RRC连接释放流程

1.1概述
    当呼叫RAB释放后,SRNC将判断系统中是否还存在由相同RRC承载的lu信令连接。如果该UE对应的Iu信令连接已全部被释放,则释放该RRC连接。RRC连接释放就是释放UE和UTRAN之间的信令链路以及全部无线承载,经过RRC连接释放过程,无线接口上将释放所有与UE相关的信令连接。
    根据RRC连接所占用的资源情况,可进一步划分为两类:释放建立在专用信道上的RRC连接、释放建立在公共信道上的RRC连接。RRC连接释放只能发生在CELL_DCH或CELL_FACH状态下,如果当前RRC连接处于CELL_PCH或者URA_PCH状态,UTRAN先发起寻呼将UE状态迁移到CELL_FACH,再进行RRC连接释放。
    RNC根据不同情况,在下行DCCH或CCCH上通过UM RLC方式发送RRC连接释放消息RRC CONNECTION RELEASE。 如RRC释放时DCCH可用,则UTRAN通过下行DCCH信道发送RRC连接释放消息;否则UTRAN通过下行CCCH信道发送RRC连接释放消息。

1.2 释放建立在专用信道上的RRC连接
    释放建立在专用信道上的RRC连接,信令流程如图1-1所示。

图1-1 RRC连接释放(专用信道)

​信令流程描述:         

(1) SRNC通过DCCH信道向UE发送RRC连接释放消息RRC CONNECTION RELEASE,SRNC可能发送多次,来提高UE接收的可靠性。
(2) UE向SRNC返回RRC连接释放完成消息RRC CONNECTION RELEASE COMPLETE。
(3) SRNC向NodeB发送无线链路删除请求消息RADIO LINK DELETION REQUEST,删除NodeB中的无线链路资源。
(4) NodeB资源释放完成后,向SRNC返回无线链路删除响应消息RADIO LINK DELETION RESPONSE。
(5) RNC使用ALCAP协议发起Iub接口用户面传输承载的释放。RRC释放过程结束。

1.3 释放建立在公用信道上的RRC连接
    释放建立在公用信道上的RRC连接,信令流程如图1-2所示.
​

图1-1 RRC连接释放(公用信道)

​SRNC通过CCCH信道向UE发送RRC连接释放消息RRC CONNECTION RELEASE,发起RRC连接释放过程,UE释放资源。
​释放建立在公用信道上的RRC连接时,不需要RRC连接释放完成消息RRC CONNECTION RELEASE COMPLETE。此外,因为用的是小区公共资源,所以只要直接释放UE,而不必释放NodeB资源和数据传输承载。
​UTRAN可能发送多次RRC连接释放消息RRC CONNECTION RELEASE,以提高UE正确接收这条消息的可靠性,这些消息的RRC SN值相同,重复发送消息数目及发送间隔由网络控制。

WCDMA协议和信令-呼叫建立和释放流程分析(4)

发表于 2016-03-13   |   分类于 WCDMA   |  

UE能力信息流程

1.1概述
    UE能力信息包括:安全能力、定位能力、测量能力、物理信道能力、传输信道能力等。
由于UE的厂家和规格不同,能力也不一致,所以RRC连接建立之后,UE应当向UTRAN发送UE能力信息,以使网络侧按照UE支持的能力参数对其进行配置。
    UE能力信息的传递可以分以下三种情况告诉网络:
    (1)RRC连接建立完成之后,UE能力信息通过RRC连接建立完成消息RRC CONNECTION SETUP COMPLETE,传递到RNC;
    (2)RRC连接建立完成之后,当RNC发现相应UE的能力信息不存在时,向UE发送UE能力信息查询消息UE CAPABILITY ENQUIRY,UE通过UE能力信息消息UE CAPABILITY INFORMATION,向RNC发送UE能力信息;
    (3)RRC连接期间,当UE能力信息发生改变时,UE通过UE能力信息消息UE CAPABILITY INFORMATION,向RNC发送新的UE能力信息。

1.2 UE能力信息查询
    通过UE能力信息查询,UTRAN请求UE发起UE能力查询过程,如图1-1所示:

图1-1 UE能力查询

    UTRAN通过下行DCCH逻辑信道,采用AM RLC方式发送UE能力查询消息UE CAPABILITY ENQUIRY,完成UE能力信息查询过程。

1.3 UE能力信息更新
    若UTRAN发起UE能力信息查询过程,或者RRC连接期间UE能力信息发生改变,UE将发起UE能力信息更新过程。
    UE能力信息更新过程用于向UTRAN传送UE所支持的无线网络相关能力信息,如图1-2所示:

图1-2 UE能力信息更新

(1)UE在上行链路DCCH上,使用AM或UM RLC方式发送UE能力信息消息UE CAPABILITY INFORMATION,消息中携带UE的能力信息。
(2)UTRAN读取UE能力信息,使用AM 或UM RLC方式在下行链路DCCH上发送UE CAPABILITY INFORMA CONFIRM确认消息。UE能力信息更新过程结束。

WCDMA协议和信令-呼叫建立和释放流程分析(3)

发表于 2016-03-13   |   分类于 WCDMA   |  
直传消息流程

1.1 概述
    直传消息指UE与CN之间的信令交互NAS信息,如鉴权、业务请求、连接建立等。由于这些消息在RNC透明传输,所以称为直传消息。
    RRC连接建立的只是UE与RNC之间的信令连接,因此为了传送直传消息,还需要继续建立UE与CN之间的信令连接。RNC在收到第一条直传消息时(即初始直传消息INITIAL DIRECT TRANSFER),将建立与CN之间的信令连接,该连接建立于SS7的SCCP之上。
    UE和CN的信令连接建立成功后,UE发送到CN的消息,通过上行直传消息UPLINK DIRECT TRANSFER 发送到RNC,RNC将其转换为直传消息DIRECT TRANSFER 发送到CN;CN发送到UE的消息,通过直传消息DIRECT TRANSFER 发送到RNC,RNC将其转换为下行直传消息DOWNLINK DIRECT TRANSFER 发送到UE。

1.2 初始直传
    初始直传过程用于建立起RNC与CN之间的一条信令连接,同时承载一条初始NAS消息。NAS消息的内容在RNC并不进行解释,而是转送给CN。
    当UE处于CELL_PCH或URA_PCH状态时,为了进行初始直传,将首先进行小区更新,状态迁移入CELL_FACH状态,更新理由为“uplink data transmission”。小区更新成功结束后,UE将继续进行初始直传。

    初始直传过程的基本流程如图1-1所示:

图1-1 初始直传

信令流程描述:
(1)RRC连接建立后,UE通过RRC连接向RNC发送初始直传消息INITIAL DIRECT TRANSFER,消息中携带UE发送到CN的初始NAS信息内容,及CN标识等内容。
(2)RNC接收到UE的初始直传消息,通过lu接口向CN发送SCCP连接请求消息CONNECTION REQUEST,消息数据为RNC向CN发送的初始UE消息INITIAL UE MESSAGE,该消息包含UE发送到CN的消息内容。
(3)如果CN准备接受连接请求,则向RNC回SCCP连接证实消息CONNECTION CONFIRM,表明SCCP连接建立成功.RNC接收到该消息,确认信令连接建立成功。
(4)如果CN不能接受连接请求,则向RNC回SCCP连接拒绝消息CONNECTION REFUSE,SCCP连接建立失败,RNC接收到该消息,确认信令连接建立失败,则发起RRC连接释放流程。
对于初始直传过程中携带的NAS内容,CN将通过下行直传过程把对这种服务的接受或拒绝信息发送给UE。

1.3 上行直传
    当UE需要在已存在的信令连接上向CN发送NAS消息时,将发起上行直传过程。
    处于CELL_PCH或URA_PCH状态的UE,在进行上行直传之前,需要进行小区更新,状态迁移到CELL_FACH状态,更新原因为“uplink data transmission”。小区更新成功后,将继续进行上行直传。
    上行直传的信令流程如图1-2所示:

图1-2 上行直传

信令流程描述:

(1)UE向RNC发送上行直传消息UPLINK DIRECT TRANSFER,发起上行直传过程。消息中包含NAS消息、CN标识等信息。
(2)RNC按照消息中包含的CN标识,进行路由,将其中包含的NAS信息内容,通过lu接口的直传消息DIRECT TRANSFER,发送到CN。上行直传过程结束。
如果上行直传消息UPLINK DIRECT TRANSFER 中包含“Measured results on RACH”信息单元,表明消息中携带测量报告,此时UTRAN将解析相应消息内容并用于无线资源控制,消息其余部分仍旧向CN传输。

1.4 下行直传
    当CN需要在已存在的信令连接上向UE发送NAS消息时,发起下行直传过程。
    下行直传的信令流程如图1-3所示:

图1-3 下行直传

信令流程说明:
(1)CN向RNC发送直传消息DIRECT TRANSFER,发起下行直传过程。消息中包含NAS消息。
(2)UTRAN通过下行DCCH信道采用AM RLC方式,发送下行直传消息DOWNLINK DIRECT TRANSFER,消息中携带CN发送到UE的NAS信息内容,以及CN标识。
UE接收并读取下行直传消息DOWNLINK DIRECT TRANSFER 中携带的NAS消息内容。若接收到的消息包含协议错误,UE将在上行DCCH上采用AM RLC方式发送RRC状态消息RRC STATUS。

WCDMA协议和信令-呼叫建立和释放流程分析(2)

发表于 2016-03-12   |   分类于 WCDMA   |  
呼叫建立和释放流程分析 之 RRC连接建立流程

1.1概述
    UE处于空闲模式时,如果UE的NAS(非接入层)请求建立信令连接,UE将发起RRC连接建立请求过程。
    当RNC接收到UE的RRC连接请求消息,根据特定的算法确定是接收还是拒绝该RRC连接建立请求。如果接受,则再根据特定无线资源算法判决是建立在专用信道还是公共信道。RRC连接建立信道不同,RRC连接建立流程也不同。如果RRC连接不能建立,则RNC拒绝本次RRC连接建立。
    RRC连接总是由UE发起,RRC释放由RNC发起;每个UE最多只能有一个RRC连接。

1.2 在专用信道上建立RRC连接
    若RRC连接建立在专用信道上,RNC需要为UE分配专用无线资源、建立无线链路、并且为无线链路建立lub接口的ALCAP用户承载。
    信令流程如图1-1所示:

图1-1 RRC连接建立(专用信道)

信令流程描述:
(1)UE通过上行CCCH发送RRC连接请求消息RRC CONNECTION REQUEST,请求建立一个RRC连接。
(2)RNC根据RRC连接请求的原因以及系统资源状态,决定UE建立在专用信道上,并分配RNT1、无线资源和其他资源(L1\L2资源)
(3)RNC向NodeB发送无线链路建立请求消息RADIO LINK SETUP REQUEST,请求NodeB分配RRC连接所需的特定无线链路资源。
(4)NodeB资源准备成功后,向RNC应答无线链路建立响应消息RADIO LINK SETUP RESPONSE.
(5)RNC使用ALCAP协议建立lub接口用户面传输承载,并完成RNC与NodeB之间的同步过程。
(6)RNC通过下行CCCH信道向UE发送RRC连接建立消息RRC CONNECTION SETUP,消息包含RNC分配的专用信道信息。
(7)UE确认RRC连接建立成功后,在刚刚建立的上行DCCH信道向RNC发送RRC连接建立完成消息RRC CONNECTION SETUP COMPLETE.
RRC连接建立过程结束。

1.3 在公共信道上建立RRC连接
    当RRC连接建立在公共信道上时,因为使用已经建立好的小区公共资源,所以不用建立无线链路和用户面的数据传输承载,只需将UE使用的逻辑信道映射在小区公共信道上,其余过程与RRC连接建立在专用信道的情况相似。
    信令流程如图1-2所示:

图1-2 RRC连接建立(公共信道)

1.4 RRC连接拒绝
    如果RNC判决本次RRC连接请求不能建立(比如资源不足),则RNC直接给UE发送连接拒绝消息RRC CONNECTION REJECT,在该消息中指明RRC连接拒绝的原因,如图1-3所示:

图1-3所示 RRC连接拒绝

WCDMA协议和信令-呼叫建立和释放流程分析(1)

发表于 2016-02-29   |   分类于 WCDMA   |  

1.1概述
    当UE(手机)读到小区并且读到小区的系统消息后,可以知道系统的参数配置情况,具备接入网络的条件。
    呼叫的建立包括UE主叫(MO-Mbobiel Originate)和UE被叫两种类型(MT-Mobile Terminated),两种类型区别在于,呼叫建立之前,系统需要通过寻呼流程在指定区域寻呼UE。
    无论UE主叫还是被叫,呼叫建立和释放包含以下过程:
(1)UE和URTRAN建立RRC连接
    —RRC(Radio Resource Control)指无线资源控制,属于第三层,第一层L1(物理层PHY),第二层L2(数据链路层MAC/RLC),第三层L3(网络层RRC)
(2)通过直传消息,UE和CN建立连接—CN(Core network核心网)
(3)UE能力信息流程
(4)RAB建立流程—RAB(Radio Access Bearer)无线接入承载
(5)RAB释放流程和lu释放流程
(6)RRC连接释放流程

1.2寻呼流程
1.2.1 概述
    寻呼分为CN发起的寻呼和UTRAN发起的寻呼。CN发起的寻呼用于建立一条信令连接,CN发起的寻呼分为协作寻呼和非协作寻呼。CN在RANAP PAGING消息中指示RNC(Radio network control 无线网络控制器)是否需要进行UTRAN(基站)的协作寻呼。
    (1)协作寻呼是由RNC检查UE是否存在寻呼域之外的其他CN域信令连接,如果存在其他的CN域信令连接,且UE处于CELL_DCH或者CELL_FACH状态,则在无线接口上,寻呼消息通过已经存在的连接的DCCH信道下发;如果存在其他的CN域信令连接,且UE处于CELL_PCH或者URA_PCH状态,则无线接口上,寻呼消息通过PCCH信道下发;如果不存在其他的CN域信令连接,寻呼消息通过PCCH信道下发。

    (2)非协作寻呼是指RNC不需要检查UE是否存在寻呼域之外的其他CN域信令连接,直接在CN指定的寻呼区域中通过PCCH信道下发寻呼消息。

    UTRAN发起的寻呼可以寻呼处于CELL_PCH或URA_PCH状态的UE,UE通过寻呼相应发起小区更新过程将用户从CELL_PCH或URA_PCH状态迁移到CELL_FACH,或在系统信息改变的时候URTARN通过寻呼消息出发UE(处于IDLE-空闲模式、CELL_PCH或URA_PCH)重新读取更新后的系统信息。

    如果UE处于空闲模式或CELL_PCH、URA_PCH状态,RNC通过PCCH信道,使用寻呼类型1消息(PAGING TYPE1)寻呼UE。

    如果UE处于CELL_FACH或者CELL_DCH状态,RNC通过DCCH信道,使用寻呼类型2消息(PAGING TYPE2)寻呼UE。

1.2.2寻呼空闲模式或PCH状态的UE
    UTRAN通常通过PCCH信道,使用寻呼类型1消息寻呼处于空闲模式、CELL_PCH或URA_PCH状态下的UE。
    这一类型的寻呼一般发生在一下几种情况:
(1)为了建立一次呼叫或一条信令连接,由网络侧高层发起的寻呼;
(2)为了将UE的状态从CELL_PCH或URA_PCH状态迁移到CELL_FACH状态,UTRAN发起出发UE状态迁移的寻呼;
(3)当系统信息发生改变时,由UTRAN发起触发UE读取更新后系统信息的寻呼。此时,主消息块(MIB)的值标签包括在寻呼类型1消息PAGING TYPE1中的“HCCH modification info”中。
    寻呼流程如图1-1所示

图1-1寻呼空闲模式或PCH状态UE

    UTRAN通过PCCH信道,在适当的寻呼时机发送寻呼类型1消息PAGING TYPE1,启动寻呼过程。UTRAN可以选择在几个寻呼时机重复寻呼一个UE,以增加UE正确接收寻呼消息的可能性。
处于空闲模式和PCH状态的UE,监视适当的寻呼时机,接收来自网络层的寻呼消息。

1.2.3寻呼CELL_DCH或CELL_FACH状态的UE
    UTRAN通常通过DCCH信道,使用寻呼类型2消息寻呼处于CELL_DCH或CELL_FACH状态下的UE.
    寻呼流程如图1-2所示。

图1-2寻呼CELL_DCH或CELL_FACH状态UE

    UTRAN通过DCCH信道发送寻呼类型2消息PAGING TYPE2,发起寻呼过程。这一类型的寻呼也叫作专用寻呼过程UE接受并读取寻呼类型2消息PAGING TYPE2的内容,并把寻呼原因及寻呼记录种类标识等信息上报给本侧非接入层。寻呼过程结束。
    本进程不影响UE侧正在进行的其他RRC进程。
    若UE发现接收到的寻呼类型2消息PAGING TYPE2存在协议错误,丢弃该寻呼消息,并通过上行DCCH采用AM RLC方式,向UTRAN发送RRC状态消息RRC STATUS.

WCDMA协议和信令---UTRAN 接口协议和功能

发表于 2016-02-10   |   分类于 WCDMA   |  

1.1概述

图1 UTRAN 接口

    图1-1所示,UMTS系统中UTRAN 接口包括lub\ lur \ lu \ uu接口,接口连接的网元如表1-1所示:

表1-1UTRAN接口



UTRAN-(UMTS Terrestrial Radio Access Network) UMTS陆地无线接入网
Uu—Uu interface 手机和UTRAN之间的接口
Node B (WCDMA base station)WCDMA 基站
RNC(Radio Network Controller)无线网络控制器—管理基站
CN(Core Network) 核心网
CS(Circuit-Switched) 电路交换域–例如电话
PS(Packet-Switched) 分组交换域—数据业务,例如上网
BC(Broadcast-Switched) 广播域–小区广播

lub/lur/lu/uu都为标准的接口,可以连接不同设备供应商提供的设备。一般将lub/lur/lu接口统称为UTRAN地面接口。
根据RNC连接的CN设备的不同,lu接口又可以分lu-CS接口、lu-PS接口和lu-BC,其中lu-CS为RNC何MSC之间的接口,lu-PS为RNC何SGSN之间的接口,lu-BC为RNC何CBC之间的接口。


1.2 Uu接口
1.2.1 Uu协议结构
    Uu接口为UE(User Equipment)与UTRAN(UMTS terrestrial Radio Access Network)之间的接口,是UMTS系统的空中接口,是UMTS系统的空中接口,也是最重要的接口。
    Uu接口可分为三个协议层:物理层(L1)、数据链路层(L2)和网络层(L3),如图1-2所示:


图1-2 Uu接口协议栈结构

L1主要用于为高层业务提供传输的无线物理通道。该层由NodeB实现。
L2包括MAC(Medium Access Control) 、RLC(Radio Link Control)、BMC(broadcast/Multicast Control)和PDCP(Packet Data Convergence Protocol)四个子层。
L3包括接入层(AC)中的RRC子层和非接入层(NAS)的MM(Mobile Management,移动性管理)和CC(Call Control,呼叫控制)
L2 和L3子层由RNC实现。

Uu接口各协议遵循的规范如图1-3所示

图1-3 Uu接口个协议规范

RRC层参考3GPP文档 TS25.331
PDCP层参考3GPP文档 TS25.323
BMC层参考3GPP文档 TS25.324
RLC层参考3GPP文档 TS25.322
MAC层参考3GPP文档 TS25.321
PHY层参考3GPP文档 TS25.211 ~TS25.215

1.2.2 RRC层功能
RRC层实现的功能包括:

  • 广播由非接入层(NAS)提供的信息
  • 广播与接入层(AS)相关的信息
  • 建立、维持及释放UE和UTRAN之间的一个RRC连接,分配、重配置及释放用于RRC连接的无线资源
  • 建立、重配置及释放无线承载
  • RRC连接移动功能管理
  • 为高层PDU(Protocol Data Util)选路由
  • 对请求的Qos进行控制
  • UE测量上报和报告控制
  • 外环功率控制
  • 加密控制
  • 慢速动态信道分配
  • 寻呼
  • 空闲模式下初始小区选择和重选
  • 上行链路DCH和无线资源的仲裁
  • RRC消息完整性保护
  • CBS控制

1.2.3 L1功能
L1(物理层)主要功能包括:

  • 传输信道的信道交织/解交织,传输信道的复用,CCTrcH的解复用,速率匹配CCTrCH到物理信道的映射,物理信道的调制/扩频与解调/解扩,物理信道的功率加权与组合;
  • 向上提供测量及知识(如FER,SIR,干扰功率,发送功率等),传输信道的错误检测
  • 宏分集分布/组合,软切换执行
  • 频率和时间(码片,比特,时隙,帧)的同步
  • 闭环功率控制
  • 射频处理
1…456
Tianger Ge

Tianger Ge

3G/LTE protocol | C

53 日志
8 分类
14 标签
GitHub 微博
© 2015 - 2016 Tianger Ge
由 Hexo 强力驱动
主题 - NexT.Pisces