[go: up one dir, main page]

CN106301393B - A Fast Calculation Method of Interleaving Address Based on Turbo Coding - Google Patents

A Fast Calculation Method of Interleaving Address Based on Turbo Coding Download PDF

Info

Publication number
CN106301393B
CN106301393B CN201610586087.4A CN201610586087A CN106301393B CN 106301393 B CN106301393 B CN 106301393B CN 201610586087 A CN201610586087 A CN 201610586087A CN 106301393 B CN106301393 B CN 106301393B
Authority
CN
China
Prior art keywords
order
interl
address
data
even number
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
CN201610586087.4A
Other languages
Chinese (zh)
Other versions
CN106301393A (en
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.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
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 China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN201610586087.4A priority Critical patent/CN106301393B/en
Publication of CN106301393A publication Critical patent/CN106301393A/en
Application granted granted Critical
Publication of CN106301393B publication Critical patent/CN106301393B/en
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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种基于Turbo编码的交织地址快速计算方法,根据交织地址计算算法要求,经过数学推导与仿真确认,提出了基于加法逻辑的turbo编码交织地址计算方法。与现有卫星技术中采用复杂乘除与取模逻辑,或利用有限Block RAM资源等措施相比,本专利解决了传统交织地址计算方法的计算过程逻辑复杂、FPGA资源占用多、计算结果延迟大等技术缺点,大大提高了交织地址计算的高效性和实时性,在所有卫星实现基于Turbo编译码方面有着广阔的应用前景。

The invention relates to a fast calculation method of an interleaving address based on turbo coding. According to the requirements of the calculation algorithm of the interleaving address, after mathematical derivation and simulation confirmation, a turbo coding interleaving address calculation method based on addition logic is proposed. Compared with the existing satellite technology that adopts complex multiplication and division and modulo logic, or uses limited Block RAM resources, this patent solves the traditional interleaving address calculation method, which has complex calculation process logic, large FPGA resource occupation, and large delay in calculation results. Technical shortcomings greatly improve the efficiency and real-time performance of interleaving address calculations, and have broad application prospects in realizing Turbo-based encoding and decoding for all satellites.

Description

一种基于Turbo编码的交织地址快速计算方法A Fast Calculation Method of Interleaving Address Based on Turbo Coding

技术领域technical field

本发明涉及一种基于Turbo编码的交织地址快速计算方法,克服了乘除逻辑和Block RAM查找表等计算过程复杂、FPGA资源占用多、计算结果延迟大等技术缺点,大大提高了交织地址计算的高效性和实时性,主要在各类轨道卫星的测控平台上使用,属于卫星测控技术领域。The invention relates to a fast calculation method for interleaving addresses based on Turbo coding, which overcomes technical shortcomings such as complex calculation processes such as multiplication and division logic and Block RAM lookup tables, large FPGA resource occupation, and large delay in calculation results, and greatly improves the efficiency of interleaving address calculations. It is mainly used on the measurement and control platforms of various orbiting satellites, and belongs to the field of satellite measurement and control technology.

背景技术Background technique

Turbo编码又称并行级联卷积码,属于测控或通信领域的一种高增益信道编码。在Turbo编码过程中,为了提高编码增益,减少系统功耗,降低发射天线的有效辐射功率,要求编码器b数据读取地址(即交织地址)是随机的,需要根据Turbo编码既定算法进行计算。Turbo coding, also known as parallel concatenated convolutional code, belongs to a high-gain channel coding in the field of measurement and control or communication. In the turbo coding process, in order to increase the coding gain, reduce the system power consumption, and reduce the effective radiation power of the transmitting antenna, the data reading address of the encoder b (that is, the interleaving address) is required to be random, which needs to be calculated according to the established turbo coding algorithm.

基于乘除逻辑的交织地址计算算法严格遵循Turbo编码给定算法,基于Memory资源的交织地址查找算法,均可得到交织地址,但是这些设计存在以下不足:(1)基于乘除逻辑的交织地址计算算法其特点是逻辑运算量较大,实现比较复杂,占用硬件资源(乘法器IP、Slices和查找表LUTs)也比较多,计算结果延迟大;(2)基于Memory资源的交织地址查找算法其特点是此简单、直观,将复杂的乘法、除法、移位和取模逻辑运算交付由matlab程序完成,算法中采用了Slices和LUTs硬件资源大大减少,但器件96个Block RAM块资源占去了6个,对于背景型号所需的非相干扩频多站测定轨需求而言,6个Block RAM块资源是很珍惜的,甚至可以造成既定硬件平台无法完成型号任务需求。The interleaving address calculation algorithm based on multiplication and division logic strictly follows the given algorithm of Turbo coding, and the interleaving address search algorithm based on Memory resources can obtain the interleaving address, but these designs have the following deficiencies: (1) The interleaving address calculation algorithm based on multiplication and division logic has its own It is characterized by a large amount of logic operations, complex implementation, and takes up more hardware resources (multiplier IP, Slices, and lookup tables LUTs), and the delay in calculation results is large; (2) The interleaving address lookup algorithm based on Memory resources is characterized by this Simple and intuitive, the complex multiplication, division, shift and modulus logic operations are delivered to the matlab program. The algorithm uses Slices and LUTs to greatly reduce hardware resources, but the device occupies 6 of the 96 Block RAM resources. For the non-coherent spread spectrum multi-station orbit determination requirements required by the background model, the 6 Block RAM block resources are very precious, and it may even cause the given hardware platform to fail to complete the model task requirements.

随着传输信息速率提高,基于乘除逻辑或基于Memory资源的的交织地址计算技术已然无法满足资源占用率低、计算过程可靠、计算结果延迟小等要求。With the increase of the transmission information rate, the interleaving address calculation technology based on multiplication and division logic or memory resources has been unable to meet the requirements of low resource occupancy, reliable calculation process, and small delay of calculation results.

发明内容Contents of the invention

本发明的技术解决问题是:克服现有技术的不足,提供了一种基于Turbo编码的交织地址快速计算方法,利用加法逻辑实现了交织地址计算,最大程度满足了卫星对交织地址计算高效、准确和快速的需求。The technical problem of the present invention is: to overcome the deficiencies of the prior art, to provide a fast calculation method for interleaving addresses based on Turbo coding, to realize the calculation of interleaving addresses by using addition logic, and to satisfy the high efficiency and accuracy of the calculation of interleaving addresses by satellites to the greatest extent and fast demand.

本发明的技术解决方案是:Technical solution of the present invention is:

一种基于Turbo编码的交织地址快速计算方法,步骤如下:A fast calculation method for interleaving addresses based on Turbo coding, the steps are as follows:

(1)按照Turbo(并行级联卷积)编码既定格式要求完成待传数据的AOS(高级在轨系统)组帧,整帧帧长字节数记为Na,其中参与Turbo编码的有效数据字节长度为Nb,即Nb*8比特;(1) Complete the AOS (Advanced On-Orbit System) framing of the data to be transmitted according to the established format of Turbo (parallel cascaded convolution) encoding. The section length is Nb, that is, Nb*8 bits;

(2)将有效数据以比特流方式缓存至FPGA双端口Block RAM中,RAM位宽为1,深度需不小于Nb*8;(2) Cache valid data into the FPGA dual-port Block RAM in the form of a bit stream, the RAM bit width is 1, and the depth must not be less than Nb*8;

(3)分量编码器a输入数据Dataa需顺序依次从RAM读取,所述顺序依次读取是指取数过程中从零地址开始,每读取1比特已存数据,地址加1,记编码器a的数据地址为order,取值范围为0~Nb*8-1;(3) The input data Dataa of the component encoder a needs to be read sequentially from the RAM. The sequential reading refers to starting from the zero address in the process of reading the number. Every time 1 bit of stored data is read, the address is increased by 1, and the code is recorded. The data address of device a is order, and the value range is 0~Nb*8-1;

(4)分量编码器b输入数据也为Block RAM所存数据,但是取据过程随机,数据读取地址则需实时计算,记编码器b数据地址为Interl,取值范围也为0~Nb*8-1;(4) The input data of component encoder b is also the data stored in Block RAM, but the data acquisition process is random, and the data reading address needs to be calculated in real time. Note that the data address of encoder b is Interl, and the value range is also 0~Nb*8 -1;

(5)以编码器a的数据地址order为参数,参照order的奇偶特性和取值范围计算编码器b的数据交织地址,若order为偶数,则根据order的取值范围采取(6)~(13)不同分支进行计算,若order为奇数,则直接采取(14)分支进行计算;(5) Take the data address order of encoder a as a parameter, and calculate the data interleaving address of encoder b by referring to the parity characteristics and value range of order. If the order is an even number, use (6)~( 13) Calculations are performed on different branches. If the order is an odd number, then branch (14) is directly used for calculation;

(6)若order为偶数且order等于零,则Interl=Interl+0x0003,之后则进入步骤(15);(6) If order is an even number and order is equal to zero, then Interl=Interl+0x0003, then enter step (15);

(7)若order为偶数,order大于0且小于2040,则Interl=Interl+0x0081,之后则进入步骤(15);(7) If order is an even number, order is greater than 0 and less than 2040, then Interl=Interl+0x0081, then enter step (15);

(8)若order为偶数,order等于2040,则Interl=Interl+0x007F,之后则进入步骤(15);(8) If order is an even number, and order equals 2040, then Interl=Interl+0x007F, then enter step (15);

(9)若order为偶数,order大于2040且小于4080,则Interl=Interl+0x0051,之后则进入步骤(15);(9) If the order is an even number, and the order is greater than 2040 and less than 4080, then Interl=Interl+0x0051, then enter step (15);

(10)若order为偶数,order等于4080,则Interl=Interl+0x0057,之后则进入步骤(15);(10) If order is an even number, and order is equal to 4080, then Interl=Interl+0x0057, then enter step (15);

(11)若order为偶数,order大于4080且小于6120,则Interl=Interl+0x00D1,之后则进入步骤(15);(11) If the order is an even number, and the order is greater than 4080 and less than 6120, then Interl=Interl+0x00D1, then enter step (15);

(12)若order为偶数,order等于6120,则Interl=Interl+0x00CF,之后则进入步骤(15);(12) If order is an even number, and order is equal to 6120, then Interl=Interl+0x00CF, then enter step (15);

(13)若order为偶数,order大于6120且小于Nb*8-1,则Interl=Interl+0x00B1,之后则进入步骤(15);(13) If the order is an even number, and the order is greater than 6120 and less than Nb*8-1, then Interl=Interl+0x00B1, then enter step (15);

(14)若编码器a输入数据的地址order为奇数,即换算成16进制后order(0)不为0,则Interl=Interl+0x00A7,之后则进入步骤(15);(14) If the address order of encoder a input data is an odd number, that is, order (0) is not 0 after being converted into hexadecimal, then Interl=Interl+0x00A7, then enter step (15) afterwards;

(15)对计算所得Interl进行8160取模,所得小于8160的余数即为当前顺序地址order对应的交织地址Interl;(15) Carry out 8160 modulus to calculated Interl, the remainder that the gained is less than 8160 is the interleaving address Interl corresponding to the current sequential address order;

(16)使用Interl作为编码器b输入的数据地址,从Block RAM读取对应的交织数据Datab,与从顺序地址order读取的Dataa一起送至Turbo编码器,实现信道Turbo编码。(16) Use Interl as the data address input by the encoder b, read the corresponding interleaved data Datab from the Block RAM, and send it to the Turbo encoder together with the Dataa read from the sequential address order to realize channel Turbo encoding.

所述Turbo编码增益为8dB,编码比率有1/2、1/3、1/4和1/6共计4档。The Turbo coding gain is 8dB, and the coding ratio has 4 levels of 1/2, 1/3, 1/4 and 1/6.

本发明与现有技术相比的有益效果是:本发明遵循Turbo编码给定的交织地址计算算法,经过数学推导与仿真确认,首次提出了利用加法逻辑实现的交织地址快速计算,它解决了基于乘除逻辑运算量复杂,结果延迟大的技术难题,突破了基于Memory占用硬件资源多的工程瓶颈,提高了Turbo编码的数据吞吐量,同时降低了对硬件资源苛刻需求。Compared with the prior art, the present invention has the beneficial effects that: the present invention follows the given interleaving address calculation algorithm of Turbo coding, and through mathematical derivation and simulation confirmation, it proposes the fast calculation of interleaving address realized by addition logic for the first time, which solves the problem based on The technical problem of complex multiplication and division logic calculations and large delays in the results breaks through the engineering bottleneck based on Memory occupying a lot of hardware resources, improves the data throughput of Turbo encoding, and reduces the harsh demand for hardware resources.

附图说明Description of drawings

图1为本发明的流程图;Fig. 1 is a flowchart of the present invention;

图2为本发明涉及Turbo编码框图;Fig. 2 is that the present invention relates to Turbo encoding block diagram;

图3为本发明涉及Turbo编码帧结构;Fig. 3 is that the present invention relates to Turbo encoding frame structure;

图4为本发明涉及交织地址示意图。Fig. 4 is a schematic diagram of interleaving addresses involved in the present invention.

具体实施方式Detailed ways

下面结合附图对本发明的具体实施方式进行进一步的详细描述。Specific embodiments of the present invention will be further described in detail below in conjunction with the accompanying drawings.

测控数传一体化体制针对测控信道传输高速数传数据的型号需求,结合非相干扩频测控体制,新增测距测速功能后提出的一种新型测控体制,主要用于建立星地之间可靠和稳定的遥测、遥控、测距测速和高速数传链路。The integrated system of measurement, control and digital transmission aims at the model requirements of the transmission of high-speed digital transmission data in the measurement and control channel, combined with the non-coherent spread spectrum measurement and control system, a new type of measurement and control system is proposed after adding the function of distance measurement and speed measurement, mainly used to establish reliable communication between the satellite and the ground. And stable telemetry, remote control, distance measurement and speed measurement and high-speed data transmission links.

当扩频应答机工作在测控数传一体化体制时,接收地面测控站发射上行1路遥控和3路测距信号,格式与特性和非相干扩频测控体制相同。When the spread spectrum transponder works in the integrated system of measurement, control and data transmission, the receiving ground measurement and control station transmits uplink 1-channel remote control and 3-channel ranging signals, and the format and characteristics are the same as those of the non-coherent spread spectrum measurement and control system.

应答机下行链路按照高级在轨系统的AOS协议(高级在轨系统,为AdvancedOrbiting Systems的缩写,支持图像、语音、高速、低速的各种数据任意方向的传输,支持异步、同步、等时传输模式和位流、分包等多种传输业务,可以在一条物理信道上传输多种不同类型的数据,是一种灵活方便的数据处理服务),采取等时性插入业务,将测距测速信息插入至高速数传的下行传输帧,然后采取1/3或1/6信道Turbo编码,采取BPSK方式对载波进行相位调制,功率放大和滤波处理后,通过测控天线发送至地面站。The downlink of the transponder follows the AOS protocol of the advanced on-orbit system (advanced on-orbit system, the abbreviation of Advanced Orbiting Systems, supports the transmission of images, voice, high-speed, low-speed various data in any direction, and supports asynchronous, synchronous, isochronous transmission Mode and bit stream, subpacket and other transmission services, can transmit a variety of different types of data on a physical channel, is a flexible and convenient data processing service), adopts isochronous insertion services, and uses distance measurement and speed measurement information Insert it into the downlink transmission frame of high-speed data transmission, then adopt 1/3 or 1/6 channel Turbo coding, adopt BPSK method to phase modulate the carrier, after power amplification and filtering processing, send it to the ground station through the measurement and control antenna.

在实现Turbo信道编码过程中,交织地址快速计算是一项技术难点,占用FPGA资源少、解算结果延迟小、计算逻辑简单可靠等是其基本要求。In the process of implementing Turbo channel coding, the fast calculation of the interleaving address is a technical difficulty, and the basic requirements are less FPGA resources, a small delay in the calculation results, and simple and reliable calculation logic.

本发明与现有卫星技术中采用复杂乘除与取模逻辑,或利用有限BlockRAM资源等措施相比,解决了传统交织地址计算方法的计算过程逻辑复杂、FPGA资源占用多、计算结果延迟大等技术缺点,大大提高了交织地址计算的高效性和实时性,在所有卫星实现基于Turbo编译码方面有着广阔的应用前景。Compared with the existing satellite technology using complex multiplication and division and modulo logic, or using limited BlockRAM resources, the present invention solves the traditional interleaving address calculation method with complex calculation process logic, large FPGA resource occupation, and large delay in calculation results. The disadvantage is that it greatly improves the efficiency and real-time performance of interleaving address calculation, and has broad application prospects in all satellites to realize Turbo-based encoding and decoding.

如图1所示为本发明的流程图,图2所示为本发明涉及Turbo编码原理。如图2所示,Turbo编码由输入缓存、数据交织、分量编码、输出缓存以及帧头复接等模块组成,本发明即探讨数据交织部分。FIG. 1 shows a flow chart of the present invention, and FIG. 2 shows that the present invention involves the principle of Turbo coding. As shown in Fig. 2, Turbo coding is composed of modules such as input buffer, data interleaving, component coding, output buffer and frame header multiplexing, and the present invention discusses the data interleaving part.

如图3所示,Turbo编码帧结构由帧同步头ASM、主导头、插入区、数据域以及传输帧CRC等模块组成,本专利所涉及的背景型号即采用此帧格式完成了测控数传一体化体制。As shown in Figure 3, the turbo encoding frame structure is composed of frame synchronization header ASM, leading header, insertion area, data field, and transmission frame CRC modules. The background model involved in this patent uses this frame format to complete the integration of measurement, control and data transmission system.

如图4所示,本发明涉及交织地址示意,即编码器a数据顺序依次从RAM读取,而输入至编码器b数据是从RAM随机读取,即如何实现交织地址的快速高效计算。As shown in FIG. 4 , the present invention relates to interleaving addresses, that is, encoder a data is sequentially read from RAM, while data input to encoder b is randomly read from RAM, that is, how to realize fast and efficient calculation of interleaving addresses.

如图1-4所示,本发明提出的一种基于Turbo编码的交织地址快速计算方法,实施步骤如下:As shown in Figure 1-4, a kind of interleaving address fast calculation method based on Turbo coding that the present invention proposes, the implementation steps are as follows:

(1)按照Turbo编码既定格式要求完成待传数据的AOS组帧,整帧的帧长字节数记为Na(1024字节),其中有效数据字节长度(参与Turbo编码)为Nb(1020字节),即Nb*8比特(8160比特);(1) The AOS framing of the data to be transmitted is completed according to the established format of Turbo encoding. The number of bytes in the frame length of the entire frame is recorded as Na (1024 bytes), and the effective data byte length (participating in Turbo encoding) is Nb (1020 bytes) byte), that is, Nb*8 bits (8160 bits);

(2)将有效数据以比特流方式缓存至FPGA双端口Block RAM中,Block RAM的位宽为1,深度需不小于Nb*8;(2) Cache the effective data into the FPGA dual-port Block RAM in the form of a bit stream. The bit width of the Block RAM is 1, and the depth must not be less than Nb*8;

(3)分量编码器a输入数据Dataa需顺序依次从RAM读取,所述顺序依次读取是指取数过程中从零地址开始,每读取1比特已存数据,地址加1,记编码器a的数据地址为order,取值范围为0~Nb*8-1;(3) The input data Dataa of the component encoder a needs to be read sequentially from the RAM. The sequential reading refers to starting from the zero address in the process of reading the number. Every time 1 bit of stored data is read, the address is increased by 1, and the code is recorded. The data address of device a is order, and the value range is 0~Nb*8-1;

(4)分量编码器b输入数据也为Block RAM所存数据,但是取据过程随机,读取数据的地址则需通过实时计算,记编码器b数据地址为Interl,取值范围也为0~Nb*8-1;(4) The input data of component encoder b is also the data stored in Block RAM, but the data acquisition process is random, and the address of the read data needs to be calculated in real time. Note that the data address of encoder b is Interl, and the value range is also 0~Nb *8-1;

(5)以编码器a的数据地址order为参数,参照order的奇偶特性和取值范围计算编码器b的数据交织地址,若order为偶数,则根据order的取值范围采取(6)~(13)不同分支进行计算,若order为奇数,则直接采取(14)分支进行计算;(5) Take the data address order of encoder a as a parameter, and calculate the data interleaving address of encoder b by referring to the parity characteristics and value range of order. If the order is an even number, use (6)~( 13) Calculations are performed on different branches. If the order is an odd number, then branch (14) is directly used for calculation;

(6)若order为偶数且order等于零,则Interl=Interl+0x0003,之后则进入步骤(15);(6) If order is an even number and order is equal to zero, then Interl=Interl+0x0003, then enter step (15);

(7)若order为偶数,order大于0且小于2040,则Interl=Interl+0x0081,之后则进入步骤(15);(7) If order is an even number, order is greater than 0 and less than 2040, then Interl=Interl+0x0081, then enter step (15);

(8)若order为偶数,order等于2040,则Interl=Interl+0x007F,之后则进入步骤(15);(8) If order is an even number, and order equals 2040, then Interl=Interl+0x007F, then enter step (15);

(9)若order为偶数,order大于2040且小于4080,则Interl=Interl+0x0051,之后则进入步骤(15);(9) If the order is an even number, and the order is greater than 2040 and less than 4080, then Interl=Interl+0x0051, then enter step (15);

(10)若order为偶数,order等于4080,则Interl=Interl+0x0057,之后则进入步骤(15);(10) If order is an even number, and order is equal to 4080, then Interl=Interl+0x0057, then enter step (15);

(11)若order为偶数,order大于4080且小于6120,则Interl=Interl+0x00D1,之后则进入步骤(15);(11) If the order is an even number, and the order is greater than 4080 and less than 6120, then Interl=Interl+0x00D1, then enter step (15);

(12)若order为偶数,order等于6120,则Interl=Interl+0x00CF,之后则进入步骤(15);(12) If order is an even number, and order is equal to 6120, then Interl=Interl+0x00CF, then enter step (15);

(13)若order为偶数,order大于6120且小于Nb*8-1,则Interl=Interl+0x00B1,之后则进入步骤(15);(13) If the order is an even number, and the order is greater than 6120 and less than Nb*8-1, then Interl=Interl+0x00B1, then enter step (15);

(14)若编码器a输入数据的地址order为奇数,即换算成16进制后order(0)不为0,则Interl=Interl+0x00A7,之后则进入步骤(15);(14) If the address order of encoder a input data is an odd number, that is, order (0) is not 0 after being converted into hexadecimal, then Interl=Interl+0x00A7, then enter step (15) afterwards;

(15)对计算所得Interl进行8160取模,所得余数(小于8160)即为当前顺序地址order对应的交织地址Interl;(15) Carry out 8160 modulus to calculated Interl, and the resulting remainder (less than 8160) is the interleaving address Interl corresponding to the current sequential address order;

(16)使用Interl作为编码器b输入的数据地址,从Block RAM读取对应的交织数据Datab,与从顺序地址order读取的Dataa一起送至Turbo编码器,实现信道Turbo编码。(16) Use Interl as the data address input by the encoder b, read the corresponding interleaved data Datab from the Block RAM, and send it to the Turbo encoder together with the Dataa read from the sequential address order to realize channel Turbo encoding.

本发明目前在已发射型号卫星上使用该方法,经过整星测试表明,应用了本发明方法后,满足了Turbo编码对交织地址计算高效、准确和快速的技术需求,大大提高了Turbo编码的数据吞吐量,同时降低了对硬件资源苛刻需求,有效地保障了测控链路可靠建立和数据传输需求。The present invention is currently using this method on launched model satellites. The entire satellite test shows that after the method of the present invention is applied, the technical requirements of Turbo coding for efficient, accurate and fast interleaving address calculations are met, and the data of Turbo coding is greatly improved. Throughput, while reducing the harsh requirements for hardware resources, effectively ensuring the reliable establishment of measurement and control links and data transmission requirements.

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。The content that is not described in detail in the specification of the present invention belongs to the well-known technology of those skilled in the art.

Claims (2)

1. a kind of interleaving address quick calculation method based on Turbo coding, it is characterised in that steps are as follows:
(1) the Advanced Orbiting Systems AOS group of completion data to be transferred is required according to parallel cascade convolution Turbo coding established form Frame, whole frame frame length byte number are denoted as Na, wherein the valid data byte length for participating in Turbo coding is Nb, i.e. Nb*8 bit;
(2) valid data are cached in a manner of bit stream into FPGA dual-port Block RAM, Block RAM bit width is 1, deep Degree need to be not less than Nb*8;
(3) component coder a input data Dataa needs sequence successively to read from Block RAM, and the sequence, which is successively read, to be referred to During access since zero-address, 1 bit canned data of every reading, address adds 1, and the data address of note encoder a is Order, value range are 0~Nb*8-1;
(4) component coder b input data is also Block RAM stored data, but process of fetching is random, data read address It then needs by being calculated in real time, note encoder b data address is Interl, and value range is also 0~Nb*8-1;
(5) using the data address order of encoder a as parameter, referring to the odd even characteristic and value range calculation code device of order The different branches in (6)~(13) are taken to carry out according to the value range of order if order is even number in the data interlacing address of b It calculates, if order is odd number, (14) branch is directly taken to be calculated;
(6) if order is even number and order is equal to zero, Interl=Interl+0x0003, (15) are then entered step later;
(7) if order is even number, order is greater than 0 and less than 2040, then Interl=Interl+0x0081, then enters later Step (15);
(8) if order is even number, order is equal to 2040, then Interl=Interl+0x007F, then enters step later (15);
(9) if order is even number, order is greater than 2040 and less than 4080, then Interl=Interl+0x0051, later then into Enter step (15);
(10) if order is even number, order is equal to 4080, then Interl=Interl+0x0057, then enters step later (15);
(11) if order is even number, order is greater than 4080 and less than 6120, then Interl=Interl+0x00D1, later then Enter step (15);
(12) if order is even number, order is equal to 6120, then Interl=Interl+0x00CF, then enters step later (15);
(13) if order is even number, order is greater than 6120 and is less than Nb*8-1, then Interl=Interl+0x00B1, later Then enter step (15);
(14) if the address order of encoder a input data is odd number, that is, order (0) is not 0 after being converted into 16 systems, then Interl=Interl+0x00A7 then enters step (15) later;
(15) to gained Interl 8160 modulus of progress are calculated, remainder of the gained less than 8160 is current order address order Corresponding interleaving address Interl;
(16) data address for using Interl to input as encoder b reads corresponding interleaving data from Block RAM Datab is sent together with the Dataa read from sequence address order to Turbo encoder, realizes channel Turbo coding.
2. the interleaving address quick calculation method according to claim 1 based on Turbo coding, it is characterised in that: described Turbo coding gain is 8dB, and coding ratio has 1/2,1/3,1/4 and 1/6 to amount to 4 grades.
CN201610586087.4A 2016-07-22 2016-07-22 A Fast Calculation Method of Interleaving Address Based on Turbo Coding Active CN106301393B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610586087.4A CN106301393B (en) 2016-07-22 2016-07-22 A Fast Calculation Method of Interleaving Address Based on Turbo Coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610586087.4A CN106301393B (en) 2016-07-22 2016-07-22 A Fast Calculation Method of Interleaving Address Based on Turbo Coding

Publications (2)

Publication Number Publication Date
CN106301393A CN106301393A (en) 2017-01-04
CN106301393B true CN106301393B (en) 2019-09-06

Family

ID=57652346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610586087.4A Active CN106301393B (en) 2016-07-22 2016-07-22 A Fast Calculation Method of Interleaving Address Based on Turbo Coding

Country Status (1)

Country Link
CN (1) CN106301393B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528670B (en) * 2017-07-26 2020-08-14 西安空间无线电技术研究所 A kind of generation method of Turbo code interleaving address
CN112436843B (en) * 2020-11-27 2024-03-15 西安空间无线电技术研究所 A design method for Turbo code off-channel interleaver
CN114726580B (en) * 2022-03-08 2024-01-30 支付宝(杭州)信息技术有限公司 Data processing method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1502168A (en) * 2001-02-23 2004-06-02 高通股份有限公司 Random-access multi-directional CDMA2000 turbo code interleaver
CN1756091A (en) * 2004-09-29 2006-04-05 普天信息技术研究院 A turbo code interleaver and its interleaving method
CN102356554A (en) * 2011-08-23 2012-02-15 华为技术有限公司 Turbo code data interweaving process method and interweaving device used for interweaving turbo code data
CN103986557A (en) * 2014-05-23 2014-08-13 西安电子科技大学 Parallel Block Decoding Method for LTE Turbo Codes with Low Path Delay
CN105515591A (en) * 2014-09-23 2016-04-20 中国科学院计算技术研究所 Turbo code decoding system and method
CN105634508A (en) * 2015-12-21 2016-06-01 西安空间无线电技术研究所 Realization method of low complexity performance limit approximate Turbo decoder

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1502168A (en) * 2001-02-23 2004-06-02 高通股份有限公司 Random-access multi-directional CDMA2000 turbo code interleaver
CN1756091A (en) * 2004-09-29 2006-04-05 普天信息技术研究院 A turbo code interleaver and its interleaving method
CN102356554A (en) * 2011-08-23 2012-02-15 华为技术有限公司 Turbo code data interweaving process method and interweaving device used for interweaving turbo code data
CN103986557A (en) * 2014-05-23 2014-08-13 西安电子科技大学 Parallel Block Decoding Method for LTE Turbo Codes with Low Path Delay
CN105515591A (en) * 2014-09-23 2016-04-20 中国科学院计算技术研究所 Turbo code decoding system and method
CN105634508A (en) * 2015-12-21 2016-06-01 西安空间无线电技术研究所 Realization method of low complexity performance limit approximate Turbo decoder

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Highly scalable on-the-fly interleaved address generation for UMTS/HSPA+ parallel turbo decoder";Aida Vosoughi等;《2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors》;20130725;第356页到第362页
"Turbo码编译码器的研究与实现";黄维;《中国优秀硕士学位论文全文数据库•信息科技辑》;20160215;I136-150
"Turbo码编译码研究及其硬件设计";付磊三;《中国优秀硕士学位论文全文数据库•信息科技辑》;20050815;I136-49
"精密测距与高速数传一体化信道设计";聂少军等;《现代电子技术》;20130301;第36卷(第5期);第57页到第62页

Also Published As

Publication number Publication date
CN106301393A (en) 2017-01-04

Similar Documents

Publication Publication Date Title
CN101425871B (en) Multi-element error correcting code transmitting and receiving apparatus, data communication system and related method
EP3193472B1 (en) Data packet processing method and device
CN106301393B (en) A Fast Calculation Method of Interleaving Address Based on Turbo Coding
CN103634083A (en) Dynamic network coded packet loss retransmission method suitable for sensor network
CN104202116A (en) Integrative method of measurement, control and data transmission based on Turbo coding
CN106453185A (en) IDMA system improvement method based on CCSK modulation
CN111600681B (en) Downlink bit-level processing method based on FPGA hardware acceleration
CN104753653B (en) A kind of method, apparatus and reception side apparatus of solution rate-matched
CN103944689B (en) A kind of pipeline method of suitable physical layer no rate coding transmission
US20100054360A1 (en) Encoder, Transmission Device, And Encoding Process
CN111431579A (en) Low-delay VDE satellite-borne downlink digital signal processing system based on FPGA
CN103701561B (en) A kind of code modulating method and system being applicable to latency sensitive services
CN103546169A (en) Method for achieving (2, 1, 7) convolutional coding at 3/4 rate in Field Programmable Gate Array (FPGA)
CN102725986B (en) For carrying out the method and apparatus of decoding in junction network
CN102497250B (en) Multiple access channel adaptive coding relay system and method
CN108667593B (en) FPGA-based time diversity parallel synchronization method for resisting helicopter rotor wing shielding
CN105959085A (en) Short-wave communication two-way transmission mode based on fountain code
CN101924566B (en) Turbo coding method and coder used for long term evolution
Xu et al. FPGA Acceleration Architecture Design and Implementation of LTE Physical Downlink Shared Channel
CN103957076B (en) Building method and communication means of the novel non-linearity into shape code
CN102136888B (en) Sub-block de-interleaving input data processing method and device
CN101777925B (en) Data processing device and method thereof
CN110212921A (en) The polynary code constructing method of superposition is repeated based on part spread spectrum and multiplying property of part
CN203661087U (en) Coding and decoding device for low-voltage power line communication
Kim et al. BER performance evaluation of 4D-8PSK-TCM decoder

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