CN106411327B - 一种交织器/解交织器可配置、可复用的Turbo码编译码器 - Google Patents

一种交织器/解交织器可配置、可复用的Turbo码编译码器 Download PDF

Info

Publication number
CN106411327B
CN106411327B CN201610883770.4A CN201610883770A CN106411327B CN 106411327 B CN106411327 B CN 106411327B CN 201610883770 A CN201610883770 A CN 201610883770A CN 106411327 B CN106411327 B CN 106411327B
Authority
CN
China
Prior art keywords
interlacing device
memory
decoder
encoder
intertexture table
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
CN201610883770.4A
Other languages
English (en)
Other versions
CN106411327A (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201610883770.4A priority Critical patent/CN106411327B/zh
Publication of CN106411327A publication Critical patent/CN106411327A/zh
Application granted granted Critical
Publication of CN106411327B publication Critical patent/CN106411327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种交织器/解交织器可配置、可复用的Turbo码编译码器,包括总线接口(A)、编码器(B)、交织器/解交织器(C)和译码器(D),其中的编码器和译码器共用交织器/解交织器,且交织器/解交织器的交织地址表可通过外部编程更改。采用本发明的Turbo码编译码器,具有交织表灵活可变,资源耗费少的特点。

Description

一种交织器/解交织器可配置、可复用的Turbo码编译码器
技术领域
本发明涉及无线通信领域中前向纠错的一种Turbo码编译码器,特别适用于WCDMA或卫星移动通信系统中前向纠错Turbo码编译码器的实现。
背景技术
Turbo码在无线通信中有着广泛的应用。第三代地面移动通信WCDMA,以及中国的第一代卫星移动通信,都采用了Turbo码。Turbo码的交织器对Turbo码的性能,有着较大的影响。一般采用伪随机交织器,实现时需要一个较大的存储表。中国的第一代卫星移动通信标准尚不稳定成熟,实现时需考虑到标准的更改或演进。
Turbo码的编码较简单,将原始码流编码一次,交织后再编码一次。其中涉及到一次交织处理。
Turbo码的译码计算量大,实现复杂。Turbo码最常用的译码算法为MAX-LOG-MAP算法。在译码时,使用两个软输入软输出(SISO)模块,交换软信息。第一个SISO模块的输出,经交织后送入第二个SISO;或者第二个SISO的输出,解交织后送入第一个SISO。因此,Turbo码的译码过程中,也涉及到频繁的交织和解交织。
因此,Turbo码的实现上,有较多的方法可挖掘,以便减小计算量、增加灵活性。
发明内容
本发明提供了一种增强Turbo码实现灵活性、减小资源消耗、可配置、可复用的Turbo码编译码器。本发明的要点有两个:1),为增强灵活性,设计使得交织表内的内容,既可以通过交织表生成器内部生成,也可以由外部处理器通过总线接口填写;2),为减小资源开销,交织器和解交织器为同一个模块,不同的配置实现不同的功能。同时,编码器和译码器共用交织器/解交织器,由一个仲裁器来裁决二者的使用权。
本发明的目的具体是这样实现的:
一种交织器/解交织器可配置、可复用的Turbo码编译码器,包括:
总线接口A,当编码器工作时,将外部数据转发给编码器B并将编码器B的处理结果进行对外输出;当译码器工作时,将外部数据转发给译码器D并将译码器D的处理结果进行对外输出;当对交织器/解交织器C内交织表存储器C1填写时,将外部数据转发给交织器/解交织器C;
编码器B,将输入数据进行Turbo编码,并将结果输出,在这个过程中,编码器将调用交织器/解交织器C;
译码器D,将输入数据进行Turbo译码,并将结果输出,在这个过程中,译码器将调用交织器/解交织器C;
交织器/解交织器C,将编码器或译码器送来的数据,按照交织表存储器的内容进行置乱,并将结果输出给编码器或译码器。
其中,交织器/解交织器C包括:
仲裁器C0:仲裁器C0在交织表生成器C2生成交织表存储器C1内容时,禁止编码器B和译码器D对交织表存储器C1的使用;在编码器B使用交织表存储器C1时,禁止译码器D对交织表存储器C1的使用;在译码器D使用交织表存储器C1时,禁止编码器B对交织表存储器C1的使用;
交织表存储器C1:交织表存储器C1为一个静态随机读写存储器SRAM,存储器的地址为每个待交织比特的序号,存储器的内容为交织后该比特的序号;在交织器/解交织器控制器C5控制下,交织表存储器C1的内容由外部处理器直接填写,或由交织表生成器C2生成并填写;
交织表生成器C2:在交织器/解交织器控制器C5控制下,交织表生成器C2生成交织图样,并存储在交织表存储器C1内;
输入数据存储器C3:在交织器/解交织器控制器C5控制下,输入数据存储器C3接收并存储编码器或译码器输入的数据;
输出数据存储器C4:在交织器/解交织器控制器C5控制下,输出数据存储器C4存储交织或解交织的结果;
交织器/解交织器控制器C5:控制交织表生成器C2生成交织表存储器C1里面的内容,并根据总线接口A的配置,进行交织或解交织操作。
显然,本发明的优点体现在:
1.由于交织表通过总线可配置,增强了系统的灵活性。
2.编码器和译码器共用交织器/解交织器,减小了资源开销。
附图说明
图1是本发明的总体原理框图;
图2是交织器/解交织器的详细结构图。
图3是编码器的详细结构图。
图4是译码器的详细结构图。
具体实施方式
参照图1至图4,对本发明作进一步说明。
一种交织器/解交织器可配置、可复用的Turbo码编译码器,包括总线接口A、编码器B、译码器D和交织器/解交织器C。实施例按图1连接线路。
总线接口A,当编码器工作时,将外部数据转发给编码器B并将编码器B的处理结果进行对外输出;当译码器工作时,将外部数据转发给译码器D并将译码器D的处理结果进行对外输出;当对交织器/解交织器C内交织表存储器C1填写时,将外部数据转发给交织器/解交织器C;
编码器B,将输入数据进行Turbo编码,并将结果输出,在这个过程中,编码器将调用交织器/解交织器C;
译码器D,将输入数据进行Turbo译码,并将结果输出,在这个过程中,译码器将调用交织器/解交织器C;
交织器/解交织器C,将编码器或译码器送来的数据,按照交织表存储器的内容进行置乱,并将结果输出给编码器或译码器。
交织器/解交织器C包括仲裁器C0、交织表存储器C1、交织表生成器C2、输入数据存储器C3、输出数据存储器C4和交织器/解交织器控制器C5。实施例按图2连接线路。
仲裁器C0,仲裁器C0在交织表生成器C2生成交织表存储器C1内容时,禁止编码器B和译码器D对交织表存储器C1的使用;在编码器B使用交织表存储器C1时,禁止译码器D对交织表存储器C1的使用;在译码器D使用交织表存储器C1时,禁止编码器B对交织表存储器C1的使用;
交织表存储器C1,交织表存储器C1为一个静态随机读写存储器SRAM,存储器的地址为每个待交织比特的序号,存储器的内容为交织后该比特的序号;在交织器/解交织器控制器C5控制下,交织表存储器C1的内容由外部处理器直接填写,或由交织表生成器C2生成并填写;
交织表生成器C2,在交织器/解交织器控制器C5控制下,交织表生成器C2生成交织图样,并存储在交织表存储器C1内;
输入数据存储器C3,在交织器/解交织器控制器C5控制下,输入数据存储器C3接收并存储编码器或译码器输入的数据;
输出数据存储器C4,在交织器/解交织器控制器C5控制下,输出数据存储器C4存储交织或解交织的结果;
交织器/解交织器控制器C5,控制交织表生成器C2生成交织表存储器C1里面的内容,并根据总线接口A的配置,进行交织或解交织操作。
图2中,交织器/解交织器C由仲裁器C0、交织表存储器C1、交织表生成器C2、输入数据存储器C3、输出数据存储器C4和交织器/解交织器控制器C5组成。仲裁器C0控制交织器/解交织器C是由编码器B使用、译码器D使用,还是外部处理器直接填写。交织器/解交织器控制器C5控制交织表生成器C2生成交织表存储器C1里面的内容,并控制交织器/解交织器C作交织器使用,还是作解交织器使用。交织表存储器C1的内容,为输入数据存储器C3里面按顺序存储数据交织后的地址。交织或解交织的结果,放在输出数据存储器C4中。
图3中,待编码数据首先由外部处理器放在编码器输入数据存储器B1中。在编码器控制器B3的作用下,编码计算单元B4从编码器输入数据存储器B1中读取数据,处理后存入编码器输出数据存储器B2中。然后,编码器控制器B3将编码器输入数据存储器B1里面的数据,搬移到交织器/解交织器C,并且启动交织。交织完成后,编码器控制器B3再次启动编码计算单元B4,将交织器/解交织器C的输出数据进行编码。编码结果存入编码器输出数据存储器B2中。
图4中,待译码数据按照x,z1,z2的分类方式,分别存储在译码器输入数据存储器D11、译码器输入数据存储器D13和译码器输入数据存储器D14中。首先,译码器控制器D3启动交织/解交织器C,将输入数据x进行交织,存储在译码器输入数据存储器D12中。然后,译码器控制器D3控制SISO译码单元D4,对输入数据进行译码。若干次迭代后,译码器控制器D3将译码结果作判决,存储在译码器输出数据存储器D2中,译码结束。

Claims (1)

1.一种交织器/解交织器可配置、可复用的Turbo码编译码器,其特征在于,包括:
总线接口(A),当编码器工作时,用于将外部数据转发给编码器(B)并将编码器(B)的处理结果进行对外输出;当译码器工作时,将外部数据转发给译码器(D)并将译码器(D)的处理结果进行对外输出;当对交织器/解交织器(C)内交织表存储器C1填写时,将外部数据转发给交织器/解交织器(C);
编码器(B),将输入数据进行Turbo编码,并将结果输出,在这个过程中,编码器将调用交织器/解交织器(C);
译码器(D),将输入数据进行Turbo译码,并将结果输出,在这个过程中,译码器将调用交织器/解交织器(C);
交织器/解交织器(C),将编码器或译码器送来的数据,按照交织表存储器的内容进行置乱,并将结果输出给编码器或译码器;
所述交织器/解交织器(C)包括:
仲裁器C0:仲裁器C0在交织表生成器C2生成交织表存储器C1内容时,禁止编码器(B)和译码器(D)对交织表存储器C1的使用;在编码器(B)使用交织表存储器C1时,禁止译码器(D)对交织表存储器C1的使用;在译码器(D)使用交织表存储器C1时,禁止编码器(B)对交织表存储器C1的使用;
交织表存储器C1:交织表存储器C1为一个静态随机读写存储器SRAM,存储器的地址为每个待交织比特的序号,存储器的内容为交织后该比特的序号;在交织器/解交织器控制器C5控制下,交织表存储器C1的内容由外部处理器直接填写,或由交织表生成器C2生成并填写;
交织表生成器C2:在交织器/解交织器控制器C5控制下,交织表生成器C2生成交织图样,并存储在交织表存储器C1内;
输入数据存储器C3:在交织器/解交织器控制器C5控制下,输入数据存储器C3接收并存储编码器或译码器输入的数据;
输出数据存储器C4:在交织器/解交织器控制器C5控制下,输出数据存储器C4存储交织或解交织的结果;
交织器/解交织器控制器C5:控制交织表生成器C2生成交织表存储器C1里面的内容,并根据总线接口(A)的配置,进行交织或解交织操作。
CN201610883770.4A 2016-10-11 2016-10-11 一种交织器/解交织器可配置、可复用的Turbo码编译码器 Active CN106411327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610883770.4A CN106411327B (zh) 2016-10-11 2016-10-11 一种交织器/解交织器可配置、可复用的Turbo码编译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610883770.4A CN106411327B (zh) 2016-10-11 2016-10-11 一种交织器/解交织器可配置、可复用的Turbo码编译码器

Publications (2)

Publication Number Publication Date
CN106411327A CN106411327A (zh) 2017-02-15
CN106411327B true CN106411327B (zh) 2019-11-05

Family

ID=59229168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610883770.4A Active CN106411327B (zh) 2016-10-11 2016-10-11 一种交织器/解交织器可配置、可复用的Turbo码编译码器

Country Status (1)

Country Link
CN (1) CN106411327B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110752897B (zh) * 2019-10-30 2022-02-18 中国电子科技集团公司第五十四研究所 一种用于多天线散射通信的多维动态交织装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237240A (zh) * 2008-02-26 2008-08-06 北京海尔集成电路设计有限公司 一种利用外部存储器实现卷积交织/解交织的方法及设备
CN101902303A (zh) * 2009-05-27 2010-12-01 中国科学院微电子研究所 一种实现交织与解交织复用的装置及方法
CN102684840A (zh) * 2012-05-29 2012-09-19 上海交通大学 低密度奇偶校验码的新型编码调制方法及装置
CN103905066A (zh) * 2012-12-25 2014-07-02 联想(北京)有限公司 Turbo码译码装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959403B2 (en) * 2006-11-10 2015-02-17 Optis Wireless Technology, Llc QPP interleaver/de-interleaver for turbo codes
CN101582737B (zh) * 2008-05-15 2012-09-12 展讯通信(上海)有限公司 卷积Turbo码交织器和解交织器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237240A (zh) * 2008-02-26 2008-08-06 北京海尔集成电路设计有限公司 一种利用外部存储器实现卷积交织/解交织的方法及设备
CN101902303A (zh) * 2009-05-27 2010-12-01 中国科学院微电子研究所 一种实现交织与解交织复用的装置及方法
CN102684840A (zh) * 2012-05-29 2012-09-19 上海交通大学 低密度奇偶校验码的新型编码调制方法及装置
CN103905066A (zh) * 2012-12-25 2014-07-02 联想(北京)有限公司 Turbo码译码装置和方法

Also Published As

Publication number Publication date
CN106411327A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
AU759044B2 (en) Partitioned deinterleaver memory for map decoder
US7640479B2 (en) Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
RU2451392C2 (ru) Способ и устройство для кодирования и декодирования данных
JP5129216B2 (ja) マップ・デコーダのためのメモリ・アーキテクチャ
MXPA01003814A (es) Sistema de codificacion que tiene una maquina de estado basada en un intercalador.
KR20100068293A (ko) 멀티플렉싱되는 출력을 가진 병렬 터보 디코더
CN1325566A (zh) 增强解码装置及交错-去交错装置
KR100593496B1 (ko) 변조 전 컨벌루션 부호화된 비트들을 심볼들로 할당하는방법 및 시스템
Gnaedig et al. Design of three-dimensional multiple slice turbo codes
CN106411327B (zh) 一种交织器/解交织器可配置、可复用的Turbo码编译码器
KR101269901B1 (ko) Harq를 지원하는 데이터 디레이트 매처 및 방법
GB2409133A (en) Interleaver for a turbo encoder and decoder
CN108270452A (zh) 一种Turbo译码器及译码方法
CN101515805B (zh) 一种Turbo译码器及其译码方法
CN101777923B (zh) Ctc编码器、内码交织器以及内码交织方法、编码处理方法
CN101771422B (zh) 交织方法、编码方法、交织器与编码器
CN101373977B (zh) 并行最大后验概率译码交织去交织的装置和方法
CN105577196A (zh) 基于宽带OFDM电力线通信系统的Turbo码数据交织方法和交织器
US8095845B1 (en) System and method for assigning code blocks to constituent decoder units in a turbo decoding system having parallel decoding units
CN105337691A (zh) Ldpc码字的交织映射方法及解交织解映射方法
JP2009077371A (ja) インタリーブ方法、送信機、無線機、および無線通信システム。
CN107332572B (zh) 一种快速可配置的Turbo编码器及编码方法
JP2003032125A (ja) ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局
CN117424610A (zh) 一种低延迟的ctc码的译码装置和方法
CN108023599A (zh) 一种用于Turbo译码的数据存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant