CN116073952B - 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 - Google Patents
一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116073952B CN116073952B CN202310048958.7A CN202310048958A CN116073952B CN 116073952 B CN116073952 B CN 116073952B CN 202310048958 A CN202310048958 A CN 202310048958A CN 116073952 B CN116073952 B CN 116073952B
- Authority
- CN
- China
- Prior art keywords
- decoding
- convolution
- state
- conv
- path
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000013507 mapping Methods 0.000 claims abstract description 12
- 230000007704 transition Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 8
- 238000005259 measurement Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 14
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 241000611421 Elia Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
- H03M13/235—Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
一种基于MaPU架构的快速并行卷积编码器和维特比译码器,包括以下步骤:步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2×L的待译码序列R;步骤3,利用步骤1生成的state_trans_table对长为2×L的待译码序列R进行维特比译码;系统、设备及介质,用于实现基于MaPU架构的快速并行卷积编译码方法;本发明采用并行卷积编码以及对应的并行维特比译码方案,解决了硬件卷积处理效率慢,占用资源大等问题,该方法具有编译码处理并行度高,硬件资源开销小,代码通用性强的特点。
Description
技术领域
本发明属于无线通信技术领域,具体涉及一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质。
背景技术
差错控制编码已经十分成熟的应用于信道编码技术之中,常用的编码技术有卷积码、RS码、Turbo码、伪随机序列扰码等。卷积编码是现代数字通信系统中常见的一种前向纠错码,最早由Elias等人于1955年提出。区别于常规的线性分组码,卷积码在编码过程中,充分利用了各码元之间的相关性,其编码输出的码字不仅与当前时刻的信息符号输入有关,还与之前输入的信息符号有关。Viterbi译码算法,又被称为最大后验概率方法,是卷积编码最佳的译码算法,在译码过程中,译码器不仅从当前时刻所收到的码组中提取译码信息,同时还利用之后若干时刻内所收到的码组来提取有关信息,进行译码判决。卷积码因其编码增益高、译码延迟小以及具有很强的纠正随机错误的能力而在移动通信、卫星通信、深空通信和数据压缩系统中得到广泛的应用。
卷积编码器可以由一个线性的、有限状态的移位寄存器来表示,通常使用(n,k,N)3个参数来描述:表示每个时刻编码器对输入的k个比特进行卷积编码,并且输出n个编码后的比特,N称为卷积码的约束长度,表示编码输出序列共受到N级(每级k比特)移位寄存器的约束。卷积编码器的电路结构可由卷积码的生成多项式来描述,以一种(2,1,3)卷积码为例,它受到3级移位寄存器的约束,它的两个生成多项式为G0(x)=1+x+x2和G1(x)=1+x2,G0(x)表示其编码器的第1,2,3级移位寄存器相连,而G1(x)表示编码器的第1,3级相连。
在任意编码时刻,当前时刻的卷积编码输出结果都会受到当前时刻及过往时刻信息序列的约束,通常采用串行电路设计的方式进行编码的硬件实现,但是该方法的编码效率较低,且电路结构与生成多项式一一对应,当多项式发生变化时,需重新设计电路连线,设计通用性较低。
维特比算法是一种基于网格图的译码算法,在对卷积码进行译码操作时,算法的关键步骤为ACS(Add-Compare-Select),即为加比选操作。对于一个(n,k,N)的卷积码而言,其网格图上的每个时刻都具有2N-1个状态,随着时刻改变,会根据各个时刻的输入比特发生状态转移,形成转移路径。维特比译码算法是通过比较全部路径从而找出最优路径,作为译码依据。
最优路径是通过比较路径度量来选取的。对于一个(n,k,N)的卷积码,其某时刻的编码输出为[u1,u2,…,un],称作分支字。假设译码器在对应时刻受到的接收序列为[d1,d2,…,dn],定义分支度量g为二者间的汉明距离,其计算方法由下式给出:
g=(d1-u1)2+(d2-u2)2+...+(dn-un)2
由于分支字与接收序列均为01比特,在硬件实现时,上式可利用异或器来进行,即:
g=d1^u1+d2^u2+...+dn^un
符号^表示异或操作。通过对一条路径上的分支度量g进行累加求和,即可得到该条路径的路径度量Zn,在任意译码时刻,通过比较到达同一状态的多条路径各自的路径度量Zn的大小,选择较小的作为幸存路径,就完成了一次ACS操作,同时需要输出每个译码时刻的幸存路径序列v_path,作为译码依据。
在译码过程中,每次ACS操作需要对多个状态求解分支字,在硬件实现时,分支字的求解模块与卷积编码模块一致,如采用并行求解方式,需同时使用多个编码器的运算结构,所需运算资源随约束长度N成指数增长,同时与编码类似,当生成多项式发生改变时,运算电路结构也需随之改变。此外,每个时刻幸存路径v_path的存储也需要消耗较多的存储空间。
申请号为CN201910477226.3的专利申请公开了“一种咬尾卷积编码处理方法、装置和通信设备”,其中,咬尾卷积编码处理方法包括:获取输入数据的待编码单元;所述待编码单元包括32个比特;根据寄存器初值变量和所述待编码单元进行编码初始化处理,得到输入字变量;分别根据各生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码,得到所述待编码单元对应的编码数据;任一所述字变量均包括相应所述生成多项式系数映射的四个相同的字节变量。
该专利申请所提及的卷积编码方案的是通过生成多项式,逐个比特移位计算实现,属于串行实现卷积编码的结构,该方法编码效率较低,若要提升编码速度,需要并行采用多个相同的逻辑单元,将大量增加功耗,不易于硬件实现。且逻辑单元结构与生成多项式相关,一旦多项式发生变动,则需要重构逻辑单元,方案通用性较差。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质,通过采用并行查表方法完成卷积过程,节省了编译码过程中的运算单元的开销;采用对应的并行维特比译码方案,在进行维特比译码时,根据状态转移特性,优化译码状态v_path存储,极大程度节省了存储单元的开销,解决了硬件卷积处理效率慢,占用资源大等问题,该方法具有编译码处理并行度高,硬件资源开销小,代码通用性强的特点。
一种基于MaPU架构的快速并行卷积编译码方法,包括以下步骤:
步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;
步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2×L的待译码序列R;
步骤3,利用步骤1生成的state_trans_table对长为2×L的待译码序列R进行维特比译码。
所述步骤1具体方法为:
步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算;
步骤1.2,生成一个大小为2N-1×2的卷积结果表conv_table1,该表中储存了卷积结果中前N-1位的结果;
步骤1.3,生成一个大小为2N×2的卷积结果表conv_table2,该表中存储了卷积结果中N位及之后的结果;
步骤1.4,生成一个大小为2N-1×2×2的状态转移表state_trans_table,state_trans_table(x,y,z)表示第z个生成多项式在移位寄存器处于状态x,输入为比特为(y-1)时对应的分支字。
所述步骤2具体方法为:
步骤2.1,将bit_seq的前N-1位所对应的十进制值保存为索引conv_findex,对bit_seq的每连续N位映射为一个索引,共得到L-N+1个值保存为序列conv_sindex;
步骤2.2,利用conv_findex去检索卷积结果表conv_table1,得到卷积结果的前N-1位;利用conv_sindex去检索卷积结果表conv_table2,求出L-N+1个结果,得到卷积结果的第N位到第L位,生成长为L的待译码序列R,重复步骤2.1-步骤2.2,最终生成长为2×L的待译码序列R。
所述步骤2.2中的L≥N。
所述步骤3的处理过程包括:步骤3.1,求解t1~tN时刻路径度量Zn;步骤3.2,求解tN+1~tL+1时刻的ACS过程;步骤3.3,逆向译码过程。
所述步骤3.1、步骤3.2以及步骤3.3的具体方法为:
步骤3.1,首先求解t1~tN时刻路径度量Zn,以获得全部2N-1个状态的路径度量,求解过程为:初始化t1时刻的Zn为长2N-1的全零向量,在时刻ti(i=2,3,...,N)时,首先对上一时刻输出的Zn进行交织,按照状态转移方向,将来向状态的Zn值交织到去向状态的位置上,得到Zn_in作为当前时刻的路径度量输入,当输入比特为“0”,状态i会转移到状态i/2,即称i为来向状态,i/2为去向状态,则有Zn_in(i/2)=Zn(i),有关状态转移的除法均为下取整,同时利用全部来向状态的索引Ind去检索状态转移表state_trans_table,获得此次转移产生的分支字向量U1和U2,并与接收信息D1和D2进行异或,计算求出分支度量G1和G2,最后更新路径度量Zn=Zn_in+G1+G2=
Zn_in+U1^D1+U2^D2;
步骤3.2,求解tN+1~tL+1时刻的ACS,观察状态转移网格图可以得到两个转移规律:①状态i只能转移到状态i/2和状态i/2+2N-2,②状态i的来向状态只能是2×i和2×i+1,从tN+1时刻起,首先对Zn进行奇偶拆分为Zn_in_a和Zn_in_b,然后对两组数据进行比较,选择较小的2N-2个数据组成Zn_in(1:2N-2),并且记录该数据对应Zn中的索引组成数据长度为2N-2的向量v_path,储存幸存路径信息,依照规律①,有Zn_in(1:2N-2)=Zn_in(2N-2:2N-1),v_path(1:2N-2)=v_path(2N-2:2N-1),因此只需要一次比较运算;依照规律①②,可以简化v_path的存储,只存储前2N-2个状态的来向路径信息,并进一步对v_path中的元素对2取模转化为01比特流存储,利用v_path中的数据检索state_trans_table,并计算分支度量,更新Zn=Zn_in+G1+G2,完成本时刻的更新,重复上述操作直到完成时刻tL+1的求解;
步骤3.3,逆向译码,在完成全部时刻的ACS操作后,即可开始逆向译码,首先在最终得到的Zn中找寻拥有最小值的索引MIN,即Zn(MIN)=min(Zn),min(·)表示求最小值,从tL+1时刻起,首先取出索引MIN的最高位即为译码结果V(L),然后用索引MIN去检索本时刻的v_path,更新MIN=v_path(MIN),再开始下一时刻的译码,直到时刻tN+1停止检索,此时已经求得了V(N:L)的译码结果,剩余前(N-1)bit的译码结果对应步骤3.1的状态转移路径,通过数学推导,tN+1时刻输出的索引MIN对应的(N-1)bit二进制序列MIN_seq经过逆序后,就是V(1:N-1)的(N-1)bit译码结果。
一种基于MaPU架构的快速并行卷积编译码系统,包括:
卷积码表计算模块:基于计算机软件平台,利用卷积码的生成多项式进行运算并生成卷积编译过程中用到的卷积码表;
并行卷积编码模块:用于基于MaPU架构并行实现卷积编码功能;
并行维特比译码模块:用于基于MaPU架构并行实现维特比译码功能。
一种基于MaPU架构的快速并行卷积编译码设备,包括:
存储器,用于存储基于MaPU架构的快速并行卷积编译码计算机程序;
处理器,用于执行所述计算机程序时实现所述的一种基于MaPU架构的快速并行卷积编译码方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有基于MaPU架构的快速并行卷积编译码计算机程序,所述计算机程序被处理器执行时能够对一种基于MaPU架构进行快速并行卷积编译码。
与现有技术相比,本发明的有益效果为:
1、现有技术从电路实现角度出发,设计串行电路用于完成卷积编码和维特比译码过程中的卷积操作,消耗的电路资源较多;而本发明基于MaPU架构,采用并行查表方法完成卷积过程,节省了编译码过程中的运算单元的开销;在进行维特比译码时,根据状态转移特性,优化幸存路径v_path存储,极大程度节省了存储单元的开销。
2、现有技术采用电路设计方式进行卷积运算,其电路结构与卷积生成多项式一一对应,当生成多项式发生改变时,需要重新修改电路设计代码;而本发明将生成多项式与查找表相对应,当多项式发生变化时,无需修改实际电路代码,仅需更改用于配置的查找表即可,提升了代码的通用性,且步骤1的表项生成操作无需在硬件层面实现,优化了卷积编码和维特比译码的硬件处理流程。
3、本发明基于MaPU架构实现,该架构支持多数据粒度、最大512bit数据位宽的并行化操作,在处理数据交织过程时具有较高效率,利用数据交织部件进行查表,在编码时,将串行过程并行化实现,虽相较传统电路实现方法,增加了比特序列的映射过程,但在对较长的序列进行卷积编码时,处理效率相较于传统的串行电路卷积求解有明显提升。
4、本发明基于MaPU架构提出了一种并行卷积编码方案,以及对应的并行维特比译码方案,该方案具有较低的硬件实现复杂度和较高的硬件资源并行度。
附图说明
图1为本发明实现流程图。
图2为本发明卷积编码的实现流程图。
图3为本发明实施例中(2,1,7)卷积编码器示意图。
图4为本发明实施例中(2,1,7)卷积码的并行卷积编码过程图。
图5为本发明维特比译码的实现流程图。
具体实施方式
下面结合附图对本发明做详尽介绍。
本发明的技术思路为:利用并行查表的思想加速编码和译码过程中的卷积操作,利用卷积生成多项式,在软件层面计算生成卷积结果表,将表项内容作为配置参数写入硬件寄存器,在硬件处理卷积编码时,对输入序列进行映射,以获得多个时刻的查表索引,利用硬件寄存器具有较大数据位宽的特性,并行完成多个时刻的查表过程;在处理维特比译码时,同样采用查表的思想来并行实现多个状态分支字的求解,以及并行完成多个状态ACS操作,由此提升硬件编译码处理效率,且由于表项内容作为配置写入,与硬件处理过程无关,在生成多项式发生变动时,本方案无需修改硬件的操作方案,具有较高的通用性。
一种基于MaPU架构的快速并行卷积编译码方法,包括以下步骤:
如图1所示,步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;前两张表用于硬件并行实现卷积编码,第三张表用于并行实现维特比译码。
步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2×L的待译码序列R。
步骤3,利用步骤1生成的state_trans_table对长为2×L的待译码序列R进行维特比译码。
所述步骤3的处理过程包括:步骤3.1,求解t1~tN时刻路径度量Zn;步骤3.2,求解tN+1~tL+1时刻的ACS过程;步骤3.3,逆向译码过程。
如图2所示,所述步骤1具体过程为:
步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算;本发明针对(2,1,7)卷积编译码,N=7,故ConvCodeGenPoly大小为2×7。
步骤1.2,生成一个大小为2N-1×2的卷积结果表conv_table1,该表中储存了卷积结果中前N-1位的结果。
步骤1.3,生成一个大小为2N×2的卷积结果表conv_table2,该表中存储了卷积结果中N位及之后的结果。
步骤1.4,生成一个大小为2N-1×2×2的状态转移表state_trans_table,state_trans_table(x,y,z)表示第z个生成多项式在移位寄存器处于状态x,输入为比特为(y-1)时对应的分支字。
所述步骤2具体过程为:
步骤2.1,将bit_seq的前N-1位所对应的十进制值保存为索引conv_findex,对bit_seq的每连续N位映射为一个索引,共得到L-N+1个值保存为序列conv_sindex;
步骤2.2,利用conv_findex去检索卷积结果表conv_table1,得到卷积结果的前N-1位;利用conv_sindex去检索卷积结果表conv_table2,求出L-N+1个结果,得到卷积结果的第N位到第L位,生成长为L的待译码序列R;上述仅描述一个生成多项式对应的编码过程,在实际编码过程中,会用到两个,重复步骤2.1-步骤2.2,最终生成长为2×L的待译码序列R。
所述步骤2.2中L≥N。
所述步骤3.1、步骤3.2以及步骤3.3的具体过程为:
如图5所示,步骤3.1,首先求解t1~tN时刻路径度量Zn,以获得全部2N-1个状态的路径度量,求解过程为:初始化t1时刻的Zn为长2N-1的全零向量,在时刻ti(i=2,3,...,N)时,首先对上一时刻输出的Zn进行交织,按照状态转移方向,将来向状态的Zn值交织到去向状态的位置上,得到Zn_in作为当前时刻的路径度量输入,例如,当输入比特为“0”,状态i会转移到状态i/2,即称i为来向状态,i/2为去向状态,则有Zn_in(i/2)=Zn(i),有关状态转移的除法均为下取整,同时利用全部来向状态的索引Ind去检索状态转移表state_trans_table,获得此次转移产生的分支字向量U1和U2,并与接收信息D1和D2进行异或,计算求出分支度量G1和G2,最后更新路径度量Zn=Zn_in+G1+G2=Zn_in+U1^D1+U2^D2;
步骤3.2,求解tN+1~tL+1时刻的ACS,观察状态转移网格图可以得到两个转移规律:①状态i只能转移到状态i/2和状态i/2+2N-2,②状态i的来向状态只能是2×i和2×i+1,这两条规律会帮助简化译码处理。从tN+1时刻起,首先对Zn进行奇偶拆分为Zn_in_a和Zn_in_b,然后对两组数据进行比较,选择较小的2N-2个数据组成Zn_in(1:2N-2),并且记录该数据对应Zn中的索引组成数据长度为2N-2的向量v_path,储存幸存路径信息,依照规律①,有Zn_in(1:2N-2)=Zn_in(2N-2:2N-1),v_path(1:2N-2)=v_path(2N-2:2N-1),因此只需要一次比较运算;依照规律①②,可以简化v_path的存储,只存储前2N-2个状态的来向路径信息,并进一步对v_path中的元素对2取模转化为01比特流存储,以此节省存储空间;利用v_path中的数据检索state_trans_table,并计算分支度量,更新Zn=Zn_in+G1+G2,完成本时刻的更新,重复上述操作直到完成时刻tL+1的求解;
步骤3.3,逆向译码,在完成全部时刻的ACS操作后,即可开始逆向译码,首先在最终得到的Zn中找寻拥有最小值的索引MIN,即Zn(MIN)=min(Zn),min(·)表示求最小值,从tL+1时刻起,首先取出索引MIN的最高位即为译码结果V(L),然后用索引MIN去检索本时刻的v_path,更新MIN=v_path(MIN),再开始下一时刻的译码,直到时刻tN+1,由于v_path是从tN+1时刻才开始存储的,故检索到tN+1时刻即停止检索,此时已经求得了V(N:L)的译码结果,剩余前(N-1)bit的译码结果对应步骤3.1的状态转移路径,通过数学推导,tN+1时刻输出的索引MIN对应的(N-1)bit二进制序列MIN_seq经过逆序后,就是V(1:N-1)的(N-1)bit译码结果。
一种基于MaPU架构的快速并行卷积编译码系统,包括:
卷积码表计算模块(对应步骤1):该模块将基于计算机软件平台,利用卷积码的生成多项式进行运算并生成卷积编译过程中用到的卷积码表;对于一个(n,k,N)的卷积码而言,共存在n个生成多项式,用Gi(i=0,1,...,n-1)表示。
需要说明的是:卷积码表共分为三种:conv_table1,conv_table2,state_trans_table;
其中conv_table1,conv_table2在并行卷积编码模块使用,且一个卷积生成多项式对应一组表conv_table1和conv_table2;
state_trans_table在并行维特比译码模块使用,该表包括了多个卷积生成多项式所对应的表项内容。
并行卷积编码模块(对应步骤2):用于基于MaPU架构并行实现卷积编码功能。该模块可分为两个部分,第一部分完成对长为L的待编码二进制比特序列bit_seq映射得到查表索引的conv_findex和conv_sindex的功能;第二部分完成利用conv_findex和conv_sindex去检索卷积码表conv_table1和conv_table2并交织输出卷积编码序列的功能。
并行维特比译码模块(对应步骤3):用于基于MaPU架构并行实现维特比译码功能。该模块将利用卷积码表计算模块生成的表state_trans_table完成维特比译码过程,该模块可分为三部分:第一部分(对应步骤3.1),求解t1~tN时刻路径度量Zn;第二部分(对应步骤3.2),进行tN+1~tL+1时刻的ACS操作,并更新每个时刻下的路径度量Zn;第三部分(对应步骤3.3),根据最终得到的路径度量Zn进行逆向译码操作。
一种基于MaPU架构的快速并行卷积编译码设备,包括:
存储器,用于存储基于MaPU架构的快速并行卷积编译码计算机程序;
处理器,用于执行所述计算机程序时实现所述的一种基于MaPU架构的快速并行卷积编译码方法。
所称处理器是数字信号处理器(DigitalSignalProcessor,DSP),通用处理器可以是微处理器或者所述处理器也可以是任何常规的处理器等,所述处理器是所述基于MaPU架构的快速并行卷积编译码设备的控制中心,利用各种接口和线路连接整个基于MaPU架构的快速并行卷积编译码设备的各个部分。
所述处理器执行所述计算机程序时实现上述基于MaPU架构的快速并行卷积编译码方法的步骤,例如:根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2×L的待译码序列R;利用步骤1生成的state_trans_table对长为2×L的待译码序列R进行维特比译码。
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:卷积码表计算模块:基于计算机软件平台,利用卷积码的生成多项式进行运算并生成卷积编译过程中用到的卷积码表;并行卷积编码模块:用于基于MaPU架构并行实现卷积编码功能;并行维特比译码模块:用于基于MaPU架构并行实现维特比译码功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成预设功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序在所述基于MaPU架构的快速并行卷积编译码设备中的执行过程。例如,所述计算机程序可以被分割成卷积码表计算模块、并行卷积编码模块及并行维特比译码模块,各模块具体功能如下:卷积码表计算模块:基于计算机软件平台,利用卷积码的生成多项式进行运算并生成卷积编译过程中用到的卷积码表;并行卷积编码模块:用于基于MaPU架构并行实现卷积编码功能;并行维特比译码模块:用于基于MaPU架构并行实现维特比译码功能。
所述基于MaPU架构的快速并行卷积编译码设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于MaPU架构的快速并行卷积编译码设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述是基于MaPU架构的快速并行卷积编译码设备的示例,并不构成对基于MaPU架构的快速并行卷积编译码设备的限定,可以包括比上述更多的部件,或者组合某些部件,或者不同的部件,例如所述基于MaPU架构的快速并行卷积编译码设备还可以包括输入输出设备、网络接入设备、总线等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于MaPU架构的快速并行卷积编译码设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种基于MaPU架构的快速并行卷积编译码方法的步骤。
所述一种基于MaPU架构的快速并行卷积编译码系统集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明实现上述一种基于MaPU架构的快速并行卷积编译码方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述基于MaPU架构的快速并行卷积编译码方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或预设中间形式等。
所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
实施例
下面通过实施例对本发明的一种基于MaPU架构的快速并行卷积编译码方法的实现步骤作进一步地描述。
如图1、图2所示,步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table,前两张表用于硬件并行实现卷积编码,第三张表用于并行实现维特比译码。
步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算,本发明针对(2,1,7)卷积编译码,图3为本发明所选用的(2,1,7)卷积编码示意图,由图可得两个生成多项式为G0(x)=1+x2+x3+x5+x6和
G1(x)=1+x+x2+x3+x6,得到生成序列为:
步骤1.2,生成一个大小为26×2的卷积结果表conv_table1,该表中储存了卷积结果中前6位的结果,生成方法为:遍历n=1:2,取出生成序列ConvCodeGenPoly(n,:),进行大小端反转得到Convgen_seq,遍历i=0:26-1,并将i所对应的6bit二进制序列保存为i_seq,然后遍历k=1:6,计算temp1=Convgen_seq(7-k+1:7)&i_seq(1:k),&表示逻辑与运算,并将temp1对2取模的结果保存至temp2(k),由此得到6bit二进制序列temp2,最终将temp2对应的十进制数据保存至conv_table1(i+1,n);
步骤1.3,生成一个大小为27×2的卷积结果表conv_table2,该表中存储了卷积结果中7位及之后的结果,生成方法为:遍历n=1:2,取出生成序列ConvCodeGenPoly(n,:),进行大小端反转得到Convgen_seq,遍历j=0:27-1,j所对应的7bit二进制序列保存为j_seq,将其与卷积生成序列进行逻辑与运算,得到长为7的向量temp3=Convgen_seq&j_seq,最终
conv_table2(j+1,n)=sum(temp3)mod 2。sum(·)表示对向量中元素进行求和,mod表示取模操作;
步骤1.4,生成一个大小为26×2×2的状态转移表state_trans_table,state_trans_table(x,y,z)表示第z个生成多项式在移位寄存器处于状态x,输入为比特为(y-1)时对应的分支字。生成方法为:遍历m=0:26-1,并将m所对应的6bit二进制序列保存为m_seq,并计算
temp4=sum(ConvCodeGenPoly(1,2:7)&m_seq),
temp5=sum(ConvCodeGenPoly(2,2:7)&m_seq),然后计算trans0_1=(0+temp4)%2,trans0_2=(0+temp5)%2,trans1_1=(1+temp4)%2,trans1_2=(1+temp5)%2。最终将这4个值分别存储至state_trans_table(m,1,1),state_trans_table(m,1,2),state_trans_table(m,2,1),state_trans_table(m,2,2)。
步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,实际编码过程中,L满足L≥N。
如图4所示,步骤2.1,将待编码二进制比特序列bit_seq的前6位所对应的十进制值保存为索引conv_findex;生成一个大小为L-N+1长的索引序列conv_sindex,遍历l=1:L-N+1,将序列bit_seq(l:l+N-1)所对应的十进制值保存至conv_sindex(l)。
步骤2.2,利用conv_findex去检索卷积结果表conv_table1,求出conv_fcons=conv_table1(conv_findex),注意求得的结果为十进制数值,需将conv_fcons所对应的长为N-1的二进制序列保存为最终卷积结果的前6位;利用conv_sindex去检索卷积结果表conv_table2,求出L-N+1个结果,保存至最终卷积结果的第N位到第L位,该过程求得的数值为二进制数值,无需再做转换。
如图5所示,步骤3,进行维特比译码,对长为2×L的待译码序列R进行维特比译码,处理流程包括三部分:步骤3.1,求解t1~t7时刻路径度量Zn;步骤3.2,求解t8~tL+1时刻的ACS过程;步骤3.3,逆向译码过程。
步骤3.1,首先求解t1~t7时刻路径度量Zn,以获得全部26个状态的路径度量,求解过程为:
①初始化t1时刻的Zn为长26的全零向量;
②在时刻ti(i=2,3,...,7)时,首先对上一时刻输出的Zn进行交织,按照状态转移方向,将来向状态的Zn值交织到去向状态的位置上,得到Zn_in作为当前时刻的路径度量输入;
③利用全部来向状态的索引Ind去检索状态转移表state_trans_table,获得此次转移产生的分支字向量U1和U2,并与接收信息D1和D2进行异或,计算求出分支度量G1和G2;
④更新路径度量Zn=Zn_in+G1+G2=Zn_in+U1^D1+U2^D2。
需要说明的是,Ind储存了t2~t7的来向状态索引,对于不包含来向状态的位置储存无效值,由此查表求得的分支字向量U1和U2也只在本时刻Ind所对应的位置存放数据,D1和D2同理,对于时刻i,D1中数据为R(2×i-3),D2中数据为R(2×i-2)。
步骤3.2,求解t8~tL+1时刻的ACS。经过步骤3.1的处理,时刻tN全部26个状态均具有了路径度量,可以开始进行ACS操作。
观察状态转移网格图可以得到两个转移规律:
①状态i只能转移到状态i/2和状态i/2+2N-2;
②状态i的来向状态只能是2×i和2×i+1。
这两条规律会帮助简化译码处理。
从t8时刻起,首先对Zn进行奇偶拆分为
Zn_in_a=Zn(1:2:63)
Zn_in_b=Zn(2:2:64)
然后对两组数据进行比较,选择较小的32个数据组成Zn_in(1:32)
Zn_in(:)=Zn_in_a(:)>=Zn_in_b(:)?Zn_in_a(:):Zn_in_b(:)
并且记录该数据对应Zn中的索引组成数据长度为32的向量v_path,储存幸存路径信息,并进行优化存储输出。接下来利用v_path中的数据检索state_trans_table,并计算分支度量,更新
Zn=Zn_in+G1+G2
重复上述操作直到时刻tL+1;
步骤3.3,逆向译码。在完成全部时刻的ACS操作后,即可开始逆向译码。首先在最终得到的Zn中找寻拥有最小值的索引MIN
Zn(MIN)=min(Zn)
从tL+1时刻起,首先取出索引MIN的最高位作为译码结果,然后用索引MIN去检索本时刻的v_path,更新MIN=v_path(MIN),再开始下一时刻的译码,直到时刻t8。利用角标k(k=L+1,L,...,8)表示译码时刻,则译码过程可以表示为:
V(k-1)=(MIN(k)>>5)
v1=MIN(k)mod 32
v2=2×v1
MIN(k-1)=v_path(k)[v1]+v2
由于v_path是从t8时刻才开始存储的,故检索到t8时刻即停止检索,此时已经求得了V(7:L)的译码结果,最后的6位译码结果由t8时刻输出的索引MIN(7)对应的6bit二进制序列MIN_seq经过逆序后得到,即对于k(k=7,6,...,2)有:
V(k-1)=MIN(k)mod 2
MIN(k-1)=MIN(k)>>1
由此得到了V(1:6),结束译码。
注意,由于步骤3.2中在输出v_path时进行了特殊处理,在译码过程中需借助变量v1和v2来保证索引值的有效性。
Claims (4)
1.一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:包括以下步骤:
步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;
步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算;
步骤1.2,生成一个大小为2N-1×2的卷积结果表conv_table1,该表中储存了卷积结果中前N-1位的结果;
步骤1.3,生成一个大小为2N×2的卷积结果表conv_table2,该表中存储了卷积结果中N位及之后的结果;
步骤1.4,生成一个大小为2N-1×2×2的状态转移表state_trans_table,state_trans_table(x,y,z)表示第z个生成多项式在移位寄存器处于状态x,输入为比特为(y-1)时对应的分支字;
步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2×L的待译码序列R;
步骤2.1,将bit_seq的前N-1位所对应的十进制值保存为索引conv_findex,对bit_seq的每连续N位映射为一个索引,共得到L-N+1个值保存为序列conv_sindex;
步骤2.2,利用conv_findex去检索卷积结果表conv_table1,得到卷积结果的前N-1位;利用conv_sindex去检索卷积结果表conv_table2,求出L-N+1个结果,得到卷积结果的第N位到第L位,L≥N,生成长为L的待译码序列R,重复步骤2.1-步骤2.2,最终生成长为2×L的待译码序列R;
步骤3,利用步骤1生成的state_trans_table对长为2×L的待译码序列R进行维特比译码;
步骤3.1,求解t1~tN时刻路径度量Zn;
首先求解t1~tN时刻路径度量Zn,以获得全部2N-1个状态的路径度量,求解过程为:初始化t1时刻的Zn为长2N-1的全零向量,在时刻ti(i=2,3,...,N)时,首先对上一时刻输出的Zn进行交织,按照状态转移方向,将来向状态的Zn值交织到去向状态的位置上,得到Zn_in作为当前时刻的路径度量输入,当输入比特为“0”,状态i会转移到状态i/2,即称i为来向状态,i/2为去向状态,则有Zn_in(i/2)=Zn(i),有关状态转移的除法均为下取整,同时利用全部来向状态的索引Ind去检索状态转移表state_trans_table,获得此次转移产生的分支字向量U1和U2,并与接收信息D1和D2进行异或,计算求出分支度量G1和G2,最后更新路径度量Zn=Zn_in+G1+G2=Zn_in+U1^D1+U2^D2;
步骤3.2,求解tN+1~tL+1时刻的ACS过程;
求解tN+1~tL+1时刻的ACS,观察状态转移网格图得到两个转移规律:①状态i只能转移到状态i/2和状态i/2+2N-2,②状态i的来向状态只能是2×i和2×i+1,从tN+1时刻起,首先对Zn进行奇偶拆分为Zn_in_a和Zn_in_b,然后对两组数据进行比较,选择较小的2N-2个数据组成Zn_in(1:2N-2),并且记录该数据对应Zn中的索引组成数据长度为2N-2的向量v_path,储存幸存路径信息,依照规律①,有Zn_in(1:2N-2)=Zn_in(2N-2:2N-1),v_path(1:2N-2)=v_path(2N-2:2N-1),因此只需要一次比较运算;依照规律①②,简化v_path的存储,只存储前2N-2个状态的来向路径信息,并进一步对v_path中的元素对2取模转化为01比特流存储,利用v_path中的数据检索state_trans_table,并计算分支度量,更新Zn=Zn_in+G1+G2,完成本时刻的更新,重复上述操作直到完成时刻tL+1的求解;
步骤3.3,逆向译码过程;
逆向译码,在完成全部时刻的ACS操作后,即可开始逆向译码,首先在最终得到的Zn中找寻拥有最小值的索引MIN,即Zn(MIN)=min(Zn),min(·)表示求最小值,从tL+1时刻起,首先取出索引MIN的最高位即为译码结果V(L),然后用索引MIN去检索本时刻的v_path,更新MIN=v_path(MIN),再开始下一时刻的译码,直到时刻tN+1停止检索,此时已经求得了V(N:L)的译码结果,剩余前(N-1)bit的译码结果对应步骤3.1的状态转移路径,通过数学推导,tN+1时刻输出的索引MIN对应的(N-1)bit二进制序列MIN_seq经过逆序后,就是V(1:N-1)的(N-1)bit译码结果。
2.一种用于实现权利要求1所述的基于MaPU架构的快速并行卷积编译码方法的系统,其特征在于:包括:
卷积码表计算模块:基于计算机软件平台,利用卷积码的生成多项式进行运算并生成卷积编译过程中用到的卷积码表;
并行卷积编码模块:用于基于MaPU架构并行实现卷积编码功能;
并行维特比译码模块:用于基于MaPU架构并行实现维特比译码功能。
3.一种基于MaPU架构的快速并行卷积编译码设备,其特征在于:包括:
存储器,用于存储权利要求1所述的一种基于MaPU架构的快速并行卷积编译码方法的计算机程序;
处理器,用于执行所述计算机程序时实现权利要求1所述的一种基于MaPU架构的快速并行卷积编译码方法。
4.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有基于MaPU架构的快速并行卷积编译码计算机程序,所述计算机程序被处理器执行时能够对权利要求1所述的一种基于MaPU架构进行快速并行卷积编译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310048958.7A CN116073952B (zh) | 2023-02-01 | 2023-02-01 | 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310048958.7A CN116073952B (zh) | 2023-02-01 | 2023-02-01 | 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116073952A CN116073952A (zh) | 2023-05-05 |
CN116073952B true CN116073952B (zh) | 2024-03-12 |
Family
ID=86174504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310048958.7A Active CN116073952B (zh) | 2023-02-01 | 2023-02-01 | 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116073952B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060018436A (ko) * | 2004-08-24 | 2006-03-02 | 주식회사 팬택 | 컨볼루션 부호기를 사용한 티씨엠 부호기 |
JP2018006987A (ja) * | 2016-06-30 | 2018-01-11 | 国立大学法人横浜国立大学 | 符号化装置、符号化方法およびプログラム。 |
CN114268328A (zh) * | 2021-12-02 | 2022-04-01 | 哈尔滨工业大学 | 一种基于双向lstm的卷积码译码方法与卷积码编码和译码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110116574A1 (en) * | 2009-11-16 | 2011-05-19 | Eric Morgan Dowling | Trellis coded modulation with periodically-reduced signal constellations |
US20160164537A1 (en) * | 2014-12-08 | 2016-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders |
-
2023
- 2023-02-01 CN CN202310048958.7A patent/CN116073952B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060018436A (ko) * | 2004-08-24 | 2006-03-02 | 주식회사 팬택 | 컨볼루션 부호기를 사용한 티씨엠 부호기 |
JP2018006987A (ja) * | 2016-06-30 | 2018-01-11 | 国立大学法人横浜国立大学 | 符号化装置、符号化方法およびプログラム。 |
CN114268328A (zh) * | 2021-12-02 | 2022-04-01 | 哈尔滨工业大学 | 一种基于双向lstm的卷积码译码方法与卷积码编码和译码方法 |
Non-Patent Citations (2)
Title |
---|
Accelerate Convolutional Neural Network with a Customized VLIW DSP;Peng Guo;《2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS)》;20190310;全文 * |
卷积码的神经网络模型译码研究;邓家风;《中国优秀硕士学位论文全文库》;20230115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116073952A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3677257B2 (ja) | 畳込み復号装置 | |
US4606027A (en) | Error correction apparatus using a Viterbi decoder | |
JP3549519B2 (ja) | 軟出力復号器 | |
CN110999095B (zh) | 用于极化码的按块并行冻结位生成 | |
US20070266303A1 (en) | Viterbi decoding apparatus and techniques | |
KR20010027540A (ko) | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 | |
EP1135877A1 (en) | Component decoder and method thereof in mobile communication system | |
WO2001082490A1 (fr) | Procede et appareil de decodage d'une sequence de codes produits par codage turbo | |
GB2365727A (en) | Turbo-code decoding unit and turbo-code encoding/decoding unit | |
KR101051933B1 (ko) | 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산 | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
US7234100B1 (en) | Decoder for trellis-based channel encoding | |
US8009773B1 (en) | Low complexity implementation of a Viterbi decoder with near optimal performance | |
KR100876566B1 (ko) | 연산 회로 | |
CN116073952B (zh) | 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 | |
CN100417031C (zh) | 宽带无线接入系统中里德索洛门卷积级联码的实现方法 | |
JP5169771B2 (ja) | 復号器および復号方法 | |
CN108471341B (zh) | 一种卷积编解码的方法 | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
Singh et al. | A low-complexity, reduced-power Viterbi algorithm | |
JP6771181B2 (ja) | 符号化装置、符号化方法およびプログラム。 | |
KR101134806B1 (ko) | 부호 복호 방법 | |
JP3235333B2 (ja) | ビタビ復号方法およびビタビ復号化装置 | |
Shapin et al. | An Algorithm for the Exact Packet Error Probability Calculation for Viterbi Decoding | |
KR100531840B1 (ko) | 비터비 디코더의 가지 메트릭 계산 방법 및 그 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |