发明内容
针对现有技术中存在的问题,本发明目的在于,提供实现5G防抖动的实时TDD开关控制方法。解决5G通信系统中,同步信号SSB中同步帧头位置存在跳动的问题,以及每帧之间的时间间隔频繁变化的问题。同时当数据不稳定,引入的偶然发现的现象:会有大信号进入,从而经过系统的功率放大器放大后,将设备烧毁,解决安全问题。
为了实现上述目的,本发明所采用技术方案为:根据同步信号SSB的帧头位置,实时切换TDD开关,调整整体时延量以及局部偏移量,并且根据基带处理单元BBU下发的子帧配比信号,实时调整子帧配比,在数字域增加上下行数据链路的开关,限制开关偏移量的数值始终小于同步帧头抖动的最大数值,同时自动判断同步帧头状态,并且进行功率自检,具体包括以下步骤:
步骤一、根据10msNR无线帧中同步信号SSB的帧头位置,作为计数器的起始位置,累加计数到下一个同步帧头清零,并依次循环计数;
步骤二、以计数器的起始位置为基准,分别设置整体时延量和局部偏移量。整体时延量:设置十六进制正数,表示从计数器的起始位置为起始点,然后根据设置的数值延后;设置十六进制负数,表示从计数器的起始位置为起始点,然后根据设置的数值提前。局部偏移量:设置十六进制正数,表示从计数器的起始位置为起始点,然后根据设置的数值延后;设置十六进制负数,表示从计数器的起始位置为起始点,然后根据设置的数值提前。
步骤三、根据步骤二中整体时延量和局部偏移量的和,在计数器计数到和的位置,并以此为基准,设置和步骤一中的计数器等长的计数器;
步骤四、识别基带处理单元BBU下发的子帧配比信号,并且将子帧配比信号存入寄存器;
步骤五、计数最小单位符号symbol的数值,计数器计数到下一个symbol到来的时候加一,直至下一个10msNR无线帧帧头到来时,计数器清零;
步骤六、分别将步骤四中寄存器的数值,一一对应到步骤五中按照symbol划分的计数器位置,按照每个symbol的长度,去设置高电平信号或者低电平信号;
步骤七、判断10msNR无线帧帧头的时间间隔,当时间间隔误差大时,视为不同步,输出高电平告警信号,告警信号低电平表示触发告警,高电平表示状态正常,将告警信号和上下行数据做与逻辑。
步骤八、当步骤七中的告警信号为低电平,分别调用步骤六中的高低电平信号,将高低电平信号分别赋值给所需要控制的管脚信号;
步骤九、调用步骤六中的高低电平信号,分别拼接成十六比特后,和上下行数据做与逻辑;
步骤十、设定阈值,计算在完整的10ms内的,经过步骤九中处理后的数据的平均功率,当数字域功率饱和的时候,关闭上下行数据链路。
所述步骤一具体为:由于10msNR无线帧中同步信号SSB的帧头位置是存在抖动的,所以在时域上不再是固定的10ms,当捕捉到帧头位置时开始计数,当捕捉到下一个帧头到来的时候清零,并重新计数,保证计数器的起始位置都是完整的10msNR无线帧的起始位置。
所述步骤二具体为:设置整体时延量时,考虑到,由于数据和帧头是两个独立信号,即两者在系统中传输是存在时间上的差值的,产生差值的因素主要是经过系统链路上的时延,所以设置整体时延量的位宽为24比特bit,当时钟为122.88MHz的时候,则调节的精度约为8.138ns,调节的最大范围为[-10ms,10ms],设需要调节的时间为Ans,则设置值Xns的具体计算公式为:X=HEX2DEC(A/8.138)。设置局部偏移量时,考虑到每个符号symbol的长度约为35.7us,防止相邻symbol的开关冲突,即调整局部偏移量的调节范围不可超过一个symbol的长度,所以设置局部偏移量的位宽为16bit,当时钟为122.88MHz的时候,则调节的精度为8.138ns,调节的最大范围为[-35.7us,35.7us],设需要调节的时间为Ans,则设置值Xns的具体计算公式为:X=HEX2DEC(A/8.138)。
所述步骤三具体为:在步骤一中的计数器计数到,步骤二中整体时延量和局部偏移量的和,且和为16进制负值时,有以下情形:
情形一:时钟为122.88Mhz,当整体时延量和局部偏移量均为正值时,若和<1228799,则以计数器计数到的和的位置为起始位置,设置和步骤一等长的计数器;若和>1228799,则以计数器计数到,和除以1228799的余数的位置为起始位置,设置计数器;
情形二:时钟为122.88Mhz,①当整体时延量和局部偏移量均为负值,若和的绝对值<1228799,则以计数器计数到1228799减去和的绝对值的位置为起始位置,设置和步骤一等长的计数器;②若和的绝对值>1228799,则以计数器计数到,和的绝对值减去1228799,再除以1228799得到的余数的位置为起始位置,设置计数器。
同时,由于同步帧头的跳动,10msNR无线帧的帧长度存在2us的误差,所以需要保证①中和的绝对值以及②中余数都<1228799-2000/8.138=1228553,这样是防止计数器因数不到规定数值而错乱的情形。
所述步骤四具体为:定义280bit的信号,一个10msNR无线帧frame由10个子帧subframe构成,一个subframe由2个时隙slot构成,一个slot由14个符号symbol构成。将BBU传来的280bit子帧配比信号去对应一个10msNR无线帧中的280个symbol,280bit的低位到高位的每一bit分别对应,从subframe0slot0 symbol0到subframe9 slot1 symbol13,每一bit为0时,表示下行,为1时,表示上行。将子帧配比指示信号,分别按照slot号的顺序,依次由低位到高位,存入20个14bit的寄存器,每个14bit寄存器的低位到高位,分别对应每个slot的symbol0到symbol13。
所述步骤五具体为:当时钟为122.88MHz,计数器从10msNR无线帧中的帧头起始位置开始计数,到下一个帧头到来时清零,理论上计数器从0计数到1228799,但由于帧头存在抖动现象,有2us的误差,则计数器的最小边界为1228799-2000/8.138=1228553,即在计数到最后一个symbol的时候,是不完整的;最大边界为1228799+2000/8.138=1229045,即在计数到最后一个symbol的时候,是超出10ms范围的。在subframe0 slot0中,symbol0的长度为(288+64+4096)*8.138ns=36.198us,symbol1~symbol13的长度为(288+4096)*8.138ns=35.678us,步骤三中计数器依次计数到symbol长度的时候加一,直至下一个10msNR无线帧帧头到来时清零。
所述步骤六具体为:将步骤四中存放的子帧配比指示信号寄存器的数值,和步骤五中的计数器进行对应,即如果指示subframe0slot0symbol0的寄存器bit值为1,表示下行,设置高电平;如果指示subframe0slot0symbol0的寄存器bit值为0,表示上行,设置低电平。
所述步骤七具体为:当10msNR无线帧帧头的时间间隔过长或者过短,则为失步状态,当失步状态时,此时开关不断根据跳变的帧头在错乱的切换,会导致一些干扰的信号漏出,从而到功率放大器侧将设备烧毁;或者上下行开关同时打开导致一些不正常的状态,应该关闭上下行链路。计数10msNR无线帧帧头的时间间隔,当间隔<1228799-2000/8.138=1228553或者>1228799+2000/8.138=1229045时,则表示此时的时间间隔已经比10ms长度短2us或者长2us秒了,输出告警信号,然后将告警信号和上下行数据做与逻辑,高电平表示状态正常,低电平表示失步状态,并触发告警。
所述步骤八具体为:在告警信号为高电平的情况下,只需要按照硬件的逻辑控制即可,由于连接到FPGA的控制管脚,在硬件上的表现都只有高低电平;
对于下行射频链路上的开关,当高电平表示开时,则将步骤六中的高低电平直接赋值,如果高电平表示关时,则需要将步骤六中的高低电平取反;
对于上行射频链路上的开关,当高电平表示开时,则将步骤六中的高低电平取反,如果高电平表示关时,则将步骤六中的高低电平直接赋值。
所述步骤九具体为:在告警信号为高电平的情况下,由于IQ数据是16bit,所以需要拼接16个步骤六中的高低电平信号,在下行数字链路中,将拼接后的步骤六中的信号直接和数据做与逻辑;在上行数字链路中,将拼接后的步骤六中的信号取反后和数据做与逻辑。
所述步骤十具体为:以步骤三中计数器为基准,计算每个完整的计数器内数据的功率,功率计算公式为i表示每一个计算的功率点,即每一组IQ数据,n表示统计完整10msNR无线帧中的IQ数据的总个数,然后将计算出的功率大小的数值转换为单位是数字域功率dbfs为单位的数值,PM’=10*lg(PM)-93.32dbfs,若PM’的数值大于-16,则表示IQ数据饱和,此时关闭上下行数据链路,并触发功率告警灯,避免有大信号烧毁设备,当功率正常后,重新打开上下行数据链路,关闭功率告警灯。
与现有技术相比,本发明的有益效果在于:
1、本发明运用FPGA在5G通信系统中,通过捕捉10msNR无线帧同步帧头的位置,采用循环清零计数,能实时通过BBU下发的子帧配比,实现实时切换TDD开关。
2、本发明考虑到10msNR无线帧同步帧头跳动的范围,在设置整体时延量以及局部偏移量去适配TDD开关时,考虑到可能的所有情形,使得设计更具通用性和广泛性。
3、本发明增加了同步自检功能,通过判断10msNR无线帧帧头的时间间隔,来做出相应反应,能在失步状态下自动关闭上下行数据,防止不稳定状态下开关的错乱切换从而影响到设备正常功能,提升了TDD开关的灵活性,以及整体设备的安全性能。
4、本发明增加上下行数据链路开关,防止一些干扰的产生,同时能做到切断无用信号对系统的干扰,提高系统性能。
5、本发明增加数字功率自检功能,能有效避免大信号烧坏功率放大器,从而增加设备的安全性能。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明进一步说明。
参见图1,本发明接口如下:
采用两个模块完成,分别是TDD开关控制模块和功率自检模块。
TDD开关控制模块:
输入:时钟信号频率和复位信号频率为122.88MHz,FPGA的数据采样率为122.88Mhz,tdd_cfg_10ms是BBU下发的280bit子帧配比指示信号,从低位到高位的每1bit指示,时域上一个symbol的上行或者下行状态,数值为1表示下行,数值为0表示上行。以10ms单周期为例,BBU下发子帧配比为7D1S2U时,D表示下行子帧,U表示上行子帧,S表示特殊子帧,S特殊子帧为10D2G2U,G为保护间隔,则tdd_cfg_10ms的数值为280’hff_ffff_ffff_ffff_ffff_ffff_ffff_f000_0000_0fff_ffff_ffff_ffff_ffff_ffff_ffff,其中将保护时隙GAP配成上行时隙,可以保证上行数据的起始位置不被TDD开关切断。trig_all_delay是24bit的整体时延调整量。dl_sw1_offset,dl_sw2_offset和dl_sw3_offset分别是不同的16bit下行开关的局部偏移量。ul_sw1_offset,ul_sw2_offset和ul_sw3_offset分别是不同的16bit上行开关的局部偏移量。整体时延调整量以及局部偏移量的具体时间计算公式:i_data_i和i_data_q是16bit的i和q数据。
输出:dl_switch1,dl_switch2和dl_switch3分别是不同的下行tdd开关,ul_switch1,ul_switch2和ul_switch3分别是不同的上行tdd开关。o_data_i_tdd_dl和o_data_q_tdd_dl是经过处理的时分复用下行链路数据。o_data_i_tdd_ul和o_data_q_tdd_ul是经过处理的时分复用上行链路数据。o_trig_10ms是和下行时分复用数据对齐输出的10msNR无线帧帧头。o_alarm_unsync是识别到10msNR无线帧帧头的间隔异常时告警信号。
功率自检模块:
输入:TDD开关控制模块的输出。
输出:o_data_i_pm_dl和o_data_q_pm_dl是输出的经过处理的时分复用下行数据,o_data_i_pm_ul和o_data_q_pm_ul是输出的经过处理的时分复用上行数据。
参见图2和图3,本发明包括以下步骤:
一种实现5G防抖动的实时TDD开关控制方法,根据同步信号SSB的帧头位置,实时切换TDD开关,调整整体时延量以及局部偏移量,并且根据基带处理单元BBU下发的子帧配比信号,实时调整子帧配比,在数字域增加上下行数据链路的开关,限制开关偏移量的数值始终小于同步帧头抖动的最大数值,同时自动判断同步帧头状态,并且进行功率自检,具体包括以下步骤:
步骤一、根据10msNR无线帧中同步信号SSB的帧头位置,作为计数器的起始位置,累加计数到下一个同步帧头清零,并依次循环计数。由于10msNR无线帧中同步信号SSB的帧头位置是存在抖动的,所以在时域上不再是固定的10ms,当捕捉到帧头位置时开始计数,当捕捉到下一个帧头到来的时候清零,并重新计数,保证计数器的起始位置都是完整的10msNR无线帧的起始位置。
步骤二、以计数器的起始位置为基准,分别设置整体时延量和局部偏移量。整体时延量:设置十六进制正数,表示从计数器的起始位置为起始点,然后根据设置的数值延后;设置十六进制负数,表示从计数器的起始位置为起始点,然后根据设置的数值提前。局部偏移量:设置十六进制正数,表示从计数器的起始位置为起始点,然后根据设置的数值延后;设置十六进制负数,表示从计数器的起始位置为起始点,然后根据设置的数值提前。设置整体时延量时,考虑到,由于数据和帧头是两个独立信号,即两者在系统中传输是存在时间上的差值的,产生差值的因素主要是经过系统链路上的时延,所以设置整体时延量的位宽为24比特bit,当时钟为122.88MHz的时候,则调节的精度约为8.138ns,调节的最大范围为[-10ms,10ms],设需要调节的时间为Ans,则设置值Xns的具体计算公式为:X=HEX2DEC(A/8.138)。设置局部偏移量时,考虑到每个符号symbol的长度约为35.7us,防止相邻symbol的开关冲突,即调整局部偏移量的调节范围不可超过一个symbol的长度,所以设置局部偏移量的位宽为16bit,当时钟为122.88MHz的时候,则调节的精度为8.138ns,调节的最大范围为[-35.7us,35.7us],设需要调节的时间为Ans,则设置值Xns的具体计算公式为:X=HEX2DEC(A/8.138)。
步骤三、根据步骤二中整体时延量和局部偏移量的和,在计数器计数到和的位置,并以此为基准,设置和步骤一中的计数器等长的计数器。在步骤一中的计数器计数到,步骤二中整体时延量和局部偏移量的和时,并且和为16进制负值,会有以下情形:
情形一:时钟为122.88Mhz,当整体时延量和局部偏移量均为正值时,若和<1228799,则以计数器计数到的和的位置为起始位置,设置和步骤一等长的计数器;若和>1228799,则以计数器计数到和除以1228799的余数的位置为起始位置,设置计数器;
情形二:时钟为122.88Mhz,①当整体时延量和局部偏移量均为负值,若和的绝对值<1228799,则以计数器计数到1228799减去和的绝对值的位置为起始位置,设置和步骤一等长的计数器;②若和的绝对值>1228799,则以计数器计数到和的绝对值减去1228799,再除以1228799得到的余数的位置为起始位置,设置计数器;
同时,由于同步帧头的跳动,10msNR无线帧的帧长度存在2us的误差,所以需要保证①中和的绝对值以及②中余数都<1228799-2000/8.138=1228553,这样是防止计数器因数不到规定数值而错乱的情形。
步骤四、识别基带处理单元BBU下发的子帧配比信号,并且将子帧配比信号存入寄存器。定义280bit的信号,一个10msNR无线帧由10个子帧subframe构成,一个subframe由2个时隙slot构成,一个slot由14个符号symbol构成。将BBU传来的280bit子帧配比信号去对应一个10msNR无线帧中的280个symbol,280bit的低位到高位的每一bit分别对应,从subframe0 slot0 symbol0到subframe9 slot1 symbol13,每一bit为0时,表示下行,为1时,表示上行。将子帧配比指示信号,分别按照slot号的顺序,依次由低位到高位,存入20个14bit的寄存器,每个14bit寄存器的地位到高位,分别对应每个slot的symbol0到symbol13。
步骤五、计数最小单位符号symbol的数值,计数器计数到下一个symbol到来的时候加一,直至下一个10msNR无线帧帧头到来时,计数器清零。当时钟为122.88Mhz,计数器从10msNR无线帧中的帧头起始位置开始计数,到下一个帧头到来时清零,理论上计数器从0计数到1228799,但由于帧头存在抖动现象,有2us的误差,则计数器的最小边界为1228799-2000/8.138=1228553,即在计数到最后一个symbol的时候,是不完整的;最大边界为1228799+2000/8.138=1229045,即在计数到最后一个symbol的时候,是超出10ms范围的。在subframe0 slot0中,symbol0的长度为(288+64+4096)*8.138ns=36.198us,symbol1~symbol13的长度为(288+4096)*8.138ns=35.678us,步骤三中计数器依次计数到symbol长度的时候加一,直至下一个10msNR无线帧帧头到来时清零。
步骤六、分别将步骤四中寄存器的数值,一一对应到步骤五中按照symbol划分的计数器位置,按照每个symbol的长度,去设置高电平信号或者低电平信号。将步骤四中存放的子帧配比指示信号寄存器的数值,和步骤五中的计数器进行对应,即如果指示subframe0slot0symbol0的寄存器bit值为1,表示下行,设置高电平;如果指示subframe0slot0symbol0的寄存器bit值为0,表示上行,设置低电平。
步骤七、判断10msNR无线帧帧头的时间间隔,当时间间隔误差大时,视为不同步,输出高电平告警信号,告警信号低电平表示触发告警,高电平表示状态正常,将告警信号和上下行数据做与逻辑。当10msNR无线帧帧头的时间间隔过长或者过短,则为失步状态,当失步状态时,此时开关不断根据跳变的帧头在错乱的切换,会导致一些干扰的信号漏出,从而到功率放大器侧将设备烧毁;或者上下行同时打开导致一些不正常的状态,应该关闭上下行链路。计数10msNR无线帧帧头的时间间隔,当间隔<1228799-2000/8.138=1228553或者>1228799+2000/8.138=1229045时,则表示此时的时间间隔已经比10ms长度短2us或者长2us秒了,输出告警信号,然后将告警信号和上下行数据做与逻辑,高电平表示状态正常,低电平表示失步状态,触发告警。
步骤八、当步骤七中的告警信号为低电平,分别调用步骤六中的高低电平信号,将高低电平信号分别赋值给所需要控制的管脚信号。在告警信号为高电平的情况下,按照硬件的逻辑控制,由于连接到FPGA的控制管脚,在硬件上的表现都只有高低电平;
下行射频链路上的开关,当高电平表示开时,则将步骤六中的高低电平直接赋值,当高电平表示关时,则需要将步骤六中的高低电平取反;
上行射频链路上的开关,当高电平表示开时,则将步骤六中的高低电平取反,若高电平表示关时,则将步骤六中的高低电平直接赋值。
步骤九、调用步骤六中的高低电平信号,分别拼接成十六比特后,和上下行数据做与逻辑。同步骤八理,在告警信号为高电平的情况下,由于IQ数据是16bit,所以需要拼接16个步骤六中的高低电平信号,在下行数字链路中,将拼接后的步骤六中的信号直接和数据做与逻辑;在上行数字链路中,将拼接后的步骤六中的信号取反后和数据做与逻辑。
步骤十、设定阈值,计算在完整的10ms内的,经过步骤九中处理后的数据的平均功率,当数字域功率饱和的时候,关闭上下行数据链路。以步骤三中计数器为基准,计算每个完整的计数器内数据的功率,功率计算公式为PM=i表示每一个计算的功率点,即每一组IQ数据,n表示统计完整10msNR无线帧中的IQ数据的总个数,然后将计算出的功率大小的数值转换为单位是数字域功率dbfs为单位的数值,PM=10*lg(pm)-93.32dbfs,若PM的数值大于-16,则表示IQ数据饱和,此时关闭上下行数据链路,,并触发功率告警灯,避免有大信号烧毁设备,当功率正常后,重新打开上下行数据链路,关闭功率告警灯。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。