CN110768748B - Convolutional Code Decoder and Convolutional Code Decoding Method - Google Patents
Convolutional Code Decoder and Convolutional Code Decoding Method Download PDFInfo
- Publication number
- CN110768748B CN110768748B CN201810845860.3A CN201810845860A CN110768748B CN 110768748 B CN110768748 B CN 110768748B CN 201810845860 A CN201810845860 A CN 201810845860A CN 110768748 B CN110768748 B CN 110768748B
- Authority
- CN
- China
- Prior art keywords
- data
- error detection
- detection data
- circuit
- bits
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001514 detection method Methods 0.000 claims abstract description 142
- 230000000694 effects Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013075 data extraction Methods 0.000 description 7
- 230000001186 cumulative effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012795 verification Methods 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- 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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/0059—Convolutional codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开一种回旋码解码器及回旋码解码方法。本发明的回旋码解码器及回旋码解码方法利用预测的信息进行解码,因此能够更快速地解调/解码出信号。提早解调/解码出信号可以提早结束运算状态,达到省电的效果。回旋码解码器根据一接收数据及一辅助数据进行解码以得到一目标数据,且包含一第一误差检测数据产生电路、一通道编码电路、一第一选择电路、一第一维特比解码电路、一第二误差检测数据产生电路、一比较电路、一第二选择电路以及一第二维特比解码电路。
The invention discloses a convolution code decoder and a convolution code decoding method. The convolutional code decoder and the convolutional code decoding method of the present invention use the predicted information for decoding, so that the signal can be demodulated/decoded more quickly. The early demodulation/decoding of the signal can end the operation state early to achieve the effect of power saving. The convolutional code decoder performs decoding according to a received data and an auxiliary data to obtain a target data, and includes a first error detection data generation circuit, a channel encoding circuit, a first selection circuit, a first Viterbi decoding circuit, A second error detection data generation circuit, a comparison circuit, a second selection circuit and a second Viterbi decoding circuit.
Description
技术领域technical field
本发明涉及无线通信系统,尤其涉及无线通信系统的解码器及解码方法。The present invention relates to a wireless communication system, and in particular, to a decoder and a decoding method of the wireless communication system.
背景技术Background technique
在低功率广域网络(Low-Power Wide-Area Network,LPWAN)中,使用 者对于低功耗的需求越来越重视。因此,如何在有限的系统资源内,达到涵 盖范围延伸(coverageenhancement)的效果,是近年来各家业者瞩目的目标。 在市场趋势下,物联网的概念已渐臻成熟。大量的使用装置都需要连上网络, 其中部分装置的需求是需要低数据量的传输,搭配长时间的等待。在此情况 下,由于追求低耗能、低复杂度、低成本、高覆盖率等特性,且可能需要在 信噪比(Signal-to-Noise Ratio,SNR)很差的环境(例如:在小区边缘(celledge) 或地下室)中操作,因此传送端(例如:基地台)会以重复传送信号的方式 来帮助接收端正确地解出信号。而为了有效地提高解调的正确率,接收端必 须花费够长的时间等待,并接收这些重复传送的信号。然而,这个延长的运 算时间,将使得耗电增加。In Low-Power Wide-Area Network (LPWAN), users pay more and more attention to the requirement of low power consumption. Therefore, how to achieve the effect of coverage extension within limited system resources has been the focus of various industry players in recent years. Under the market trend, the concept of the Internet of Things has gradually matured. A large number of devices need to be connected to the network, and some of the devices require low-volume data transmission with long wait times. In this case, due to the pursuit of characteristics such as low energy consumption, low complexity, low cost, and high coverage, it may be necessary to operate in an environment with poor Signal-to-Noise Ratio (SNR) (for example, in a cell cell edge or basement), so the transmitting end (eg: base station) will help the receiving end to correctly decipher the signal by repeatedly transmitting the signal. In order to effectively improve the accuracy of demodulation, the receiving end must wait long enough to receive these repeatedly transmitted signals. However, this extended operation time will increase the power consumption.
因此,如何达到提升接收端的误码率(bit error rate,BER)效能,进而达 到节省耗电与降低成本,以增长电池的使用寿命便成为重要的议题。Therefore, how to improve the bit error rate (BER) performance of the receiving end, thereby saving power consumption, reducing costs, and increasing the service life of the battery has become an important issue.
发明内容SUMMARY OF THE INVENTION
鉴于现有技术的不足,本发明的一目的在于提供一种回旋码解码器及回 旋码解码方法。In view of the deficiencies of the prior art, an object of the present invention is to provide a convolutional code decoder and a convolutional code decoding method.
本发明还公开一种回旋码解码器,根据一接收数据及一辅助数据进行解 码以得到一目标数据。该回旋码解码器包含一第一误差检测数据产生电路、 一通道编码电路、一第一选择电路、一第一维特比解码电路、一第二误差检 测数据产生电路、一比较电路、一第二选择电路以及一第二维特比解码电路。 该第一误差检测数据产生电路对该辅助数据进行误差检测运算以得到一误差 检测数据。该通道编码电路耦接该第一误差检测数据产生电路,用来对该辅 助数据及该误差检测数据进行通道编码以得到一中间数据。该第一选择电路 耦接该通道编码电路,用来根据该接收数据及该中间数据产生一第一待解码 数据。该第一维特比解码电路耦接该第一选择电路,用来解码该第一待解码 数据以得到一中间解码数据,其中该中间解码数据包含一估测数据及一中间 误差检测数据。该第二误差检测数据产生电路耦接该第一维特比解码电路, 用来对该估测数据进行误差检测运算以得到一参考误差检测数据。该比较电 路耦接该第二误差检测数据产生电路及该第一维特比解码电路,用来比较该 中间误差检测数据及该参考误差检测数据。该第二选择电路耦接该通道编码 电路、该第二误差检测数据产生电路及该比较电路,用来根据该中间误差检 测数据与该参考误差检测数据的其中之一、该接收数据及该中间数据产生一 第二待解码数据。该第二维特比解码电路耦接该第二选择电路,用来解码该 第二待解码数据以得到该目标数据。The invention also discloses a convolutional code decoder, which performs decoding according to a received data and an auxiliary data to obtain a target data. The convolutional code decoder includes a first error detection data generation circuit, a channel encoding circuit, a first selection circuit, a first Viterbi decoding circuit, a second error detection data generation circuit, a comparison circuit, a second selection circuit and a second Viterbi decoding circuit. The first error detection data generating circuit performs an error detection operation on the auxiliary data to obtain error detection data. The channel encoding circuit is coupled to the first error detection data generating circuit, and is used for channel encoding the auxiliary data and the error detection data to obtain an intermediate data. The first selection circuit is coupled to the channel encoding circuit for generating a first data to be decoded according to the received data and the intermediate data. The first Viterbi decoding circuit is coupled to the first selection circuit for decoding the first data to be decoded to obtain intermediate decoded data, wherein the intermediate decoded data includes an estimated data and an intermediate error detection data. The second error detection data generating circuit is coupled to the first Viterbi decoding circuit for performing error detection operations on the estimated data to obtain a reference error detection data. The comparison circuit is coupled to the second error detection data generating circuit and the first Viterbi decoding circuit, and is used for comparing the intermediate error detection data with the reference error detection data. The second selection circuit is coupled to the channel encoding circuit, the second error detection data generation circuit and the comparison circuit, and is used for the received data and the intermediate error detection data according to one of the intermediate error detection data and the reference error detection data, the received data and the intermediate error detection data. The data generates a second data to be decoded. The second Viterbi decoding circuit is coupled to the second selection circuit for decoding the second to-be-decoded data to obtain the target data.
本发明还公开一种回旋码解码方法,根据一接收数据及一辅助数据进行 解码以得到一目标数据。该回旋码解码方法包含:对该辅助数据进行误差检 测运算以得到一误差检测数据;对该辅助数据及该误差检测数据进行通道编 码以得到一中间数据;根据该接收数据及该中间数据产生一第一待解码数据; 解码该第一待解码数据以得到一中间解码数据,其中该中间解码数据包含一 估测数据及一中间误差检测数据;对该估测数据进行误差检测运算以得到一 参考误差检测数据;比较该中间误差检测数据及该参考误差检测数据;根据 该中间误差检测数据与该参考误差检测数据的其中之一、该接收数据及该中 间数据产生一第二待解码数据;以及解码该第二待解码数据以得到该目标数 据。The invention also discloses a convolutional code decoding method, which decodes according to a received data and an auxiliary data to obtain a target data. The convolutional code decoding method includes: performing an error detection operation on the auxiliary data to obtain an error detection data; performing channel coding on the auxiliary data and the error detection data to obtain an intermediate data; and generating a data according to the received data and the intermediate data. the first data to be decoded; decode the first data to be decoded to obtain intermediate decoded data, wherein the intermediate decoded data includes an estimated data and an intermediate error detection data; perform an error detection operation on the estimated data to obtain a reference error detection data; compare the intermediate error detection data and the reference error detection data; generate a second data to be decoded according to one of the intermediate error detection data and the reference error detection data, the received data and the intermediate data; and Decode the second data to be decoded to obtain the target data.
本发明的回旋码解码器及回旋码解码方法利用预测的信息进行解码。相 较于传统技术,本发明的回旋码解码器及回旋码解码方法能够更快速地解调/ 解码出信号。提早解调/解码出信号可以提早结束运算状态,达到省电的效果。The convolutional code decoder and the convolutional code decoding method of the present invention perform decoding using predicted information. Compared with the conventional technology, the convolutional code decoder and the convolutional code decoding method of the present invention can demodulate/decode the signal faster. The early demodulation/decoding of the signal can end the operation state early to achieve the effect of power saving.
有关本发明的特征、实作与技术效果,兹配合附图作实施例详细说明如 下。The features, implementations and technical effects of the present invention are described in detail as follows with reference to the accompanying drawings.
附图说明Description of drawings
图1为无线通信系统的数据调制和/或编码的流程及数据结构的示意图;1 is a schematic diagram of a data modulation and/or coding process and data structure of a wireless communication system;
图2为本发明的无线通信接收端的解调制/解码装置的功能方框图;Fig. 2 is the functional block diagram of the demodulation/decoding apparatus of the wireless communication receiving end of the present invention;
图3为本发明回旋码解码器的一实施例的功能方框图;3 is a functional block diagram of an embodiment of a convolutional code decoder of the present invention;
图4为本发明回旋码解码方法的一实施例的流程图;4 is a flowchart of an embodiment of a convolutional code decoding method according to the present invention;
图5为本发明回旋码解码器的另一实施例的功能方框图;5 is a functional block diagram of another embodiment of the convolutional code decoder of the present invention;
图6为本发明回旋码解码方法的另一实施例的流程图;6 is a flowchart of another embodiment of a convolutional code decoding method according to the present invention;
图7为图6的步骤S610的细节流程图;Fig. 7 is the detailed flow chart of step S610 of Fig. 6;
图8为维特比演算法的示意图;8 is a schematic diagram of a Viterbi algorithm;
图9为本发明回旋码解码器的另一实施例的功能方框图;以及FIG. 9 is a functional block diagram of another embodiment of the convolutional code decoder of the present invention; and
图10为本发明回旋码解码方法的另一实施例的流程图。FIG. 10 is a flowchart of another embodiment of a convolutional code decoding method according to the present invention.
符号说明Symbol Description
210 通道估测210 Channel Estimation
220 信号检测220 Signal detection
230 解扰器230 descrambler
240 解速率匹配240 De-Rate Matching
250 回旋码解码器250 convolutional code decoder
260 误差检测电路260 error detection circuit
310、920 误差检测数据产生电路310, 920 error detection data generation circuit
320 通道编码电路320-channel encoding circuit
330、930 选择电路330, 930 selection circuit
340、510、940 维特比解码电路340, 510, 940 Viterbi decoding circuit
910、915 数据抽取电路910, 915 data extraction circuit
950 比较电路950 Comparison Circuit
S410~S440、S610、S710~S760、S1010~S1090 步骤S410~S440, S610, S710~S760, S1010~S1090 Steps
具体实施方式Detailed ways
以下说明内容的技术用语是参照本技术领域的习惯用语,如本说明书对 部分用语有加以说明或定义,该部分用语的解释以本说明书的说明或定义为 准。The technical terms in the following description refer to the common terms in the technical field. If this specification describes or defines some terms, the interpretation of this part of the terms shall be subject to the descriptions or definitions in this specification.
本发明的公开内容包含回旋码解码器及回旋码解码方法。由于本发明的 回旋码解码器所包含的部分元件单独而言可能为已知元件,因此在不影响该 装置发明的充分公开及可实施性的前提下,以下说明对于已知元件的细节将 予以省略。此外,本发明的回旋码解码方法的部分或全部流程可以是软件和/ 或固件的形式,并且可通过本发明的回旋码解码器或其等效装置来执行,在 不影响该方法发明的充分公开及可实施性的前提下,以下方法发明的说明将 着重于步骤内容而非硬件。The present disclosure includes a convolutional code decoder and a convolutional code decoding method. Since some of the elements included in the convolutional code decoder of the present invention may be known elements individually, the details of the known elements will be described below without affecting the full disclosure and practicability of the invention of the device. Omit. In addition, part or all of the flow of the convolutional code decoding method of the present invention may be in the form of software and/or firmware, and may be executed by the convolutional code decoder of the present invention or an equivalent device thereof, without affecting the adequacy of the method and invention. Under the premise of disclosure and practicability, the following description of the method invention will focus on the content of the steps rather than the hardware.
以下关于维特比(Viterbi)架构的说明是以(2,1,2)的回旋码(convolutionalcode)编码及硬决策(hard decision)为例,然而本技术领域技术人员于了解 本发明的实施方式后可以将本发明应用于不同的回旋码编码及软决策(soft decision)。The following description of the Viterbi architecture takes (2, 1, 2) convolutional code encoding and hard decision as an example, however, those skilled in the art will understand the implementation of the present invention after The present invention can be applied to different convolutional codes and soft decisions.
本发明的接收端的解调制和/或解码机制适用于以一般调制技术为基础 的通信系统,例如采用回旋码编码/解码器的通信系统。此类的通信系统例如 是物联网(Internetof Thing,IoT)、机器对机器系统(Machine to Machine, M2M)、无线区域网络(WirelessFidelity,无线保真,Wi-Fi)的802.11ah HaLow…等。以下的说明是以窄频物联网(NarrowBand Internet of Thing, NB-IoT)接收机为例,但本发明不限于此通信系统。The demodulation and/or decoding mechanism of the receiving end of the present invention is suitable for a communication system based on a general modulation technique, such as a communication system using a convolutional code encoder/decoder. Such communication systems are, for example, Internet of Things (IoT), Machine to Machine (M2M), 802.11ah HaLow, etc. of Wireless Fidelity (Wireless Fidelity, Wi-Fi). The following description takes a NarrowBand Internet of Thing (NB-IoT) receiver as an example, but the present invention is not limited to this communication system.
在网络系统中,数据传输常常有传送重复数据的需求,或者是传送部分 相同、部分未知的数据,但解调时却必须把所有数据一起做处理,导致有些 非必要的错误发生,同时也增加不必要的耗电量。因此本发明提出一个利用 已知数据来帮助解调制和/或解码的机制。此已知数据的来源是接收端通过较 长时间的统计与分析先前的传送数据,来预测出当下信号某些位元的数值。 此已知数据的产生方法可以参考中国台湾专利申请案案号107104854,但不 以此为限。In network systems, data transmission often needs to transmit duplicate data, or transmit part of the same and part of the unknown data, but all data must be processed together during demodulation, resulting in some unnecessary errors. Unnecessary power consumption. The present invention therefore proposes a mechanism that utilizes known data to assist in demodulation and/or decoding. The source of this known data is that the receiving end predicts the value of certain bits of the current signal through statistics and analysis of the previous transmission data for a long time. For the generation method of this known data, reference may be made to Taiwan Patent Application No. 107104854, but it is not limited thereto.
图1为无线通信系统的数据调制和/或编码的流程及数据结构的示意图。 原始数据A为一个长度(位元数)为NA×1的向量,在经过添加误差检测(error detection)数据(例如添加循环冗余校验(cyclic redundancy check,以下简 称CRC))的步骤S110后,成为数据C(长度为NC×1的向量)。如图所示, 在步骤S110中,长度为NB的误差检测数据B(冗余位元)被添加至原始数 据A的尾端而形成数据C(即NC=NA+NB)。长度为NB的误差检测数据B 用于检验原始数据A的正确性。在步骤S120中数据C经过通道编码(channel coding)来对抗通道效应。此处假设通道编码为码率(code rate)1/3的去尾 回旋码(Tail-BitingConvolutional Code,TBCC),而编码完后产生数据Z(长 度为3NC×1的向量)。最后在步骤S130中,数据Z经过速率匹配(rate matching)和/或扰码(scrambling)来把数据均匀地分配到所有可使用的资源 单位(resource element,RE),而形成调制后/编码后的待传送数据Y(长度为 NRM×1的向量)。FIG. 1 is a schematic diagram of a data modulation and/or coding process and a data structure in a wireless communication system. The original data A is a vector with a length (number of bits) of N A ×1. After adding error detection data (for example, adding a cyclic redundancy check (CRC)) in step S110 Then, it becomes data C (a vector of length N C × 1). As shown in the figure, in step S110, error detection data B (redundant bits) with a length of NB is added to the end of the original data A to form data C (ie, NC=NA + NB). The error detection data B of length NB is used to check the correctness of the original data A. In step S120, the data C is subjected to channel coding to combat the channel effect. It is assumed here that the channel coding is a Tail-Biting Convolutional Code (TBCC) with a code rate of 1/3, and data Z (a vector with a length of 3NC × 1) is generated after coding. Finally, in step S130, the data Z undergoes rate matching and/or scrambling to evenly distribute the data to all available resource elements (REs) to form a post-modulation/encoding process. The to-be-transmitted data Y (a vector of length N RM × 1 ).
由于基于CRC的误差检测数据B和原始数据A的任何一个位元都相关, 所以当原始数据A有一段未知的位元出现在灰色标记处时,数据C最后面的 NB位元的误差检测数据B都被归类为未知的位元(同样标记为灰色)。接下 来,回旋码的特性会使得数据Z中的未知位元增多,未知位元的数量与回旋 码的码率及制约长度(constraint length)有关。速率匹配及扰码则不会影响 未知位元和已知位元个数的比例,只会影响未知位元在待传送数据Y中的位 置。Since the CRC-based error detection data B is related to any bit of the original data A, when an unknown bit of the original data A appears at the gray mark, the error detection of the last N B bits of the data C Data B are all classified as unknown bits (again marked in grey). Next, the characteristics of the convolutional code will increase the number of unknown bits in the data Z, and the number of the unknown bits is related to the code rate and the constraint length of the convolutional code. Rate matching and scrambling will not affect the ratio of the unknown bits to the number of known bits, but only affect the position of the unknown bits in the data Y to be transmitted.
图2为本发明的无线通信接收端的解调制/解码装置的功能方框图。接收 信号SR经过通道估测210后通道效应可获得补偿,且不同子帧(subframe) 间的重复性质可以用来做结合,以提高信噪比。信号检测220的主要功能为 解调制。接下来针对一个窄频物理下行共享信道(Narrowband Physical Downlink Shared Channel,NPDSCH)的所有资源单位做完排列后,可以得到 一个估测数据估测数据经过解扰器(descrambler)230与解速率匹配240 后,可得接收数据(长度为NTB=3NC×1的向量)。回旋码解码器250参考 辅助数据A'解码接收数据后输出目标数据目标数据为数据C的估测。 目标数据包含估测数据及中间误差检测数据估测数据为原始数据 A的估测。误差检测电路260根据中间误差检测数据来验证估测数据是 否为合法的码字。误差检测电路260的验证结果正确代表估测数据等于原 始数据A。FIG. 2 is a functional block diagram of the demodulation/decoding apparatus of the wireless communication receiving end according to the present invention. After the received signal SR is subjected to the
在进行回旋码解码时,一般会采用维特比架构。图3为本发明回旋码解 码器的一实施例的功能方框图。图4为本发明回旋码解码方法的一实施例的 流程图。回旋码解码器250包含误差检测数据产生电路310、通道编码电路 320、选择电路330以及维特比解码电路340。首先,误差检测数据产生电路 310对辅助数据A'进行误差检测运算以产生误差检测数据B'(步骤S410)。 举例来说,误差检测数据产生电路310可以对辅助数据A'进行循环冗余校验 的运算,而产生误差检测数据B'。对窄频物联网而言,误差检测数据B'可以 是24位元的CRC码。接着通道编码电路320对辅助数据A'及误差检测数据 B'进行通道编码,而得到中间数据Z'(步骤S420)。通道编码电路320进行 与传送端同样编码机制的通道编码,例如进行回旋码编码。辅助数据A'为原 始数据A的预测数据,代表辅助数据A'与原始数据A的长度实质上相同, 且辅助数据A'包含原始数据A的全部或部分数据。也就是说,当预测正确时,辅助数据A'的已知位元(即预测的位元)与原始数据A对应的位元相同。因 为辅助数据A'与原始数据A具有实质上相同的长度,所以中间数据Z'的长度 与接收数据的长度亦实质上相同。辅助数据A'中至少有一位元为已知(经 预测),而其他的位元为未知(未经预测)。当辅助数据A'中的所有位元皆为 已知时,误差检测数据B'及中间数据Z'的所有位元亦皆为已知。当辅助数据 A'中有未知的位元时,误差检测数据B'的所有位元皆为未知,而中间数据Z' 的位元则为部分已知且部分未知。接下来选择电路330根据接收数据及中 间数据Z'产生待解码数据E(步骤S430)。控制信号Prek指示目前输入选 择电路330的中间数据Z'为已知的位元或未知的位元。步骤S430包含子步 骤S435:选择电路330根据控制信号Prek以中间数据Z'的已知位元取代接 收数据的相对应位元以产生待解码数据E。也就是说,经过选择电路330 后,接收数据的部分位元(对应中间数据Z'已知的部分)被中间数据Z'中 相对应的位元取代,而其他位元(对应中间数据Z'未知的部分)则保留原数 值。在一些实施例中,当待解码数据E为软数值(soft value)时,选择电路 330及步骤S435还包含将已知位元转换成极值(extremum)。最后维特比解 码电路340利用维特比解码运算解码待解码数据E以得到目标数据(步骤 S440)。选择电路330可用多工器实作。When performing convolutional code decoding, a Viterbi architecture is generally used. FIG. 3 is a functional block diagram of an embodiment of a convolutional code decoder of the present invention. FIG. 4 is a flowchart of an embodiment of a convolutional code decoding method according to the present invention. The
因为待解码数据E的部分数据为已知(作为对比,接收数据的全部数 据皆为未知,亦即无法确定接收数据的位元值是否正确),所以维特比解码 电路340可以更准确地解码出目标数据因此,本发明的回旋码解码器250 的效能可以获得提升,有助于缩短无线通信系统的接收端的解调制和/或解码 时间,以节省无线装置的耗电量。Because part of the data E to be decoded is known (for comparison, the received data All data for is unknown, i.e. it is not possible to determine receipt Is the bit value of ? is correct), so the
图5为本发明回旋码解码器的另一实施例的功能方框图。图6为本发明 回旋码解码方法的另一实施例的流程图。回旋码解码器250包含误差检测数 据产生电路310、通道编码电路320、选择电路330以及维特比解码电路510。 图5的误差检测数据产生电路310、通道编码电路320与选择电路330以及 图6的步骤S410~S435已详述于图3及图4的公开内容,故不再赘述。本实 施例的维特比解码电路510参考辅助数据A'对待解码数据E进行维特比解码 运算以得到目标数据(步骤S610)。图3的维特比解码电路340是对维特比 演算法中的所有分支(branch)进行计算和判断,然而图5的维特比解码电 路510是在预知位元的情况下,预先排除确定错误的分支,因此可以得到优 选的效能。FIG. 5 is a functional block diagram of another embodiment of the convolutional code decoder of the present invention. FIG. 6 is a flowchart of another embodiment of a convolutional code decoding method according to the present invention. The
图7为步骤S610的细节流程图。图8为维特比演算法的示意图。图8 以(2,1,2)的回旋码编码的解码为例,但本发明不以此为限。如图8所示, 维特比解码电路510在各阶段(t=0,1,2,…,k-1,k,k+1,…,k为正整数,t=0 为初始阶段)处理四个状态(state):S00、S01、S10、S11。当维特比解码电路 510处理某阶段的目标状态时(例如处理阶段k的状态S01),会先找出与这 个目标状态连接的两个分支(即进入此目标状态S01的两个分支b0及b1), 并判断各分支所对应的前置累积度量(previously accumulated metric)mprev是 否为预设值mpreset(步骤S710)。每个分支具有一个目前过程度量(current metric),目前过程度量的计算方法为本技术领域技术人员所熟知,故不再赘 述。对应分支b0的累积度量(accumulatedmetric)maccum,0及对应分支b1 的累积度量maccum,1可分别由以下的算式(1)及算式(2)得到。FIG. 7 is a detailed flowchart of step S610. FIG. 8 is a schematic diagram of the Viterbi algorithm. Fig. 8 takes the decoding of the convolutional code of (2, 1, 2) as an example, but the present invention is not limited to this. As shown in FIG. 8 , the
maccum,0=mprev,0+mcur,0 (1)m accum,0 =m prev,0 +m cur,0 (1)
maccum,1=mprev,1+mcur,1 (2)m accum,1 =m prev,1 +m cur,1 (2)
其中mcur,0及mcur,1分别为对应分支b0及分支b1的目前过程度量, mprev,0及mprev,1分别为对应分支b0及分支b1的前置累积度量。Wherein m cur,0 and m cur,1 are the current process metrics corresponding to the branch b0 and the branch b1, respectively, and m prev,0 and m prev,1 are the pre-accumulated metrics corresponding to the branch b0 and the branch b1, respectively.
预设值mpreset与维特比解码电路510如何决定分支(步骤S760)有关。 在步骤S760中,维特比解码电路510选择目标状态的两个分支的其中之一 作为留存路径(survivorpath),并记录这个分支的来源(例如以一个位元0 或位元1表示),最后再把累积度量更新成下一阶段的前置累积度量。如果预 设值mpreset为一个极大值(例如+2N-1,N为预设值mpreset的位元数),则维 特比解码电路510在步骤S760中选取对应累积度量较小的分支;反之,如果预设值mpreset为一个极小值(例如-2N-1),则维特比解码电路510在步骤 S760中选取对应累积度量较大的分支。The preset value m preset is related to how the
如图8所示,如果mprev,0或mprev,1等于预设值mpreset(即步骤S710为 是),则代表其对应的分支b0或b1将不会被选取,因此维特比解码电路510 进一步将对应于目标分支(此时目标分支为为目标状态的所有分支b0及b1 的其中一者)的累积度量(即maccum,0或maccum,1)设为预设值mpreset(步骤 S715),然后决定分支(步骤S760)。若只有一个分支等于上述预设值mpreset, 则维特比解码电路510在步骤S760中将选择另一条分支;若两分支所对应 的累积度量相等,维特比解码电路510在步骤S760中可选择任一分支。As shown in FIG. 8 , if m prev,0 or m prev,1 is equal to the preset value m preset (that is, step S710 is Yes), it means that the corresponding branch b0 or b1 will not be selected, so the
当步骤S710为否,则流程进入步骤S720。步骤S720判断辅助数据A' 的信息位元是否为已知。举例来说,假设辅助数据A'有多个信息位元(A′0, A′1,A′2,…,A′k-1,A′k,A′k+1,…),分支b0及分支b1是否有可能被选取与 信息位元A′k-1的值息息相关。When step S710 is NO, the flow goes to step S720. Step S720 determines whether the information bits of the auxiliary data A' are known. For example, assuming that the auxiliary data A' has multiple information bits (A' 0 , A' 1 , A' 2 ,..., A' k-1 , A' k , A' k+1 ,...), branch Whether b0 and branch b1 are likely to be selected is closely related to the value of the information bit A' k-1 .
当信息位元A′k-1为未知时(步骤S720为否),维特比解码电路510计算 各分支的目前过程度量(步骤S740),接着根据算式(1)及算式(2)计算累积度 量(步骤S750),然后决定分支(步骤S760)。步骤S760结束后,维特比解 码电路510再次执行图7的流程以处理同一阶段的尚未处理的状态,或是进 到下一阶段。When the information bit A'k -1 is unknown (No in step S720), the
当信息位元A′k-1为已知时(步骤S720为是),维特比解码电路510判断 目标状态是否为候选状态(步骤S730)。假设图8中的虚线分支对应逻辑值 0且实线分支对应逻辑值1,则当信息位元A′k-1为逻辑值0时,状态S00及S01为候选状态(步骤S730为是,因为目前的目标状态为状态S01),而且当信 息位元A′k-1为逻辑值1时,状态S10及S11为候选状态(步骤S730为否,因 为目前的目标状态为状态S01)。也就是说,维特比解码电路510可以根据辅 助数据A'的信息位元的值,排除某个阶段中一半的状态。When the information bit A' k-1 is known (Yes in step S720), the
当目标状态为候选状态时(步骤S730为是),则维特比解码电路510执 行步骤S740~S760;当目标状态非为候选状态时(步骤S730为否),则维特 比解码电路510执行步骤S715。更明确地说,当维特比解码电路510确定目 标状态不会被选取(即目标状态非候选状态),维特比解码电路510将对应于 目标分支(此时目标分支为目标状态的所有分支b0及b1)的累积度量设为 预设值mpreset(步骤S715),然后在步骤S760中维特比解码电路510可以选 择分支b0或b1作为状态k的目标状态S01的分支。无论维特比解码电路510 在步骤S760中选择分支b0或b1,因为目标状态S01的所有分支的累积度量 已被设为预设值mpreset,所以最终维特比演算法不会选择包含状态S01的留 存路径(亦即此状态S01的两个分支b0及b1皆可视为已被排除)。When the target state is a candidate state (Yes in step S730), the
在图5~图7的实施例中,维特比解码电路510参考辅助数据A'进行解码。 当辅助数据A'的信息位元为已知时,维特比解码电路510有机会(视目标状 态是否为候选状态而定)依据信息位元直接将目标状态的所有分支的累积度 量设为预设值mpreset(亦即执行步骤S715)以减少计算量(亦即略过步骤 S740~S760)。作为比较,图3的维特比解码电路340对每个状态皆需执行步 骤S740~S760。因为图7的步骤S710、S715、S720及S730是执行简单的判 别或设定值的操作,所以图5的回旋码解码器250的复杂度与图3的回旋码 解码器250相似。相较于图3~图4的实施例,图5~图7的实施例可更加提 升回旋码解码器250的效能,以进一步缩短无线通信系统的接收端的解调制 和/或解码时间。In the embodiments of FIGS. 5-7 , the
图9为本发明回旋码解码器的另一实施例的功能方框图。图10为本发明 回旋码解码方法的另一实施例的流程图。回旋码解码器250包含误差检测数 据产生电路310、通道编码电路320、选择电路330、维特比解码电路340、 数据抽取电路910、数据抽取电路915、误差检测数据产生电路920、选择电 路930、维特比解码电路940以及比较电路950。误差检测数据产生电路310、 通道编码电路320、选择电路330及维特比解码电路340分别执行步骤S1010、 S1020、S1030及S1040;所述元件及所述步骤的详细内容已于图3及图4的 实施例中做过说明,故不再赘述。维特比解码电路340产生的中间解码数据包含估测数据及中间误差检测数据中间误差检测数据可以用来验 证估测数据是否为合法的码字。数据抽取电路910及数据抽取电路915分 别从中间解码数据中取出估测数据及中间误差检测数据(步骤S1050)。 因为中间误差检测数据具有预设的长度且添加于估测数据的尾端,所以 数据抽取电路910及数据抽取电路915可以简单地通过分割中间解码数据即可完成步骤S1050。FIG. 9 is a functional block diagram of another embodiment of the convolutional code decoder of the present invention. FIG. 10 is a flowchart of another embodiment of a convolutional code decoding method according to the present invention. The
由于第一待解码数据E中对应于误差检测数据的位元都是未知的位元 (除非辅助数据A'的所有位元皆为已知),且为连续分布,而维特比架构对 连续的错误有较差的抵抗性,所以与估测数据相比,中间误差检测数据的误码率较高。也就是说,可以利用估测数据的较高的正确性来帮助误差 检测数据的解码。所以接下来误差检测数据产生电路920对估测数据进行 误差检测运算以产生参考误差检测数据(步骤S1060)。误差检测数据产 生电路920的功能与误差检测数据产生电路310相同,故不再赘述。由于参 考误差检测数据是根据估测数据重建(rebuild)所得,所以一般而言参 考误差检测数据的正确率比中间误差检测数据高。参考误差检测数 据与中间误差检测数据具有相同的位元数。Since the bits corresponding to the error detection data in the first to-be-decoded data E are unknown bits (unless all the bits of the auxiliary data A' are known), and are continuously distributed, the Viterbi architecture does not Errors are less resistant to errors, so with estimated data compared to the intermediate error detection data The bit error rate is higher. That is, the estimated data can be used higher correctness to help the decoding of error detection data. Therefore, the error detection
比较电路950比较参考误差检测数据及中间误差检测数据并 且产生控制信号Ctrl。在一个实施例中,控制信号Ctrl的位元数与参考误差 检测数据及中间误差检测数据的位元数相同,而比较电路950可以 将参考误差检测数据及中间误差检测数据相同数值的位元设定成已 知的信息位元(例如将控制信号Ctrl中对应的位元设为逻辑值1),以及将不 同数值的位元设定成未知的信息位元(例如将控制信号Ctrl中对应的位元设 为逻辑值0)(步骤S1070)。当参考误差检测数据与中间误差检测数据的相异的位元数小于某个阈值时(例如控制信号Ctrl中逻辑值为0的位元数 小于该阈值),代表维特比解码电路340解码中间误差检测数据时可能因 为噪声而产生了错误,因此接下来选择电路930参考控制信号Ctrl及控制信 号Prek,并根据中间误差检测数据与参考误差检测数据的其中之一、 接收数据及中间数据Z'产生第二待解码数据E'(步骤S1080)。而当参考误 差检测数据与中间误差检测数据的相异的位元数不小于该阈值时(例如控制信号Ctrl中逻辑值为0的位元数不小于该阈值),选择电路930 仅根据接收数据及中间数据Z'产生第二待解码数据E'。The
在一些实施例中,控制信号Prek、控制信号Ctrl、中间数据Z'及接收数 据具有相同的位元数。控制信号Prek以逻辑值1代表中间数据Z'中对应的 位元为已知,以逻辑值0代表中间数据Z'中对应的位元为未知。控制信号Ctrl 以逻辑值1代表中间误差检测数据及参考误差检测数据中对应的位 元为已知,以逻辑值0代表中间误差检测数据及参考误差检测数据中 对应的位元为未知。更明确地说,根据控制信号Prek及控制信号Ctrl的内容 (例如根据两者的逐位元(bitwise)或运算(OR operation)的结果),对接 收数据中对应误差检测数据的位元而言,选择电路930以中间误差检测数 据及参考误差检测数据的相同位元取代接收数据的相对应位元;对 接收数据中非对应误差检测数据的位元而言,选择电路930以中间数据Z' 的已知位元取代接收数据的相对应位元。最后选择电路930产生第二待解 码数据E'。换句话说,如果控制信号Ctrl和/或控制信号Prek指示接收数据的 部分位元为已知,则选择电路930以已知的数值0或1取代接收数据中的 相对应位元;如果控制信号Ctrl和/或控制信号Prek指示接收数据的部分位 元为未知,则选择电路930选择接收数据的数值。In some embodiments, the control signal Prek, the control signal Ctrl, the intermediate data Z' and the received data have the same number of bits. In the control signal Prek, a logic value of 1 indicates that the corresponding bit in the intermediate data Z' is known, and a logic value of 0 indicates that the corresponding bit in the intermediate data Z' is unknown. The control signal Ctrl represents the intermediate error detection data with a logic value of 1 and reference error detection data The corresponding bits in are known, and the
最后,维特比解码电路940解码第二待解码数据E'以得到目标数据 (步骤S1090)。选择电路930可用多工器实作。请注意,在其他的实施例中 可采用分时的技术,使得图9的回旋码解码器250可以只使用一个误差检测 数据产生电路、一个选择电路及一个维特比解码电路。Finally, the
因为重建的参考误差检测数据具有较高的正确率,所以图9及图10 的实施例可以利用此特征减少待解码数据中的连续错误位元。因此,维特比 演算法的解码效能可以获得提升,有助于缩短无线通信系统的接收端的解调 制和/或解码时间。Because of the reconstructed reference error detection data It has a higher accuracy rate, so the embodiments of FIG. 9 and FIG. 10 can use this feature to reduce consecutive erroneous bits in the data to be decoded. Therefore, the decoding performance of the Viterbi algorithm can be improved, which helps to shorten the demodulation and/or decoding time of the receiving end of the wireless communication system.
前述的电路(亦即图3、图5及图9的各功能方块)亦可由数字信号处 理器(digitalsignal processor,DSP)实作。在此情况下,数字信号处理器以 多个功能模块来分别实现前述的电路的功能,且数字信号处理器通过执行存 储在存储存储器中的程序码或程序指令以完成所述功能模块的功能。本发明 亦可以是硬件与软/固件的组合。The aforementioned circuits (namely, the functional blocks of Fig. 3, Fig. 5 and Fig. 9) can also be implemented by a digital signal processor (DSP). In this case, the digital signal processor implements the functions of the aforementioned circuits with a plurality of functional modules, and the digital signal processor performs the functions of the functional modules by executing the program codes or program instructions stored in the storage memory. The present invention may also be a combination of hardware and software/firmware.
由于本技术领域技术人员可通过本公开的装置发明的公开内容来了解本 公开的方法发明的实施细节与变化,因此,为避免赘文,在不影响该方法发 明的公开要求及可实施性的前提下,重复的说明在此予以省略。请注意,前 揭图示中,元件的形状、尺寸、比例以及步骤的顺序等仅为示意,是供本技 术领域技术人员了解本发明之用,非用以限制本发明。再者,前揭实施例虽 以窄频物联网为例,然此并非对本发明的限制,本技术领域人士可依本发明 的公开适当地将本发明应用于其它类型的通信系统。Since those skilled in the art can understand the implementation details and changes of the method invention of the present disclosure through the disclosure of the device invention of the present disclosure, in order to avoid redundant repetition, the disclosure requirements and practicability of the method invention are not affected. On the premise, repeated descriptions are omitted here. Please note that the shapes, sizes, ratios and steps of the components in the preceding figures are only for illustration, and are for those skilled in the art to understand the present invention, and are not intended to limit the present invention. Furthermore, although the narrow-band Internet of Things is used as an example in the foregoing embodiments, this is not a limitation of the present invention, and those skilled in the art can appropriately apply the present invention to other types of communication systems according to the disclosure of the present invention.
虽然本发明的实施例如上所述,然而所述实施例并非用来限定本发明, 本技术领域技术人员可依据本发明的明示或隐含的内容对本发明的技术特征 施以变化,凡此种种变化均可能属于本发明所寻求的专利保护范围,换言之, 本发明的专利保护范围须视本说明书的权利要求所界定者为准。Although the embodiments of the present invention are described above, the embodiments are not intended to limit the present invention, and those skilled in the art can make changes to the technical features of the present invention according to the explicit or implicit contents of the present invention. Changes may all belong to the scope of patent protection sought by the present invention, in other words, the scope of patent protection of the present invention shall be determined by the claims in this specification.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845860.3A CN110768748B (en) | 2018-07-27 | 2018-07-27 | Convolutional Code Decoder and Convolutional Code Decoding Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845860.3A CN110768748B (en) | 2018-07-27 | 2018-07-27 | Convolutional Code Decoder and Convolutional Code Decoding Method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768748A CN110768748A (en) | 2020-02-07 |
CN110768748B true CN110768748B (en) | 2022-05-17 |
Family
ID=69327044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810845860.3A Active CN110768748B (en) | 2018-07-27 | 2018-07-27 | Convolutional Code Decoder and Convolutional Code Decoding Method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768748B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113839680B (en) * | 2020-06-23 | 2024-04-02 | 瑞昱半导体股份有限公司 | Decoding circuit and decoding method based on Viterbi algorithm |
CN115278769A (en) * | 2021-04-30 | 2022-11-01 | 华为技术有限公司 | Data transmission method, device and system and readable storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1165440A (en) * | 1996-01-30 | 1997-11-19 | 索尼公司 | Data decording apparatus |
US6714596B1 (en) * | 1998-05-22 | 2004-03-30 | Kabushiki Kaisha Kenwood | BS digital broadcast receiver |
CN1557063A (en) * | 2001-09-20 | 2004-12-22 | �ʼҷ����ֵ��ӹɷ�����˾ | Frame error rate estimation in a receiver |
CN1698300A (en) * | 2000-10-31 | 2005-11-16 | 诺基亚有限公司 | Method and apparatus for providing optimized bit protection against transmission errors |
CN101247203A (en) * | 2007-02-16 | 2008-08-20 | 联发科技股份有限公司 | Apparatus and method for detecting punctured positions in punctured convolutional codes |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8050363B2 (en) * | 2007-05-04 | 2011-11-01 | Amicos Wireless Technology Ltd. | Turbo decoder and method for turbo decoding a double-binary circular recursive systematic convolutional encoded signal |
US7719444B2 (en) * | 2007-11-16 | 2010-05-18 | International Business Machines Corporation | Modulation coding |
EP2738944B1 (en) * | 2011-07-27 | 2017-08-30 | Sun Patent Trust | Encoding and decoding of tail-biting rate (n-1)/n low-density parity check convolutional codes (ldpc-cc) |
US20170359146A1 (en) * | 2016-06-13 | 2017-12-14 | Qualcomm Incorporated | Enhanced lva decoding using iterative comparison trellis construction |
-
2018
- 2018-07-27 CN CN201810845860.3A patent/CN110768748B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1165440A (en) * | 1996-01-30 | 1997-11-19 | 索尼公司 | Data decording apparatus |
US6714596B1 (en) * | 1998-05-22 | 2004-03-30 | Kabushiki Kaisha Kenwood | BS digital broadcast receiver |
CN1698300A (en) * | 2000-10-31 | 2005-11-16 | 诺基亚有限公司 | Method and apparatus for providing optimized bit protection against transmission errors |
CN1557063A (en) * | 2001-09-20 | 2004-12-22 | �ʼҷ����ֵ��ӹɷ�����˾ | Frame error rate estimation in a receiver |
CN101247203A (en) * | 2007-02-16 | 2008-08-20 | 联发科技股份有限公司 | Apparatus and method for detecting punctured positions in punctured convolutional codes |
Also Published As
Publication number | Publication date |
---|---|
CN110768748A (en) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025278B2 (en) | Polar coding encoding/decoding method and apparatus | |
RU2677589C2 (en) | Method and device for hybrid polar code generating | |
KR101551261B1 (en) | Decoding scheme using multiple hypotheses about transmitted messages | |
US11990921B2 (en) | List decoding of polarization-adjusted convolutional codes | |
KR102547476B1 (en) | Method for controlling decoding process based on path metric value and computing apparatus and mobile device for controlling the same | |
CN110768748B (en) | Convolutional Code Decoder and Convolutional Code Decoding Method | |
US8843811B2 (en) | Apparatus and method for decoding in communication system | |
CN107809303A (en) | A kind of polarization code coding method based on the optimization of AWGN subchannels | |
CA2709681A1 (en) | Decoding scheme using a-priori information about transmitted messages | |
TWI681639B (en) | Convolutional code decoder and convolutional code decoding method | |
US10720944B2 (en) | Convolutional code decoder and convolutional code decoding method | |
CN114430279B (en) | List Viterbi decoding method, device, decoder and storage medium | |
US6452984B1 (en) | Metric biasing for maximum likelihood sequence estimators | |
CN110768747B (en) | Convolutional code decoder and convolutional code decoding method | |
US8156412B2 (en) | Tree decoding method for decoding linear block codes | |
TWI760898B (en) | Data decoding circuit and method | |
CN114499548B (en) | A decoding method, device and storage medium | |
TWI731441B (en) | Successive cancellation list-based decoder and decoding method thereof | |
CN110460339B (en) | Method and device for detecting convolutional code decoding, storage medium and electronic equipment | |
WO2024091727A1 (en) | Decoding correlated received multi-symbol data by guessing noise effect | |
Suhaimi et al. | THE EFFECT OF DIFFERENT DECODING TECHNIQUES WITH GAUSSIAN APPROXIMATION ON THE PERFORMANCE OF POLAR CODES | |
CN115516786A (en) | Enhanced decoding for polar codes | |
WO2006106377A1 (en) | Blind transport format detection based on decoder metric | |
CN113381771A (en) | Polar code decoding method and system for receiving end multi-code receiving sequence |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |