多路自适应泛速率码速调整装置和方法
技术领域
本发明涉及软件无线电(SDR)技术领域,具体涉及一种多路自适应泛速率码速调整装置和方法。
背景技术
软件无线电(SDR)是基于通用硬件平台,通过软件提供多服务、多标准、多模式、可重构的无线电通信。核心思想是最大限度的用易于重构的数字电路代替模拟电路来构建通信系统以适应其智能化的发展趋势。SDR有多种具体应用,从功能上可以细分为单用户型、多用户型等类型。多用户型SDR是指一套SDR系统可以实现对多个用户的数据进行合成后用一个信道进行传输,传输容量、效率、信道利用率可以有效提高。其首要问题是解决各用户数据码流的综合与分解。对于高速数据码流的综合与分解已经有了相当成熟的数字复、分接技术与理论,但对零次群数据码流的研究较少。在SDR内部有大量的低速信息需要传输,多支路信息在同一信道进行有效传输就必须对数据进行打包(综合)处理。要实现传输设备和数据终端间的速率和容量的匹配,解决现有部分传输设备和终端设备之间不兼容的问题,就要做到设备的输入端支持多种速率的数据输入。
数据综合系统在SDR中的功能是完成数据的综合与分解,以达到将多路低速数据无损合成,实现高效率传送的目的。在发送端,主要是对多个用户的低速数据进行合成后,形成一路高速码流发送出去;在接收端,对经过解调后的数字信号进行分解,分别送达相应用户终端,完成多用户通信。支路数据的时钟提取是数据综合系统自适应性实现的前提,只有提取到精确时钟才能对待传输数据进行码速调整和自适应综合。锁相环时钟提取技术已经相当成熟,并在工程实践中得到了广泛应用。但它基于闭环结构按步进行相位调节,同步时间与调整精度相互制约,无法满足数据综合系统对速率变化较大的支路数据自适应的需求。
发明内容
本发明所要解决的技术问题是提供一种多路自适应泛速率码速调整装置和方法,它既能够实现支路数据时钟的精确快速提取,又保留了锁相环的自我调节性。
为解决上述问题,本发明是通过下述技术方案实现的:
一种多路自适应泛速率码速调整方法,其中包括有支路数据的时钟提取过程,且支路数据的时钟提取过程具体如下:
①转码步骤:将输入的支路数据中的归零码元进行过零提取,整形为不归零码元;
②鉴相步骤:将不归零码元输入到两个相连的移位寄存器;两移位寄存器在高频时钟的驱动下,输出相位相差一个高频时钟周期大小的数据码流,上述两路数据码流经过逻辑运算,鉴别出码元的上升沿和下降沿;当输入的数据码流有上升沿或下降沿时,输出一个宽度为一个高速时钟周期的脉冲;
③最窄脉冲检测步骤:以上述输出的脉冲的跳变沿作为闸门信号去控制高频时钟驱动的计数器的计数,先保存两跳变沿之间的计数值到计数寄存器中,后续计数值与计数寄存器中的计数器值进行比较,保存较小的计数值;
④动态分频步骤:将计数寄存器中的计数值送入分频器,作为对本地高频时钟的分频系数,分频器输出的时钟频率即为支路数据的时钟频率。
上述方案所述动态分频步骤中的分频器在计数器的计数值达到计数寄存器中保存的计数值的一半时,输出反转电平,由此输出占空比为50%的时钟。
上述方案所述转码步骤和鉴相步骤之间还包括有滤波步骤,该滤波步骤将输入的不归零码元中的毛刺滤除后再输入移位寄存器中。
上述方案所述最窄脉冲检测步骤和动态分频步骤之间还包括有去抖动步骤,该去抖动步骤对前向抖动和后向抖动分别处理,消除了抖动累积。
上述方案所述动态分频步骤之后还包括有同步修正步骤,该同步修正步骤将非归零码元与提取的支路数据的时钟调整为同步时钟和同步码元。
一种多路自适应泛速率码速调整装置,包括支路数据的时钟提取模块,所述支路数据的时钟提取模块包括转码器、鉴相器、最窄脉冲检测器和动态分频器;其中转码器经鉴相器与最窄脉冲检测器相连,最窄脉冲检测器连接动态分频器;鉴相器和动态分频器的时钟控制端连接高频时钟的输出端;
转码器将输入的支路数据中的归零码元进行过零提取,整形为不归零码元;
鉴相器将转码器输出的不归零码元输入到鉴相器中的两个相连的移位寄存器;两移位寄存器在高频时钟的驱动下,输出相位相差一个高频时钟周期大小的数据码流,上述两路数据码流经过逻辑运算,鉴别出码元的上升沿和下降沿;当输入的数据码流有上升沿或下降沿时,鉴相器中的边沿检测电路输出一个宽度为一个高速时钟周期的脉冲;
最窄脉冲检测器将鉴相器输出的脉冲的跳变沿作为闸门信号去控制高频时钟驱动的计数器的计数,先保存两跳变沿之间的计数值到计数寄存器中,后续计数值与计数寄存器中的计数器值进行比较,保存较小的计数值;
动态分频器将计数寄存器中的计数值送入分频器,作为对本地高频时钟的分频系数,分频器输出的时钟频率即为支路数据的时钟频率。
上述方案所述动态分频器还与一个状态转移器相连,该状态转移器的时钟控制端连接高频时钟的输出;状态转移器在计数器的计数值达到计数寄存器中保存的计数值的一半时,输出反转电平,由此输出占空比为50%的时钟。
上述方案所述转码器的输出端和鉴相器的输入端之间还接有滤波器,该滤波器将转码器输出不归零码元中的毛刺滤除后再输入鉴相器的移位寄存器中。
上述方案所述最窄脉冲检测器的输出端和动态分频器的输入端之间还接有去抖动器,该去抖动器对前向抖动和后向抖动分别处理,消除了抖动累积。
上述方案所述动态分频器的输出端上接有同步修正器,该同步修正器的输入端与转码器的输出端相接,同步修正器的输出端包括同步时钟输出端和同步码元输出端,其中同步时钟输出端与状态转移器的输入端相连;该同步修正器将非归零码元与提取的支路数据的时钟调整为同步时钟和同步码元。
与现有技术相比,本发明基于开环结构,充分利用支路数据码元跳变边沿所携带的时钟信息,采用最窄脉冲检测、实时鉴相和动态分频技术进行时钟提取,实时鉴相和选择替换相结合进行设计;既实现了时钟的精确快速提取,又保留了锁相环的自我调节性,同时能够更节省系统资源。
附图说明
图1为本发明一种多路自适应泛速率码速调整装置的原理图;
图2为本发明一种支路数据的时钟提取模块的原理图。
具体实施方式
本发明一种多路自适应泛速率码速调整方法,主要包括支路数据的时钟提取过程、动态码速调整过程和信道自动分配过程。
其中支路数据的时钟提取过程包括如下步骤:即
①转码步骤:将输入的支路数据中的归零码元进行过零提取,整形为不归零码元。
②滤波步骤:将输入的不归零码元中的毛刺滤除后再输入移位寄存器中。
③鉴相步骤:将不归零码元输入到两个相连的移位寄存器;两移位寄存器在高频时钟的驱动下,输出相位相差一个高频时钟周期大小的数据码流,上述两路数据码流经过逻辑与和或运算,鉴别出码元的上升沿和下降沿;当输入的数据码流有上升沿或下降沿时,输出一个宽度为一个高速时钟周期的脉冲。
鉴相步骤充分利用支路数据码元的跳变沿特性,先将码元输入到两个相连的移位寄存器;在高频时钟的驱动下,两寄存器输出值相位相差一个高频时钟周期的大小,两值经过逻辑运算,便可鉴别出码元的上升沿和下降沿。核心部分的实现代码如下:
当输入的数据码流有上升沿或下降沿时,边沿检测电路便输出一个宽度为一个高速时钟周期的脉冲。
④最窄脉冲检测步骤:以上述输出的脉冲的跳变沿作为闸门信号去控制高频时钟驱动的计数器的计数,先保存两跳变沿之间的计数值到计数寄存器中,后续计数值与计数寄存器中的计数器值进行比较,保存较小的计数值。
由于码元宽度等于支路数据的整数倍时钟周期,因此利用检测出最窄码元并以其跳变沿作为闸门信号去控制高频时钟驱动的计数器,用此计数值对本地高频时钟进行分频,便可提取出支路数据的时钟。
本发明的最窄脉冲检测步骤是一个实时动态进行的过程,计数器值的大小代表了码元宽度。先保存两跳变沿之间计数器值到计数寄存器cnt_reg2中,后续计数器值cnt_reg1与cnt_reg2进行比较,cnt_reg2中保存较小计数值,并开始下一轮的计数。核心部分的实现代码如下:
if(cnt_reg1>=cnt_reg2)
begin cnt_reg2<=cnt_reg2;state<=START;end
else begin cnt_reg2<=cnt_reg1;state<=START;end
计数寄存器cnt_reg2的初始化值不能为0或者太小,要根据设计需求进行设置以保证其值大于最窄码元宽度的计数值。
⑤去抖动步骤:对前向抖动和后向抖动分别处理,消除了抖动累积。
⑥动态分频步骤:将计数寄存器中的计数值送入分频器,作为对本地高频时钟的分频系数,分频器输出的时钟频率即为支路数据的时钟频率。
由于高速时钟的频率与数据码流时钟频率的n倍是有一些差异的,因此,该电路要根据数据码流的边沿,来控制n分频器的置位,不断调整分频器输出的相位,使得n分频器输出的时钟频率的平均值正好是数据码流时钟的频率。调整n分频器置位值,可以改变提取时钟与数据码流间的相位关系。这样提取的时钟可以很好地跟踪数据码流的抖动,使系统的抖动容限性能改善,由此引起的提取时钟的抖动对综合系统的性能无影响。
为了提高提取时钟的精度,本发明优选实施例的动态分频步骤中的分频器在计数器的计数值达到计数寄存器中保存的计数值的一半时,输出反转电平,由此输出占空比为50%的时钟。即将cnt_reg2中的数值送入分频器,作为对本地高频时钟的分频系数。每当本地时钟上升沿来到时,count计数加1,当计数值达到cnt_reg2保存的值的一半时,输出电平反转。在这里对cnt_reg2值做了奇数、偶数单独处理,保证了提取时钟的精度和输出占空比为50%的时钟。核心部分的实现代码如下:
由于cnt_reg2中的数值是动态更新的,所以分频器也要根据cnt_reg2中的数值变化动态进行分频。
FPGA内部电路的传输特性,会使提取的时钟稍微的延迟于输入码元。在这里设置一级触发器,用提取的时钟对输入码元进行触发,实现输出时钟与输出码元的精确同步。
⑦同步修正步骤:将非归零码元与提取的支路数据的时钟调整为同步时钟和同步码元输出。
本发明动态码速调整过程和信道自动分配过程与现有技术大致相同。本发明动态码速调整过程在作用是把参与综合的各异源支路码流调整成同步码流。由于本发明的支路数据速率未知,因此码速调整也是一个动态调整的过程。本发明信道自动分配过程将综合器的支路数定为最大8路,速率定为具有代表性的64/128/256/512/1024kb/s,而群路信息则设置为不小于各支路信息速率的总和,可为128/256/512/1024/2048kb/s,在群路速率大于等于各支路信息速率总和的情况下,动态分配信道,支路数在1~8之间动态变化。
多路自适应泛速率码速调整装置即数据综合系统在SDR中的功能是完成数据的综合与分解,以达到将多路低速数据无损合成,实现高效率传送的目的。在发送端,主要是对多个用户的低速数据进行合成后,形成一路高速码流发送出去;在接收端,对经过解调后的数字信号进行分解,分别送达相应用户终端,完成多用户通信。本发明基于FPGA,采用新型算法设计实现了自适应数据综合系统:自动识别支路数据速率、动态分配传输信道、操作灵活、性能稳定、便于修改电路结构、节约系统资源、具有较高的实用性和可靠性。系统主要由FPGA、外部标准接口、微控制器以及人机交互设备等部分组成。通过JTAG、AS、PS等下载模式可以对系统进行配置或软件更新。FPGA对输入的支路数据进行自适应处理,并送入综合模块和管理模块;综合后的数据进行组帧、接口选择和数据处理后发射出去;系统提供了DUC、RS232、3G、以太网等多种标准接口。对接收到的数据下变频处理后送入帧同步模块,在管理模块的控制下分解成各支路数据进行输出;管理模块是系统的控制中心,协调FPGA内部各模块的工作、把FPGA内部状态信息送入微控制器处理后进行显示,同时接收外部输入设备的控制。本发明一种多路自适应泛速率码速调整装置结构框图如图1所示。
支路数据的时钟提模块取是多路自适应泛速率码速调整装置自适应性实现的前提,只有提取到精确时钟才能对待传输数据进行码速调整和自适应综合。本发明所设计的多路自适应泛速率码速调整装置基于开环结构,充分利用支路数据码元跳变边沿所携带的时钟信息,用计数器值来计量最窄码元宽度,采用最窄脉冲检测、实时鉴相和动态分频技术进行时钟提取。
本发明所设计的支路数据的时钟提取模块如图2所示,包括转码器、鉴相器、最窄脉冲检测器和动态分频器;其中转码器经鉴相器与最窄脉冲检测器相连,最窄脉冲检测器连接动态分频器;鉴相器和动态分频器的时钟控制端连接高频时钟的输出端。转码器将输入的支路数据中的归零码元进行过零提取,整形为不归零码元;鉴相器将转码器输出的不归零码元输入到鉴相器中的两个相连的移位寄存器;两移位寄存器在高频时钟的驱动下,输出相位相差一个高频时钟周期大小的数据码流,上述两路数据码流经过逻辑运算,鉴别出码元的上升沿和下降沿;当输入的数据码流有上升沿或下降沿时,鉴相器中的边沿检测电路输出一个宽度为一个高速时钟周期的脉冲;最窄脉冲检测器将鉴相器输出的脉冲的跳变沿作为闸门信号去控制高频时钟驱动的计数器的计数,先保存两跳变沿之间的计数值到计数寄存器中,后续计数值与计数寄存器中的计数器值进行比较,保存较小的计数值;动态分频器将计数寄存器中的计数值送入分频器,作为对本地高频时钟的分频系数,分频器输出的时钟频率即为支路数据的时钟频率。
为了保证提取时钟的精度,本发明还包括一个状态转移器,该状态转移器与动态分频器的互联,且状态转移器的时钟控制端连接高频时钟的输出。状态转移器在计数器的计数值达到计数寄存器中保存的计数值的一半时,输出反转电平,由此输出占空比为50%的时钟。状态转移器保证了在码元出现连‘0’或连‘1’时仍然有固定的边沿短脉冲输出。此外,本发明还包括有滤波器和去抖动器。滤波器连接在转码器的输出端和鉴相器的输入端之间,用于将转码器输出不归零码元中的毛刺滤除后再输入鉴相器的移位寄存器中。去抖动器则连接在最窄脉冲检测器的输出端和动态分频器的输入端之间,用于对前向抖动和后向抖动分别处理,消除了抖动累积。
本发明的动态分频器的输出端上接有同步修正器,该同步修正器的输入端与转码器的输出端相接,同步修正器的输出端包括同步时钟输出端和同步码元输出端,其中同步时钟输出端与状态转移器的输入端相连;该同步修正器将非归零码元与提取的支路数据的时钟调整为同步时钟和同步码元。