Ltecpri接口的双dagc因子压解装置及方法_2

文档序号:8489979阅读:来源:国知局
C因子相应增多,从而占用更多的传输资源,选的越大对信号的EVM和SINR恶化越严重,但DAGC因子相应减少,从而占用更少的传输资源,因此对于I,Q最大值搜寻周期的选择要根据系统要求进行选择,一般会以一个基本帧中所包含的IQ数做为其最大搜寻周期N,这样比较方便DAGC因子的传输,本发明中实施例所选择的N值为32。
[0050]图1是实施例的双DAGC因子压解装置整体框图,主要有如下部分构成:
[0051]压缩端有压缩模块和CPRI接口发送端,
[0052]压缩模块,主要完成对原始的I路数据和Q路数据进行压缩,包括把15Bit I路数据压缩到7Bit,15Bit Q路数据压缩到7Bit,并产生双DAGC因子;
[0053]CPRI接口发送端,主要完成把压缩后的I路数据、Q路数据以及双DAGC因子进行编码和组帧处理并通过光链路传输到解压缩端。
[0054]解压缩端有CPRI接口接收端和解压缩模块,
[0055]CPRI接口接收端,主要完成解码和解帧处理,解析出压缩后的I路数据、Q路数据以及双DAGC因子;
[0056]解压缩模块,主要完成把压缩后的7Bit I路数据和7Bit Q路数据,根据传送过来的双DAGC因子还原成15Bit I和15Bit Q路数据。
[0057]具体实施时,本领域技术人员可以采用FPGA实现压缩模块和解压缩模块,压缩模块可包括I路FIF0、Q路FIFO、最大值搜索模块、有效Bit获取模块和量化截取模块。CPRI接口发送端和CPRI接口接收端可根据具体目标压缩Bit数等实现。
[0058]I路FIFO,用于缓存I路数据;
[0059]Q路FIFO,用于缓存Q路数据;
[0060]最大值搜索模块,用于从I路数据查找最大值,从Q路数据查找最大值;
[0061]有效Bit获取模块,用于根据I路数据最大值获取I路数据有效Bit起始位,根据Q路数据最大值获取Q路有效Bit起始位,输出读使能到I路FIFO和Q路FIFO ;
[0062]量化截取模块,用于根据I路数据有效Bit起始位对从I路FIFO读取的I路数据进行压缩,根据Q路数据有效Bit起始位对从Q路FIFO读取的Q路数据进行压缩,并将I路数据有效Bit起始位和Q路数据有效Bit起始位组合成双DAGC因子。
[0063]图2是实施例的双DAGC因子压解方法具体实施框图,实施例流程如下:
[0064]首先在压缩端的压缩模块执行步骤I?5,在CPRI接口发送端执行步骤6,然后在解压缩端的CPRI接口接收端执行步骤7,在解压缩模块执行步骤8。
[0065]步骤1:进入压缩模块的数据分成两路,一路进入FIFO进行缓存,另一路进入最大值搜索模块(Find Max),进入最大值搜索模块的IQ数据分别进行最大值的查找;如图2中进入压缩模块的I路和Q路数据分别记为I_in、Q_in,I_in 一路进入相应的I路FIF0,一路进入最大值搜索模块,以便进行I路数据最大值的查找,Q_in —路进入相应的Q路FIF0,一路进入最大值搜索模块,以便进行Q路数据最大值的查找。
[0066]步骤2:最大值搜索模块中,设置I路数据和Q路数据的最大值Max_1、Max_Q初始值为0,即初始化Max_I = 0,Max_Q = 0,对进来的I路数据和Q路数据分别按照采样速率进行计数统计,实现方式如下,
[0067]首先根据预设的N值,在N个采样点内分别进行I路最大值和Q路最大值搜寻,
[0068]对I路数据,把Max_I的当前值与进来的第一个I路数据采样点Il进行模值比较,如果Max_I的当前值大于等于II,则最大值保持Max_I的当前值,如果Max_I的当前值小于II,则最大值Max_I更新取值为II,然后再把得到的最大值(即Max_I的当前值)和第二个I路数据采样点12比较,得到第二次比较后的最大值,…依次比较并更新Max_I完成一个搜索周期N = 32个采样点就得到本搜寻周期内的I路最大值;
[0069]Q路找到最大值的方法和I路是一致的,对Q路数据,把Max_Q的当前值与进来的第一个Q路数据采样点Ql进行模值比较,如果Max_Q的当前值大于等于Q1,则最大值保持Max_Q的当前值,如果Max_Q的当前值小于Q1,则最大值Max_Q更新取值为Q1,然后再把得到的最大值(即当前值)和第二个Q路数据采样点Q2比较,得到第二次比较后的最大值,…依次比较并更新Max_Q完成一个搜索周期N = 32个采样点就得到本搜寻周期内的Q路最大值。
[0070]在N个采样点内最大值搜寻完成后,输出I路数据和Q路数据分别的最大值Max_I和Max_Q,给出一个使能标志Max_En用来指示一个周期最大值搜索的完成,此使能标志持续时间为最大值搜索模块的一个时钟周期(和一个采样点相应),并把Max_I和Max_Q进行清O操作,然后开始下一个最大值搜寻周期的处理。
[0071]步骤3:Max_1、Max_Q 和 Max_En 进入有效 Bit 获取模块(Get Use Bit),Max_En 通知有效Bit获取模块进行如下处理,
[0072]首先分别获取I路数据有效Bit起始位和Q路数据有效Bit起始位,
[0073]I路数据的每个采样点总共15Bit数据,FPGA中定义下标从O开始,其中最高位为第14Bit,最低位为第O位,第14Bit—定是符号位,将第14Bit和第13Bit进行比较,如果不相等,说明从第14Bit开始就是有效Bit位,并标记有效Bit位起始位置Pos_i = 14 ;如果相等说明有效Bit起始位置还在后面,则继续把第14Bit和第12Bit比较,如果不相等,说明从第13Bit开始就是有效Bit位,并标记Pos_i = 13,相等就继续向下比较,依此进行处理,一直比较到目标压缩Bit数S-2为止,无论是否相等,不再继续比较,直接标记为Pos_i = S-2。实施例S值选择为7,小于S-2就直接标记Pos_i = 5,
[0074]Q路有效Bit起始位的获取方法和I路是一致的,从Max_Q的最高位开始,将前一位第xBit与后一位第x-lBit对比,如果不相等则即确定前一位开始为有效Bit位并结束比较,同时标记有效Bit位起始位置为X,如果相等则令X = x-1继续比较,直到x = x-l =S-2时,直接标记为Pos_q = S-2 ;
[0075]同步获取I路数据有效Bit起始位和Q路数据有效Bit起始位后,产生一个完成标志PoS_vad,此标志持续时间为有效Bit获取模块的一个时钟周期(和最大值搜索模块的一个时钟周期类似);用完成标志Pos_vad产生FIFO的读使能Rden_1、Rden_q,
[0076]所以从有效Bit获取模块输出的数据包括Pos_1、Pos_q、Rden_1、Rden_q,包括从有效Bit获取模块输出Pos_i和Pos_q到量化截取模块,输出Rden_i到I路FIFO,输出Rden_q 到 Q 路 FIFO。
[0077]步骤4:根据从有效Bit位获取模块输出的FIFO的读使能Rden_1、Rden_q,从相应FIFO读出I路数据0ut_i和Q路数据0ut_q,I路数据0ut_1、Q路数据0ut_q和有效Bit获取模块输出的Pos_1、Pos_q同步进入量化截取模块;
[0078]相应FIFO读出的I路数据0ut_i,Q路数据0ut_q即相应的N个I路数据采样点和N个Q路数据采样点。
[0079]步骤5:量化截取模块的输入包括,Pos_i,Pos_q,0ut_i,0ut_q,根据Pos_i对0ut_i进行量化截取,以Pos_i为起始位向下截取S位Bit做为压缩后的数据Dagc_outi,S为目标压缩Bit数,Q路数据的处理和I路一致,以Pos_q为起始位向下截取S位Bit做为压缩后的数据Dagc_outq ;由于此实施例目标压缩Bit数S选择为7Bit,因此Pos_i共有4Bit,Pos_q也共有4Bit,将Pos_i做为高4bit,Pos_q做为低4bit组合成8Bit数据Dagc_iq,Dagc_iq称作双DAGC因子;
[0080]量化截取模块输出压缩后的数据Dagc_out1、Dagc_outq以及双DAGC因子Dagc_iq到CPRI接口发送端。
[0081]步骤6:CPRI接口发送端把压缩后的数据Dagc_out1、Dagc_outq以及双DAGC因子Dagc_iq插入到基本帧中,组成超帧和无线帧通过光链路发送出去,双DAGC因子可放在每一个基本帧控制字后第一个字节中。
[0082]步骤7:CPRI接口接收端经过CPRI协议的解帧,解析出双DAGC因子Dagc_iq和压缩后的数据Dagc_dat1、Dagc_datq(和发送端在步骤6所得Dagc_out1、Dagc_outq相应);
[0083]CPRI接口接收端输出双DAGC因子Dagc_iq和压缩后的数据Dagc_dat1、Dagc_datq到解压缩模块。
[0084]步骤8:解压缩模块根据双DAGC因子和压缩后的数据Dagc_dat1、Dagc_datq还原I和Q路数据到15Bit,
[0085]如DAGC因子中Dagc_i = 14,则输出数据为I_out = {符号位填充,压缩后的数据,补 O 填充} + {补偿值} = {Obit 符号位,Dagc_dati,8’ d0} + {(2 _ I)},其中 I_out 第一部分为符号位填充,根据Dagc_i的值来确定填充多少个符号位(填充时可补1),实施例为Obit符号位;第二部分为压缩后
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1