[go: up one dir, main page]

CN102064839B - High-speed low-power consumption multi-code-rate Viterbi decoder - Google Patents

High-speed low-power consumption multi-code-rate Viterbi decoder Download PDF

Info

Publication number
CN102064839B
CN102064839B CN2009102378358A CN200910237835A CN102064839B CN 102064839 B CN102064839 B CN 102064839B CN 2009102378358 A CN2009102378358 A CN 2009102378358A CN 200910237835 A CN200910237835 A CN 200910237835A CN 102064839 B CN102064839 B CN 102064839B
Authority
CN
China
Prior art keywords
unit
path
output
selection unit
register exchange
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
CN2009102378358A
Other languages
Chinese (zh)
Other versions
CN102064839A (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.)
Zhejiang Kerui Microelectronics Technology Co ltd
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN2009102378358A priority Critical patent/CN102064839B/en
Publication of CN102064839A publication Critical patent/CN102064839A/en
Application granted granted Critical
Publication of CN102064839B publication Critical patent/CN102064839B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种高速低功耗多码率的Viterbi译码器,包括分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元,加比选单元接收分支度量单元的分支度量值并将处理后得到的幸存路径送到幸存路径存储单元进行译码处理得到译码比特,同时将加比选得到的路径度量值存入路径度量存储单元以备下次的加比选处理。本发明适用于(2,1,7)卷积码的Viterbi译码器,具有高吞吐率,低功耗特点,可支持1/2,2/3,3/4,5/6码率。译码器采用全并行的加比选(ACS)单元,最高位清零防溢出处理,采用了一种可降低功耗的寄存器交换法,可有效减少寄存器翻转动态功耗,能根据信噪比的大小自动调整功率。

The invention discloses a Viterbi decoder with high speed, low power consumption and multiple code rates, which includes a branch measurement unit, a comparison selection unit, a path measurement storage unit, a survival path storage unit, an output unit and a control unit, and the comparison selection unit receives The branch metric value of the branch metric unit and the processed surviving path are sent to the surviving path storage unit for decoding processing to obtain decoding bits, and at the same time, the path metric value obtained by adding and comparing is stored in the path metric storage unit for the next time Gabi selection processing. The invention is applicable to a Viterbi decoder of (2, 1, 7) convolutional codes, has the characteristics of high throughput and low power consumption, and can support 1/2, 2/3, 3/4, 5/6 code rates. The decoder adopts a fully parallel add ratio select (ACS) unit, the highest bit is cleared to prevent overflow processing, and a register exchange method that can reduce power consumption is adopted, which can effectively reduce the dynamic power consumption of register flipping, and can be based on the signal-to-noise ratio The size automatically adjusts the power.

Description

一种高速低功耗多码率的Viterbi译码器A Viterbi Decoder with High Speed and Low Power Consumption and Multiple Code Rates

技术领域 technical field

本发明涉及通信领域Viterbi译码器,尤其涉及一种高速低功耗多码率的Viterbi译码器。The invention relates to a Viterbi decoder in the communication field, in particular to a Viterbi decoder with high speed, low power consumption and multiple code rates.

背景技术 Background technique

在无线通信系统中,由于无线信道存在反射、散射和衍射而造成的多径衰落,会造成时间、频率和空间域上的弥散,必然会对传输数据引入失真和信号判决错误。信道编码技术通过在信息序列中加入冗余码元,来发现、纠正传输中发生的信号错误,从而提高系统的可靠性。In wireless communication systems, multipath fading caused by reflection, scattering, and diffraction in wireless channels will cause dispersion in the time, frequency, and space domains, which will inevitably introduce distortion and signal judgment errors to transmitted data. Channel coding technology discovers and corrects signal errors that occur during transmission by adding redundant symbols to the information sequence, thereby improving the reliability of the system.

目前无线通信对数据吞吐率提出了越来越高的要求,如下一代无线局域网(WLAN)协议IEEE 802.11n采用正交频分复用(OFDM)、多输入多输出(MIMO)、空时编码(STBC)等技术,物理层理想速率最高达600Mbps。为了抵抗由于频率选择性衰落信道造成的OFDM子载波衰落效应,它采用前向纠错码(FEC)和交织。在IEEE 802.11n中的信道编码方式之一是卷积码,码率有4种:1/2,2/3,3/4和5/6。现代无线通信中常常需要达到几百兆的数据吞吐率,这对译码器的工作频率及数据吞吐率提出很高的要求。同时无线设备成本和功耗的要求提出了需要降低译码器实现的复杂度和功耗。为了提高频谱的利用率,多码率的卷积码一般都应用到现代的无线通信中。因此实际应用中对卷积码的要求,相应的Viterbi译码器需要能有高速、低功耗、多码率的设计。At present, wireless communication has put forward higher and higher requirements for data throughput. For example, the next-generation wireless local area network (WLAN) protocol IEEE 802.11n adopts orthogonal frequency division multiplexing (OFDM), multiple input multiple output (MIMO), and space-time coding. (STBC) and other technologies, the ideal rate of the physical layer is up to 600Mbps. To counteract the effect of OFDM subcarrier fading due to frequency-selective fading channels, it employs forward error correction codes (FEC) and interleaving. One of the channel coding methods in IEEE 802.11n is the convolutional code, and there are four code rates: 1/2, 2/3, 3/4 and 5/6. In modern wireless communication, the data throughput rate of hundreds of megabytes is often required, which puts forward high requirements on the operating frequency and data throughput rate of the decoder. At the same time, the requirements on the cost and power consumption of the wireless device put forward the need to reduce the complexity and power consumption of the decoder implementation. In order to improve the utilization rate of spectrum, multi-rate convolutional codes are generally applied in modern wireless communication. Therefore, the requirements for convolutional codes in practical applications require the corresponding Viterbi decoder to be designed with high speed, low power consumption, and multiple code rates.

因此,在实际Viterbi译码器实现中,需要综合考虑这速度、功耗和多码率三个方面,如何在提高数据吞吐率的前提下尽量降低译码器的功耗。Therefore, in the actual implementation of the Viterbi decoder, it is necessary to comprehensively consider the three aspects of speed, power consumption and multi-code rate, and how to reduce the power consumption of the decoder as much as possible on the premise of improving the data throughput.

发明内容 Contents of the invention

(一)要解决的技术问题(1) Technical problems to be solved

有鉴于此,本发明的主要目的是提供一种高速低功耗多码率的Viterbi译码器。In view of this, the main purpose of the present invention is to provide a high-speed low-power multi-code rate Viterbi decoder.

(二)技术方案(2) Technical solution

为达到上述目的,本发明提供了一种高速低功耗多码率的Viterbi译码器,包含分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元,其中:In order to achieve the above object, the present invention provides a high-speed low-power multi-code rate Viterbi decoder, comprising a branch metric unit, an addition ratio selection unit, a path metric storage unit, a survival path storage unit, an output unit and a control unit, in:

分支度量单元,用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给加比选单元;The branch measurement unit is used to calculate the distance between the receiving symbol and the corresponding branch symbol on the branch of the grid graph, and output the calculation result to the addition and selection unit;

加比选单元,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路径输出给幸存路径存储单元;The addition and comparison selection unit is used to add the surviving path metrics at the previous moment of the two branches entering each state to the corresponding branch metrics, compare and select the smaller one as the updated surviving path metric, The corresponding path is a surviving path, and then the metric value of the surviving path is output to the path metric storage unit, and the surviving path is output to the surviving path storage unit;

路径度量存储单元,用于存储加比选单元输出的更新的路径度量值;The path metric storage unit is used to store the updated path metric value output by the addition and comparison selection unit;

幸存路径存储单元,用于通过对加比选单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;The survival path storage unit is used to obtain decoding bits by processing the survival paths output by the addition and comparison selection unit, and output them to the output unit;

输出单元,用于完成译码器的缓冲输出;The output unit is used to complete the buffer output of the decoder;

控制单元,用于控制译码器中分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元和输出单元的协调工作与同步。The control unit is used to control the coordinated work and synchronization of the branch metric unit, the add compare selection unit, the path metric storage unit, the survivor path storage unit and the output unit in the decoder.

上述方案中,该译码器的每个模块都带有输入使能的信号,这样可让译码器工作在不同的码率和不同的输入数据的形式。In the above solution, each module of the decoder has an input enabling signal, which allows the decoder to work at different code rates and different input data formats.

上述方案中,所述分支度量单元以绝对距离来表示收符号与网格图分支上相应分支符号之间的距离,并通过减法器来实现。In the above solution, the branch measurement unit expresses the distance between the received symbol and the corresponding branch symbol on the trellis graph branch in absolute distance, and is realized by a subtractor.

上述方案中,所述的分支度量单元采用绝对距离的方法,对于不同码率,在补孔单元中根据码率在相应的补孔的量化数前面加上一个标志位来标志此处码符号为补孔值,相应在分支度量计算单元中通过这个标志位来禁止相应比特的度量值的计算,此时得到相应的码符号处的绝对距离为0。In the above-mentioned scheme, described branch measurement unit adopts the method for absolute distance, for different code rates, in the patching unit, according to the coding rate, add a flag bit before the quantization number of corresponding patching holes to sign the code symbol here is The hole filling value, correspondingly, the calculation of the metric value of the corresponding bit is prohibited through this flag bit in the branch metric calculation unit, and at this time, the absolute distance at the corresponding code symbol is 0.

上述方案中,所述加比选单元是基于蝶形运算单元,蝶形运算单元的个数与译码器的状态数有关,每个蝶形运算单元包含4个加法器、2个比较器和2个选择器。In the above scheme, the addition and selection unit is based on the butterfly operation unit, the number of the butterfly operation unit is related to the number of states of the decoder, and each butterfly operation unit includes 4 adders, 2 comparators and 2 selectors.

上述方案中,所述幸存路径存储单元包含输入选择单元、寄存器交换单元和输出选择单元,其中:In the above solution, the surviving path storage unit includes an input selection unit, a register exchange unit and an output selection unit, wherein:

输入选择单元将加比选单元得到的幸存路径依次循环写入到寄存器交换单元的寄存器交换小组中,这种循环写入是通过一个计数器来控制写入的寄存器交换小组的序号,序号是从0增加到最大寄存器小组的数目,增加由幸存路径有效时将计数器加1,再根据计数器的数值将相应的幸存路径存入与计数器相同数值的寄存器交换小组中,当计数器达到最大的值,即寄存器交换小组的数目时,计数器置位0,接下来重复前面的过程;The input selection unit writes the surviving path obtained by the addition and comparison selection unit to the register exchange group of the register exchange unit in turn. This cycle write is to control the serial number of the written register exchange group through a counter, and the serial number is from 0 Increase to the maximum number of register groups, increase the counter by 1 when the surviving path is valid, and then store the corresponding surviving path into the register exchange group with the same value as the counter according to the value of the counter. When the counter reaches the maximum value, the register When exchanging the number of groups, the counter is set to 0, and then the previous process is repeated;

寄存器交换单元由一定数量的寄存器交换小组单元构成,组数一般为约束长度的5~7倍,寄存器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来选择当前的寄存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当计数器的数值等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组中,若不等,则将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组;The register exchange unit is composed of a certain number of register exchange group units. The number of groups is generally 5 to 7 times the constraint length. The output of the register exchange group is fed back to the input selection unit, and the current register exchange is selected through the counter in the input selection unit. The input of the group is the output of the current register exchange group or the current survival path. When the value of the counter is equal to the serial number of the register exchange group, the survival path is input into the current register exchange group. If not, the current register exchange is performed. The output of the group is used as input to the current register exchange group;

输出选择单元是依次循环的读取寄存器交换小组中的数据得到译码比特。The output selection unit reads the data in the register exchange group sequentially and cyclically to obtain the decoded bits.

(三)有益效果(3) Beneficial effects

从上述技术方案可以看出,本发明具有以下有益效果:As can be seen from the foregoing technical solutions, the present invention has the following beneficial effects:

1、本发明提供的这种高速低功耗多码率的Viterbi译码器,并行的加比选单元提高了数据的吞吐率。1. In the high-speed, low-power multi-code rate Viterbi decoder provided by the present invention, the parallel adding, comparing and selecting units improve the data throughput.

2、本发明提供的这种高速低功耗多码率的Viterbi译码器,动态的输入输出选择单元,将加比选单元处理得到的幸存路径动态的输入到幸存路径存储单元中的寄存器交换小组中,经过一定时钟周期的译码处理后,通过输出选择单元动态的选择寄存器交换小组中的数据作为译码输出,从而在得到译码比特的同时降低译码器的功耗。2. This high-speed, low-power multi-code rate Viterbi decoder provided by the present invention, a dynamic input and output selection unit, dynamically inputs the surviving path obtained by the processing of the addition ratio selection unit to the register exchange in the surviving path storage unit In the group, after a certain clock cycle of decoding processing, the output selection unit dynamically selects the data in the register exchange group as the decoding output, thereby reducing the power consumption of the decoder while obtaining the decoded bits.

3、本发明提供的这种高速低功耗多码率的Viterbi译码器,模块采用使能信号的设计方法,可以灵活处理不同码率下的不同输入数据流的形式。3. The high-speed, low-power multi-code rate Viterbi decoder provided by the present invention adopts the design method of the enable signal in the module, which can flexibly process different input data stream forms under different code rates.

附图说明Description of drawings

图1是(2,1,7)卷积码编码器;Fig. 1 is (2,1,7) convolution code encoder;

图2是本发明中利用到的Viterbi译码的网格图;Fig. 2 is the trellis diagram of the Viterbi decoding utilized in the present invention;

图3是本发明提供的高速低功耗多码率Viterbi译码器的结构示意图;Fig. 3 is the structural representation of high-speed low-power multi-code rate Viterbi decoder provided by the present invention;

图4是本发明的加比选单元的结构图;Fig. 4 is the structural diagram of the ratio selection unit of the present invention;

图5是加比选单元中的蝶形单元图;Fig. 5 is the butterfly unit figure in the ratio selection unit;

图6是最高为清零电路的结构图;Fig. 6 is a structural diagram of the highest clearing circuit;

图7a是本发明幸存路径存储单元的结构示意图;Fig. 7a is a schematic structural diagram of a survivor path storage unit in the present invention;

图7b是本发明寄存器交换小组单元的结构示意图;Fig. 7b is a schematic structural diagram of the register switching group unit of the present invention;

图8是本发明译码器在TGN信道A下的误码率曲线图;Fig. 8 is a bit error rate curve diagram of the decoder of the present invention under TGN channel A;

图9是本发明译码器在TGN信道B下的误码率曲线图;Fig. 9 is a bit error rate curve diagram of the decoder of the present invention under TGN channel B;

图10是在TGN信道A下寄存器翻转减少比例图;Fig. 10 is a reduction ratio diagram of register flipping under TGN channel A;

图11是在TGN信道B下寄存器翻转减少比例图。FIG. 11 is a graph showing the reduction ratio of register flipping under TGN channel B.

具体实施方式 Detailed ways

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be described in further detail below in conjunction with specific embodiments and with reference to the accompanying drawings.

以WLAN中使用的卷积码为例。在WLAN中1/2码率的卷积码是通过生成多项式G1=133OCT和G1=171OCT来定义的,约束长度为7,如图1所示,其余码率(2/3,3/4,4/5)是在1/2码率的基础上按照相应的删余模式进行删余得到的。Take the convolutional codes used in WLANs as an example. In WLAN, the convolutional code of 1/2 code rate is defined by generating polynomials G1=133OCT and G1=171OCT, and the constraint length is 7, as shown in Figure 1, and the remaining code rates (2/3, 3/4, 4/5) is obtained by performing puncturing according to a corresponding puncturing mode on the basis of a code rate of 1/2.

如图2所示是(2,1,7)卷积码的网格图。Viterbi译码算法的实质就是在如图2中网格图上选择与接收符号序列距离最短的一条路径作为结果来进行译码。从图2的网格图中可以看到,如果从状态0出发的2条路径,在某一状态会汇合,而且以后这2条路径一直复合在一起,由于复合部分分支对于路径度量的贡献是相同的,所以在汇合点上就可以删掉这2条路径中前面部分路径度量较大的那一条。因此在任何时刻,对进入每一状态的所有路径只需保留其中一条具有最小部分路径度量的路径,这条被保留的路径称为幸存路径。(2,1,7)卷积码的状态数为64个,在任何时刻,译码器需要保存64条幸存路径,同时保存这64条幸存路径所对应的路径度量值。在时刻6以后,每个状态都有2条路径进入,每条路径的部分路径度量值都等于前一时刻出发状态的幸存路径度量值与相应的分支度量之和,比较这两个和,取其中较小的为幸存路径度量值,对应的路径为幸存路径,并把幸存路径度量值和幸存路径存储在相应的存储器中。这样,在以后时刻进行类似的操作来获得幸存路径度量值和幸存路径,将得到的幸存路径进行处理即可得到译码。As shown in Fig. 2, it is a trellis diagram of (2, 1, 7) convolutional code. The essence of the Viterbi decoding algorithm is to select a path with the shortest distance from the received symbol sequence on the trellis diagram as shown in Figure 2 as the result for decoding. It can be seen from the grid diagram in Figure 2 that if the two paths starting from state 0 will converge in a certain state, and these two paths will always be combined together in the future, since the contribution of the compound part branch to the path metric is The same, so the one with the larger metric in the front part of the two paths can be deleted at the confluence point. Therefore, at any moment, for all the paths entering each state, only one of the paths with the smallest partial path metric needs to be reserved, and this preserved path is called the survivor path. The number of states of the (2, 1, 7) convolutional code is 64. At any moment, the decoder needs to save 64 surviving paths, and at the same time save the path metric values corresponding to these 64 surviving paths. After time 6, each state has two paths to enter, and the partial path metric value of each path is equal to the sum of the surviving path metric value of the departure state at the previous moment and the corresponding branch metric, compare these two sums, and take The smaller one is the metric value of the surviving path, and the corresponding path is the surviving path, and the metric value of the surviving path and the surviving path are stored in a corresponding memory. In this way, a similar operation is performed at a later time to obtain the survivor path metric value and the survivor path, and the obtained survivor path is processed to obtain decoding.

图3是本发明提供的高速低功耗多码率Viterbi译码器的结构示意图,输入数据是以块的形式出现,通过信号frame_start和frame_end分别标示数据块的开始和结束,通过信号din_valid标示数据块中输入译码器数据的有效性,译码器接口上定义的这三个标示信号是由译码器外的系统中的控制单元根据实际的情况而产生的,同时这样的信号标示定义可以让译码器灵活性增强以处理不同输入的数据流的形式。Fig. 3 is a schematic structural diagram of a high-speed low-power multi-code rate Viterbi decoder provided by the present invention. The input data appears in the form of blocks, and the start and end of the data block are marked by the signals frame_start and frame_end respectively, and the data is marked by the signal din_valid The validity of the input decoder data in the block, the three flag signals defined on the decoder interface are generated by the control unit in the system outside the decoder according to the actual situation, and such signal flag definitions can be Let the decoder be flexible in the form of processing different input data streams.

再参照图3,本发明提供的高速低功耗多码率Viterbi译码器包含分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元。其中,分支度量单元用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给加比选单元;分支度量单元以绝对距离来表示收符号与网格图分支上相应分支符号之间的距离,并通过减法器来实现。加比选单元用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路径输出给幸存路径存储单元;路径度量存储单元用于存储加比选单元输出的更新的路径度量值;幸存路径存储单元用于通过对加比选单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;输出单元用于完成译码器的缓冲输出;控制单元用于控制译码器中分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元和输出单元的协调工作与同步。Referring to Fig. 3 again, the high-speed low-power multi-code rate Viterbi decoder provided by the present invention includes a branch metric unit, an addition and comparison selection unit, a path metric storage unit, a survivor path storage unit, an output unit and a control unit. Among them, the branch measurement unit is used to calculate the distance between the received symbol and the corresponding branch symbol on the branch of the grid graph, and output the calculation result to the addition and selection unit; the branch measurement unit expresses the absolute distance between the received symbol and the grid graph branch The distance between the corresponding branch symbols on the upper, and through the subtractor to achieve. The addition and selection unit is used to add the metric value of the survival path at the previous moment of the two branches entering each state to the metric of the corresponding branch, compare and select the smaller one as the updated metric value of the surviving path, corresponding to The path is the survival path, and then the survival path metric value is output to the path metric storage unit, and the surviving path is output to the surviving path storage unit; the path metric storage unit is used to store the updated path metric value output by the addition and selection unit; the survival path The storage unit is used to process the surviving path output by the addition and selection unit to obtain decoded bits and output to the output unit; the output unit is used to complete the buffer output of the decoder; the control unit is used to control the branch in the decoder The coordination and synchronization of the metric unit, the addition and selection unit, the path metric storage unit, the surviving path storage unit and the output unit.

如图4所示,加比选单元包含并行的32个蝶形单元和归一化防溢出处理单元,(2,1,7)共有64个状态,需要32个蝶形单元,每个蝶形单元的结构图如图5所示,这样每个蝶形运算单元需要4个加法器、2个比较器和2个选择器。As shown in Figure 4, the addition and selection unit includes 32 parallel butterfly units and normalized anti-overflow processing units. (2, 1, 7) has a total of 64 states and requires 32 butterfly units. Each butterfly unit The structural diagram of the unit is shown in Figure 5, so that each butterfly operation unit needs 4 adders, 2 comparators and 2 selectors.

如图6所示,归一化防溢出处理单元的输入来自于32个蝶形运算单元得到的64个路径度量值的最高位,判断64个路径度量值的最高位比特同时位1时产生一个flag_clear信号,通过这个信号是否为1来将64个路径度量值的最高位置位0,这样完成了防溢出的处理。As shown in Figure 6, the input of the normalized anti-overflow processing unit comes from the highest bits of the 64 path metrics obtained by the 32 butterfly operation units, and when the highest bits of the 64 path metrics are judged to be 1 simultaneously, a The flag_clear signal, whether the signal is 1 or not, sets the highest position of the 64 path metric values to 0, thus completing the anti-overflow processing.

图7a是本发明幸存路径存储单元的结构示意图,幸存路径存储单元包含输入选择单元、寄存器交换单元和输出选择单元,输入选择单元将加比选单元得到的幸存路径依次循环写入到寄存器交换单元的寄存器交换小组中,这种循环写入是通过一个计数器来控制写入的寄存器交换小组的序号,序号是从0增加到最大寄存器小组的数目,增加由幸存路径有效时将计数器加1,再根据计数器的数值将相应的幸存路径存入与计数器相同数值的寄存器交换小组中,当计数器达到最大的值,即寄存器交换小组的数目时,计数器置位0,接下来重复前面的过程。Fig. 7a is a schematic diagram of the structure of the survival path storage unit of the present invention. The survival path storage unit includes an input selection unit, a register exchange unit and an output selection unit. The input selection unit writes the survival path obtained by adding the ratio selection unit to the register exchange unit in turn. In the register exchange group, this kind of cyclic writing is controlled by a counter to control the serial number of the written register exchange group. The serial number is increased from 0 to the number of the largest register group, and the counter is increased by 1 when the survival path is valid, and then According to the value of the counter, the corresponding surviving path is stored in the register exchange group with the same value as the counter. When the counter reaches the maximum value, that is, the number of register exchange groups, the counter is set to 0, and then the previous process is repeated.

图7b是本发明寄存器交换小组单元的结构示意图。寄存器交换单元由一定数量的图7(b)所示的寄存器交换小组单元构成,组数一般为约束长度的5~7倍,这里我们选择组数位40,每个寄存器交换小组单元由64个寄存器和64个2选1的选择器组成,寄存器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来选择当前的寄存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当计数器的数值等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组中,若不等,则将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组。输出选择单元是依次循环的读取寄存器交换小组中的数据得到译码比特。这种方法不需要在寄存器交换小组之间进行数据传递,只是在寄存器交换小组内进行数据选择传递,经过一定次数的选择交换后每组中的寄存器会收敛于译码的比特,这样就会减少寄存器组之间数据传递引起的状态翻转,从而达到降低功耗的目的。Fig. 7b is a schematic structural diagram of the register switching group unit of the present invention. The register exchange unit is composed of a certain number of register exchange group units shown in Figure 7(b). The number of groups is generally 5 to 7 times the constraint length. Here we choose the number of groups to be 40, and each register exchange group unit consists of 64 registers. Composed of 64 2-to-1 selectors, the output of the register exchange group is fed back to the input selection unit, and the counter in the input selection unit is used to select whether the input of the current register exchange group is the output of the current register exchange group or the current survivor Path, when the value of the counter is equal to the serial number of the register exchange group, then input the surviving path into the current register exchange group, if not, then use the output of the current register exchange group as input to the current register exchange group. The output selection unit reads the data in the register exchange group sequentially and cyclically to obtain the decoded bits. This method does not need to transfer data between register exchange groups, but only selects and transfers data within the register exchange group. After a certain number of selection exchanges, the registers in each group will converge to the decoded bits, which will reduce The state inversion caused by data transfer between register groups can achieve the purpose of reducing power consumption.

图8是本发明译码器在TGN信道A下的误码率曲线图,此信道只有一条径,分别得到了不同调制方式和码率下的误码率曲线图。Fig. 8 is a bit error rate curve diagram of the decoder of the present invention under TGN channel A. This channel has only one path, and the bit error rate curve diagrams under different modulation modes and code rates are respectively obtained.

图9是本发明译码器在TGN信道B下的误码率曲线图,此信道有九条径,分别得到了不同调制方式和码率下的误码率曲线图。Fig. 9 is a bit error rate curve diagram of the decoder of the present invention under TGN channel B. This channel has nine paths, and respectively obtained bit error rate curve diagrams under different modulation modes and code rates.

图10是在TGN信道A下得到的寄存器翻转减少比例的曲线图,其中寄存器组深度为40。随着信噪比的增加,寄存器翻转减少比例也增加,能根据信噪比的大小自动调整功率。在BPSK和1/2码率(MCS=1)下,从信噪比5到25,寄存器翻转减少的比例一直在0.6以上;在64QAM和2/3码率(MCS=7)下,寄存器翻转减少的比例也随着信噪比增加而增大。可见,此方法能减少寄存器翻转,降低的功耗随着信噪比增加而增加。FIG. 10 is a graph of the reduction ratio of register flips obtained under TGN channel A, where the depth of the register bank is 40. As the signal-to-noise ratio increases, the reduction ratio of register flipping also increases, and the power can be automatically adjusted according to the signal-to-noise ratio. Under BPSK and 1/2 code rate (MCS=1), from SNR 5 to 25, the ratio of register flip reduction has been above 0.6; under 64QAM and 2/3 code rate (MCS=7), register flip The reduction ratio also increases as the signal-to-noise ratio increases. It can be seen that this method can reduce register flipping, and the reduced power consumption increases as the signal-to-noise ratio increases.

图11是在TGN信道B下得到的寄存器翻转减少比例的曲线图,其中寄存器组深度为40。可以得到类似的结论。由于多径的影响其减小的幅度没有信道A的明显。FIG. 11 is a graph of the reduction ratio of register flips obtained under TGN channel B, where the register bank depth is 40. Similar conclusions can be drawn. The magnitude of its reduction is not as obvious as that of channel A due to the influence of multipath.

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above have further described the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (5)

1.一种高速低功耗多码率的Viterbi译码器,其特征在于,包含分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元、输出单元和控制单元,其中:1. a kind of Viterbi decoder of high speed and low power consumption multi-code rate, it is characterized in that, comprise branch metric unit, add and compare selection unit, path metric storage unit, surviving path storage unit, output unit and control unit, wherein: 分支度量单元,用于计算接收符号与网格图分支上相应分支符号之间的距离,并将计算结果输出给加比选单元;The branch measurement unit is used to calculate the distance between the receiving symbol and the corresponding branch symbol on the branch of the grid graph, and output the calculation result to the addition and selection unit; 加比选单元,用于将进入每一状态的两条分支的前一时刻的幸存路径度量值与相应分支度量分别进行相加,进行比较并选取其中较小的为更新的幸存路径度量值,对应的路径为幸存路径,然后将幸存路径度量值输出给路径度量存储单元,将幸存路径输出给幸存路径存储单元;The addition and comparison selection unit is used to add the surviving path metrics at the previous moment of the two branches entering each state to the corresponding branch metrics, compare and select the smaller one as the updated surviving path metric, The corresponding path is a surviving path, and then the metric value of the surviving path is output to the path metric storage unit, and the surviving path is output to the surviving path storage unit; 路径度量存储单元,用于存储加比选单元输出的更新的路径度量值;The path metric storage unit is used to store the updated path metric value output by the addition and comparison selection unit; 幸存路径存储单元,用于通过对加比选单元输出的幸存路径进行处理来得到译码比特,并输出给输出单元;The survival path storage unit is used to obtain decoding bits by processing the survival paths output by the addition and comparison selection unit, and output them to the output unit; 输出单元,用于完成译码器的缓冲输出;The output unit is used to complete the buffer output of the decoder; 控制单元,用于控制译码器中分支度量单元、加比选单元、路径度量存储单元、幸存路径存储单元和输出单元的协调工作与同步;The control unit is used to control the coordination and synchronization of the branch metric unit, the addition and comparison selection unit, the path metric storage unit, the surviving path storage unit and the output unit in the decoder; 其中,所述幸存路径存储单元包含输入选择单元、寄存器交换单元和输出选择单元,其中:Wherein, the surviving path storage unit includes an input selection unit, a register exchange unit and an output selection unit, wherein: 输入选择单元将加比选单元得到的幸存路径依次循环写入到寄存器交换单元的寄存器交换小组中,这种循环写入是通过一个计数器来控制写入的寄存器交换小组的序号,序号是从0增加到最大寄存器小组的数目,增加由幸存路径有效时将计数器加1,再根据计数器的数值将相应的幸存路径存入与计数器相同数值的寄存器交换小组中,当计数器达到最大的值,即寄存器交换小组的数目时,计数器置位0,接下来重复前面的过程;The input selection unit writes the surviving path obtained by the addition and comparison selection unit to the register exchange group of the register exchange unit in turn. This cycle write is to control the serial number of the written register exchange group through a counter, and the serial number is from 0 Increase to the maximum number of register groups, increase the counter by 1 when the surviving path is valid, and then store the corresponding surviving path into the register exchange group with the same value as the counter according to the value of the counter. When the counter reaches the maximum value, the register When exchanging the number of groups, the counter is set to 0, and then the previous process is repeated; 寄存器交换单元由一定数量的寄存器交换小组单元构成,组数为约束长度的5~7倍,寄存器交换小组的输出反馈给输入选择单元中,通过输入选择单元中的计数器来选择当前的寄存器交换小组的输入是当前寄存器交换小组的输出还是当前的幸存路径,当计数器的数值等于寄存器交换小组的序号时,则将幸存路径输入到当前的寄存器交换小组中,若不等,则将当前寄存器交换小组的输出作为输入给当前的寄存器交换小组;The register exchange unit is composed of a certain number of register exchange group units, the number of groups is 5 to 7 times the constraint length, the output of the register exchange group is fed back to the input selection unit, and the current register exchange group is selected by the counter in the input selection unit Is the input of the current register exchange group the output of the current surviving path? When the value of the counter is equal to the serial number of the register exchange group, the surviving path is input into the current register exchange group. If not, the current register exchange group is The output of is used as input to the current register exchange group; 输出选择单元是依次循环的读取寄存器交换小组中的数据得到译码比特。The output selection unit reads the data in the register exchange group sequentially and cyclically to obtain the decoded bits. 2.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,该译码器的每个模块都带有输入使能的信号,这样可让译码器工作在不同的码率和不同的输入数据的形式。2. the Viterbi decoder of multiple code rates with low power consumption at a high speed according to claim 1, is characterized in that, each module of this decoder all has the signal that input enables, can allow decoder work like this At different bit rates and in different forms of input data. 3.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述分支度量单元以绝对距离来表示收符号与网格图分支上相应分支符号之间的距离,并通过减法器来实现。3. the Viterbi decoder of the multi-code rate of low power consumption at a high speed according to claim 1, is characterized in that, described branch measurement unit represents with absolute distance the distance between receiving symbol and the corresponding branch symbol on trellis graph branch distance, and implemented by a subtractor. 4.根据权利要求3所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述的分支度量单元采用绝对距离的方法,对于不同码率,在补孔单元中根据码率在相应的补孔的量化数前面加上一个标志位来标志此处码符号为补孔值,相应在分支度量计算单元中通过这个标志位来禁止相应比特的度量值的计算,此时得到相应的码符号处的绝对距离为0。4. the Viterbi decoder of the multi-code rate of high speed and low power consumption according to claim 3, is characterized in that, described branch measurement unit adopts the method for absolute distance, for different code rates, in the patching unit according to code The ratio is to add a flag bit in front of the quantized number of the corresponding patching hole to mark the code symbol here as the hole patching value, and correspondingly use this flag bit in the branch metric calculation unit to prohibit the calculation of the metric value of the corresponding bit. At this time, we get The absolute distance at the corresponding code symbol is zero. 5.根据权利要求1所述的高速低功耗多码率的Viterbi译码器,其特征在于,所述加比选单元是基于蝶形运算单元,蝶形运算单元的个数与译码器的状态数有关,每个蝶形运算单元包含4个加法器、2个比较器和2个选择器。5. the Viterbi decoder of the multi-code rate of high speed and low power consumption according to claim 1, it is characterized in that, described addition ratio selection unit is based on the butterfly operation unit, the number of the butterfly operation unit and the decoder Regarding the number of states, each butterfly unit includes 4 adders, 2 comparators and 2 selectors.
CN2009102378358A 2009-11-11 2009-11-11 High-speed low-power consumption multi-code-rate Viterbi decoder Active CN102064839B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102378358A CN102064839B (en) 2009-11-11 2009-11-11 High-speed low-power consumption multi-code-rate Viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102378358A CN102064839B (en) 2009-11-11 2009-11-11 High-speed low-power consumption multi-code-rate Viterbi decoder

Publications (2)

Publication Number Publication Date
CN102064839A CN102064839A (en) 2011-05-18
CN102064839B true CN102064839B (en) 2013-11-20

Family

ID=43999967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102378358A Active CN102064839B (en) 2009-11-11 2009-11-11 High-speed low-power consumption multi-code-rate Viterbi decoder

Country Status (1)

Country Link
CN (1) CN102064839B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102361460B (en) * 2011-07-28 2013-10-16 航天恒星科技有限公司 General high speed parallel cycle interleaving Viterbi decoding method
CN103546170A (en) * 2013-11-04 2014-01-29 广州市花都区中山大学国光电子与通信研究院 Low-power-consumption state feedback type Viterbi decoder and decoding method thereof
CN105162475A (en) * 2015-08-19 2015-12-16 中国人民解放军海军工程大学 FPGA (Field Programmable Gate Array) based parameterized multi-standard decoder with high throughput rate
CN108768412B (en) * 2018-05-30 2022-04-29 佛山华芯微特科技有限公司 Low-delay Viterbi decoding method and system
CN111030711B (en) * 2019-12-25 2023-06-16 吉首大学 Parallel addition-comparison selection processing method for Viterbi decoder
CN114070332B (en) * 2020-08-06 2025-04-08 千寻位置网络有限公司 Reconfigurable Viterbi decoding system and decoding method thereof
CN112073157B (en) * 2020-11-11 2021-01-19 南京沁恒微电子股份有限公司 A low-power viterbi decoding implementation method of bluetooth receiver

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1853350A (en) * 2003-11-24 2006-10-25 威盛电子股份有限公司 Joint Viterbi/Turbo Decoder for Mobile Communication Systems
CN101145789A (en) * 2007-07-23 2008-03-19 华东师范大学 High-speed Viterbi decoder survivor path management module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1853350A (en) * 2003-11-24 2006-10-25 威盛电子股份有限公司 Joint Viterbi/Turbo Decoder for Mobile Communication Systems
CN101145789A (en) * 2007-07-23 2008-03-19 华东师范大学 High-speed Viterbi decoder survivor path management module

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
一种高速Viterbi译码器的优化设计及Verilog实现;黄君凯,王鑫;《微电子学与计算机》;20051231;第22卷(第2期);178-182 *
一种高速Viterbi译码器的设计与实现;李刚等;《电子器件》;20071031;第30卷(第5期);1886-1889 *
大约束度Viterbi译码器中路径存储单元的设计;王春光,陈新;《现代电子技术》;20071231(第13期);51-54 *
张健等.高速Viterbi译码器的FPGA实现.《电讯技术》.2006,(第3期),37-41.
李刚等.一种高速Viterbi译码器的设计与实现.《电子器件》.2007,第30卷(第5期),1886-1889.
王春光,陈新.大约束度Viterbi译码器中路径存储单元的设计.《现代电子技术》.2007,(第13期),51-54.
高速Viterbi译码器的FPGA实现;张健等;《电讯技术》;20061231(第3期);37-41 *
黄君凯,王鑫.一种高速Viterbi译码器的优化设计及Verilog实现.《微电子学与计算机》.2005,第22卷(第2期),178-182.

Also Published As

Publication number Publication date
CN102064839A (en) 2011-05-18

Similar Documents

Publication Publication Date Title
CN102064839B (en) High-speed low-power consumption multi-code-rate Viterbi decoder
CN110235374B (en) Transmitter, method and non-transitory computer readable storage medium for transmitting encoded codewords
KR100888508B1 (en) Viterbi decoding device and method
US8732563B2 (en) Method for mapping and de-mapping of non-binary symbols in data communication systems
JP2009533001A (en) Turbo decoder having symmetric and asymmetric decoding rates
CN105359509B (en) Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal
CN105577325B (en) A kind of parallel processing interleaver applied to orthogonal frequency division multiplex transmission system
Iqbal et al. Analysis and design of coding and interleaving in a MIMO-OFDM communication system
CN104333435B (en) Iterative demapping decoding device
RU2701085C2 (en) Device and method for display and reverse display of signals in communication system using code with low density of parity checks
CN110336639A (en) A Polar Code Multilayer Coding Modulation Method Based on Capacity Distribution and Its Application
He et al. An efficient 4-D 8PSK TCM decoder architecture
CN109688083B (en) Orthogonal multi-carrier full-index communication transmission method based on subblock design
CN105959082B (en) Joint coding and modulation method and device based on multi-ary coding and high-order modulation
CN108900463B (en) Coded Modulation System Based on APSK Constellation Mapping
Huang et al. Research on 4-D 8PSK TCM decoding algorithm
CN204013602U (en) A kind of implement device of OFDM double modulation demodulation mode
WO2012100484A1 (en) Data reconstruction method and device
CN108432168A (en) A kind of method and apparatus demodulated and decode
CN101242234A (en) Data interleaving method and device
CN103684694B (en) Soft bit decoding system suitable for OFDM baseband system
Angarita et al. Architectures for the Implementation of a OFDM-WLAN Viterbi Decoder
Vladeanu Spatial modulation with joint antenna index and symbol index turbo trellis coding
CN103546170A (en) Low-power-consumption state feedback type Viterbi decoder and decoding method thereof
CN102361460B (en) General high speed parallel cycle interleaving Viterbi decoding method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: RALINWI NANJING ELECTRONIC TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: INST OF MICROELECTRONICS, C. A. S

Effective date: 20150309

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100029 CHAOYANG, BEIJING TO: 210046 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150309

Address after: 404, room 6, building 6, 210046 Su Dao garden, Xu Zhuang Software Park, Xuanwu District, Nanjing, Jiangsu

Patentee after: Ruiling Micro Nanjing Electronic Technology Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences

TR01 Transfer of patent right

Effective date of registration: 20220505

Address after: 310051 Room 502, 5 / F, building 9, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province

Patentee after: Zhejiang Kerui Microelectronics Technology Co.,Ltd.

Address before: Room 404, building 6, No. 6, Suyuan Road, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu 210046

Patentee before: Ruiling Micro Nanjing Electronic Technology Co.,Ltd.

TR01 Transfer of patent right