CN102932002B - 截短型高速tpc译码器的fpga设计方法 - Google Patents
截短型高速tpc译码器的fpga设计方法 Download PDFInfo
- Publication number
- CN102932002B CN102932002B CN201210450436.1A CN201210450436A CN102932002B CN 102932002 B CN102932002 B CN 102932002B CN 201210450436 A CN201210450436 A CN 201210450436A CN 102932002 B CN102932002 B CN 102932002B
- Authority
- CN
- China
- Prior art keywords
- decoding
- code word
- minimum
- hard decision
- code
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种截短型高速TPC译码器的FPGA设计方法,它是基于软输入软输出的Chase?II迭代译码算法,该算法的基本思想是认为接收序列中可信值较低的位置出错概率比较大,根据每个码元的可信值,找到最不可靠信息的位置,产生试探序列,从中挑选与接收序列有最小欧氏距的码字即译码输出。设计中选取截短的扩展汉明码,采用并行处理多组数据的方法,优化搜索算法使得在较少迭代次数下较短时间内搜索出欧氏距最小的码字,具有实现复杂度低便于实现,处理信息速率高,能够灵活满足工程需求等优点。
Description
技术领域
本发明涉及信道编码领域中的一种截短型高速TPC译码器的FPGA设计方法,具有实现复杂度低便于实现,处理译码信息速率高,且较高的编码增益和稳定性,能够灵活满足工程需求等优点。
背景技术
随着通信技术的发展,纠错编码技术在提高信息传递可靠性方面越来越引起人们的广泛关注。1994年法国的R.Pyndiah等人受迭代译码思想的启发,在Chase算法的基础上提出了线性分组码的软输入软输出(SISO)迭代算法,并将Turbo码迭代译码思想用于乘积码中,形成了TPC码,该码在误码性能上接近Turbo卷积码,但译码实现复杂度相对较低,并且避免了Turbo卷积码出现的误码率随信噪比增加的“平层效应”。然而TPC码一般根据生成多项式产生几种固定的码长和码率,很难满足某些通信系统对帧长的要求,有人提出一种基于截短型的TPC译码方法,本文仅针对截短的汉明码提出一种截短型高速TPC译码器的FPGA具体实现方法。
发明内容
本发明所要解决的技术问题在于如何在FPGA芯片上实现截短型的TPC译码器的方法。
本发明的目的是这样实现的,截短型高速TPC译码器的FPGA设计方法,其特征在于包括步骤:
①R(k)输入到TPC译码器进行并行数据预处理计算,产生可信序列和硬判决序列;R(k)为M组共N比特并行译码信息,为截短扩展汉明码的编码矩阵的行列结构,M为同时进行译码处理的信息个数;N为同时处理的译码信息的总比特数;
②采用四输入排序网络与归并排序相结合的最小值查找FPGA实现方法,搜索译码信息矩阵每一行和每一列可信度最小的四个序列的位置;
③根据可信度最小的四个序列的位置产生16个错误位置序列,并与第①步骤中产生的硬判决序列组成16个测试序列;
④由产生的16个测试序列与伴随式计算,产生16个错误图样,错误图样与测试序列异或进行硬判决译码,生成硬判决待选码字;
⑤计算由第④步骤产生的16个硬判决待选码字与输入序列R(k)的欧氏距,找到欧氏距最小的码字作为译码输出,3个次最小码字作为竞争码字;根据译码码字及竞争码字得到每行和每列信息的可信值,并由可信值产生外信息矩阵和用于下次迭代的译码输入信息矩阵;
⑥每次迭代译码计算的过程都需要对外信息及输入数据进行缓存,缓存采用行列交叉存储的FPGA实现方法;
完成截短型高速TPC译码器的FPGA设计。
本发明与现有技术相比,具有以下优点:
实现复杂度低便于实现,处理译码信息速率高,且具有较高的编码增益和稳定性,能够灵活满足工程需求等优点。
附图说明
图1是本发明的电原理方框图。
图2是本发明四输入排序网络与归并排序相结合的最小值查找实现原理框图。
图3是本发明硬判决译码的实现原理框图。
图4是本发明欧氏距及外信息产生模块的实现原理框图。
图5是本发明迭代数据缓存的实现原理框图。
图6是本发明FPGA实现后实测误码曲线图。
具体实施方式
参照图1至图5,图1是本发明实施例的电原理方框图,它主要包括最小可信度搜索、硬判决译码、欧氏距及外信息产生以及迭代数据缓存模块组成。
截短型高速TPC译码器的FPGA设计方法,其特征在于包括步骤:
①R(k)输入到TPC译码器进行并行数据预处理计算,产生可信序列和硬判决序列;R(k)为M组共N比特并行译码信息,为截短扩展汉明码的编码矩阵的行列结构,M为同时进行译码处理的信息个数;N为同时处理的译码信息的总比特数。
本实施例中可信序列采用对输入数据进行取绝对值操作来完成,硬判决序列为对输入数据取符号位操作完成。例如输入数据为补码Z(k),则可信序列R(k)=abs(Z(K)),硬判决序列Rh(k)=~sign(Z(k)){~表示取反操作}。
②采用四输入排序网络与归并排序相结合的最小值查找FPGA实现方法,搜索译码信息矩阵每一行和每一列可信度最小的四个序列的位置。
最小值查找可以归结为排序问题,本实施例中最小值查找实现方法可如图2实现,采用四输入排序网络与归并排序相结合构成最小值查找的串行流水线结构模块。可将一行或列N点数据分成x组8点数据输入,先进行四点数据的排序,再进行两个四点数据的归并排序,得到四个最小值,然后再进行其余四点比较最终得到四个最小值及位置。在进行比较操作时,比较的是低a比特的可信序列值,高b比特在原始可信序列中的位置随比较的操作与数据一起移动。
③根据可信度最小的四个序列的位置产生16个错误位置序列,并与第①步骤中产生的硬判决序列组成16个测试序列。
本实施例中试探序列采用查表方法,以四点最小值的位置作为地址产生四个位置的序列,通过将这四个序列组合产生15个测试图样,然后和全零序列一起共16个测试图样。将16个测试图样与输入硬判决序列进行异或产生16个测试序列输出。
④由产生的16个测试序列与伴随式计算,产生16个错误图样,错误图样与测试序列异或进行硬判决译码,生成硬判决待选码字;
本实施例中可分为两部分设计,首先是伴随式产生模块,伴随式的计算由校验矩阵产生;其次是根据伴随式产生错误图样模块,这一部分的设计采用经典的扩展汉明码硬判决译码电路实现。本实施例实现结构如图3所示。
⑤计算由第④步骤产生的16个硬判决待选码字与输入序列R(k)的欧氏距,找到欧氏距最小的码字作为译码输出,3个次最小码字作为竞争码字;根据译码码字及竞争码字得到每行和每列信息的可信值,并由可信值产生外信息矩阵和用于下次迭代的译码输入信息矩阵;本实施例的实现结构如图4所示。
⑥每次迭代译码计算的过程都需要对外信息及输入数据进行缓存,缓存采用行列交叉存储的FPGA实现方法。
由于输入数据每次迭代时都需要和外信息进行运算,且译码迭代是行列交叉进行的,因此对于数据和外信息缓存要能够行列交叉存储。输出数据缓存可以认为和输入数据缓存相反,最终译码结果串行输出。本实施例的存储矩阵设计如图5所示。
完成截短型高速TPC译码器的FPGA设计。
按照以上TPC译码器的FPGA设计方法,译码器处理的信息数据可达到较高速率,并在Xilinx公司XC5VFX70T芯片上实现了码长506比特,码率0.53的截短型TPC译码器,设计中采用QPSK调制方式对TPC译码器的误码性能进行了基带编码环测试,设置译码迭代次数为4次,译码数据速率为25Mbps,FPGA量化比特数为5比特,测试的误码率曲线如图6所示。从实测结果可以看出,在Eb/N0大约为4.2dB左右误码率可以达到1×10-6,这与算法仿真是基本吻合的。
Claims (1)
1.截短型高速TPC译码器的FPGA设计方法,其特征在于包括步骤:
①R(k)输入到TPC译码器进行并行数据预处理计算,产生可信序列和硬判决序列;R(k)为M组共N比特并行译码信息,为截短扩展汉明码的编码矩阵的行列结构,M为同时进行译码处理的信息个数;N为同时处理的译码信息的总比特数;
②采用四输入排序网络与归并排序相结合的最小值查找FPGA实现方法,搜索译码信息矩阵每一行和每一列可信度最小的四个序列的位置;
③根据可信度最小的四个序列的位置产生16个错误位置序列,并与第①步骤中产生的硬判决序列组成16个测试序列;
④由产生的16个测试序列与伴随式计算,产生16个错误图样,错误图样与测试序列异或进行硬判决译码,生成硬判决待选码字;
⑤计算由第④步骤产生的16个硬判决待选码字与输入序列R(k)的欧氏距,找到欧氏距最小的码字作为译码输出,3个次最小码字作为竞争码字;根据译码码字及竞争码字得到每行和每列信息的可信值,并由可信值产生外信息矩阵和用于下次迭代的译码输入信息矩阵;
⑥每次迭代译码计算的过程都需要对外信息及输入数据进行缓存,缓存采用行列交叉存储的FPGA实现方法;
完成截短型高速TPC译码器的FPGA设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210450436.1A CN102932002B (zh) | 2012-11-12 | 2012-11-12 | 截短型高速tpc译码器的fpga设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210450436.1A CN102932002B (zh) | 2012-11-12 | 2012-11-12 | 截短型高速tpc译码器的fpga设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932002A CN102932002A (zh) | 2013-02-13 |
CN102932002B true CN102932002B (zh) | 2016-01-20 |
Family
ID=47646727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210450436.1A Active CN102932002B (zh) | 2012-11-12 | 2012-11-12 | 截短型高速tpc译码器的fpga设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932002B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656216A (zh) * | 2016-10-11 | 2017-05-10 | 湖南基石通信技术有限公司 | 一种针对Turbo乘积码的修正的软入软出译码方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107370491B (zh) * | 2017-06-21 | 2020-04-10 | 西安空间无线电技术研究所 | 一种高性能低时延的扩展tpc译码方法 |
CN111813370B (zh) * | 2020-07-08 | 2023-10-31 | 上海雪湖科技有限公司 | 基于fpga的多路并行归并排序系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85103579A (zh) * | 1985-05-08 | 1986-11-05 | 索尼公司 | 纠错码的译码方法和系统 |
US6141787A (en) * | 1997-05-19 | 2000-10-31 | Sanyo Electric Co., Ltd. | Digital modulation and demodulation |
-
2012
- 2012-11-12 CN CN201210450436.1A patent/CN102932002B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85103579A (zh) * | 1985-05-08 | 1986-11-05 | 索尼公司 | 纠错码的译码方法和系统 |
US6141787A (en) * | 1997-05-19 | 2000-10-31 | Sanyo Electric Co., Ltd. | Digital modulation and demodulation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656216A (zh) * | 2016-10-11 | 2017-05-10 | 湖南基石通信技术有限公司 | 一种针对Turbo乘积码的修正的软入软出译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102932002A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101106381B (zh) | 分层的低密度校验码译码器及译码处理方法 | |
CN101309086A (zh) | 里德-所罗门码级联反馈系统卷积码的系统的译码方法 | |
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
CN104025459A (zh) | 译码处理方法及译码器 | |
CN105634508B (zh) | 一种低复杂度近性能限的Turbo译码器的实现方法 | |
CN101345607B (zh) | 多维交叉并行级联单奇偶校验码的编、译码方法 | |
CN102932002B (zh) | 截短型高速tpc译码器的fpga设计方法 | |
CN100546207C (zh) | 一种基于DVB-RCS标准的双二元Turbo码译码方法 | |
CN105634506A (zh) | 基于移位搜索算法的平方剩余码的软判决译码方法 | |
CN101273531A (zh) | 低密度奇偶校验码的改进turbo-译码消息传递算法 | |
CN202475439U (zh) | 一种基于可配置qc-ldpc编译码算法的硬件仿真验证平台 | |
CN111555760B (zh) | 纠正随机错误和长突发删除的多进制符号级乘积码方法 | |
CN110739977A (zh) | 一种基于深度学习的bch码译码方法 | |
CN104242956B (zh) | 基于随机计算的高性能低复杂度ldpc译码器 | |
CN106656216A (zh) | 一种针对Turbo乘积码的修正的软入软出译码方法 | |
CN103220007A (zh) | 一种自适应调整子码不可靠位数的tpc迭代译码算法 | |
CN1155161C (zh) | 用于特博码的解码器及其解码方法 | |
CN1741614A (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
CN106411328B (zh) | 一种基于软比特的Turbo码交织器的盲识别方法 | |
Wang et al. | A comparison of concatenated polar codes with different interleaving and decoding schemes | |
CN101895375B (zh) | 低密度校验码的译码系统 | |
CN103701475B (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
Mao et al. | Serially concatenated scheme of polar codes and the improved belief propagation decoding algorithm | |
CN105680882A (zh) | 一种平方剩余码的硬判决译码方法 | |
Lohith Kumar et al. | Design and Performance analysis of a 3GPP LTE/LTE-Advance turbo decoder using software reference models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |