三维TPC译码器的设计及FPGA实现

合集下载

一种新型并行Turbo编译码器的FPGA实现

一种新型并行Turbo编译码器的FPGA实现

一种新型并行Turbo编译码器的FPGA实现可靠通信要求消息从信源到信宿尽量无误传输,这就要求通信系统具有很好的纠错能力,如使用差错控制编码。

自仙农定理提出以来,先后有许多纠错编码被相继提出,例如汉明码,BCH码和RS码等,而C.Berrou等人于1993年提出的Turbo码以其优异的纠错性能成为通信界的一个里程碑。

然而,Turbo码迭代译码复杂度大,导致其译码延时大,故而在工程中的应用受到一定限制,而并行Turbo译码可以很好地解决上述问题。

本论文的主要工作是通过硬件实现一种基于帧分裂和归零处理的新型并行Turbo编译码算法。

论文提出了一种基于多端口存储器的并行子交织器解决方法,很好地解决了并行访问存储器冲突的问题。

本论文在现场可编程门阵列(FPGA)平台上实现了一种基于帧分裂和篱笆图归零处理的并行Turbo编译码器。

所实现的并行Turbo编译码器在时钟频率为33MHz,帧长为1024比特,并行子译码器数和最大迭代次数均为4时,可支持8.2Mbps的编译码数据吞吐量,而译码时延小于124us。

本文还使用EP2C35 FPGA芯片设计了系统开发板。

该开发板可提供高速以太网MAC/PHY和PCI接口,很好地满足了通信系统需求。

系统测试结果表明,本文所实现的并行Turbo编译码器及其开发板运行正确、有效且可靠。

本论文主要分为五章,第一章为绪论,介绍Turbo码背景和硬件实现相关技术。

第二章为基于帧分裂和归零的并行Turbo编码的设计与实现,分别介绍了编码器和译码器的RTL设计,还提出了一种基于多端口存储器的并行子交织器和解交织器设计。

第三章讨论了使用NIOS处理器的SOC架构,使用SOC架构处理系统和基于NIOS Ⅱ处理器和uC/OS-2操作系统的架构。

第四章介绍了FPGA系统开发板设计与调试的一些工作。

最后一章为本文总结及其展望。

可配置的Viterbi译码器的FPGA实现的开题报告

可配置的Viterbi译码器的FPGA实现的开题报告

可配置的Viterbi译码器的FPGA实现的开题报告一、选题背景及意义随着通信技术的不断进步,数字通信技术在现代通信系统中占有越来越重要的地位。

Error-Correcting Codes是数字通信系统中广泛使用的技术之一,它能够在数据传输过程中发现和纠正错误,从而保证传输数据的可靠性。

Viterbi译码器是一种常用的Error-Correcting Codes解码器,它是由Andrew Viterbi于1967年提出的。

Viterbi译码器主要应用于数字通信、数据存储、卫星通信和数字广播等领域。

数字通信技术的迅速发展和应用推动了Viterbi译码器技术的不断完善和优化。

通过FPGA实现可配置的Viterbi译码器,能够在数码通信领域中发挥重要的作用,进一步提高传输的可靠性和传输速度。

二、相关研究现状现有的Viterbi译码器研究主要集中在理论算法和软件实现方面。

其中,Viterbi算法的研究涵盖了多种变化和改进,包括硬判决Viterbi解码器和软判决Viterbi解码器,以及不同的度量距离和状态迁移机制。

另外,还有一些研究对Viterbi译码器进行了不同水平的优化和改进,如采用并行算法和硬件实现等。

由于FPGA优秀的可编程性和高速性能,FPGA实现的Viterbi译码器成为近年来的研究热点之一。

三、研究内容和方法本课题主要研究可配置的Viterbi译码器的FPGA实现。

在实现过程中,主要包括以下几个方面:(1)研究Viterbi算法的基本原理以及主要思路;(2)确定FPGA实现的Viterbi译码器的框架,并设计相应的硬件电路;(3)通过Verilog HDL语言编写代码,实现硬件设计;(4)对设计代码进行仿真和测试,验证设计的正确性和实现的效果。

四、预期成果预期的成果为成功实现可配置的Viterbi译码器的FPGA实现,并在FPGA平台上进行验证。

实现的Viterbi译码器可以适应不同的码率和约束长度,并能够提供高速度和高处理能力。

卷积Turbo码编译码器FPGA实现的研究的开题报告

卷积Turbo码编译码器FPGA实现的研究的开题报告

卷积Turbo码编译码器FPGA实现的研究的开题报告一、选题背景Turbo码是一种采用卷积码进行串联的编码方法,由Claude Berrou在1993年首次提出,具有很好的误码性能和容错能力,被广泛应用于通信系统中。

Turbo码目前已被标准化为3GPP、DVB、IEEE等一系列标准,并在行业中得到广泛应用。

FPGA是一种可编程逻辑器件,具有高集成度、低功耗、高时钟频率、可重构性强等优点。

FPGA的应用范围非常广泛,涵盖了计算机、通信、工业控制等领域。

将Turbo码应用于FPGA中,能够极大地提高通信系统的性能和可靠性。

因此,本文研究卷积Turbo码编译码器FPGA实现的方法和技巧,旨在探索如何将Turbo码应用于FPGA中,提高通信系统的性能和可靠性。

二、研究目的和意义Turbo编码是一种通过串联多个卷积码编码器来实现的编码方式,通过迭代译码可以获得很好的误码性能。

Turbo码被广泛应用于现代通信系统中,例如3GPP、DVB等标准。

在这些应用中,Turbo码的编码和解码都需要用到大量的计算和存储资源。

FPGA作为一种可编程逻辑器件,可以提供高度的可重构性和高性能计算能力,为Turbo码的应用提供了很好的条件。

通过将Turbo码应用于FPGA中,可以大幅提高通信系统的性能和可靠性。

本文旨在研究卷积Turbo码编译码器FPGA实现的方法和技巧,探索如何在FPGA中高效地实现Turbo码编译码器,提高通信系统的性能和可靠性,具有理论研究和实践应用的双重意义。

三、研究内容1. 卷积Turbo码的基本原理及编码、解码算法的介绍;2. Turbo码FPGA实现的硬件结构设计思路分析,包括编码器、MAP 解码器、BCJR解码器等部分;3. Turbo码编码器、MAP解码器、BCJR解码器FPGA实现的详细设计,包括使用的语言、模块划分和接口设计等;4. FPGA实现性能的评估,包括时延、功耗和资源利用率等方面的综合评估;5. 对比不同算法和实现方式的性能差异,得出基于FPGA实现的Turbo码的最优解决方案。

基于FPGA的毫米波通信LDPC编译码设计与实现

基于FPGA的毫米波通信LDPC编译码设计与实现

基于FPGA的毫米波通信LDPC编译码设计与实现基于FPGA的毫米波通信LDPC编译码设计与实现摘要:近年来,随着通信技术的不断发展,毫米波通信作为一种新兴的通信技术得到了广泛的关注。

但是毫米波通信在信道传输上会受到很多干扰,为了提高通信质量和信道效率,需要采用合适的编码技术。

LDPC码具有较高的编码效率和纠错能力,经过多年的研究已经成为一种非常成熟的编码技术。

本文针对毫米波通信的特点,设计了一种基于FPGA的LDPC编译码实现方案。

通过对FPGA的资源进行优化,实现了对高速毫米波信号的解码和纠错。

实验证明,该方案具有较高的解码效率和良好的实时性能,适用于毫米波通信信道编译码的实现。

关键词:FPGA;毫米波通信;LDPC编译码;解码效率;实时性能1. 引言随着智能终端设备的普及和数据量的不断增加,对于通信网络的需求也不断加强。

作为新兴的通信技术,毫米波通信在解决高速率和低延迟等方面有着很大的优势,因此备受关注。

但是毫米波通信在信道传输上会受到很多干扰,如相位噪声、多径效应、路径损耗等,这些干扰会极大地影响通信质量和信道效率。

为了提高信道效率和信号质量,需要采用合适的编码技术保证数据的正确传输。

而LDPC编译码作为一种非常成熟的编码技术,具有较高的编码效率和纠错能力,因此被广泛应用于通信系统中。

在本文中,我们针对毫米波通信的特点,设计了一种基于FPGA的LDPC编译码实现方案。

通过对FPGA的资源进行优化,实现了对高速毫米波信号的解码和纠错。

实验证明,该方案具有较高的解码效率和良好的实时性能,适用于毫米波通信信道编译码的实现。

2. LDPC编译码介绍LDPC码(Low Density Parity Check Code)是一种密度较低的校验矩阵对应的码,具有较高的编码效率和纠错能力。

LDPC 码的校验矩阵的大多数元素为零,只有少数非零的元素,使得该码可以通过BP(Belief Propagation)算法进行快速译码和纠错。

LDPC码高效编译码器设计与FPGA实现

LDPC码高效编译码器设计与FPGA实现

LDPC码高效编译码器设计与FPGA实现随着现代数字通信系统的飞速发展,低密度奇偶校验码(Low-DensityParity-Check)即LDPC码凭借其具有逼近香农(Shannon)极限的性能以及低复杂度的译码算法和高并行度的硬件实现架构成为了近年来信道纠错编码技术研究的重点。

本文深入研究了基于FPGA的LDPC码高效低存储量编译码器的实现方法。

论文的主要工作包括:研究LDP C码的编译码算法及并利用Matlab仿真软件完成校验矩阵的构造,对多种编译码算法进行仿真比较,最终完成高效LDPC码编译码器的FPGA实现。

本文首先介绍了LDPC码的基本概念和国内外发展现状,并通过对LDPC码的分类和表示方法的介绍引出LDPC码中的一类特殊码型——准循环低密度奇偶校验码(Quasi Cyclic-LDPC码),QC-LDPC码结合了结构性和随机性的特点,在保证LDPC码的信道性能不变的情况下,大大减小了编码算法的复杂程度,被广泛应用在众多数字通信系统当中。

其次,本文通过Matlab仿真,实现了LDPC码校验矩阵的不同构造方法,经过多次仿真测试分析各种构造方式的优缺点。

然后系统的分析和总结LDPC码的编译码方法,对传统译码算法和快速编码算法进行比较,并详细推导了LDPC码在高斯白噪声信道下置信传播译码算法的消息更新规则,以及由其演化而来的对数似然比译码算法和最小和译码算法,通过综合分析确定快速编码算法及最小和译码算法作为高效LDPC码编译码器的基本设计思想。

最后,本文根据快速编码算法,选取基于IEEE 802.16e标准的校验矩阵,只存储基矩阵中每个子矩阵的首地址,并通过正向反向双向递归计算校验位。

设计了一种高效低存储的LDPC码编码器,节省了FPGA逻辑资源开销并提高了编码速度。

而译码器的设计则根据最小和译码算法,变量节点和校验节点的更新均采用块间并行、块内串行的方式进行。

该方案可有效降低译码器对硬件存储空间的占用,并降低了译码电路的布线复杂度。

基于FPGA的HDB3码的编译码器与译码器设计(软件设计)

基于FPGA的HDB3码的编译码器与译码器设计(软件设计)

昆明学院2013 届毕业论文(设计)论文(设计)题目基于FPGA的HDB3码的编码器与译码器设计(软件设计)子课题题目姓名周艳学号 201004090147所属院系自动控制与机械工程学院专业年级 2010级通信技术1班指导教师任杰2013年 5月HDB3码是基带传输码型之一,因为它具有无直流分量、低频分量少、连0数不超过3个这些特点,所以有利于信号的恢复和检验,所以HDB3码被广泛应用到井下电缆遥传系统以及高速长距离书记通信中等。

FPGA具有成本低、可靠性高、开发周期短、可重复编程等特点。

利用EDA技术,可对其实现硬件设计软件化,加速了数字系统设计的效率,降低了设计成本。

本文先对HDB3码,FPGA器件和EDA技术的发展背景进行简述。

接着阐述EDA技术中常用的VHDL语言的发展与优点,并以VHDL为核心,简要说明硬件电路的设计的方法步骤。

然后介绍HDB3码的编译码原理以及其特点。

最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。

关键词:HDB3码;FPGA;EDA;VHDL;编译码HDB3 code is one of codes used in the transmission system. It has no DC components and a few of LF components. Moreover, it has continuous zeros no more than three. The features of HDB3 code help the signal to be rebuilt and be checked for error easily, so HDB3 code is the commonly used code in the transmission system. Low cost, dependability, short design cycle and repeated program ability are the features of FPGA. You can design hardware of digital circuits by using software as a result of using FPGA with EDA. It will construct the digital system quickly system quickly and reduce the cost of design.This paper first introduces the development and background of HDB3.FPGA and EDA, and then expands VHDL. which is commonly used as design-entry language for EDA.A summary of digital circuits’ design by using VHDL is provided.Moreover, the principle and decoder is designed by using VHDL. Finally, the plan of design, the flow of software design and the simulated waveform of HDB3 encoder and decoder is presented, showing correctness of the design.Keywords: HDB3 code; FPGA ; EDA ; VHDL; Encoder and Decoder目录第一章概述 (1)1.1 HDB3码的简述 (1)1.2 FPGA简介 (2)1.2.1 FPGA的发展历程 (2)1.2.2 FPGA基本结构及其特点 (3)1.3 EDA技术 (4)1.4 VHDL硬件描述语言 (4)1.4.1 简介 (4)1.4.2 VHDL具有的特点 (5)1.4.3 VHDL的优点 (7)1.4.4 VHDL设计硬件电路的方法 (7)第二章 HDB3码的编译规则 (10)2.1主要的基带传输码型 (10)2.1.1 NRZ码的编码规则 (10)2.1.2 AMI码的编码规则 (10)2.2 HDB3码的编码规则 (11)2.3 HDB3码的译码规则 (12)2.4 HDB3码的检错能力 (12)第三章 HDB3编码器的FPGA实现 (13)3.1 HDB3码编码器的实现分析 (13)3.2 HDB3码编码器的设计思路 (13)3.2.1 4连‘0’的检出加V及判‘1’极性 (13)3.2.2 取代节的选取 (13)3.3设计建模 (14)3.3.1插“V”码模块设计及仿真 (15)3.3.2插“B”码模块设计及仿真 (17)3.3.3 HDB3编码器的极性转换模块设计及仿真 (20)第四章 HDB3译码器的FPGA实现 (24)4.1 译码器的实现分析 (24)4.2 HDB3译码器的设计思路 (24)4.3 V的检测 (25)4.4 扣V扣B (25)4.5 设计建模 (25)4.5.1扣V扣B的实现 (26)4.6 软件仿真 (26)第五章结论 (28)参考文献 (29)附录 (30)谢辞 (38)第一章概述1.1 HDB3码的简述HDB3(High Density Bipolar of order 3code)码的全称是三阶高密度双极性码,又称为四连“0”取代码,它是一种AMI码的改进,保持了AMI码的优点而克服其缺点。

基于FPGA的多元LDPC码编译码器设计与实现

基于FPGA的多元LDPC码编译码器设计与实现在信息化时代,有大量信息需要传递,空间干扰严重,可靠性通信变得越来越重要,信道编码在通信系统中的地位也更加重要了。

LDPC作为性能优异的一种信道编码技术成为研究的热门,为了进一步提高其纠错性能,研究由二元域转向了多元域。

本文对多元LDPC码进行了深入的研究,提出了可以工程化实现方案并采用FPGA实现。

首先,跟踪信道编码研究领域的研究进展,分析多元LDPC码的研究现状,设计合理的硬件实现方案并进行研究。

其次,论文从多元LDPC码校验矩阵研究入手,从校验矩阵构造出发去确定矩阵的形式,从不同的编译码算法出发优化现有算法,以便提出适合硬件实现的QC 结构快速编码算法和混合域译码算法。

再次,采用Visual Studio软件搭建通信系统仿真模型,并利用此模型在高斯噪声信道条件下对多元LDPC码的矩阵构造方式、编码码率、码长、译码迭代次数和数据量化精度等参数进行仿真,确定满足系统指标的硬件实现参数。

然后,在Quartus II软件开发平台中对确定参数的通信系统的编译码算法进行硬件设计,采用Verilog HDL语言完成编码器和译码器的实现,并用Modelsim 软件进行时序分析,完成算法硬件设计后即可以确定硬件平台,并设计及制作。

最后,采用LabWindows软件编写单独和联合的系统测试程序,设计上位机测试界面,先单独对编译码器的功能进行验证,然后在高斯噪声信道中对编译码器进行联合系统测试,并与理论性能进行了比较。

基于FPGA的改进Turbo译码器的设计与实现

基于FPGA的改进Turbo译码器的设计与实现
蔡剑卿
【期刊名称】《福建电脑》
【年(卷),期】2009(025)011
【摘要】Turbo码的译码性能几乎接近shannon理论极限,实现Turbo译码器对于降低信道传输的误码率、提高传输可靠性具有重要的意义.本文设计了一种基于SOVA算法的改进Turbo译码器,并下载到Xilinx公司的Spartan-3S1500 FPGA 开发板上验证成功.Turbo译码器的输入信息和输出信息通过FPGA板与PC机的通信获得.实验结果表明,所设计的Turbo译码器是正确的.
【总页数】2页(P133-134)
【作者】蔡剑卿
【作者单位】福建农林大学计算机与信息学院,福建,福州,350002
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于FPGA的Turbo码译码器设计与实现 [J], 张庆治;刘巧艳
2.Turbo译码器滑动窗的改进及其FPGA设计 [J], 詹书荣;黄春晖
3.串行Turbo译码器窗口二分法改进与FPGA实现 [J], 詹书荣;郑平允;黄春晖
4.一种改进Turbo码译码器的FPGA设计与实现 [J], 赵旦峰;罗清华;焉晓贞
5.基于FPGA的Turbo码译码器设计与实现 [J], 薛礼妮;刘展威
因版权原因,仅展示原文概要,查看原文内容请购买。

基于FPGA的HDB3编译码器的设计与实现

基于FPGA的HDB3编译码器的设计与实现李精华;陈磊;吴慧峰【期刊名称】《信息技术》【年(卷),期】2012(000)006【摘要】提出了一种基于FPGA的HDB3编译码器的设计方案,运用QuartusⅡ 8.0对设计方法进行了仿真分析,然后在CycloneⅡ系列EP2C35开发板进行了实验验证.该HDB3码编译码器电路简洁,运行性能稳定可靠,克服了分离元器件带来的干扰和不易调整的缺陷.%This paer introduces a design of HDB3 codecs based on FPGA, presents the simulation with Quartus 118. 0. The experiment is verified on the EP2C35 developing board of cyclone II series. The HDB3 codecs is simple in the circuit, steady and reliable in the operation, solves the issues for the separated devices experting interference and is difficult to adjust.【总页数】3页(P36-38)【作者】李精华;陈磊;吴慧峰【作者单位】桂林航天工业高等专科学校电子工程系,桂林541004;桂林航天工业高等专科学校电子工程系,桂林541004;桂林航天工业高等专科学校电子工程系,桂林541004【正文语种】中文【中图分类】TP311【相关文献】1.基于FPGA的HDB3编解码器的设计与实现 [J], 韩德红;孙筱萌;张显才2.基于FPGA的HDB3编码和解码器的设计与实现 [J], 吴光辉;殷严刚;姜愉3.基于FPGA的HDB3编译码器的设计 [J], 张伟娟4.基于FPGA的HDB3码编译码器的设计 [J], 颜涔;肖洪祥5.基于FPGA的HDB3解码系统设计与实现 [J], 李晨因版权原因,仅展示原文概要,查看原文内容请购买。

高吞吐量低存储量的LDPC码译码器FPGA实现

高吞吐量低存储量的LDPC码译码器FPGA实现张桂华;张善旭;李颖【期刊名称】《西安电子科技大学学报(自然科学版)》【年(卷),期】2008(035)003【摘要】针对规则(r,c)-LDPC码,设计了一种基于Turbo结构的FPGA译码实现算法,采用多路并行译单帧数据,多帧并行译码的结构,具有收敛速度快和存储量低的特点.为实现多路并行译单帧数据,首先将LDPC码划分成几个超码,并对每个超码内的单校验码采用并行BCJR算法.同时,为简化并行BCJR译码时的内部结构和控制单元的复杂度,提出一种修正的分圆陪集构造方法.在具体实现中,采用了3帧并行译码的结构来进一步提高吞吐量.对一个码长为1 600,规则(3,5)-LDPC码,用Altera 公司的Stratix EP1S25 FPGA芯片设计了译码器,在主频40 MHz条件下采用20次迭代,可使吞吐量达50 Mbit/s.【总页数】6页(P427-432)【作者】张桂华;张善旭;李颖【作者单位】西安电子科技大学,电子工程学院,陕西,西安,710071;西安电子科技大学,综合业务网理论及关键技术国家重点实验室,陕西,西安,710071;西安电子科技大学,综合业务网理论及关键技术国家重点实验室,陕西,西安,710071【正文语种】中文【中图分类】TN911.22【相关文献】1.低资源消耗多边类型LDPC码译码器的FPGA实现 [J], 谢东福;王琳;陈平平2.准循环LDPC码低存储量译码器设计与实现 [J], 徐欢;雷菁;文磊3.低存储量的多码率QC-LDPC码译码器的研究 [J], 徐斌;贺玉成4.DTMB中LDPC码编译码器的FPGA实现 [J], 陈为刚;阿卜杜拉;梁晨驰5.高吞吐率LDPC码编译码器的FPGA实现 [J], 王英喆;王振宇;严伟;时广轶因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三维TPC译码器的设计及FPGA实现作者:瞿海惠张浩杨亚光龙飞来源:《现代电子技术》2013年第23期摘要: Turbo乘积码(TPC)是一种性能优秀的纠错编码方法,它具有译码复杂度低、译码延时小等优点,且在低信噪比下可以获得近似最优的性能。

介绍了基于Chase算法的三维TPC软输入软输出(SISO)迭代译码算法,提出了三维TPC译码器硬件设计方案并在FPGA 芯片上进行了仿真和验证。

测试结果表明,该译码器具有较高的纠错能力,满足移动通信误码率的要求。

关键词:三维TPC; Chase算法;软输入软输出; FPGA实现中图分类号: TN919.3⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)23⁃0026⁃04 Design and FPGA realization of 3⁃D TPC decoderQU Hai⁃hui, ZHANG Hao, YANG Ya⁃guang, LONG Fei(Institute of Microelectronics of Chinese Academy of Sciences, Beijing 100029, China)Abstract:Turbo product code(TPC) is a kind of forward error correction code(FEC)with excellent performance. TPC has the advantages of low decoding complexity and short decoding delay, and can achieve near⁃optimum performance at low signal⁃to⁃noise ratio. The soft⁃insoft⁃out(SISO)iterative decoding method for three⁃dimensional(3D)TPC based on Chase algorithm is introduced. The hardware design scheme of 3⁃D TPC decoder is proposed and verified on FPGA platform. The simulation results show that the decoder has high error⁃correcting capability and meets the requirement of mobile communication on bit error rate.Keywords:3⁃D TPC; Chase algorithm; SISO; FPGA realization0 引言无线通信信道中存在着干扰和衰落,使通信系统的可靠性降低。

差错控制编码技术用来检测和纠正因为信道失真引起的信息传输错误,提高信息传输的可靠性。

差错控制编码的研究主要是希望在低译码复杂度的前提下,寻找一种逼近香农极限的编译码方法。

Turbo乘积码不仅译码复杂度低,译码延时小,而且它继承了Turbo码在低信噪比下仍然有低误码率的优点。

因此,Turbo乘积码己经成为纠错编码领域的研究热点。

乘积码最早是由Elias于1954年提出的[1],但受到硬件资源的制约其应用一直受限。

C. Berrou等学者在1993年提出了基于软输入软输出( Soft Input Soft Output,SISO)迭代译码算法的Turbo卷积码(TCC)[2],它可以在数次迭代后性能接近香农极限,因此得到广泛关注。

但是TCC的译码复杂度高、译码延时大,从而限制了在高速通信系统中的应用。

受迭代译码思想的启发,R. Pyndiah等人于1994 年在Chase的基础上提出了线性分组码的SISO 算法[3],并通过迭代的方式应用于乘积码,称为Turbo乘积码(TPC)。

TPC在译码性能上能够接近TCC,同时算法复杂度较低,译码延时小,在采用流水线机制的基础上,可以实现高速编译码器。

在过去的十几年中,二维Turbo乘积码(2D⁃TPC)得到了深入的研究和广泛的应用。

相比于Turbo码,2D⁃TPC拥有很多优点:它的“错误地板(Error Floor)”可以达到10-7甚至更低量级;由于它采用次最优译码算法而且不含交织器,其编译码复杂度很低;当码率很高时,其性能逼近香农极限。

三维Turbo乘积码(3D⁃TPC)具备二维Turbo乘积码(2D⁃TPC)的所有优点,而且在低信噪比环境下比2D⁃TPC的性能更好[4]。

因此,本文介绍了一种基于Chase算法的3D⁃TPC软输入软输出迭代译码算法并且在FPGA芯片上进行了仿真和验证。

1 3D⁃TPC编码结构乘积码是线性分组码在空间维度上的扩展[5]。

下面说明3D⁃TPC的编码结构[4],如图1所示。

假设有三个子码分别为[C1n1,k1,δ1]、[C2n2,k2,δ2]和[C3n3,k3,δ3],其中[ni,][ki]和[δi]分别代表子码i(i=1,2,3)的码长、信息位长和最小汉明距离。

图1 3D⁃TPC的编码结构通过下述步骤可以得到如图1所示的3D⁃TPC码 [C=C1×C2×C3]:(1)将长度为[k1×k2×k3]的信息比特填入图中长、宽、高分别为[k1]、[k2]和[k3]的立方体中;(2)在z=0的平面上,沿着x轴用[C1]码对[k2]行信息进行编码;(3)在z=0的平面上,沿着[y]轴用[C2]码对[n1]列进行编码;(4)重复步骤(2)~(3)[k3-1]次,分别对[z=1,2,…,][k3-1]平面上的信息比特编码;(5)沿着z轴方向用[C3]码对[k3]个信息比特进行编码(共进行[n1×n2]次编码)。

新码[Cn,k,δ]的参数为[n=n1×n2×n3],[k=k1×k2×k3],[δ=δ1×δ2×δ3],码率为[R=R1×R2×R3],其中[Ri]是[Ci]的码率。

从这个编码过程可以看出,TPC对突发错误有效,因为该编码结构是天然的交织器。

2 3D⁃TPC译码原理2.1 代数译码代数译码也叫硬判决译码。

以线性分组码[Cn,k,d]为例,设其校验矩阵为[H,]经信道传输后的接收向量为[R。

]代数译码器的主要任务就是设法从[R]中得到正确的错误图样[E],然后计算估值码字[C]。

具体的译码步骤如下:(1)首先根据公式[S=R⋅HT]计算伴随式[S];(2)如果[S=0]则传输无错;如果[S≠0],则有[E≠0],根据伴随式[S]找出错误图样[E];(3)进行纠错,估计码字为[C=R⊕E],如果[C=C,]则译码正确,否则译码错误。

2.2 Chase算法译码3D⁃TPC的译码是一个迭代过程,如图2所示[4,6]。

其由三个SISO分量译码器组成,每个SISO分量译码器采用某种方法计算边缘信息,从而对先验信息进行修正,得到后验信息。

在进行迭代译码时,设接收向量矩阵为[R],边缘信息矩阵为[Wm],那么每一次迭代的软输入信息矩阵[7⁃8]可以表示为:[Rxm=R+αWzm] (1)[Rym=R+αWxm] (2)[Rzm=R+αλ1Wxm+λ2Wym] (3)式中:[m]表示迭代次数,[α,λ]为加权因子,理论上需要根据子码码型和迭代次数进行调整,实际应用采用经验值,性能没有明显恶化,但复杂度大为降低。

为了便于硬件实现[9],每个SISO分量译码器的边缘信息的计算采用基于Chase译码的方法。

图2 3D⁃TPC译码器结构假定3D⁃TPC的分量码[C1]和[C2]均为扩展hamming码,[C3]为奇偶校验码,码字[C]经过BPSK调制后在AWGN信道下传送,接收向量为[R=r1,r2,r3,…,rn,rn+1]。

基于Chase算法的SISO译码过程如下[10]:(1)对接收向量[R]的前[n]个比特进行硬判决,得到硬判决序列[Y=y1,y2,…,yn],判决规则为:[yi=1,ri>00,ri≤0] (4)(2)根据接收向量[R]选择[p]个最不可靠的位置。

最不可靠位置的选取原则为:选取[R]中绝对值最小的[p]个元素所在的位置。

(3)产生[2p]个测试图样[T=Tjj=1,2,…,2p,]每个测试图样的长度均为[n,]并且[T]包含所有上述[p]个位置为0或1、其余位置均为0的二元向量。

(4)确定[2p]个扰动序列:[Zj=Tj+Y, j=1,2,…,2p] (5)(5)对于每个扰动序列进行代数译码,得到译码结果[Cj]。

(6)计算[Cj]与[R]之间的度量即它们之间的欧氏距离:[mj=-] (6)(7)选择[mj]中的最小者对应的码字作为最大似然码字[D],记相应的度量为[mD],即:[D=Ck, k=argminmj] (7)(8)对于每个码元位置i(i=1,2,3,…,n+1),在[Cj]中搜索码字[D]的竞争者,即[Cji≠Di]的码字。

若存在多个,则选择度量值最小的作为竞争者,记[D]的竞争者的度量为[mC](需要说明的是[Cj]中可能不存在[D]的竞争者)。

(9)计算位置i的边缘信息,方法如下:①若存在[D]的竞争者,则:[wi=2Di-1mC-mD-ri] (8)②若不存在[D]的竞争者,则:[wi=2Di-1β] (9)式中[β]为预先指定的修正系数。

(10)对先验信息进行修正:[ri=ri+αwi] (10)根据上面的译码过程可以得到TPC的核心模块——Chase算法的译码流程,如图3所示。

图3 Chase算法译码流程3 译码器设计及FPGA实现在本方案中,[x]和[y]方向上的TPC子码选用(32,26,6)的扩展汉明码,[z]方向上的TPC子码选用(4,3,2)的偶校验码,最不可靠位置数[p=4,]迭代次数设为5次,[α=0.5,][β=1],[λ1=λ2=1。

]在此条件下,3D⁃TPC的译码性能如图4所示。

从图4中可以看出,当SNR=1.5 dB,其误码率可以达到10-6量级,显示了3D⁃TPC卓越的译码性能。

图4 3D⁃TPC的译码性能三维TPC译码器的硬件实现方案如图5所示。

图5显示的是1次迭代的过程,如果迭代5次,可以将图5代表的模块例化5次。

下面分别说明图5中各模块的作用。

FIFO:存放z方向软输入信息;RAM1:存放接收向量[[R];]RAM2:存放z和x方向软输出[[Rz,x(m)],]同时也是x和y方向软输入[[Rx,y (m)];]RAM3:存放x方向边缘信息[[Wx(m)];]RAM4:存放y方向软输出信息[[Ry(m)];]ROM1和ROM2:存放汉明码错误图样;加法器:将y方向软输出和x方向边缘信息相加,输出即为z方向软输入;译码控制器:控制三个方向译码器的工作时序以及各个存储器的读写过程。

相关文档
最新文档