CN115580377A - 数据编码方法、电子设备、存储介质 - Google Patents
数据编码方法、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115580377A CN115580377A CN202110686521.7A CN202110686521A CN115580377A CN 115580377 A CN115580377 A CN 115580377A CN 202110686521 A CN202110686521 A CN 202110686521A CN 115580377 A CN115580377 A CN 115580377A
- Authority
- CN
- China
- Prior art keywords
- cache
- bits
- check
- bit
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000000872 buffer Substances 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 12
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- 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
-
- 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/6522—Intended application, e.g. transmission or communication standard
-
- 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/6561—Parallelized implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- 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
-
- 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/0057—Block 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/0061—Error detection codes
-
- 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/6569—Implementation on processors, e.g. DSPs, or software implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18513—Transmission in a satellite or space-based system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种数据编码方法、电子设备、存储介质,该数据编码方法包括:将信息位写入至少两个缓存块,其中,所述缓存块中保存有与所述信息位相对应的校验位,所述校验位相邻的两位数据保存于不同的所述缓存块;根据所述缓存块中的所述信息位和所述校验位进行LDPC编码。根据本发明实施例提供的方案,由于校验位保存于不同的缓存块,在完成校验位的更新迭代计算后,FPGA能够以并行的方式从多个缓存块读取校验位,为实现校验位的读取速度,有效提高了编码效率和卫星通信系统的交互速率。
Description
技术领域
本发明涉及但不限于通信技术领域,尤其涉及一种数据编码方法、电子设备、存储介质。
背景技术
卫星通信系统由卫星、主站系统、端站系统和应用程序(Application,APP)系统组成,位于地球的主站系统和端站系统以卫星作为中继站,实现信号转发,其中,由主站系统到卫星到端站系统方向的传输链路称为前向链路,为了提高卫星通信系统的信号传输质量,增强信道的抗干扰能力,数字卫星直播(Digital Video Broadcasting,DVB)-S2协议规定了前向链路的编码方式为低密度奇偶校验码(Low Density Parity Check Code,LDPC)编码方式,将信息位分割成多个数据块,再根据设定好的校验位对校验位依次进行更新迭代计算和异或运算。
DVB-LDPC编码通常由现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)执行,常见的实现方案会在随机存取存储器(Random Access Memory,RAM)的每一列摆放一个比特(bit)的校验位,通过按列串行摆放的校验位实现更新迭代的并行计算。这虽然提高了更新迭代的效率,但是异或运算必须采用串行的方式进行数据获取,而FPGA在同一缓存中一次只能获取一个地址的数据,这就导致异或运算只能逐个bit进行,编码效率较低,影响卫星通信系统的交互速率。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种数据编码方法、电子设备、存储介质,能够提高异或运算的效率,从而提高卫星通信系统的交互速率。
第一方面,本发明实施例提供了一种数据编码方法,包括:
将信息位写入至少两个缓存块,其中,所述缓存块中保存有与所述信息位相对应的校验位,所述校验位相邻的两位数据保存于不同的所述缓存块;
根据所述缓存块中的所述信息位和所述校验位进行LDPC编码。
第二方面,本发明实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的数据编码方法。
本发明实施例包括:将信息位写入至少两个缓存块,其中,所述缓存块中保存有与所述信息位相对应的校验位,所述校验位相邻的两位数据保存于不同的所述缓存块;根据所述缓存块中的所述信息位和所述校验位进行LDPC编码。根据本发明实施例提供的方案,由于校验位保存于不同的缓存块,在完成校验位的更新迭代计算后,FPGA能够以并行的方式从多个缓存块读取校验位,为实现校验位的读取速度,有效提高了编码效率和卫星通信系统的交互速率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的数据编码方法的流程图;
图2是本发明另一个实施例提供的RAM的结构图;
图3是本发明另一个实施例提供的确定缓存块的流程图;
图4是本发明另一个实施例提供的数据块分割的流程图;
图5是本发明另一个实施例提供的目标排列结构的流程图;
图6是本发明另一个实施例提供的LDPC编码的流程图;
图7是本发明另一个实施例提供的多数据块处理的流程图;
图8是本发明另一个实施例提供的确定缓存块的流程图;
图9是本发明另一个实施例提供的清零缓存块的流程图;
图10是本发明一个示例中提供的数据编码方法流程图;
图11是本发明另一个实施例提供的电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种数据编码方法、电子设备、存储介质,该数据编码方法包括:将信息位写入至少两个缓存块,其中,所述缓存块中保存有与所述信息位相对应的校验位,所述校验位相邻的两位数据保存于不同的所述缓存块;根据所述缓存块中的所述信息位和所述校验位进行LDPC编码。根据本发明实施例提供的方案,由于校验位保存于不同的缓存块,在完成校验位的更新迭代计算后,FPGA能够以并行的方式从多个缓存块读取校验位,为实现校验位的读取速度,有效提高了编码效率和卫星通信系统的交互速率。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的一种数据编码方法,包括但不限于有以下步骤:
步骤S110,将信息位写入至少两个缓存块,其中,缓存块中保存有与信息位相对应的校验位,校验位相邻的两位数据保存于不同的缓存块。
需要说明的是,信息位可以来自于一个传输块,在获取到传输块之后,可以先对可用的缓存空间进行确定,当有足够的空间能够用于存放改传输块,再执行后续步骤,避免空间不足导致编码失败。
需要说明的是,由于FPGA从一个缓存只能一次读取一个地址,因此,为了实现并行读取校验位,可以采用至少两个缓存块保存校验位,并且将校验位按照排列顺序逐位写入缓存块,使得FPGA需要从多个缓存中读取校验位,实现了校验位的并行读取,提高了LDPC编码的效率。
步骤S120,根据缓存块中的信息位和校验位进行LDPC编码。
需要说明的是,由于校验位分布于不同的缓存块,使得进行异或运算时能够以并行方式读取,相比起串行逐位读取的方式有效提高了异或运算的数据获取效率,从而提高卫星通信系统的交互速率。
另外,在一实施例中,至少两个缓存块归属于同一RAM。
需要说明的是,为了在FPGA中实现具备至少两个缓存块,可以采用拼接结构的RAM,例如图2所示的RAM结构示意图,该RAM由N个缓存块依次拼接得到,缓存块1与缓存块2相拼接,缓存块2与缓存块3相拼接,以此类推。
值得注意的是,对于FPGA而言,RAM的大小通常是固定的,例如常见18k和36k,以18K为例,RAM通常有1024行,每行可以存放18bit数据,为了提高资源的利用率,缓存块的位宽设置为18bit,通过20个缓存块进行拼接,则能够用于存放360bit的数据,再在每个缓存块中分配校验位缓存,当然,也可以选取小于18bit的位宽进行缓存块的配置,本领域技术人员有动机根据实际情况调整位宽的具体数值,在此不多作限定。
另外,参照图3,在一实施例中,在执行图1所示实施例中的步骤S110之前,还包括但不限于有以下步骤:
步骤S310,获取预设的目标排列结构;
步骤S320,在至少两个缓存块中确定校验位缓存,其中,全部的校验位缓存组成的排列结构与目标排列结构相匹配。
需要说明的是,校验位缓存的排列结构可以根据实际需求制定,例如,当采用了图9所示的RAM结构,考虑到校验位和信息位需要按顺序写入,可以采用螺旋结构作为目标排列结构,即校验位缓存逐行偏移,在采用了18bit作为位宽的情况下,将第一个缓存块的第一行的前18位确定为校验位缓存1,将第二个缓存块的第二行的第19-36位确定为校验位缓存2,以此类推,实现呈逐行偏移的螺旋结构,能够充分利用缓存资源。当然,本领域技术人员有动机根据实际的内存情况调整排列方式,能够确保每个校验位缓存位于不同的缓存块即可。
需要说明的是,通过上述方式得到的校验位缓存,保存于其中的校验位之间的偏移量由目标排列结构决定,例如,用于进行LDPC编码的RAM空间大小为360bit,则偏移量的取值范围可以是1至359之间的任意数值,参考图9,当采用图9所示的螺旋结构,则相邻两位的校验位的偏移量与位宽相同,为18bit,具体的偏移量根据校验位缓存的位宽和排列方式调整即可,在此不对具体数值多作限定。
值得注意的是,偏移量和缓存块的位宽并没有严格的对应关系,也可以将偏移量设置与位宽不一样的数值,能够确保每一位校验位能够直接存入对应的缓存块即可。
另外,参照图4,在一实施例中,在执行完图3所示实施例中的步骤S320之后,还包括但不限于有以下步骤:
步骤S410,在校验位缓存进行清零操作。
需要说明的是,在校验位缓存确定之后,对校验位缓存进行清零操作,能够得到初始校验位,其中,该初始校验位中每一位的初始数值均为零。
值得注意的是,进行清零操作的位置为传输块所对应的位置,即用于保存校验位的位置,由于校验位缓存具有一定的位宽,若存在一些空间并不涉及该次LDPC编码,也可以不对上述空间进行清零操作,本实施例对此不多作限定。
另外,参照图5,在一实施例中,图1所示实施例中的步骤S110,还包括但不限于有以下步骤:
步骤S510,根据信息位得到数据块;
步骤S520,确定由数据块进行更新的初始校验位,并确定与初始校验位所对应的目标缓存地址信息;
步骤S530,根据目标缓存地址信息,将数据块写入校验位缓存,其中,校验位缓存中的数据块的数据与初始校验位的数据具有相同编码处理顺序。
需要说明的是,对于卫星通信而言,有关协议规定了信息位的大小,例如为64800bit,因此,为了充分利用RAM的存储资源,可以预先制定数据块的规模,例如可以根据预先制定的规模将信息位分割成若干个360bit的数据块,当然,也可以根据实际的缓存资源和基于减少计算的复杂度的需求调整数据块规模,本实施例对此不多作赘述。
需要说明的是,初始校验位的获取方式可以参考图4中实施例所述的方式,为了叙述简便在此不再赘述。
可以理解的是,在初始校验位确定之后,每一位校验位的缓存地址也应当是确定的,因此可以在确定初始校验位之后保存对应的缓存地址,例如可以保存在只读内存(Read-Only Memory,ROM)中。而且,在编码之前,信息位和校验位的对应关系应当是确定的,因此可以在写入数据块之前,确定需要通过该数据块进行更新的初始校验位,从ROM中读取与该初始校验位所对应的目标缓存地址信息,将数据块写入缓存块之后,根据该目标缓存地址信息调整数据块中每个数据的位置,使其匹配校验位的螺旋结构,从而在每一个校验位缓存中保存有具有相同编码处理顺序的数据块数据和初始校验位。
需要说明的是,在分割数据块后,可以将每一bit数据存放在一个校验位缓存,例如图9所示,20个缓存块,每个缓存块的位宽为18bit,校验位缓存按照螺旋结构分布于缓存块中,在得到数据块之后,在校验位缓存1中存放1bit的数据块数据,在校验位缓存2中存放1bit的数据块数据,并且,由于数据块具有360bit,而校验位缓存的位宽为18,一个数据块数据1只占用了1个bit,因此可以将第21个数据块数据可以存放校验位缓存1的第二位,第22个数据块数据存放校验位缓存2的第二位,以此类推,直至360bit的数据块数据全部存放校验位缓存,其中,校验位的摆放方式可以与数据块数据相似,在此不多作赘述。
值得注意的是,按照图9所示的螺旋结构存放数据,能够以并行的方式读取校验位缓存中的数据,例如处理器能够实现18bit的并行度,则第一次从校验位缓存1至18中获取校验位的第1至18位,第二次从校验位缓存19至20、校验位缓存1至16获取校验位的第19至36位,以此类推实现校验位的并行读取,提高了数据读取的效率,从而提高LDPC编码的效率。
另外,参照图6,在一实施例中,图1所示实施例中的步骤S120,还包括但不限于有以下步骤:
步骤S610,根据校验位缓存中的初始校验位和数据块进行更新迭代计算,得到目标信息位和目标校验位,其中,目标信息位和目标校验位保存于校验位缓存;
步骤S620,从校验位缓存获取目标信息位和目标校验位,针对目标校验位缓存进行异或计算,得到LDPC编码结果。
需要说明的是,在初始校验位和数据块的数据均保存在校验位缓存时,可以根据获取到的目标缓存地址信息,通过FPGA从缓存中读取出初始校验位,并与调整结构后的数据块进行更新迭代计算,具体的更新迭代计算方法并非本实施例做出的改进,本领域技术人员在获取到数据之后熟知如何进行,在此不多作赘述。
可以理解的是,在完成更新迭代计算之后,校验位缓存中的数据为目标信息位和目标校验位,由于校验位缓存的排列结构决定了目标校验位保存在不同的缓存块中,因此,可以通过并行的方式对目标校验位进行读取,从而提高LDPC编码的效率。
值得注意的是,对于目标信息位的读取方式可以采用常见的串行读取,本实施例对此不多作赘述。
需要说明的是,目标校验位的异或计算是针对相邻的两位进行的,例如,如图9所示的结构中,校验位1的异或结果为本身,校验位2的异或计算与校验位1进行,以此类推,,在采用本实施例的技术方案实现目标校验位的并行获取之后,本领域技术人员熟知如何完成异或计算,并根据异或计算后的目标校验位和目标信息位得到LDPC编码结果,在此不多作赘述。
另外,参照图7,在一实施例中,数据块的数量至少为二个,图6所示实施例中的步骤S610,还包括但不限于有以下步骤:
步骤S710,从校验位缓存中获取数据块和初始校验位;
步骤S720,针对每个数据块和对应的初始校验位进行更新迭代计算,得到中间校验位,并将中间校验位和数据块写入对应的校验位缓存;
步骤S730,在得到全部的中间校验位的情况下,确定校验位缓存中的数据为目标信息位和目标校验位。
需要说明的是,在步骤S720中所执行的更新迭代计算,实现了对初始校验位进行首次更新,得到中间校验位之后,而由于信息位被分割成多个数据块,因此需要确保每个数据块都完成该步骤的计算,因此,在得到中间校验位之后,可以写入对应的校验位缓存中,将下一个数据块以上述实施例所述的相同的方法写入校验位,进一步执行步骤S720所记载的更新迭代计算,当全部的数据块均完成之后,可以确定校验位的计算完成,得到的校验位确定为目标校验位。
另外,参照图8,在一实施例中,图6所示实施例中的步骤S620,还包括但不限于有以下步骤:
步骤S810,获取预先设定的并行度;
步骤S820,根据并行度,以串行的方式获取目标信息位;
步骤S830,根据并行度和目标排列结构,以并行的方式从校验位缓存获取目标校验位。
需要说明的是,并行度可以根据实际的处理能力调整,本实施例对并行度的具体数值不多作限定,例如,以18bit并行度进行数据读取时,第一次从前18个缓存块的首位缓存地址读取第一位数据,第二次从缓存块19至20的首位缓存地址读取第一位数据,并从缓存块1至16的第二位地址读取第二位数据,上述操作均没有涉及从一个缓存中读取多个地址,因此FPGA是能够实现的,有效提高了数据读取的效率。
需要说明的是,根据设定好的并行度,以串行的方式获取目标信息位为本领域技术人员熟知的技术,在此不多作赘述。
需要说明的是,参考图9所示的螺旋结构的排列方式,每一位的数据块数据和校验码分别位于不同的行和列,并且相邻的两位位于不同的缓存块,而对于不同的缓存块,FPGA是能够同时读取数据的,因此,在目标排列结构确定的情况下,校验位缓存的地址是可知的,因此通过本实施例的校验位缓存和校验位的摆放结构,决定了校验位能够实现并行读取。
为了更好地说明本发明实施例的技术方案,以下以一个示例进行举例说明:
在本示例中,RAM的结构如图9所示,由20个位宽为18bit的缓存块组成,为了简化复杂度,偏移量的数值以18bit为例,并且校验位缓存的排列结构采用螺旋结构。
参照图10,本示例的数据编码方法,包括但不限于有以下步骤:
步骤S1010,对当前的信息位及校验位在缓存RAM中的位置进行清零操作;
步骤S1020,将信息位按360bit进行数据块分割分成若干个360bit数据块;
步骤S1030,将第一个360数据块写入校验位缓存,根据螺旋结构对360数据块中的数据进行移位,使其与校验位的相匹配,从校验位缓存中取出校验位和移位后的360数据块进行异或,将更新迭代操作得到的中间结果写入校验位缓存;
步骤S1040,重复步骤S1030,直至全部的360数据块完成更新迭代操作;
步骤S1050,当所有360数据块都完成更新计算后,按18bit并行度串行读取信息位,根据螺旋结构的方式按18bit并行度读取校验位;
步骤1060,按照18bit并行度对校验位进行异或运算,完成LDPC编码。
另外,参照图11,本发明的一个实施例还提供了一种电子设备,该电子设备1100包括:存储器1110、处理器1120及存储在存储器1110上并可在处理器1120上运行的计算机程序。
处理器1120和存储器1110可以通过总线或者其他方式连接。
实现上述实施例的数据编码方法所需的非暂态软件程序以及指令存储在存储器1110中,当被处理器1120执行时,执行上述实施例中的数据编码方法,例如,执行以上描述的图1中的方法步骤S110至步骤S120、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410、图5中的方法步骤S510至步骤S530、图6中的方法步骤S610至步骤S620、图7中的方法步骤S710至步骤S730、图8中的方法步骤S810至步骤S830。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的数据编码方法,例如,执行以上描述的图1中的方法步骤S110至步骤S120、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410、图5中的方法步骤S510至步骤S530、图6中的方法步骤S610至步骤S620、图7中的方法步骤S710至步骤S730、图8中的方法步骤S810至步骤S830。本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种数据编码方法,包括:
将信息位写入至少两个缓存块,其中,所述缓存块中保存有与所述信息位相对应的校验位,所述校验位相邻的两位数据保存于不同的所述缓存块;
根据所述缓存块中的所述信息位和所述校验位进行低密度奇偶校验码LDPC编码。
2.根据权利要求1所述的方法,其特征在于:所述至少两个缓存块归属于同一随机存取存储器RAM。
3.根据权利要求1所述的方法,其特征在于,在所述将信息位写入至少两个缓存块之前,所述方法还包括:
获取预设的目标排列结构;
在至少两个所述缓存块中确定校验位缓存,其中,全部的所述校验位缓存组成的排列结构与所述目标排列结构相匹配。
4.根据权利要求3所述的方法,其特征在于,在所述在至少两个所述缓存块中确定校验位缓存之后,所述方法还包括:
在所述校验位缓存进行清零操作。
5.根据权利要求3所述的方法,其特征在于,所述将信息位写入至少两个缓存块,包括:
根据所述信息位得到数据块;
确定由所述数据块进行更新的初始校验位,并确定与所述初始校验位所对应的目标缓存地址信息;
根据所述目标缓存地址信息,将所述数据块写入所述校验位缓存,其中,所述校验位缓存中的所述数据块的数据与所述初始校验位的数据具有相同编码处理顺序。
6.根据权利要求5所述的方法,其特征在于,所述根据所述缓存块中的所述信息位和所述校验位进行LDPC编码,包括:
根据所述校验位缓存中的所述初始校验位和所述数据块进行更新迭代计算,得到目标信息位和目标校验位,其中,所述目标信息位和目标校验位保存于所述校验位缓存;
从所述校验位缓存获取所述目标信息位和所述目标校验位,针对所述目标校验位缓存进行异或计算,得到LDPC编码结果。
7.根据权利要求6所述的方法,其特征在于,所述数据块的数量至少为二个,所述根据所述校验位缓存中的所述初始校验位和所述数据块进行更新迭代计算,包括;
从所述校验位缓存中获取所述数据块和所述初始校验位;
针对每个所述数据块和对应的所述初始校验位进行更新迭代计算,得到中间校验位,并将所述中间校验位和所述数据块写入对应的所述校验位缓存;
在得到全部的中间校验位的情况下,确定所述校验位缓存中的数据为所述目标信息位和所述目标校验位。
8.根据权利要求6所述的方法,其特征在于,所述从所述校验位缓存获取所述目标信息位和所述目标校验位,包括:
获取预先设定的并行度;
根据所述并行度,以串行的方式获取所述目标信息位;
根据所述并行度和所述目标排列结构,以并行的方式从所述校验位缓存获取所述目标校验位。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的数据编码方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至8中任意一项所述的数据编码方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110686521.7A CN115580377A (zh) | 2021-06-21 | 2021-06-21 | 数据编码方法、电子设备、存储介质 |
PCT/CN2022/094471 WO2022267790A1 (zh) | 2021-06-21 | 2022-05-23 | 数据编码方法、电子设备、存储介质 |
JP2023577809A JP2024523042A (ja) | 2021-06-21 | 2022-05-23 | データ符号化方法、電子機器及び記憶媒体 |
KR1020247001422A KR20240021292A (ko) | 2021-06-21 | 2022-05-23 | 데이터 인코딩 방법, 전자 디바이스, 저장 매체 |
EP22827287.8A EP4358414A1 (en) | 2021-06-21 | 2022-05-23 | Data encoding method, electronic device, and storage medium |
US18/572,500 US20240289214A1 (en) | 2021-06-21 | 2022-05-23 | Data encoding method, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110686521.7A CN115580377A (zh) | 2021-06-21 | 2021-06-21 | 数据编码方法、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115580377A true CN115580377A (zh) | 2023-01-06 |
Family
ID=84544079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110686521.7A Pending CN115580377A (zh) | 2021-06-21 | 2021-06-21 | 数据编码方法、电子设备、存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240289214A1 (zh) |
EP (1) | EP4358414A1 (zh) |
JP (1) | JP2024523042A (zh) |
KR (1) | KR20240021292A (zh) |
CN (1) | CN115580377A (zh) |
WO (1) | WO2022267790A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394661B (zh) * | 2011-11-08 | 2015-05-06 | 北京邮电大学 | 基于层译码处理的ldpc译码器及译码方法 |
US9489309B2 (en) * | 2014-10-31 | 2016-11-08 | Oracle International Corporation | Method and system for dynamic cache partitioning using address remapping |
CN106936446A (zh) * | 2017-03-10 | 2017-07-07 | 南京大学 | 一种基于多进制ldpc码的高速译码器及其译码方法 |
CN109347486B (zh) * | 2018-10-11 | 2021-07-20 | 西安电子科技大学 | 低复杂度高吞吐率的5g ldpc编码器和编码方法 |
CN111313912B (zh) * | 2020-03-02 | 2023-10-27 | 北京华力创通科技股份有限公司 | 一种ldpc码编码器及编码方法 |
CN112764673B (zh) * | 2020-12-28 | 2024-03-15 | 中国测绘科学研究院 | 高光谱线阵数据存储速率优化方法、装置和存储介质 |
-
2021
- 2021-06-21 CN CN202110686521.7A patent/CN115580377A/zh active Pending
-
2022
- 2022-05-23 JP JP2023577809A patent/JP2024523042A/ja active Pending
- 2022-05-23 WO PCT/CN2022/094471 patent/WO2022267790A1/zh active Application Filing
- 2022-05-23 US US18/572,500 patent/US20240289214A1/en active Pending
- 2022-05-23 KR KR1020247001422A patent/KR20240021292A/ko unknown
- 2022-05-23 EP EP22827287.8A patent/EP4358414A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240021292A (ko) | 2024-02-16 |
EP4358414A1 (en) | 2024-04-24 |
WO2022267790A1 (zh) | 2022-12-29 |
JP2024523042A (ja) | 2024-06-25 |
US20240289214A1 (en) | 2024-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101306645B1 (ko) | 시행착오에 의한 에러 보정 디코딩 | |
US9755665B1 (en) | Systems and methods for an iterative decoding scheme | |
US20160294419A1 (en) | Coding and decoding methods and apparatus | |
US7917835B2 (en) | Memory system and method for use in trellis-based decoding | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN103209210B (zh) | 一种提高基于纠删码的存储集群恢复性能的方法 | |
CN103106124B (zh) | 一种基于纠删码集群存储系统的交叉重构方法 | |
US11296723B2 (en) | Methods and apparatuses for data processing in communication system | |
JP2023508449A (ja) | 復号化方法、装置、ネットワークデバイス及び記録媒体 | |
US8972815B1 (en) | Recovery of media datagrams | |
US10090863B2 (en) | Coding and decoding methods and apparatus | |
CN102340317B (zh) | 结构化ldpc码的高吞吐率译码器及译码方法 | |
US20210357275A1 (en) | Message stream processor microbatching | |
CN115580377A (zh) | 数据编码方法、电子设备、存储介质 | |
US20160037119A1 (en) | Video recording apparatus, and video recording method when temporary network failure occurs | |
CN102742164B (zh) | 一种译码方法和译码装置 | |
US10819622B2 (en) | Batch checkpointing for inter-stream messaging system | |
CN113778948A (zh) | 消息持久化存储方法及装置 | |
CN111984443B (zh) | 一种分布式系统环境下的编码方法、解码方法和对应装置 | |
CN110908886A (zh) | 一种数据发送方法、装置、电子设备和存储介质 | |
CN111384976A (zh) | 稀疏校验矩阵的存储方法和读取方法 | |
CN113472361B (zh) | 一种极化码的获取方法及获取系统 | |
CN109495210B (zh) | 用于在无线通信系统中交织数据的方法、设备和计算机可读存储介质 | |
CN111158589B (zh) | 存储阵列的动态管理方法和装置 | |
KR101159165B1 (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 |