基于软件无线电的时钟同步方法和软件无线电系统技术领域
本发明涉及一种基于软件无线电的时钟同步方法和软件无线电系统。
背景技术
软件无线电全称为软件定义的无线电(Software Defined Radio,SDR),其核
心思想是:构造一个具有开放性、标准化、模块化的通用硬件平台,使A/D和
D/A转换器尽可能靠近天线,将其他各种功能,如物理层和协议栈等都由软件
来实现。因其具备通用性、开放性和全面可编程性等优点而成为解决无线通信
领域内多种通信体制并存、各种标准竞争激烈、频谱资源紧张以及传统的以硬
件为主、面向特定用途定制系统的不足等问题的优选。
目前所有的SDR原型平台都仅仅实现了点与点之间的通信,当采用多点构
建多址接入网络时,这些接入点之间不存在统一的时钟,无法实现网络同步,
因此难以模拟具有实时性的多址接入,如GSM,TD-LTE等TDMA特性的时分
多址接入系统。目前商用的无线通信系统中的网同步(也称为时钟同步)直接影
响到相邻基站间的越区切换的成功率。
现有的工程解决方案有以下两种:一、直接使用计算机操作系统的秒级时
间。所有的SDR原型平台通过网卡连接到互联网(internet),使用计算机网络
时间协议(Network Time Protocol,NTP)取得时间同步,然后以10秒(或更大)
的粒度划分时隙,最后给不同的SDR平台分配不同的时隙。该方案所能达到的
时隙最小单位即为秒级。二、在所有SDR平台前端加一个GPS授时接收器。商
用GPS授时所能达到的精度为10微秒级。授时器与GPS卫星取得时间同步后,
它通过硬中断信号的形式不断地通知SDR物理层和协议栈,以毫秒级的粒度来
划分时隙,这与当前的通信协议(如GSM,LTE等)是相匹配的,然后给不同
的SDR平台分配不同的时隙,即可以实现TDMA形式的多址接入。
然而方案一的缺点在于:一、采用NTP所取得时间同步的误差较大,二、
时隙最小单位为秒级,不能满足当前任何一种TDMA接入方式的通信协议的要
求。一般来讲,当前时分复用协议要求时隙划分粒度至少为毫秒级。
方案二的缺点在于:一、GPS只能在室外空旷环境中应用,在室内或无线
环境较复杂的地方不能应用。二、GPS由美国政府控制,若采用GPS作为同步
时钟必然削弱了SDR自身的独立性。三、GPS授时装置与SDR软件体系的接
口难度较大,不利于研究应用。四、采用硬时钟源降低了SDR的灵活性与扩展
性,与SDR的开放性、兼容性等核心思想背道而驰。
发明内容
为了克服上述的缺陷,本发明提供一种实现软件无线电平台组网的基于软
件无线电的时钟同步方法。
为达到上述目的,一方面,本发明提供一种基于软件无线电的时钟同步方
法,用于实现至少两个软件无线电接入点之间的时钟的同步,每个接入点位于
一个硬件平台上且每个接入点之间能相互通信,所述方法至少包括下述步骤:
在每个接入点中通过软件生成软时钟源;
令任意一个接入点的软时钟源为基站软时钟源,其它接入点的软时钟源为
用户端软时钟预源;
采用回程时延算法获得用户端软时钟源与基站软时钟源之间的偏移量;
根据所得偏移量调整用户端软时钟源,使其与基站软时钟源同步。
特别是,在每个接入点中通过软件生成软时钟源至少包括下述步骤:
在接入点中生成一个独占性的线程,该线程始终独占一个CPU逻辑核;
在所得线程内提取该CPU逻辑核的嘀嗒数;
在该独占性线程中得到软时钟源,在主频为1GHz以上的CPU中能达到纳
秒级的时钟精度。
特别是,采用回程时延算法获得用户端软时钟源与基站软时钟源之间的偏
移量至少包括下述步骤:
基站每隔一设定时间间隙广播一个软同步序列;
用户端接收所述软同步序列并解码,并将解码后所得结果递交到媒体接入
控制层;用户端计算该软同步序列此时的时延时间得到偏移量。
特别是,软同步序列的时延时间至少包括发送时延、传播时延、接收时延
和/或解码时延。
特别是,软同步序列长度为14字节,包含有2字节包头、2字节持续时间、
2字节帧号、2字节时间偏移量、2字节系统信息和4字节帧校验序列;其中,
包头遵循WiFi的MAC层控制帧格式,且sub type字段定义为0000。
特别是,偏移量为:TA=(RTD1-RTD2)/2≈Te+TS
其中,TA为偏移量,RTD1为基站端从指示软同步序列发送到接收到响应
软同步序列信号到来之间的时延,RTD2为用户端从接收到软同步序列信号至
指示发送响应软同步序列之间的时延,Te为由软件指令指示软同步序列发送到
射频端天线真正开始发送该软同步序列的射频信号之间的时间间隔,TS为接收
端从天线接收到软同步序列的电磁信号到软件无线电的物理层得知信号到来之
间的时延。
特别是,加权偏移量为:EstimatedTA=(1-α)×EstimatedTA+α×CurrentTA
EstimatedTA为TA的加权平均值,由上一次的EstimatedTA和本次测量得
到的CurrentTA加权得到,EstimatedTA由每个用户端各自保持并每隔一设定间隔
时间后更新;初始值为:EstimatedTA0=CurrentTA0。
特别是,α值为0.2。
特别是,Te至少包括软件处理时延、指令传输时延和射频端硬件处理时延,
其中,
软件处理时延至少包括程序的跳转、函数调用及代码编译执行的时延;
指令传输时延至少包括指令通过USB、串口或PCIe由硬件平台传输至射频
前端的时延。
特别是,TS至少包括射频端天线真正接收到该软同步序列的射频信号至软
件指令指示接收到软同步序列之间的时间间隔、射频端对于降采样后的基带数
字信号完成载波和码元同步的时延、以及信号检测算法所引起的时延。
另一方面,本发明提供一种软件无线电系统,包括至少两个软件无线电接
入点,每个接入点位于一个硬件平台上且每个接入点之间能相互通信,所述软
件无线电接入点之间通过上述方法实现软时钟源的同步。
特别是,每个用户端在经过回程时延算法调整本地时钟使得与基站取得时
钟同步后,用户端的每个时隙都与基站的时隙对齐,基站能为不同的用户端分
配不同的时隙;帧配置信息包含在软同步序列中,每个用户端能根据帧配置情
况,在分配给自己的时隙内上行传输或下行接收数据。
本发明基于软件无线电的时钟同步方法所提出的软时钟源生成技术中时钟
线程始终独占一个CPU逻辑核,不允许操作系统将其挂起或调度出去,这样保
证了实时性的要求,同时可以达到纳秒级的精度,也保证了高精度的要求。采
用软件生成时钟源的方式时时钟的频率在其精度允许范围内任意可调,程序处
理软时钟中断的系统开销小于I/O硬中断,而且便于SDR的集成与交互,从而
克服了GPS难以接合的缺点。较好的灵活性和可扩展性,实时且精度较高。算
法的复杂度较小,易于工程实现,具备较高的工程实用性。
本发明软件无线电系统采用上述方法实现软时钟的同步,克服了当前软件
无线电平台无法实现组网的缺陷。结构合理,应用方便,效果良好。
附图说明
图1为生成软时钟源的伪代码优选实施例。
图2为本发明软同步序列详细格式及字段说明。
图3为回程时延算法(RTD)原理示意图。
图4为Te+TP+TS统计结果直方图。
图5为示波器测得软同步效果示意图。
具体实施方式
下面结合说明书附图和优选实施例对本发明做详细描述。
本发明基于软件无线电的时钟同步方法用于实现至少两个软件无线电接入
点之间的时钟的同步,每个接入点位于一个硬件平台上且每个接入点之间能相
互通信。本发明方法至少包括下述步骤:
在每个接入点中通过软件生成软时钟源;
令任意一个接入点的软时钟源为基站软时钟源,其它接入点的软时钟源为
用户端软时钟预源;
采用回程时延算法获得用户端软时钟源与基站软时钟源之间的偏移量;
根据所得偏移量调整用户端软时钟源,使其与基站软时钟源同步。
其中,在每个接入点中通过软件生成软时钟源至少包括下述步骤:
在接入点中生成一个独占性的线程,该线程独占一个CPU逻辑核;
在所得线程内提取该CPU逻辑核的嘀嗒数;
在主频为1GHz以上的CPU中得到软时钟源。
通过生成一个始终独占一个CPU逻辑核的时钟线程来得到软时钟源,不允
许操作系统将该线程挂起或调度出去,保证了实时性的要求,同时可以达到纳
秒级的精度,也保证了高精度的要求。
采用回程时延算法获得用户端软时钟源与基站软时钟源之间的偏移量至少
包括下述步骤:
基站每隔一设定时间间隙广播一个软同步序列;
用户端接收软同步序列并解码,并将解码后所得结果递交到媒体接入控制
层(MAC);用户端计算该软同步序列的时延时间得到偏移量。
如图3所示,该算法的核心思想是:基站每隔一定的时间间隔(如40ms)广
播一个软同步序列SSS,用户端在成功接收到该帧并进行PHY层正确解码后递
交到MAC层,根据SSS的发送时延、传播时延、接收时延和/或解码时延等确
定出终端时钟的时间提前量(Time Advanced,TA),只要能精确确定终端时钟的
TA,那么就实现了用户端与基站之间的时钟同步。因此如何确定SSS从基站到
终端的总的时延是软时钟同步技术的关键,考虑基站只能测出发送时延,而用
户端仅能测出接收和解码时延,所以如果仅仅在任意一端均不能正确估计出总
的时延大小。
RTD算法的基本过程是:首先将SSS调制编码后放置射频端的缓存中,基
站在一定的时间节点首先指示广播发送一SSS给用户端,用户端在接收并在
PHY成功解码SSS后,立即指示发送一回程SSS给基站,基站再接收和解码该
回程SSS。图3中横轴表示绝对时间(如原子时或协调世界时等),各个参数表
示的意义如下:
Te/T′e:(Time of Error)表示由软件指令指示SSS发送到射频端天线真正开
始发送该SSS的射频信号之间的时间间隔。一般来说,GPP(General Purpose
Processor)SDR上该时间大约为几个微秒,它包含了以下几个方面:
软件处理时延,例如程序的跳转,函数调用及代码编译执行的时延等。
指令传输时延,指令通过USB,串口或PCIe等由PC传输至射频前端,通
常情况下该时延为微秒级。
射频端硬件处理时延,如前端的DSP或FPGA或A/D(D/A)引起的时延,
这类时延普遍存在于所有通信系统中,而不仅仅局限于SDR原型平台。
TP/T′P:(Time ofPropagation)表示电磁信号BS与UE之间的空间传播时延,
两者天线距离一旦确定,那么该时延也就随即确定。
TS/T′S:(Time of Sensing signal arriving)表示接收端从天线接收到SSS的电
磁信号到SDR的物理层得知信号到来之间的时延。该时延又可以分为三个部分
组成,一是类似于Te/T′e的逆过程的时延,二是射频端对于降采样后的基带数字
信号完成载波和码元同步的时延,三是信号检测算法所引起的时延,如自相关
检测算法等。
RTD1:表示基站端从指示SSS发送到接收到响应SSS信号到来之间的时延
大小,可以从基站端直接测量得到。
RTD2:表示用户端从接收到SSS信号到来到指示发送响应SSS之间的时延
大小,可以由用户端直接测量得到。
RTD算法存在两个前提假设。第一个是回程中的往返路径完全相同,即:
TP=T′P (1)
第二个前提是所有的SDR平台均具备相同的硬件架构和软件架构,工程上
可以得到:
Te=T′e,TS=T′S (2)
然而,即使在理想条件下,Te或TS也不能准确的单独测量得到。但是用户
端和基站之间的时延是由Te,TP和TS三者之和得到的,没有必要准确的测量出三
者的各自大小,而只需要得到三者之和即可:
Te+TP+TS+T′e+T′P’T′S=RTD1-RTD2 (3)
联立式(1)、(2)和(3),不难得到:
Te+TP+TS=(RTD1-RTD2)/2 (4)
在室内通信的场景中,基站与用户端的距离一般在百米以内,所以Tp的大
小为纳秒级,相比于这Te+TS工程上可以将其近似忽略,所以得到以下近似:
TA=(RTD1-RTD2)/2
≈Te+TS (5)
值得注意的是,变量RTD2包含了物理层的译码过程,在SDR原型平台中,
由于受到多种因素的影响,该变量存在较大的波动性,然而这并不能影响到本
发明所提出RTD算法的正确性与稳健性,变量RTD1与RTD2的差值已经将由
RTD2引起的波动性排除,这也是差分思想的精髓所在。
进一步,为了保证TA既具备统计稳定性,又能反映出软件无线电的软处理
时延的瞬时波动性,本发明对TA的估计进一步采用了加权和的方式:
EstimatedTA=(1-α)×EstimatedTA+α×CurrentTA (6)
EstimatedTA是一个加权平均值,由上一次的EstimatedTA和本次测量得到的
CurrentTA加权得到,EstimatedTA由每个用户端各自保持并每隔一定间隔(如
40ms)更新之。初始值可令:
EstimatedTA0=CurrentTA0 (7)
本发明中,根据实际工程测试,令α=0.2,这样使得TA既具备统计稳定性,
又能反映出软件无线电的软处理时延的瞬时波动性。
附图4给出了Te+TP+TS的测试结果,由结果可以看到,均值为16.08us,
均方差为1.54us2,且最大/小值与均值差的绝对值也小于5us,这表明Te+TP+TS具
有非常好的统计稳定性。见下表1。
表1.Te+TP+TS的统计结果。
Total/times
Mean/us
MSE/us2
Max/us
Min/us
1000
16.08
1.54
19.07
11.45
附图5是对RTD算法正确性及误差大小的验证,在用户端与基站取得软时
钟同步后用户端也在40ms的开始节点发送一SSS,采用双通道的数字示波器同
时测量两者的天线射频信号,结果如图所示。由图中可以看出,用户端已经与
基站取得了非常好的时钟同步。
该算法充分考虑了软件无线电平台的处理时延问题,相比与商用的通用基
带芯片编码或译码的确定时延情况,软件无线电平台中存在许多不确定的软处
理时延。本算法分别在基站和用户端两端测得一SSS和其应答SSS的往返时延,
两端测得不同时延的差值的1/2即为基站发送一SSS到用户端成功接收到的单
程时延,基站端将时延大小写入SSS中的Time Advanced(TA)字段。为了保
证TA既具备统计稳定性,又能反映出软件无线电的软处理时延的瞬时波动性,
本发明对TA的估计进一步采用了加权和的方式。测试结果表明,软时钟同步的
误差小于10us。
回程时延估计算法(RTD)充分考虑了软件无线电平台的处理时延问题,对
于时延的估计既具备统计稳定性,又能反映出软件无线电的软处理时延的瞬时
波动性。算法的复杂度较小,极易工程实现,具备较高的工程实用性。
如图2所示,软同步序列的时延时间至少包括发送时延、传播时延、接收
时延和解码时延。软同步序列长度为14字节,具体构成为包头(frame header,2
字节),持续时间(duration,2字节),系统信息(system information,2字节),帧
号(frame number,2字节),时间偏移量(time advaned,2字节),帧校验序列(FCS:
frame check sequence,4字节)。软同步序列的包头遵循WiFi的MAC层控制帧
格式,其中的sub type字段定义为0000,即软同步序列。基站得系统信息字段
包含本小区号以及帧配置情况,用户端的系统信息字段包含用户标识(UE ID)
信息。
本发明软件无线电系统包括至少两个软件无线电接入点,每个接入点位于
一个硬件平台上且每个接入点之间能相互通信,软件无线电接入点之间通过本
发明的方法实现软时钟源的同步。每个用户端在经过回程时延算法调整本地时
钟使得与基站取得时钟同步后,用户端的每个时隙都与基站的时隙对齐,基站
能为不同的用户端分配不同的时隙;帧配置信息包含在软同步序列中,每个用
户端能根据帧配置情况,在分配给自己的时隙内上行传输或下行接收数据。
优选实施例一:在基于x86架构通用PC上,操作系统为Windows XP(32
位)。首先生成一个中断级(27<IRQL<31)的线程,该线程始终独占一个CPU
的逻辑核。在该线程内,程序始终不断的在提取所独占CPU的逻辑核的嘀嗒数,
利用intel所提供的汇编指令_rdtsc,可以达到纳秒级的时间精度,伪代码如附
图1所示。
在每个SDR平台内实现了高精度的软时钟源之后,选取其中任意一台作为
模拟基站(Base Station,BS),其余的SDR平台作为用户端(User Equipment,
UE),基站每隔40ms发送一个简短的软同步序列(Software Synchronization
Sequence,SSS.具体格式见附图2),用户端在成功解码得到软同步序列后,根
据回程时延算法(Round-Trip Delay,RTD)可以得到本地时钟与基站时钟的时
间偏移量(time offset),从而再适当调整本地时钟。
优选实施例二:在操作系统为Linux的通用PC上,首先生成一个独占性的
线程,该线程始终独占一个CPU的逻辑核。在该线程内,程序始终不断的在提
取所独占CPU的逻辑核的嘀嗒数,在主频为1GHz以上的CPU中可以达到纳秒
级的时间精度。
在每个SDR平台内实现了高精度的软时钟源之后,选取其中任意一台作为
模拟基站(Base Station,BS),其余的SDR平台作为用户端(User Equipment,
UE),基站每隔40ms发送一个简短的软同步序列(Software Synchronization
Sequence,SSS.具体格式见附图2),用户端在成功解码得到软同步序列后,根
据回程时延算法(Round-Trip Delay,RTD)可以得到本地时钟与基站时钟的时
间偏移量(time offset),从而再适当调整本地时钟。
本发明基于软件无线电的时钟同步方法具有较好的灵活性和可扩展性,时
钟的频率在其精度允许范围内任意可调,程序处理软时钟中断的系统开销小于
I/O硬中断,便于SDR的集成与交互,从而克服了GPS难以接合的缺点。实时
且精度较高,完全满足现有商业通信系统对时钟同步精度的要求。回程时延估
计算法取得软时钟同步的误差小于10us(保守估计),完全达到甚至超过了现在商
用基站之间的时钟同步精度。对于时隙(或称子帧)长为毫秒级的TDMA时分多
址接入系统提供了可靠的保障。
以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任
何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化
或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以
权利要求所界定的保护范围为准。