CN106899312B - 交织编解码方法及交织器 - Google Patents
交织编解码方法及交织器 Download PDFInfo
- Publication number
- CN106899312B CN106899312B CN201710082435.9A CN201710082435A CN106899312B CN 106899312 B CN106899312 B CN 106899312B CN 201710082435 A CN201710082435 A CN 201710082435A CN 106899312 B CN106899312 B CN 106899312B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- address
- unit data
- input
- 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
Images
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/27—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 using interleaving techniques
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开一种交织编解码方法及交织器,其中,该交织编解码方法包括步骤:将单元数据输入缓存单元;将单元数据的前一单元数据的输出地址作为本单元数据的输入地址;根据单元数据的输入地址,通过交织获得单元数据的输出地址;将单元数据输出缓存单元。本发明技术方案通过将前一单元数据的输出地址作为本单元数据的输入地址使用,使得数据单元输出之后立即可释放该缓存单元,省去了现有交织器中的临时缓存单元,节约了存储器的资源。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种交织编解码方法及交织器。
背景技术
在现代数字通信***中,为了减小信道传输过程中引入的脉冲噪声的影响,需要在信号发射端及接收端加入交织器,通过交织器将脉冲噪声带来的连续错误打散,将错误码元分散到多个码字中,以满足译码器的纠错能力的限制,消除脉冲噪声的不利影响。现有的交织编码、解码方法为避免数据被覆盖,在整组交织块的数据全部输出完成之前,交织器的缓存不能再接受新的数据输入,故需要另设一块临时缓存,以存放新输入的待交织处理的数据。为了达到足够的抗噪声能力,交织器的交织矩阵通常会有很大的取值,需要占用非常大容量的存储器资源,十分不利于存储器资源受限的***设计。
发明内容
本发明的主要目的是提供一种交织编解码方法,旨在提供一种可节约存储器的资源的交织编解码方法。
为实现上述目的,本发明提出的交织编解码方法,包括步骤:
将单元数据输入缓存单元;
将该单元数据的前一单元数据的输出地址作为该单元数据的输入地址;
根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
将所述单元数据输出缓存单元。
优选地,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
获取所述单元数据的输入地址;
将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
将所述f(x)作为所述单元数据的输出地址。
优选地,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
获取所述单元数据的输入地址;
将该数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
将所述f(x)作为所述单元数据的输出地址。
优选地,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
优选地,所述缓存单元输出一单元数据后,即输入另一单元数据。
本发明还提出一种交织器,包括:
输入模块,将单元数据输入缓存单元;
输入地址模块,将该单元数据的前一单元数据的输出地址作为该单元数据的输入地址;
输出地址模块,根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
输出模块,将所述单元数据输出缓存单元。
优选地,所述输出地址模块包括:
输入获取模块,获取所述单元数据的输入地址;
转换模块,将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块,将所述f(x)作为所述单元数据的输出地址。
优选地,所述输出地址模块包括:
输入获取模块,获取所述单元数据的输入地址;
转换模块,将该单元数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块,将所述f(x)作为所述单元数据的输出地址。
优选地,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
优选地,所述输出单元将一单元数据从缓存单元输出后,所述输入单元即将另一单元数据输入缓存单元。
本发明技术方案通过采用将前一单元数据的输出地址作为本单元数据的输入地址,根据本单元数据的输入地址,通过交织获得所述单元数据的输出地址,形成了一种交织编解码方法。通过将一个单元数据的输出地址作为下一个单元数据的输入地址,将交织器的输出地址和输入地址建立关联,使得缓存单元在输出一个单元数据之后立即可以接受下一个单元数据,而不必等待整组数据全都输出后才输入数据。本发明提高了缓存单元的利用率,避免了数据被覆盖的问题,节约了存储器的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明交织编解码方法一实施例的流程图;
图2为图1中步骤S30的流程图;
图3为本发明交织器一实施例的功能模块图;
图4为图3中的输出地址模块的功能模块图。
附图标号说明:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提出一种交织编解码方法。
参照图1,该交织编解码方法,包括步骤:
S10:将单元数据输入缓存单元;
S20:将该单元数据的前一单元数据的输出地址作为该单元数据的输入地址;
S30:根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
S40:将所述单元数据输出缓存单元。
需要说明的是,现有技术中需要将一组数据的所有的单元数据全都交织成功后,才可以将存储该组数据的缓存单元释放,用于下一组数据的存储。而本发明通过前一单元数据的输出地址作为所述单元数据的输入地址的方法将两组数据联系起来,在一组数据中的某一单元数据输出之后,存储该单元数据的缓存单元即可立即存入下一组数据的单元数据,进而节约了存储空间,省去了临时缓存单元。
进一步地,所述交织解码方法既可以应用于交织编码,也可以应用于交织解码的。
本发明技术方案通过采用将前一单元数据的输出地址作为本单元数据的输入地址,根据本单元数据的输入地址,通过交织获得所述单元数据的输出地址,形成了一种交织编解码方法。通过将一个单元数据的输出地址作为下一个单元数据的输入地址,将交织器的输出地址和输入地址建立关联,使得缓存单元在输出一个单元数据之后立即可以接受下一个单元数据,而不必等待整组数据全都输出后才输入数据。本发明提高了缓存单元的利用率,避免了数据被覆盖的问题,节约了存储器的资源。
参照图2,具体地,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
S31:获取所述单元数据的输入地址;
S32:将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
S33:将所述f(x)作为所述单元数据的输出地址。
进一步地,本发明实施例的具体计算过程为(以3*4交织矩阵的交织器为例):
(1)交织器初始化之后,第一个交织块的数据按自然累加的顺序输入,输入地址计算式为:
addr0(i)=i,i=0,1,2,...,n×m-1
得到的输入地址序列为:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
(2)第一个交织块的数据输出地址,根据本发明提供的公式进行计算,将输入地址代入:
addr1(i)=f(addr0(i))=addr0(i)%n×m+addr0/n,i=0,1,2,...,n×m-1.
得到的输出地址序列为:
0 | 4 | 8 | 1 | 5 | 9 | 2 | 6 | 10 | 3 | 7 | 11 |
(3)第一个交织块的数据输出地址,同时也作为第二个交织块的数据输入地址来使用。即每输出一个数据,就可以释放该数据所在的存储空间,用来容纳新的输入数据;
(4)第二个交织块的数据输出地址addr2就根据该交织块的输入地址,同时也是第一个交织块的数据输出地址addr1来计算,将其代入计算公式:
addr2(i)=f(addr1(i))=addr1(i)%n×m+addr1/n,i=0,1,2,...,n×m-1.
得到的输出地址序列为:
0 | 5 | 10 | 4 | 9 | 3 | 8 | 2 | 7 | 1 | 6 | 11 |
(5)以此类推,将第k个交织块的输出地址序列addrk,用做第k+1个交织块的输入地址序列,并代入本发明的计算公式,得出第k+1个交织块的输出地址序列addrk+1;
(6)可以得到第三个交织块的输出地址序列为:
0 | 9 | 7 | 5 | 3 | 1 | 10 | 8 | 6 | 4 | 2 | 11 |
(7)可以得到第四个交织块的输出地址序列为:
0 | 3 | 6 | 9 | 1 | 4 | 7 | 10 | 2 | 5 | 8 | 11 |
(8)可以得到第五个交织块的输出地址序列为:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
(9)此时就完成了一轮大的循环,回到了最初的输入地址序列,以上过程循环往复进行即可。
需要说明的是,本发明实施例用于对数据进行交织编码的方法中,于数字通信***的发射端中使用。
具体地,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
获取所述单元数据的输入地址;
将该数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
将所述f(x)作为所述单元数据的输出地址。
需要说明的是,本发明实施例用于对数据进行交织解码的方法中,于数字通信***的接收端中使用。与如上所述的数据交织编码方法类似,只将n和m的值进行互换。
具体地,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
需要说明的是,由于输入缓存单元的初始数据之前无数据输入,故第一组数据的输入地址通过自然累计获得。
具体地,所述缓存单元输出一单元数据后,即输入另一单元数据。
需要说明的,缓存单元输出一单元数据后,立即输入另一单元数据可提高缓存单元的利用率。
参照图3,本发明还提出一种交织器,包括:
输入模块10,将单元数据输入缓存单元;
输入地址模块20,将该单元数据的前一单元数据的输出地址作为该单元数据的输入地址;
输出地址模块30,根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
输出模块40,将所述单元数据输出缓存单元。
参照图4,具体地,所述输出地址模块30包括:
输入获取模块31,获取所述单元数据的输入地址;
转换模块32,将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块33,将所述f(x)作为所述单元数据的输出地址。
本发明的一实施例中,具体地,所述输出地址模块30包括:
输入获取模块31,获取所述单元数据的输入地址;
转换模块32,将该单元数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块33,将所述f(x)作为所述单元数据的输出地址。
具体地,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
具体地,所述输出单元将一单元数据从缓存单元输出后,所述输入单元即将另一单元数据输入缓存单元。
本发明的技术方案通过将所述单元数据的前一单元数据的输出地址作为所述单元数据的输入地址,形成了一种交织编解码方法。将交织器的输出地址和输入地址建立关联。使得缓存单元在输出一个单元数据之后立即可以接受下一个单元数据,而不必等待整组数据全都输出后才输入数据。本发明避免了数据被覆盖的问题,进而省去现有的交织器中的临时缓存模块,提高了资源的利用率。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (8)
1.一种交织编解码方法,其特征在于,包括步骤:
将单元数据输入缓存单元;
将该单元数据的前一单元数据的输出地址作为该单元数据的输入地址;
根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
将所述单元数据输出缓存单元;
其中,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
2.如权利要求1所述的交织编解码方法,其特征在于,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
获取所述单元数据的输入地址;
将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
将所述f(x)作为所述单元数据的输出地址。
3.如权利要求1中所述的交织编解码方法,其特征在于,根据所述单元数据的输入地址,交织获得所述单元数据的输出地址的步骤包括:
获取所述单元数据的输入地址;
将该单元数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
将所述f(x)作为所述单元数据的输出地址。
4.如权利要求1中所述的交织编解码方法,其特征在于,所述缓存单元输出一单元数据后,即输入另一单元数据。
5.一种交织器,其特征在于,包括:
输入模块,将单元数据输入缓存单元;
输入地址模块,将所述单元数据的前一单元数据的输出地址作为所述单元数据的输入地址;
输出地址模块,根据所述单元数据的输入地址,通过交织获得所述单元数据的输出地址;
输出模块,将所述单元数据输出缓存单元;
其中,输入缓存单元的第一组数据中的单元数据的输入地址通过公式:addr0(i)=i,i=0,1,2,...,n×m-1获得,其中n为交织矩阵中的行数,m为交织矩阵中的列数。
6.如权利要求5所述的交织器,其特征在于,所述输出地址模块包括:
输入获取模块,获取所述单元数据的输入地址;
转换模块,将该单元数据的输入地址代入公式:f(x)=x%n×m+x/n,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块,将所述f(x)作为所述单元数据的输出地址。
7.如权利要求5所述的交织器,其特征在于,所述输出地址模块包括:
输入获取模块,获取所述单元数据的输入地址;
转换模块,将该单元数据的输入地址代入公式:f(x)=x%m×n+x/m,其中f(x)为输出地址,x为输入地址,n为交织矩阵中的行数,m为交织矩阵中的列数;
输出获取模块,将所述f(x)作为所述单元数据的输出地址。
8.如权利要求5所述的交织器,其特征在于,所述输出单元将一单元数据从缓存单元输出后,所述输入单元即将另一单元数据输入缓存单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710082435.9A CN106899312B (zh) | 2017-02-15 | 2017-02-15 | 交织编解码方法及交织器 |
PCT/CN2018/072276 WO2018149256A1 (zh) | 2017-02-15 | 2018-01-11 | 交织编解码方法及交织器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710082435.9A CN106899312B (zh) | 2017-02-15 | 2017-02-15 | 交织编解码方法及交织器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106899312A CN106899312A (zh) | 2017-06-27 |
CN106899312B true CN106899312B (zh) | 2020-03-20 |
Family
ID=59198191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710082435.9A Active CN106899312B (zh) | 2017-02-15 | 2017-02-15 | 交织编解码方法及交织器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106899312B (zh) |
WO (1) | WO2018149256A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899312B (zh) * | 2017-02-15 | 2020-03-20 | 深圳思凯微电子有限公司 | 交织编解码方法及交织器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502168A (zh) * | 2001-02-23 | 2004-06-02 | 高通股份有限公司 | 随机存取多向cdma2000 turbo编码交织器 |
CN101800619A (zh) * | 2009-12-28 | 2010-08-11 | 福州瑞芯微电子有限公司 | 一种基于块交织的交织或解交织方法及其装置 |
CN101848006A (zh) * | 2009-03-26 | 2010-09-29 | 索尼公司 | 接收装置、接收方法、程序和接收*** |
CN102201892A (zh) * | 2011-05-13 | 2011-09-28 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899312B (zh) * | 2017-02-15 | 2020-03-20 | 深圳思凯微电子有限公司 | 交织编解码方法及交织器 |
-
2017
- 2017-02-15 CN CN201710082435.9A patent/CN106899312B/zh active Active
-
2018
- 2018-01-11 WO PCT/CN2018/072276 patent/WO2018149256A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1502168A (zh) * | 2001-02-23 | 2004-06-02 | 高通股份有限公司 | 随机存取多向cdma2000 turbo编码交织器 |
CN101848006A (zh) * | 2009-03-26 | 2010-09-29 | 索尼公司 | 接收装置、接收方法、程序和接收*** |
CN101800619A (zh) * | 2009-12-28 | 2010-08-11 | 福州瑞芯微电子有限公司 | 一种基于块交织的交织或解交织方法及其装置 |
CN102201892A (zh) * | 2011-05-13 | 2011-09-28 | 中兴通讯股份有限公司 | 一种交织或解交织的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106899312A (zh) | 2017-06-27 |
WO2018149256A1 (zh) | 2018-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113132B (zh) | 一种编译码方法和终端 | |
CN109379086B (zh) | 低复杂度的码率兼容的5g ldpc编码方法和编码器 | |
CN106899312B (zh) | 交织编解码方法及交织器 | |
CN109995383B (zh) | 译码方法、装置、存储介质 | |
EP3737013B1 (en) | Encoding method, decoding method and device | |
CN101577556A (zh) | 一种矩形交织的实现方法 | |
US8621333B2 (en) | Encoding device, controller and system including the same | |
CN101534130B (zh) | 数据交织方法和装置、数据解交织方法和装置以及译码器 | |
CN105577196B (zh) | 基于宽带OFDM电力线通信***的Turbo码数据交织方法和交织器 | |
CN103544113A (zh) | 基于数据块的卷积交织在fpga中ram的实现方法 | |
US8627022B2 (en) | Contention free parallel access system and a method for contention free parallel access to a group of memory banks | |
CN107528670B (zh) | 一种Turbo码交织地址的生成方法 | |
CN109150198B (zh) | 一种极化码的交织处理方法及装置 | |
CN111384976A (zh) | 稀疏校验矩阵的存储方法和读取方法 | |
CN101373977B (zh) | 并行最大后验概率译码交织去交织的装置和方法 | |
WO2014002043A1 (en) | Determining control bits of butterfly networks for parallel turbo decoding | |
US9361180B2 (en) | Storing data by an ECC memory | |
CN109889209B (zh) | 一种适用于宇航通信的速率自适应型ldpc译码器 | |
CN111193648B (zh) | 降低can总线负载的数据发送方法、终端设备及存储介质 | |
CN109525255B (zh) | 交织方法和交织装置 | |
CN110784287B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN109889210B (zh) | 交织编码方法及装置 | |
WO2024148946A1 (zh) | 数据传输方法、装置、***及计算机可读存储介质 | |
US8200733B1 (en) | Device having interleaving capabilities and a method for applying an interleaving function | |
CN116073944A (zh) | 数据传输的方法、装置、设备、***及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |