CN108418588A - 低延迟极化码sms译码器设计 - Google Patents
低延迟极化码sms译码器设计 Download PDFInfo
- Publication number
- CN108418588A CN108418588A CN201810044314.XA CN201810044314A CN108418588A CN 108418588 A CN108418588 A CN 108418588A CN 201810044314 A CN201810044314 A CN 201810044314A CN 108418588 A CN108418588 A CN 108418588A
- Authority
- CN
- China
- Prior art keywords
- value
- symbol
- sign
- absolute value
- computing unit
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/155—Shortening or extension of codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种缩减极化码SMS译码器计算单元路径的方法,本发明包括以下步骤:对于原有计算路径中先将输入数据的符号和绝对值进行结合作实数加法,然后再分离成符号和绝对值输出的过程,本发明利用并行计算的方法,用绝对值计算出全部三种可能的实数加法的结果,同时比较两个输入绝对值的大小并用符号表示,在下一个加法器周期直接通过符号判断筛选出正确的实数相加结果值,相比已有文献中的方法节省了符号和绝对值结合再分离所需要的一个加法器时延。从而将原有的计算路径从四个加法器缩减到了三个加法器,在短码长的情况下能使极化码SMS译码器提升33%的吞吐率以及27%的硬件效率。
Description
技术领域
本发明属于电子技术领域。尤其涉及一种在硬件上的二进制实数加法以及取模的快速计算方法。
背景技术
在通信领域中,极化码是目前为止唯一一个在理论上能达到香农极限的信道编码方案,并成功入选了5G通信标准。为了实现低复杂度的并行译码,有学者提出了基于BP算法的极化码SMS译码器,在保持良好性能的同时降低了译码器的延迟。
对于短码长的极化码SMS译码器来说,整个译码过程的延迟取决于计算单元的路径长度。现有的方法是通过将信息数据进行符号位和绝对值分离输入的形式,在中间计算过程中结合并作相应计算,最后再分离输出的方法,总共需要消耗四个单位时钟的时延消耗,每个单位时钟为一个加法器的时延消耗。因此找到缩短计算单元路径的方法,就能同比例减少译码器的延迟。
发明内容
本发明所需要解决的技术问题在于如何设计一种少于四个加法器时延的SMS译码器计算单元。
本发明解决技术问题所采取的技术方案如下:
对于原有计算路径中先将输入数据的符号和绝对值进行结合作实数加法,然后再分离成符号和绝对值输出的过程,本发明利用并行计算的方法,用绝对值计算出全部三种可能的实数加法的结果,同时比较两个输入绝对值的大小并用符号表示,在下一个加法器周期直接通过符号判断筛选出正确的实数相加结果值。从而相比原有方法节省了符号和绝对值结合再分离所需要的一个加法器时延。
本发明相对于现有技术具有以下优点:根据并行计算和符号判断的方法,缩短了计算单元路径,将原本所需要的四个加法器时延降低到了三个,从而提高了译码器的吞吐率和硬件效率。在短码长的情况下,极化码SMS 译码器计算路径不变而数据存取时延随着码长减小而变短,整个译码器的时延将取决于计算单元路径的长短,而本发明所提出的计算单元结构将带来 33%的译码器吞吐率提升和27%的硬件效率提升。
附图说明
本发明所对应计算单元有两种模式结构分别如图1和图2所示,图3是计算单元中所用到的减法器结构。
具体实施方式
以下结合附图对本发明作进一步说明。
现有文献中,极化码译码算法中公式(1)可简化为公式(2)
d=a+ln[(1+eb+c)/(eb+ec)] (1)
d=a+Sign(b)*Sign(c)*g(b,c) (2)
其中,g(b,c)=s*Min(|b|,|c|)。a,b和c均为模式一计算单元的输入端数据,
并且以符号位(Sign)和绝对值(Mag)分离的形式表示;s=0.9375是引入的乘法修正因子,用来减少对原非线性函数表达式(1)的近似误差,在硬件上可以通过一个移位减法器实现。Min(|b|,|c|)表示求两个绝对值|b|和|c|之间的较小值。
本发明为公式(2)所设计的的计算单元结构如图1所示,整个计算流程步骤如下:
步骤一:在第一个时钟周期,通过Scale单元同步计算|b|和|c|与修正因子s相乘后的修正值b’和c’,与此同时,通过一个Com-Sel单元来比较|b|
和|c|的大小并用一个1位符号EN指向两者中的较小值(|b|或|c|)。在符号计算端计算Sel1和Sel2的值。
步骤二:在第二个时钟周期,根据步骤一中符号EN的指向,从b’和c’
中选出修正后的较小值作为|g(|b|,|c|)|的值,并分别通过一个加法器和减法器同步计算|g(|b|,|c|)|-|a|以及|g(|b|,|c|)|+|a|的值。
步骤三:在第三个时钟周期,首先将步骤二中的g(|b|,|c|)-|a|的计算结果及其借位符号Bout输入一个用于取模的C2S单元,得出|g(|b|,|c|)-|a||的值,再通过对Sel2的符号判断从g(|b|,|c|)-|a|和g(|b|,|c|)+|a|中选出最终所需要的 d的绝对值。同时在符号端求出d的符号值。结束模式一计算单元的工作。
现有文献中,极化码SMS译码算法中公式(3)可简化为公式(4)
d=ln[(1+ea+b+c)/(ea+eb+c)] (3)
d=s*Sign(a)*Sign(b+c)*Min(|a|,|b+c|) (4)
其中,a,b和c均为模式一计算单元的输入端数据,并且以符号位(Sign) 和绝对值(Mag)分离的形式表示;s=0.9375是引入的乘法修正因子,用来减少对原非线性函数表达式(3)的近似误差,在硬件上可以通过一个移位减法器实现。Min(|a|,|b+c|)表示求两个绝对值|a|和|b+c|之间的较小值。
本发明为公式(4)所设计的的计算单元结构如图2所示,整个计算流程步骤如下:
步骤一:在第一个时钟周期,通过加法器和减法器同步计算|b|+|c|, |b|-|c|以及|c|-|b|的值。在符号端计算Sel1的值。
步骤二:在第二个时钟周期,通过对步骤一中的|b|-|c|的借位符号Bout进行判断,从|b|-|c|和|c|-|b|中选出||b|-|c||的值,再通过对步骤一中得到的Sel1 的判断,用一个选择器从|b|+|c|和||b|-|c||中选出|b+c|的值,然后用 Compare&select单元比较并选出|b+c|与|a|的较小值。
步骤三:在第三个时钟周期,将得到的|b+c|+|a|的值送进Scale单元,求出最终所需输出结果的d的绝对值。同时,在符号端求出最终所需要的d 的符号值。然后,结束模式二计算单元的工作。
Claims (1)
1.极化码SMS译码器计算单元,包括一个模式一计算单元和一个模式二计算单元,分别如图1和图2所示。其特征在于:相比现有文献,本发明所设计的极化码SMS译码器计算单元采用了并行计算的方法,去掉了数据的符号位和绝对值的结合以及分离过程,从而节省了这一过程所需的大约一个加法器的时延,提高了译码器的吞吐率和硬件效率。
目前已经有文献中,极化码译码算法中公式(1)可简化为公式(2)
d=a+ln[(1+eb+c)/(eb+ec)] (1)
d=a+Sign(b)*Sign(c)*g(b,c) (2)
其中,g(b,c)=s*Min(|b|,|c|)。
本发明为公式(2)所设计的计算单元结构如图1所示,其特征包括如下步骤:
步骤一:在第一个时钟周期,通过Scale单元同步计算|b|和|c|与修正因子s相乘后的修正值b’和c’,与此同时,通过一个Com-Sel单元来比较|b|和|c|的大小并用一个1位符号EN指向两者中的较小值(|b|或|c|)。在符号计算端计算Sel1和Sel2的值。
步骤二:在第二个时钟周期,根据步骤一中符号EN的指向,从b’和c’中选出修正后的较小值作为g(|b|,|c|)的值,并分别通过一个加法器和减法器同步计算g(|b|,|c|)-|a|以及g(|b|,|c|)+|a|的值。
步骤三:在第三个时钟周期,首先将步骤二中的g(|b|,|c|)-|a|的计算结果及其借位符号Bout输入一个用于取模的C2S单元,得出|g(|b|,|c|)-|a||的值,再通过对Sel2的符号判断从|g(|b|,|c|)-|a||和g(|b|,|c|)+|a|中选出最终所需要的d的绝对值。同时在符号端求出d的符号值。结束模式一计算单元的工作。
目前已有文献中,极化码SMS译码算法中公式(3)可简化为公式(4)
d=ln[(1+ea+b+c)/(ea+eb+c)] (3)
d=s*Sign(a)*Sign(b+c)*Min(|a|,|b+c|) (4)
其中,a,b和c均为模式一计算单元的输入端,并且以符号位(Sign)和绝对值(Mag)分离的形式输入;s=0.9375是引入的乘法修正因子,用来减少对原非线性函数的近似误差,在硬件上可以通过一个移位减法器实现。Min(|a|,|b+c|)表示求两个绝对值|a|和|b+c|之间的较小值。
本发明为公式(4)所设计的计算单元结构如图2所示,其特征包括以下步骤:
步骤一:在第一个时钟周期,通过加法器和减法器同步计算|b|+|c|,|b|-|c|以及|c|-|b|的值。在符号端计算Sel1的值。
步骤二:在第二个时钟周期,通过对步骤一中的|b|-|c|的借位符号Bout进行判断,从|b|-|c|和|c|-|b|中选出|b|-|c|的绝对值,再通过对步骤一中得到的Sel1的判断,用一个选择器从|b|+|c|和||b|-|c||中选出|b+c|的值,然后用Compare&select单元比较并选出|b+c|与|a|的较小值。
步骤三:在第三个时钟周期,将得到的|b+c|+|a|的值送进Scale单元,求出最终所需输出结果d的绝对值。同时,在符号端求出最终所需要d的符号值。然后,结束模式二计算单元的工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810044314.XA CN108418588B (zh) | 2018-01-17 | 2018-01-17 | 低延迟极化码译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810044314.XA CN108418588B (zh) | 2018-01-17 | 2018-01-17 | 低延迟极化码译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108418588A true CN108418588A (zh) | 2018-08-17 |
CN108418588B CN108418588B (zh) | 2022-02-11 |
Family
ID=63125931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810044314.XA Active CN108418588B (zh) | 2018-01-17 | 2018-01-17 | 低延迟极化码译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108418588B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052229A1 (zh) * | 2019-09-20 | 2021-03-25 | 上海大学 | 基于不同数据类型传输的极化码bp译码单元 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064591A (zh) * | 2006-04-24 | 2007-10-31 | 中兴通讯股份有限公司 | 低密度奇偶校验码的译码方法及其校验节点更新电路 |
US20140208183A1 (en) * | 2013-01-23 | 2014-07-24 | Samsung Electronics Co., Ltd. | Method and system for encoding and decoding data using concatenated polar codes |
CN103957015A (zh) * | 2014-05-12 | 2014-07-30 | 福州大学 | 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用 |
CN104079382A (zh) * | 2014-07-25 | 2014-10-01 | 北京邮电大学 | 一种基于概率计算的极化码译码器和极化码译码方法 |
US20170141796A1 (en) * | 2015-11-16 | 2017-05-18 | Mitsubishi Electric Research Laboratories, Inc. | System and Method of Belief Propagation Decoding |
CN106788453A (zh) * | 2016-11-11 | 2017-05-31 | 山东科技大学 | 一种并行的极化码译码方法及装置 |
CN107241106A (zh) * | 2017-05-24 | 2017-10-10 | 东南大学 | 基于深度学习的极化码译码算法 |
CN108449091A (zh) * | 2018-03-26 | 2018-08-24 | 东南大学 | 一种基于近似计算的极化码置信传播译码方法及译码器 |
-
2018
- 2018-01-17 CN CN201810044314.XA patent/CN108418588B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064591A (zh) * | 2006-04-24 | 2007-10-31 | 中兴通讯股份有限公司 | 低密度奇偶校验码的译码方法及其校验节点更新电路 |
US20140208183A1 (en) * | 2013-01-23 | 2014-07-24 | Samsung Electronics Co., Ltd. | Method and system for encoding and decoding data using concatenated polar codes |
CN103957015A (zh) * | 2014-05-12 | 2014-07-30 | 福州大学 | 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用 |
CN104079382A (zh) * | 2014-07-25 | 2014-10-01 | 北京邮电大学 | 一种基于概率计算的极化码译码器和极化码译码方法 |
US20170141796A1 (en) * | 2015-11-16 | 2017-05-18 | Mitsubishi Electric Research Laboratories, Inc. | System and Method of Belief Propagation Decoding |
CN106788453A (zh) * | 2016-11-11 | 2017-05-31 | 山东科技大学 | 一种并行的极化码译码方法及装置 |
CN107241106A (zh) * | 2017-05-24 | 2017-10-10 | 东南大学 | 基于深度学习的极化码译码算法 |
CN108449091A (zh) * | 2018-03-26 | 2018-08-24 | 东南大学 | 一种基于近似计算的极化码置信传播译码方法及译码器 |
Non-Patent Citations (2)
Title |
---|
BO YUAN等: "Architecture optimizations for BP polar decoders", 《INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING》 * |
邢超等: "极化码置信传播算法早期终止准则的研究", 《信号处理》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052229A1 (zh) * | 2019-09-20 | 2021-03-25 | 上海大学 | 基于不同数据类型传输的极化码bp译码单元 |
Also Published As
Publication number | Publication date |
---|---|
CN108418588B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104520807B (zh) | 用于具有指数按比例缩放的浮点融合乘法加法的微架构 | |
US6601077B1 (en) | DSP unit for multi-level global accumulation | |
CN104079382A (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
US6257756B1 (en) | Apparatus and method for implementing viterbi butterflies | |
KR101583139B1 (ko) | 높은 처리량과 낮은 복잡성을 갖는 연속 제거 극 부호 복호 장치 및 그 방법 | |
US7400688B2 (en) | Path metric normalization | |
CN108418588A (zh) | 低延迟极化码sms译码器设计 | |
US10296294B2 (en) | Multiply-add operations of binary numbers in an arithmetic unit | |
CN112468160B (zh) | 一种基于钱搜索算法和福尼算法的并行电路 | |
JPH09325955A (ja) | 二乗和の平方根演算回路 | |
CN100508395C (zh) | 加减计数电路和加减计数方法 | |
US7437657B2 (en) | High speed add-compare-select processing | |
CN110825346A (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
CN109462458B (zh) | 一种多级流水电路实现并行crc的方法 | |
CN115202616A (zh) | 模乘器、安全芯片、电子设备及加密方法 | |
Liu et al. | A stage-reduced low-latency successive cancellation decoder for polar codes | |
US7840628B2 (en) | Combining circuitry | |
CN116149599B (zh) | 一种分步进位处理方法、***、加法器 | |
US6795841B2 (en) | Parallel processing of multiple data values within a data word | |
CN110752893B (zh) | 一种用于极化码的置信传播的近似译码方法及装置 | |
CN104184544A (zh) | 一种解码方法及装置 | |
CN112732223B (zh) | 半精度浮点数除法器数据处理方法及*** | |
US8126955B2 (en) | N bit adder and the corresponding adding method | |
WO2019171676A1 (ja) | 復号装置及び復号方法 | |
CN112911314B (zh) | 一种熵编码器的编码方法及熵编码器 |
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 |