设计蜂窝手机和基站是一项极具挑战性的工作,传统的设计方法是分别设计组件然后构成系统。但是,功率控制算法涉及到几种不同的组件,只有采用本文介绍的基于方框图和状态图的系统级设计工具和方法才能应付挑战。该方法强调从系统设计入手开始各组件的独立设计,让无线系统开发人员更有效地设计、优化和检测用于IS-95A CDMA手机和基站产品的功率控制算法。
StuaRF??t McGarrity
通信部经理
MathWorks公司
发射功率控制(TPC)是现代CDMA蜂窝网一个重要的设计问题。功率控制包括用于管理和调整基站和手机发射功率的技术和算法。它同样适用于以下几个用途:减小共道干扰、控制语音质量、延长电池寿命以及最小化手机平均发射功率。
功率控制算法监测语音质量统计特性和接收功率电平,它们既是物理层前向链路特性参数也是物理层反向链路特性参数的函数。这些算法通过前向通信信道的功率控制子信道,向每一部移动电话发出功率调整命令。它们也参与链路层操作,比如发送该接入信道上的系统开销信息。要实现功率控制算法的优化需要对许多组件进行仿真。这种优化可以通过系统级设计实现,因为它允许仿真整个通信系统的物理层和链路层。
IS-95A中的功率控制
一个无线电话网络由基站和多个手机组成。基站在带宽为1.213MHz的前向链路上向手机发送控制信息和话音。手机在互相独立的带宽为1.213MHz的反向链路上向基站发送控制信息和话音。尽管前向和反向信道都需要功率控制,但功率控制的主要需求表现在反向信道。
反向链路的功率控制主要是为了解决“近-远”问题。所有的手机在同一时间、同一频道上发射,但采用不同的编码,因此,一部手机的信号会干扰其他手机。在基站一个手机接收的信号质量反比于来自其它手机的干扰功率。
当两部手机以同样功率发射,但离基站不同距离时,就会出现近-远问题。由于传播损耗不同,接收端接收到的功率会有很大差别。靠近基站的手机接收到较强的信号功率,它对较远的手机产生很大的干扰,以致较远的手机检测不到信号。
反向链路的功率控制还可以处理市区环境下多径衰落信道快速变化的衰减特性。在这种环境下,由于特殊速率和多径衰落的影响,典型无线信道的接收功率会随时间发生急剧的变化。
为解决在市区环境中碰到的问题,功率控制算法要确保在基站处所有手机的接收功率电平相同。通过控制手机的发射功率,控制算法能做到这一点。当手机接收功率低时,要控制手机加大发射功率,例如当手机远离基站的时候。当手机接收功率高时,则要减少发射功率,例如手机在基站附近时。
用这种方式控制功率,算法要不断监测每一个手机的接收功率,而且要不断调整发射功率以便达到预定的性能标准,比如误帧率(FER)。
传统的设计过程
很多新产品(比如蜂窝设备)的传统设计方法经常是从设计整个系统的电路图开始。然后,工程师们必须把其划分成不同的功能组件,比如可编程数字信号处理器(DSP)、数字ASIC、模拟/混合信号ASIC以及RF组件。每一组件以及它们之间接口连接的规范通常要以文件形式记录下来。硬件和软件工程师用低级结构和电路设计工具(如汇编码、硬件描述语言和PSpice工具)分别设计各自的组件。
在开发和仿真方面,象PSpice产品这样的低级设计工具速度很慢,因此,工程师们在完成样机之前只能进行有限的测试。由于规范含糊和表达不清,经常会引起设计问题。而且,因为低级和电路设计工具不容易集成化,所以各个子组件不能在一起仿真,结果无法进行整体系统的测试。尤其是在模拟、数字或是控制逻辑组件之间有可能发生预想不到的互相影响,使得整个系统无法满足其性能指标要求。
运用方框图和状态机系统级设计工具,工程师可以快速地确定符合概念设计的整个系统的顶层结构。公共信号处理和通信操作的内置模块能帮助设计者迅速建立一个高级设计。设计组织者可以将该设计分成若干组件单位,由各个设计成员分别完成。
采用系统级设计方法,所有的设计成员使用同样的工具,共同设计一个具有独立的模拟、数字或是控制逻辑组件的系统级设计。在系统级设计的基础上,设计者可以尝试多种不同的解决方案来完成全局的最优化工作。方框图使设计者可以精确地为任何实际系统中存在的多组件和复杂的时序关系协同建模。
一旦各组件分别完成设计和测试,工程师们可以把它们集成在一起,测试整个系统以便得到一个有效设计。只有这时,设计人员才利用汇编码、HDL和PSpice实现低级结构设计。系统级设计可作为一种高级可执行规范,可以将它同低级结构设计进行比较。用这种方法,出错的风险明显降低,从而减少设计失败的次数、缩短产品开发周期。
设计实例
为更好地说明系统级设计方法的优点,让我们来看看用于IS-95A系统的功率控制算法的开发。比如,我们使用方框图和状态图系统级工具来设计和仿真IS-95A的功率控制算法。
在设计和仿真算法之前,关键要掌握手机和基站在无线网络中的通信过程,IS-95A CDMA规范中描述的信道结构对此有帮助。
从基站向手机发射信号的前向链路由一个带宽为1.213MHz、并由许多个利用正交Walsh(沃尔森) 编码分开的逻辑信道组成。基站用同步和寻呼信道向手机发送控制信息,并使用前向通信信道向每一个手机发送对话信息。
反向链路由另外一个带宽为1.213MHz、并且由几个利用伪随机噪声(PN)编码分开的逻辑信道组成。手机用接入信道把控制信息发射到基站,并使用反向通信信道将对话信息返回到基站。
a) 反向链路功率控制
反向链路功率控制负责管理手机接入信道和反向通信信道的发射功率。反向链路不采用正交沃尔森编码来分开手机的信号。取而代之的是采用各自的PN或长型编码来分开不同手机的信号,即在发射之前用一个独特的41位编码将数据置乱,因而其共道干扰比采用正交沃尔森编码的前向链路要大。因此,需要一种更复杂的功率控制方法,它包括开环和闭环控制。
在开环功率控制中,手机的发射功率通过测量来自基站的接收信号强度并估计前向链路通道的损耗来决定。假定反向链路具有相似的通道损耗,手机利用该信息确定其发射功率。
手机第一次发射时,它会在其接入信道上进行上述工作,作为对寻呼信道上信息的应答,或者作出一次主叫。由于存在近-远问题以及干扰同一蜂窝小区中其它手机的机会,手机开始时以低功率发射,然后它进行一系列尝试或探测,每次逐渐提高功率,直到基站测得其信息并发出确认信号。
手机的初始平均输出功率是一个基站接收功率和寻呼信道发出的初始接入参数信息中的若干系统参数的函数。这些参数包括标称功率(Nom_Pwr)、初始功率(Init_Pwr)、接入检测之间的功率步长(Pwr_Step)以及一个序列中允许的接入检测次数(Num_Step),公式由表1给出。
当设计者开始用这种方法建立一个复杂的系统时,系统级设计工具允许他们从高层次开始,通过不断细化和添加实际环境参数来完成设计。例如,工程师可以抛开物理层而先设计链路层协议,测试协议完成之后再加上物理层。再例如,工程师可以针对一个带有简单加性高斯白噪声(AWGN)的信道进行信道编码操作的设计,稍后添加一个实际衰落信道。工程师也可以并行方式设计这些组件。在我们的例子中,从用于功率控制算法的控制逻辑开始设计,不考虑具体信道。
图1表示了一个描述控制逻辑的状态机,它一般在微控制器上用软件编码实现。像图1中描述的图形状态机设计工具,能够对系统状态、子状态以及引起系统状态和子状态之间发生状态转换的事件进行描述。这非常有助于清晰描述复杂的算法。
动态仿真还允许设计者将系统状态与系统信号进行直观的对比。图1重点表示了一个系统状态,它包含两个子状态。箭头用于描述状态之间的转变,箭头上的标识表示引起状态转换的事件。数据处理可以包含在状态内部或是放在状态转换标识之后。图1中,当手机第一次进入系统接入状态的接入检测(access-probe)子状态时,它将会完成一系列操作:1. 利用该公式设置发射功率;2. 激活发射机;3. 开启一个定时器;4. 在接入检测子状态下等待。
如果手机的功率电平足已满足基站的接收要求,基站会在寻呼信道上发出一个确认信号。在寻呼信道上传送的这个信息,标识为“BS_Response”事件,引发该系统脱离系统接入超级状态(system-access superstate),关闭接入信道上的发射机,并且转移到下面的反向通信信道控制状态。
如果手机收不到确认信号,定时器产生的“时间溢出”事件将引起该系统脱离接入检测子状态,使“总和接入检测修正(sum_access_probe_correction)”变量的值增加一个Pwr_Step(功率步长),而且将“数据接入检测”计数器加1。然后系统重新进入接入检测状态,此时“总和接入检测修正”的新值用于调整发射功率。它不断重复这个过程,直到基站应答或是允许接入检测Num_Step的次数超过了最大值。
在图1中,我们看到当Num_Step到达最大值(Num_Access_Probes>=Num_Step)时,系统进入等待状态。在这里,接入传输被禁止,检测功率修正变量和检测计数变量被复位,手机启动其定时器以等待由另一个系统参数给定的下一个随机(探测)时段。
一旦手机开始反向通信信道的发射以及前向通信信道的接收工作,就运行一个快速的闭环功率控制算法。此时,基站检测手机的接收信号功率,并命令其增加或减少发射功率以保证反向通信信道满足一个规定的FER要求。例如,最起码的FER质量标准是1%到2% ,最多3到4个连续帧错误。
b) 闭环功率控制
闭环功率控制涉及前向和反向通信信道,因而成功地优化算法需要同时仿真这两个物理层信道。为了把物理层加到一个设计中,工程师可以利用为DSP预先建立的模块库以及方框图系统级(block-diagram system-level)设计工具的通信操作功能。
反向通信信道如图2所示,由循环冗余校验(CRC)码生成、卷积编码、符号复制及交织、扩谱、调制和滤波等模块构成。模块可着色以突出该系统中不同的采样速率。
蓝色模块,像交织和卷积编码器,以50Hz帧速率运行。红色模块以较高的19.6kHz符号率运行,黄色模块则以一种以上的采样速率运行。这种方式可以直观地显示多种不同的采样速率。靠近模块端口的数值表示信号带宽,此处我们可以看到帧结构大小为576个符号。
闭环功率控制可以进一步划分为内环和外环。在外环中,基站开始于一个目标FER以及一个目标位能量与噪声谱密度之比(Eb/N0),以便实现该目标FER。随后基站连续检测该FER值并相应调整Eb/N0的阈值。
基站算法
前向和反向通信信道被细分成若干个20ms的帧。每一帧又进一步分成16个占时1.25ms的功率控制组(PCG)。在内环中,基站为每个PCG检测每个手机接收的Eb/N0,并将其与外环计算出的目标阈值进行比较。如果该Eb/N0比目标值小,基站命令该手机增加其发射功率。如果该Eb/N0比目标值大,基站则命令手机减小发射功率。
基站通过前向通信信道的功率控制子信道向手机发出上述命令,该子信道将功率控制位插入通信信道并以PCG速率发射出去,它使用的技术叫做“符号定标(symbol puncturing)”。这些位插在长型置乱码之后,正好在沃尔森码扩谱之前。前向通信信道中,一个PCG组中有24个符号,因此功率位可能会有24个位置。该位置随每个PCG的变化而变化,而且由前一帧中长型PN码的后四位确定。
手机采用同样的长型PN码位来提取功率控制位。如果收到一个“1”位,该手机就要降低发射功率1dB。如果收到一个“0”位,手机就增加发射功率1dB。目前,手机采用表2所示的公式计算其发射功率。
在手机的控制逻辑中利用功率位调整发射功率。一旦从系统接入状态进入通信信道控制状态,则通信信道被激活。在会话子状态,发射功率用前面提到的公式设定。每出现一个PCG时钟事件,系统便退出该子状态,并查看存储在Power_Bit中(功率位)的数值。
如果该值为“0”,总和功率位修正变量将增加1dB。如果该值为“1”,总和功率位修正变量将减少1dB。然后,系统回到会话子状态,此时要采用总和功率位修正变量的新值来调整发射功率。
系统仿真
通过该控制逻辑、反向通信信道和前向通信信道,设计者就可以仿真控制逻辑以检测控制算法。此处,设计者要添加一个多谱勒频率为40Hz、AWGN为-84dBm的三个瑞利衰落多径信道。
在图3中,示波器的顶轴用黄色表示手机的发射功率,紫色表示手机的接收Eb/N0,淡兰色表示该Eb/N0的阈值。示波器的底轴用黄色表示一个帧速率时钟,此处每一个边沿标志着一帧的开始,用紫色表示功率控制子信道上发出的功率位的数值,用淡兰色表示PCG速率时钟。
由于衰落的影响,接收的Eb/N0值随衰落变化。当Eb/N0大于阈值时,基站将功率控制位设为1,手机会相应减少其发射功率。当Eb/N0小于阈值时,基站将功率控制位设为0,手机会相应增加发射功率。这种功率调整将确保手机在保持一个可接受的FER的同时使发射功率最小。
作者简介:
Stuart McGarrity是MathWorks公司通信部经理,曾负责DSP和通信计费项目。他拥有苏格兰Strathclyde 大学电子和微处理器工程专业学士学位、阵列信号处理专业博士学位。E-mail:stuartm@。
京公网安备 11011202001138号
