CN103067121B - 一种面向接收端链路自适应的译码信息处理方法 - Google Patents

一种面向接收端链路自适应的译码信息处理方法 Download PDF

Info

Publication number
CN103067121B
CN103067121B CN201210396046.0A CN201210396046A CN103067121B CN 103067121 B CN103067121 B CN 103067121B CN 201210396046 A CN201210396046 A CN 201210396046A CN 103067121 B CN103067121 B CN 103067121B
Authority
CN
China
Prior art keywords
data
unit
read
module
iteration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210396046.0A
Other languages
English (en)
Other versions
CN103067121A (zh
Inventor
苏立峰
施赛丰
王敏
吴俊�
张志峰
沈剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongji University
Original Assignee
Tongji University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongji University filed Critical Tongji University
Priority to CN201210396046.0A priority Critical patent/CN103067121B/zh
Publication of CN103067121A publication Critical patent/CN103067121A/zh
Application granted granted Critical
Publication of CN103067121B publication Critical patent/CN103067121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种面向接收端链路自适应的译码信息处理方法,包括以下步骤:乒乓输入模块采用兵乓输入的串行接收数据,进行处理后分配至两个数据缓冲区后,以一定的周期从两个数据缓冲区间隔读写数据,并发送给译码器;译码器在接收到数据后,由迭代水平迭代单元和垂直迭代单元分别进行迭代处理,再由多个判决单元对数据进行硬判决,然后将判决结果并行发送给乒乓输出模块;乒乓输出模块并行接收译码器中判决单元输出的判决结果,转换为串行数据,并输出。与现有技术相比,本发明将接收端链路自适应的理论研究转化为实用技术,系统吞吐量大,计算复杂度低,同时可以避免高度并行带来的内存访问冲突。

Description

一种面向接收端链路自适应的译码信息处理方法
技术领域
本发明涉及一种无线通信网络物理层的信息处理方法,尤其是涉及一种面向接收端链路自适应的译码信息处理方法。
背景技术
在无线网络中,链路自适应是提高无线网络系统性能的一种重要技术。目前在几乎所有的无线通信系统,如3G和LTE,都在发送端动态调整信道编码和调制以适用信道条件,以达到优化的无线通信系统性能的目的。这种方式称为发送端链路自适应,主要实现技术有AMC和HARQ,以及两种方法的混合模式。但是,这种发送端实现的链路自适应有其固有的缺陷,一是需要接收端反馈准确的信道状态信息,二是速率动态调整范围有限,而且其速率调整呈阶梯状。接收端链路自适应方案克服了以上缺点,其工作原理是发送端连续不断的发送调制信息,接收端每收到一定数量的新数据后进行所有接收数据的解调。接收端链路自适应从根本上解决了反馈信道的延时和出错问题,在卫星通信和移动通信中具有广阔的应用前景。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种面向接收端链路自适应的译码信息处理方法,该方法将接收端链路自适应的理论研究转化为实用技术,系统吞吐量大,计算复杂度低,同时可以避免高度并行带来的内存访问冲突。
本发明的目的可以通过以下技术方案来实现:
一种面向接收端链路自适应的译码信息处理方法,包括以下步骤:
(1)乒乓输入模块采用兵乓输入的串行接收数据,进行处理后发送至两个数据缓冲区后,以一定的周期从两个数据缓冲区间隔读写数据,并发送给译码器;
(2)译码器在接收到数据后,由迭代水平迭代单元和垂直迭代单元分别进行迭代处理,再由多个判决单元对数据进行硬判决,然后将判决结果并行发送给乒乓输出模块;
(3)乒乓输出模块并行接收译码器中判决单元输出的判决结果,转换为串行数据,并输出。
步骤(1)中的乒乓输入模块包括用于数据写入的Writer单元、用于数据计算的Calculation单元、用于数据读取的Reader单元以及第一数据缓冲区和第二数据缓冲区,步骤(1)的具体处理步骤为:
(11)第一数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第一数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第一数据缓冲区中;
Writer单元对第一缓冲区完成写入操作后,向Reader单元发送读使能信号;
(12)第一数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第一数据缓冲区读取数据,发送给译码器;
Reader单元读取完第一数据缓冲区的数据后,发送一个进行第二数据缓冲区乒乓写操作的使能信号给Writer单元;
(13)第二数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第二数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第二数据缓冲区中;
Writer单元对第二缓冲区完成写入操作后,向Reader单元发送读使能信号;
(14)第二数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第二数据缓冲区读取数据,发送给译码器;
Reader单元读取完第二数据缓冲区的数据后,发送一个进行第一数据缓冲区乒乓写操作的使能信号给Writer单元;
(15)重复步骤(11)~(14),以一定周期对两个数据缓冲区间隔进行数据读写。
步骤(2)中的译码器由包含L×L个硬件模块,每个硬件模块由存储单元memorybank、随机地址发生器RAG、水平迭代单元HUP、垂直迭代单元VUP和硬判决器HD组成,每个硬件模块内的存储单元通过水平数据过滤器HDF进行水平连接,通过垂直数据过滤器VDF进行垂直连接,所述的随机地址发生器连接存储单元,所述的水平迭代单元连接水平数据过滤器,所述的垂直迭代单元连接垂直数据过滤器,所述的水平迭代单元内包含有用于进行迭代处理的概率卷积表;
译码器的硬件构架时序由平迭代单元和的垂直迭代单元的时钟周期数kc和kv来控制,所述的水平迭代单元和垂直迭代单元之间串行交替执行,共进行16次迭代处理,其中前15次迭代的垂直处理为垂直迭代单元,最后1次迭代的垂直处理为硬判决器;
在迭代的水平处理中,共有L行并行,共64个水平迭代单元同时处理,在迭代的垂直处理中,共有L列并行,共64个垂直迭代单元同时处理,在判决处理时,共有L个硬判决器并行处理;
存储单元内的数据存储块memorybank(r,c)对应随机地址发生器RAG(r,c)及随机映射矩阵的子矩阵G(r,c),并与水平数据过滤器HDF(r)连接,其中,随机映射矩阵的分块具体为:对RAG(r,c)按N/L×N/L大小进行分块,每个子矩阵标记为G(r,c),其中r表示行号,c表示列号;memorybank(r,c)对应到子矩阵G(r,c),按子矩阵元素的列号进行存储,共N/L个存储元素,每个存储块有1个单端口RAM和2个双端口RAM组成,分别标记为w、E和Q,其中w存储对应元素的权重,E存储对应元素水平迭代的结果,Q存储对应元素垂直迭代的结果;
随机地址发生器RAG的具体处理过程如下:
(a1)对G(r,c)子矩阵按行号顺序获取非零元素的列位置,得到N/L个元素的向量pos,将pos向量以ROM存储,记为RAG(r,c);
(a2)接收kc时钟周期数,获取RAG第kc个值,标记为addr;
(a3)根据addr访问Memorybank(r,c)中的第addr个存储块,并传给水平迭代单元HUP;
水平数据过滤器HDF的具体处理过程如下:
(b1)从L个Memorybank(r,c)中读取Q数据;
(b2)然后将数据过滤后,得到L组数据;
(b3)将L组数据分发到对应的L个水平迭代单元HUP(r,c),其中发送水平迭代单元HUP(r,c)的数据包含memorybank(r,c)以外的Q值,以及memorybank(r,c)的w值和RAG(r,c)的地址addr。
水平迭代处理单元HUP的具体处理过程如下:
(c1)读取一组从水平数据过滤器HDF过滤后的数据q=(q1,q2,…,qL-1)以及yi、w、σ’和随机地址发生器RAG产生的memorybank的地址addr;
(c2)以yi、w、σ’为输入,调用噪声计算模块进行噪声计算处理,得到两组长度为knum个元素,且对应比特为1和0的概率向量,分别记为z和z’;
(c3)以q=(q1,q2,…,qL-1)和w为输入,调用概率卷积计算模块,得到长度为knum个元素的概率卷积向量p;
(c4)以z和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r1;同理,以z’和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r0
(c5)将r1减去r0作为结果,并根据地址addr将结果写回对应的memorybank的E存储单元。
垂直数据过滤器VDF的具体处理过程如下:
(d1)从L个memorybank读取E数据;
(d2)然后将数据过滤后,得到L组数据;
(d3)将L组数据分发到对应的L个垂直迭代单元VUP,其中发送到垂直迭代单元VUP(r,c)的数据不包含memorybank(r,c)的E值;
垂直迭代单元VUP的具体处理过程如下:
(e1)读取垂直数据过滤器VDF发送过来的一组数据e=(e1,e2,…,eL-1);
(e2)对L-1个e值做累加计算;
(e3)根据kv的计数,将结果写回对应的memorybank中对应Q值的存储块。
硬判决器HD的具体处理过程如下:
(f1)读取垂直数据过滤器VDF发送过来的一组值e=(e1,e2,…,eL);
(f2)对e做累加计算;
(f3)将结果做判决,得到比特向量,记为b=(b1,b2,…,bL),发送到乒乓输出模块。
步骤(c2)中噪声计算处理的具体步骤为:
(31)读取数据y、w、σ’;
(32)计算b=1的噪声概率,(k-y+w)2σ’,k从kmin到kmax,共knum个并行计算部件同时运行,得到结果向量z;同时并行计算b=0的噪声概率,(k-y)2σ’,k从kmin到kmax,共knum个并行计算部件同时运行,得到结果向量z’;
步骤(c4)中近似计算模块包括串行近似计算模块和并行近似计算模块;
串行近似计算模块进行串行近似计算处理,其具体步骤如下:
(c411)读取n个数据,x=(x1,x2,…,xn);
(c412)并行计算yi=xi-xi-1,i从2到n,y1=x1
(c413)串行递归查表求近似,首先进行初始化,令i=n,以yi为输入,调用log(1+ex)模块,得到近似解,记为rtmp=log(1+eyi),并让i=i-1;然后串行递归,以yi+rtmp为输入,调用log(1+ex)模块,得到近似解,记为rtmp=log(1+eyi+rtmp),直至i=2结束,得到rtmp;最后将y1与rtmp相加,得到结果,标记为rs;
(c414)将rs的值返回。
并行近似计算模块进行并行近似计算处理,其具体步骤如下:
(c421)读取n个数据x=(x1,x2,…,xn);
(c422)进行第一级计算,得到有(n+1)/2个元素的结果,记为t=(t1,t2,…,t(n+1)/2),其中,ti=max(x2i-1,x2i)+log(1+exp(-|x2i-1,x2i|)),i=1、2……n/2;
(c423)采用步骤(c422)的方法,进行第二级计算,得到n/4个元素的结果;
(c424)采用步骤(c422)的方法直至做完第log(n)级计算,其中级间计算串行运行,级内计算并行运行;
(c425)将计算结果返回。
步骤(c422)的具体计算过程为:
(c4221)将x的元素两两组合;
(c4222)对每一个组合,并行求最大值max(x2i-1,x2i),得到向量v_max;
(c4223)对每一个组合,并行调用log(1+ex)模块进行运算,近似得到向量v_appr;
(c4224)将v_max和v_appr对应位置的元素相加,得到结果向量t;
所述的log(1+ex)模块的运算过程为:
(71)读取数据x;
(72)计算x的入口地址,若x大于等于0,取x的二进制串的第9位至14位的子串,左移3位,得到pos1;取x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp1tbl的表;若x小于0,对x的二进制串取反加1后,得到-x的二进制串;同理,取-x的二进制串的第9位至14位的子串,左移3位,得到pos1;取-x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp0tbl的表;
(73)将查表的结果返回。
所述的概率卷积计算模块的具体处理过程为:
(81)读取数据q=(q1,q2,…,q7)和w;
(82)以q为输入调用∑log(1+eqi)模块,得到v_sum;
(83)根据w值,查找对应的概率卷积表,以v_sum和q为输入,并行调用子表概率卷积计算模块,共得到ksum个元素的概率向量p。
(84)将向量p返回。
步骤(82)中∑log(1+eqi)模块的具体处理过程为:
(821)读取q=(q1,q2,…,qL-1);
(822)以qi为输入,并行调用log(1+ex)模块,并求和,得到结果v_sum;
(823)返回v_sum。
步骤(83)中子表概率卷积计算模块的具体处理过程为
(831)读取q=(q1,q2,…,qL-1)和v_sum;
(832)在概率卷积表的子表中查找第一条二进制记录,记为b=(b1,b2,…,bL-1);将bi=1的对应位置的qi相加,减去v_sum,得到结果v01;同时,将bi=1对应位置的qi相加,减v_sum,得到结果v41
(833)读取子表第二条记录,执行与步骤(82)同样的操作,得到结果v02和v42
(834)依次读取子表其它记录,直到结束,执行与步骤(82)同样的操作,得到结果v0=(v01,v02,…,v0n)和v4=(v41,v42,…,v4n);
(835)并行调用log(∑exi)模块,对v0和v4两个向量做近似计算,得到结果,分别记为p0和p4
(836)将p0和p4返回。
附图说明
图1为本发明所采用的系统的整体结构示意图;
图2为乒乓输入模块示意图;
图3为乒乓输出模块示意图;
图4为译码器部分并行架构示意图;
图5为译码器中各个部件的关系示意图;
图6为水平迭代单元HUP算法原理图;
图7为水平迭代单元HUP模块示意图;
图8为垂直迭代单元VUP模块示意图;
图9为硬判决器HD模块示意图。
图10为噪声计算模块示意图;
图11为串行近似计算模块示意图;
图12为并行近似计算模块示意图;
图13为log(1+ex)模块示意图;
图14为概率卷积计算模块示意图;
图15为∑log(exi)模块示意图;
图16为表概率卷积计算模块的示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
一种面向接收端链路自适应的译码信息处理方法,通过乒乓输入模块、译码器和乒乓输出模块三个模块组成的系统进行处理实现,如图1所示,主要包含如下3个步骤:乒乓输入、迭代译码和乒乓输出三个模块,具体步骤如下:
步骤(1),乒乓输入模块如图2所示,其串行接收一维大小1×N的符号序列y,对y串并转换为二维大小L×N/L的数据y’,并存储在数据缓冲区中;根据估计的信噪比SNR,以查表的方法计算1/σ,并写到数据缓冲区中的另一位置;每间隔一定时钟周期并行读取y’和σ’,并发送给译码器;
步骤(2),如图4所示的译码器在接收到数据后,由迭代水平迭代单元和垂直迭代单元分别进行迭代处理,再由多个判决单元对数据进行硬判决,然后将判决结果并行发送给乒乓输出模块;
步骤(3),乒乓输出模块如图3所示,其并行接收译码器中判决单元输出的判决结果,转换为串行数据,并输出。
步骤1)中的乒乓输入模块包括用于数据写入的Writer单元、用于数据计算的Calculation单元、用于数据读取的Reader单元以及第一数据缓冲区buffer1和第二数据缓冲区buffer2,步骤1)的具体处理步骤为:
11)第一数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第一数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第一数据缓冲区中;
Writer单元对第一缓冲区完成写入操作后,向Reader单元发送读使能信号;
12)第一数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第一数据缓冲区读取数据,发送给译码器;
Reader单元读取完第一数据缓冲区的数据后,发送一个进行第二数据缓冲区乒乓写操作的使能信号给Writer单元;
13)第二数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第二数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第二数据缓冲区中;
Writer单元对第二缓冲区完成写入操作后,向Reader单元发送读使能信号;
14)第二数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第二数据缓冲区读取数据,发送给译码器;
Reader单元读取完第二数据缓冲区的数据后,发送一个进行第一数据缓冲区乒乓写操作的使能信号给Writer单元;
15)重复步骤11)~14),以一定周期对两个数据缓冲区间隔进行数据读写。
其中,用于查询1/σ数据的表的构造方法具体如下:首先,设定SNR范围为[-5,35]dB,以步长为0.125在SNR内取点,共得到到321个点的向量snr_vec;再对snr_vec向量进行(10-snr/20)/0.1644计算,得到sigma向量;然后对sigma向量进行倒数计算,得到sigma'向量;最终让sigma'乘以2的9次幂,然后取整转换成长度为16位的二进制串表。
步骤2)中的译码器由包含L×L个硬件模块,每个硬件模块由存储单元memorybank、随机地址发生器RAG、水平迭代单元HUP、垂直迭代单元VUP和硬判决器HD组成,上述部件之间的关系如图5所示,每个硬件模块内的存储单元通过水平数据过滤器HDF进行水平连接,通过垂直数据过滤器VDF进行垂直连接,随机地址发生器连接存储单元,水平迭代单元连接水平数据过滤器,垂直迭代单元连接垂直数据过滤器,所述的水平迭代单元内包含有用于进行迭代处理的概率卷积表;
译码器的硬件构架时序由平迭代单元和的垂直迭代单元的时钟周期数kc和kv来控制,所述的水平迭代单元和垂直迭代单元之间串行交替执行,共进行16次迭代处理,其中前15次迭代的垂直处理为垂直迭代单元,最后1次迭代的垂直处理为硬判决器;
在迭代的水平处理中,共有L行并行,共64个水平迭代单元同时处理,在迭代的垂直处理中,共有L列并行,共64个垂直迭代单元同时处理,在判决处理时,共有L个硬判决器并行处理;
存储单元内的数据存储块memorybank(r,c)对应随机地址发生器RAG(r,c)及随机映射矩阵的子矩阵G(r,c),并与水平数据过滤器HDF(r)连接,其中,随机映射矩阵的分块具体为:对RAG(r,c)按N/L×N/L大小进行分块,每个子矩阵标记为G(r,c),其中r表示行号,c表示列号;memorybank(r,c)对应到子矩阵G(r,c),按子矩阵元素的列号进行存储,共N/L个存储元素,每个存储块有1个单端口RAM和2个双端口RAM组成,分别标记为w、E和Q,其中w存储对应元素的权重,E存储对应元素水平迭代的结果,Q存储对应元素垂直迭代的结果;
随机地址发生器RAG的具体处理过程如下:
(a1)对G(r,c)子矩阵按行号顺序获取非零元素的列位置,得到N/L个元素的向量pos,将pos向量以ROM存储,记为RAG(r,c);
(a2)接收kc时钟周期数,获取RAG第kc个值,标记为addr;
(a3)根据addr访问Memorybank(r,c)中的第addr个存储块,并传给水平迭代单元HUP;
水平数据过滤器HDF的具体处理过程如下:
(b1)从L个Memorybank(r,c)中读取Q数据;
(b2)然后将数据过滤后,得到L组数据;
(b3)将L组数据分发到对应的L个水平迭代单元HUP(r,c),其中发送水平迭代单元HUP(r,c)的数据包含memorybank(r,c)以外的Q值,以及memorybank(r,c)的w值和RAG(r,c)的地址addr。
水平迭代处理单元HUP的算法原理和模块如图6和图7所示,其具体处理过程如下:
(c1)读取一组从水平数据过滤器HDF过滤后的数据q=(q1,q2,…,qL-1)以及yi、w、σ’和随机地址发生器RAG产生的memorybank的地址addr;
(c2)以yi、w、σ’为输入,调用噪声计算模块进行噪声计算处理,得到两组长度为knum个元素,且对应比特为1和0的概率向量,分别记为z和z’;
(c3)以q=(q1,q2,…,qL-1)和w为输入,调用概率卷积计算模块,得到长度为knum个元素的概率卷积向量p;
(c4)以z和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r1;同理,以z’和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r0
(c5)将r1减去r0作为结果,并根据地址addr将结果写回对应的memorybank的E存储单元。
垂直数据过滤器VDF的模块结构如图8所示,其具体处理过程如下:
(d1)从L个memorybank读取E数据;
(d2)然后将数据过滤后,得到L组数据;
(d3)将L组数据分发到对应的L个垂直迭代单元VUP,其中发送到垂直迭代单元VUP(r,c)的数据不包含memorybank(r,c)的E值;
垂直迭代单元VUP的具体处理过程如下:
(e1)读取垂直数据过滤器VDF发送过来的一组数据e=(e1,e2,…,eL-1);
(e2)对L-1个e值做累加计算;
(e3)根据kv的计数,将结果写回对应的memorybank中对应Q值的存储块。
硬判决器HD的模块结构如图9所示,具体处理过程如下:
(f1)读取垂直数据过滤器VDF发送过来的一组值e=(e1,e2,…,eL);
(f2)对e做累加计算;
(f3)将结果做判决,得到比特向量,记为b=(b1,b2,…,bL),发送到乒乓输出模块。
步骤(c2)中噪声计算模块的模块结构如图10所示,其噪声计算处理的具体步骤为:
(31)读取数据y、w、σ’;
(32)计算b=1的噪声概率,(k-y+w)2σ’,k从kmin到kmax,共knum个并行计算部件同时运行,得到结果向量z;同时并行计算b=0的噪声概率,(k-y)2σ’,k从kmin到kmax,共knum个并行计算部件同时运行,得到结果向量z’;
步骤(c4)中近似计算模块包括如图11所示的串行近似计算模块和如图12所示的并行近似计算模块;
串行近似计算模块进行串行近似计算处理,其具体步骤如下:
(c411)读取n个数据,x=(x1,x2,…,xn);
(c412)并行计算yi=xi-xi-1,i从2到n,y1=x1
(c413)串行递归查表求近似,首先进行初始化,令i=n,以yi为输入,调用如图13所示的log(1+ex)模块,得到近似解,记为rtmp=log(1+eyi),并让i=i-1;然后串行递归,以yi+rtmp为输入,调用log(1+ex)模块,得到近似解,记为rtmp=log(1+eyi+tmp),直至i=2结束,得到rtmp;最后将y1与rtmp相加,得到结果,标记为rs;
(c414)将rs的值返回。
并行近似计算模块进行并行近似计算处理,其具体步骤如下:
(c421)读取n个数据x=(x1,x2,…,xn);
(c422)进行第一级计算,得到有(n+1)/2个元素的结果,记为t=(t1,t2,…,t(n+1)/2),其中,ti=max(x2i-1,x2i)+log(1+exp(-|x2i-1,x2i|)),i=1、2……n/2;具体计算过程为:
(c4221)将x的元素两两组合;
(c4222)对每一个组合,并行求最大值max(x2i-1,x2i),得到向量v_max;
(c4223)对每一个组合,并行调用log(1+ex)模块进行运算,近似得到向量v_appr;
(c4224)将v_max和v_appr对应位置的元素相加,得到结果向量t;
(c423)采用步骤(c422)的方法,进行第二级计算,得到n/4个元素的结果;
(c424)采用步骤(c422)的方法直至做完第log(n)级计算,其中级间计算串行运行,级内计算并行运行;
(c425)将计算结果返回。
log(1+ex)模块的运算过程为:
(71)读取数据x;
(72)计算x的入口地址,若x大于等于0,取x的二进制串的第9位至14位的子串,左移3位,得到pos1;取x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp1tbl的表;若x小于0,对x的二进制串取反加1后,得到-x的二进制串;同理,取-x的二进制串的第9位至14位的子串,左移3位,得到pos1;取-x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp0tbl的表;
步骤(72)查表的具体过程为:(721),x的范围划分成4个区域,分别是(-∞,-8)、[-8,0)、[0,8)和[8,+∞);(722),在[-8,0)范围之内,以0.125为步长取点,得到64个点的向量x;(723),对每一个点计算log(1+ex),得到向量y;(724),让y乘以2的10次幂,然后取整转换成长度为16位的二进制串表。(725),在[0,8)范围之内,以0.125为步长取点,得到64个点的向量x;(726),对每一个点计算log(1+ex),得到y向量;(727),让y减去x后乘以2的10次幂,然后取整转换成长度为16位的二进制串表。
(73)将查表的结果返回。
概率卷积计算模块如图14所示,其具体处理过程为:
(81)读取数据q=(q1,q2,…,q7)和w;
(82)以q为输入调用∑log(1+eqi)模块,得到v_sum;
(83)根据w值,查找对应的概率卷积表,以v_sum和q为输入,并行调用子表概率卷积计算模块,共得到ksum个元素的概率向量p。
(84)将向量p返回。
步骤(82)中∑log(1+eqi)模块的模块结构如图15所示,其具体处理过程为:
(821)读取q=(q1,q2,…,qL-1);
(822)以qi为输入,并行调用log(1+ex)模块,并求和,得到结果v_sum;
(823)返回v_sum。
步骤(83)中子表概率卷积计算模块如图16所示,其具体处理过程为
(831)读取q=(q1,q2,…,qL-1)和v_sum;
(832)在概率卷积表的子表中查找第一条二进制记录,记为b=(b1,b2,…,bL-1);将bi=1的对应位置的qi相加,减去v_sum,得到结果v01;同时,将bi=1对应位置的qi相加,减v_sum,得到结果v41
(833)读取子表第二条记录,执行与步骤(82)同样的操作,得到结果v02和v42
(834)依次读取子表其它记录,直到结束,执行与步骤(82)同样的操作,得到结果v0=(v01,v02,…,v0n)和v4=(v41,v42,…,v4n);
(835)并行调用log(∑exi)模块,对v0和v4两个向量做近似计算,得到结果,分别记为p0和p4
(836)将p0和p4返回。
以上所述仅是本发明的较佳实例,本发明所主张的权利范围并不局限于此。本发明还有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种面向接收端链路自适应的译码信息处理方法,其特征在于,包括以下步骤:
(1)乒乓输入模块采用兵乓输入的串行接收数据,进行处理后分配至两个数据缓冲区后,以一定的周期从两个数据缓冲区间隔读写数据,并发送给译码器;
(2)译码器在接收到数据后,由水平迭代单元和垂直迭代单元分别进行迭代处理,再由多个判决单元对数据进行硬判决,然后将判决结果并行发送给乒乓输出模块;
(3)乒乓输出模块并行接收译码器中判决单元输出的判决结果,转换为串行数据,并输出;
步骤(2)中的译码器包含L×L个硬件模块,每个硬件模块由存储单元Memorybank、随机地址发生器RAG、水平迭代单元HUP、垂直迭代单元VUP和硬判决器HD组成,每个硬件模块内的存储单元通过水平数据过滤器HDF进行水平连接,通过垂直数据过滤器VDF进行垂直连接,所述的随机地址发生器连接存储单元,所述的水平迭代单元连接水平数据过滤器,所述的垂直迭代单元连接垂直数据过滤器,所述的水平迭代单元内包含有用于进行迭代处理的概率卷积表;
译码器的硬件构架时序由水平迭代单元和垂直迭代单元的时钟周期数kc和kv来控制,所述的水平迭代单元和垂直迭代单元之间串行交替执行,共进行16次迭代处理,其中前15次迭代的垂直处理由垂直迭代单元执行,最后1次迭代的垂直处理由硬判决器执行;
在迭代的水平处理中,共有L行并行,共64个水平迭代单元同时处理,在迭代的垂直处理中,共有L列并行,共64个垂直迭代单元同时处理,在判决处理时,共有L个硬判决器并行处理;
存储单元内的数据存储块memorybank(r,c)对应随机地址发生器RAG(r,c)及随机映射矩阵的子矩阵G(r,c),并与水平数据过滤器HDF(r)连接,其中,随机映射矩阵的分块具体为:对RAG(r,c)按N/L×N/L大小进行分块,N表示串行接收数据的大小,每个子矩阵标记为G(r,c),其中r表示行号,c表示列号;memorybank(r,c)对应到子矩阵G(r,c),按子矩阵元素的列号进行存储,共N/L个存储元素,每个存储块有1个单端口RAM和2个双端口RAM组成,分别标记为w、E和Q,其中w存储对应元素的权重,E存储对应元素水平迭代的结果,Q存储对应元素垂直迭代的结果;
随机地址发生器RAG的具体处理过程如下:
(a1)对G(r,c)子矩阵按行号顺序获取非零元素的列位置,得到N/L个元素的向量pos,将pos向量以ROM存储,记为RAG(r,c);
(a2)接收kc时钟周期数,获取RAG第kc个值,标记为addr;
(a3)根据addr访问memorybank(r,c)中的第addr个存储块,并传给水平迭代单元HUP;
水平数据过滤器HDF的具体处理过程如下:
(b1)从L个memorybank(r,c)中读取Q数据;
(b2)然后将数据过滤后,得到L组数据;
(b3)将L组数据分发到对应的L个水平迭代单元HUP(r,c),其中发送到水平迭代单元HUP(r,c)的数据包含memorybank(r,c)以外的Q值,以及memorybank(r,c)的w值和RAG(r,c)的地址addr;
水平迭代单元HUP的具体处理过程如下:
(c1)读取一组从水平数据过滤器HDF过滤后的数据q=(q1,q2,…,qL-1)以及yi、w、σ’和随机地址发生器RAG产生的memorybank的地址addr,σ’表示信道噪声的倒数值,yi表示接收到的第i个值;
(c2)以yi、w、σ’为输入,调用噪声计算模块进行噪声计算处理,得到两组长度为knum个元素,且对应比特为1和0的概率向量,分别记为z和z’;
(c3)以q=(q1,q2,…,qL-1)和w为输入,调用概率卷积计算模块,得到长度为knum个元素的概率卷积向量p;
(c4)以z和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r1;同理,以z’和p为输入,调用近似计算模块进行近似计算处理,得到结果,记为r0
(c5)将r1减去r0作为结果,并根据地址addr将结果写回对应的memorybank的E存储单元;
垂直数据过滤器VDF的具体处理过程如下:
(d1)从L个memorybank读取E数据;
(d2)然后将数据过滤后,得到L组数据;
(d3)将L组数据分发到对应的L个垂直迭代单元VUP,其中发送到垂直迭代单元VUP(r,c)的数据不包含memorybank(r,c)的E值;
垂直迭代单元VUP的具体处理过程如下:
(e1)读取垂直数据过滤器VDF发送过来的一组数据e=(e1,e2,…,eL-1);
(e2)对L-1个e值做累加计算;
(e3)根据kv的计数,将结果写回对应的memorybank中对应Q值的存储块;
硬判决器HD的具体处理过程如下:
(f1)读取垂直数据过滤器VDF发送过来的一组值e=(e1,e2,…,eL);
(f2)对e做累加计算;
(f3)将结果做判决,得到比特向量,记为b=(b1,b2,…,bL),发送到乒乓输出模块。
2.根据权利要求1所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,步骤(1)中的乒乓输入模块包括用于数据写入的Writer单元、用于数据计算的Calculation单元、用于数据读取的Reader单元以及第一数据缓冲区和第二数据缓冲区,步骤(1)的具体处理步骤为:
(11)第一数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第一数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第一数据缓冲区中,其中,σ为信道噪声标准差系数;
Writer单元对第一数据缓冲区完成写入操作后,向Reader单元发送读使能信号;
(12)第一数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第一数据缓冲区读取数据,发送给译码器;
Reader单元读取完第一数据缓冲区的数据后,发送一个进行第二数据缓冲区乒乓写操作的使能信号给Writer单元;
(13)第二数据缓冲区乒乓写操作:
Writer单元将串行接收到的数据进行转换,转换成多组并行数据,存储在第二数据缓冲区中;
Calculation单元根据输入的信道信噪比,通过查表计算得到1/σ数据,并通过Writer单元写入第二数据缓冲区中;
Writer单元对第二数据缓冲区完成写入操作后,向Reader单元发送读使能信号;
(14)第二数据缓冲区乒乓读操作:
Reader单元接收到来自Writer单元和译码器的使能信号后,从第二数据缓冲区读取数据,发送给译码器;
Reader单元读取完第二数据缓冲区的数据后,发送一个进行第一数据缓冲区乒乓写操作的使能信号给Writer单元;
(15)重复步骤(11)~(14),以一定周期对两个数据缓冲区间隔进行数据读写。
3.根据权利要求1所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,步骤(c4)中近似计算模块包括串行近似计算模块和并行近似计算模块;
串行近似计算模块进行串行近似计算处理,其具体步骤如下:
(c411)读取n个数据,x=(x1,x2,…,xn);
(c412)并行计算yi=xi-xi-1,i从2到n,y1=x1
(c413)串行递归查表求近似,首先进行初始化,令i=n,以yi为输入,调用log(1+ex)模块,得到近似解,记为并让i=i-1;然后串行递归,以yi+rtmp为输入,调用log(1+ex)模块,得到近似解,记为直至i=2结束,得到rtmp;最后将y1与rtmp相加,得到结果,标记为rs;
(c414)将rs的值返回;
并行近似计算模块进行并行近似计算处理,其具体步骤如下:
(c421)读取n个数据x=(x1,x2,…,xn);
(c422)进行第一级计算,得到有(n+1)/2个元素的结果,记为t=(t1,t2,…,t(n+1)/2),其中,ti=max(x2i-1,x2i)+log(1+exp(-|x2i-1,x2i|)),i=1、2……n/2;
(c423)采用步骤(c422)的方法,进行第二级计算,得到n/4个元素的结果;
(c424)采用步骤(c422)的方法直至做完第log(n)级计算,其中级间计算串行运行,级内计算并行运行;
(c425)将计算结果返回。
4.根据权利要求3所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,步骤(c422)的具体计算过程为:
(c4221)将x的元素两两组合;
(c4222)对每一个组合,并行求最大值max(x2i-1,x2i),得到向量v_max;
(c4223)对每一个组合,并行调用log(1+ex)模块进行运算,近似得到向量v_appr;
(c4224)将v_max和v_appr对应位置的元素相加,得到结果向量t。
5.根据权利要求4所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,所述的log(1+ex)模块的运算过程为:
(71)读取数据x;
(72)计算x的入口地址,若x大于等于0,取x的二进制串的第9位至14位的子串,左移3位,得到pos1;取x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp1tbl的表;若x小于0,对x的二进制串取反加1后,得到-x的二进制串;同理,取-x的二进制串的第9位至14位的子串,左移3位,得到pos1;取-x二进制串的第0位至8位的子串,右移3位,得到pos2;将pos1和pos2相加,得到查找表的入口地址pos;然后根据pos地址查标记为logexp0tbl的表;
(73)将查表的结果返回。
6.根据权利要求5所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,所述的概率卷积计算模块的具体处理过程为:
(81)读取数据q=(q1,q2,…,q7)和w;
(82)以q为输入调用模块,得到v_sum;
(83)根据w值,查找对应的概率卷积表,以v_sum和q为输入,并行调用子表概率卷积计算模块,共得到ksum个元素的概率向量p;
(84)将向量p返回。
7.根据权利要求6所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,步骤(82)中模块的具体处理过程为:
(821)读取q=(q1,q2,…,qL-1);
(822)以qi为输入,并行调用log(1+ex)模块,并求和,得到结果v_sum;
(823)返回v_sum。
8.根据权利要求6所述的一种面向接收端链路自适应的译码信息处理方法,其特征在于,步骤(83)中子表概率卷积计算模块的具体处理过程为
(831)读取q=(q1,q2,…,qL-1)和v_sum;
(832)在概率卷积表的子表中查找第一条二进制记录,记为b=(b1,b2,…,bL-1);将bi=0的对应位置的qi相加,减去v_sum,得到结果v01;同时,将bi=1对应位置的qi相加,减v_sum,得到结果v41
(833)读取子表第二条记录,执行与步骤(82)同样的操作,得到结果v02和v42
(834)依次读取子表其它记录,直到结束,执行与步骤(82)同样的操作,得到结果v0=(v01,v02,…,v0n)和v4=(v41,v42,…,v4n);
(835)并行调用模块,对v0和v4两个向量做近似计算,得到结果,分别记为p0和p4
(836)将p0和p4返回。
CN201210396046.0A 2012-10-17 2012-10-17 一种面向接收端链路自适应的译码信息处理方法 Active CN103067121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210396046.0A CN103067121B (zh) 2012-10-17 2012-10-17 一种面向接收端链路自适应的译码信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210396046.0A CN103067121B (zh) 2012-10-17 2012-10-17 一种面向接收端链路自适应的译码信息处理方法

Publications (2)

Publication Number Publication Date
CN103067121A CN103067121A (zh) 2013-04-24
CN103067121B true CN103067121B (zh) 2015-11-25

Family

ID=48109598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210396046.0A Active CN103067121B (zh) 2012-10-17 2012-10-17 一种面向接收端链路自适应的译码信息处理方法

Country Status (1)

Country Link
CN (1) CN103067121B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242719B (zh) * 2022-08-02 2024-05-31 通号(西安)轨道交通工业集团有限公司北京分公司 数据传输方法、列车运行安全监控系统及相关设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677222B2 (ja) * 2004-11-26 2011-04-27 富士通株式会社 サーバ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Fast Decoding and Hardware Design》;Min Wang等;《IEEE Journal on Emerging and Selected Topics in Circuits and Systems》;20121016;第2卷(第3期);正文第591-603页 *
《LDPC码的设计与实现》;向国菊;《中国优秀硕士学位论文全文数据库信息科技辑》;20080215(第02期);参见正文第5.3、6部分、附图6.2-6.15 *

Also Published As

Publication number Publication date
CN103067121A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
KR101336191B1 (ko) Rfid 수신기
US7360040B2 (en) Interleaver for iterative decoder
CN109217933B (zh) 基于概率成形的无载波幅度相位调制方法及解调方法
CN106936543B (zh) 极化码编码的mimo的图合并检测译码方法及装置
CN104092470B (zh) 一种Turbo码译码装置及方法
CN101026434A (zh) 一种低复杂度的迭代检测译码方法及装置
CN103067121B (zh) 一种面向接收端链路自适应的译码信息处理方法
CN102792597A (zh) 纠错码解码装置、纠错码解码方法以及纠错码解码程序
CN102340317A (zh) 结构化ldpc码的高吞吐率译码器结构及方法
CN111030780A (zh) 一种可配置并行比特分组交织器及交织方法
CN1361945A (zh) 移动无线电话应用的接收方法和接收机
CN102270993B (zh) 一种同时实现交织与解交织的Turbo译码器
CN114666012A (zh) 一种基于mpa的多采样点联合检测的scma检测方法
CN100369403C (zh) 无线通信系统迭代检测译码接收的并行实现方法
CN1350406A (zh) 块形联合解码均衡器
CN101777925B (zh) 一种数据处理装置及其方法
CN107659523B (zh) 一种无线移动通信中bpsk调制的均衡系统和方法
CN101753260B (zh) 一种Turbo码编码器及编码方法
CN107919877A (zh) 基于软输出维特比译码算法sova的译码方法和装置
CN107342797B (zh) 信号检测方法及装置
Zhong et al. Hardware implementation of turbo coder in lte system based on picochip pc203
CN218276733U (zh) 联合空间调制与scma动态译码检测仿真装置
CN114079608B (zh) 用于通信系统中分层调制的非均匀星座图的方法及系统
CN101635938B (zh) 可工作于快速agc机制下的特征窗检测装置和方法
CN114142931B (zh) 一种基于bic-daf-moea的复杂信道通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Su Lifeng

Inventor after: Shi Saifeng

Inventor after: Wang Min

Inventor after: Wu Jun

Inventor after: Zhang Zhifeng

Inventor after: Shen Jian

Inventor before: Wu Jun

Inventor before: Wang Min

Inventor before: Shi Saifeng

Inventor before: Shen Jian

Inventor before: Liu Dian

Inventor before: Shen Jiaqi

Inventor before: Luo Yuan

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: WU JUN WANG MIN SHI SAIFENG SHEN JIAN LIU DIAN SHEN JIAQI LUO YUAN TO: SU LIFENG SHI SAIFENG WANG MIN WU JUN ZHANG ZHIFENG SHEN JIAN

C14 Grant of patent or utility model
GR01 Patent grant