CN110572166A - 一种基于深度学习的bch码译码方法 - Google Patents
一种基于深度学习的bch码译码方法 Download PDFInfo
- Publication number
- CN110572166A CN110572166A CN201910884963.5A CN201910884963A CN110572166A CN 110572166 A CN110572166 A CN 110572166A CN 201910884963 A CN201910884963 A CN 201910884963A CN 110572166 A CN110572166 A CN 110572166A
- Authority
- CN
- China
- Prior art keywords
- information
- syndrome
- neural network
- input
- reliability
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种基于深度学习的BCH码译码方法,包括下列步骤:从BCH码的信道中接收并提取量化电平信息,作为可靠度信息,然后将码字进行硬判决,对得到的码字信息使用校验矩阵计算得到BCH码的校验子,并将校验子转换为二进制形式;将二进制的校验子信息以时间步的方式在一个输入端逐步输入到神经网络的串联连接的两个双向GRU中;在另一个输入端将比特级的量化电平信息作为可靠度输入辅助校验子信息译码,将MLP输出的信息与其合并为新的二维矩阵信息,输入到下一步的另一个GRU中,用于使神经网络从可靠度和校验子两个影响因素中寻找部分错误位置,再在此GRU的输出端连接一个全连接层用来展平数据;得到神经网络译码器。
Description
技术领域
本发明属于信道编译码中的差错控制编码领域,涉及使用BCH码校验子与电平可靠度信息的深度学习译码算法。
背景技术
随着科学技术的不断发展与社会的不断进步,人们对通信系统信息传输的可靠性提出了越来越高的要求。1948年美国数学家香农在《通信中的数学理论》一文中提出信息熵的概念,为信息编码奠定了理论基础。此后的几年间,信道编码出现了汉明码,Golay码等编码方式,取得了丰硕的成果。Hocquenghem和Bose及Ray-Chaudhur分别于1959年和1960年分别提出来一种能纠正多个随机错误的码字,被称为BCH码,其因具有纠错能力强、构造方便、编码简单等突出优点,在数字通信领域中有非常广泛的应用。
近些年,随着深度学习技术的不断发展,科研中的诸多领域都通过使用深度学习技术的支持取得了很好的应用,深度学习技术展现出了很好的发展前景。因而,将深度学习技术与译码器的融合是否会对信道译码有一定的帮助,这个类型的课题变得越来越受到人们的关注。2017年Tobias等人利用深度学习技术搭建神经网络译码器,利用结构化码和随机码两种类型的码字进行对比训练,证实了使用深度学习可以使神经网络训练得到码字的结构,即可以仅仅通过训练一部分码字,而学习到整个码字列表。2018年,Wei Lyu等人通过使用三种不同类型的神经网络架构,MLP、CNN、RNN,分别构建了神经网络译码器,并对三种译码器的译码表现进行对比,而RNN在这三者中的译码能力最佳。
除了直接搭建神经网络进行译码计算以外,在2018年,Amir等人通过对BCH码的接收码字计算校验子信息(如图1所示),然后将校验子信息与接收的电平信息串联共同输入至神经网络中,使用两种不同的神经网络架构,实现了通过使用神经网络以校验子信息进行译码的尝试。但是由于其使用的神经网络架构是校验子作为非二进制信息与电平信息串联合并直接作为神经网络输入,所以这样会在一定程度上受到RNN结构的影响,影响译码效果。
发明内容
本发明的目的是提供一种可以提升译码能力的BCH码译码方法。技术方案如下:
一种基于深度学习的BCH码译码方法,包括下列步骤:
(1)从BCH码的信道中接收并提取量化电平信息,作为可靠度信息,然后将码字进行硬判决,对得到的码字信息使用校验矩阵计算得到BCH码的校验子,并将校验子转换为二进制形式。
(2)将二进制的校验子信息以时间步的方式在一个输入端逐步输入到神经网络的串联连接的两个双向GRU中,在每个双向GRU的时间步上输入比特级的二进制校验子,能够从正反两个方向对输入数据提取信息,在第二个双向GRU的输出端串连一个MLP多层感知器,用于将经过双向GRU单元的二维信息展平为一维,以便后续连接其他模块;
(3)在另一个输入端将比特级的量化电平信息作为可靠度输入辅助校验子信息译码,将(2)中MLP输出的信息与其合并为新的二维矩阵信息,输入到下一步的另一个GRU中,用于使神经网络从可靠度和校验子两个影响因素中寻找部分错误位置,再在此GRU的输出端连接一个全连接层用来展平数据;
(4)在(3)中运行的步骤相当于实现了一个可以重复使用的提取校验子和可靠度的相关信息的模块,在后端可以多次重复使用相同模块,将(3)的输出再与校验子模块的输出和可靠度输出相合并,将合并后的数据再输入至(3)的模块中;如此进行多次计算可以使得译码效果更为可靠;
(5)在多次输出之后,在输出端连接Dropout层用于防止神经网络发生过拟合现象,并使用PRelu层用作为激活函数,经过四舍五入后即可得到神经网络的输出数据;多次调节深度学习的学习率和训练周期,找到最为合适的超参数;经过一定次数的训练,即可将神经网络中的权重值进行优化,从而得到神经网络译码器。
本发明的实质性特点是:首先搭建神经网络译码架构,使用循环神经网络(Recurrent Neural Network,RNN)中的双向门控循环单元(Gated Recurrent Unit,GRU)和多层感知器(Multi-Layer Perception,MLP)作为核心模块,BCH码输入的二进制校验子信息由GRU训练提取其与错误位置的相关性,比特级量化电平作为可靠度信息辅助输入,神经网络用于从这两者输入信息中提取码字的错误位置信息并对错误码字进行纠正,从而经过一定次数的运算,训练好的神经网络可直接作为BCH码的译码器使用。
附图说明
图1使用校验子信息和电平可靠度信息串联输入的神经网络译码器架构图
图2以63-45BCH码为例的基于深度学习的神经网络译码器架构图
具体实施方式
本发明主要是以RNN中的GRU和全连接神经网络的MLP作为基本单元,使用信道接收的量化电平信息以及硬判决后计算得到的校验子信息作为译码纠错的基本数据,主要使用二维校验子信息作为纠错的主要数据,电平信息作为辅助纠错信息。将这两个数据输入到神经网络中进行多次训练,以便得到合适的神经网络译码器。
本发明是在使用BCH码信道接收的量化电平作为可靠度信息,以及码字硬判决后计算得到的校验子信息共同作为神经网络输入的基础上,搭建合适的神经网络架构,主要通过对校验子信息转换为二进制形式后使用GRU寻找其与错误位置之间的关系,同时将码字的电平软信息作为辅助译码信息,实现神经网络对两个输入信息进行训练学习,从而使神经网络可以提取两者中的相关性,得到错误位置信息。由于BCH码是二进制码,在找到错误位置后即可以通过对接收码字的错误位置进行取反(将收到的0纠正为1,将收到的1纠正为0),实现对码字的纠错,从而得到使用GRU和MLP神经网络搭建的BCH译码器。主要技术方案如下:
(1)从BCH码的信道中接收并提取量化电平信息,作为可靠度信息,然后将码字进行硬判决,对得到的码字信息使用校验矩阵计算得到BCH码的校验子,并将校验子转换为二进制形式。
(2)将二进制的校验子信息以时间步的方式逐步输入到神经网络的两个串联双向GRU中。在每个GRU的时间步上输入比特级的二进制校验子,GRU能够从正反两个方向对输入数据提取相关信息,GRU的输出端串接MLP多层感知器,用于将经过双向GRU单元的二维信息展平为一维,以便后续连接其他模块。
(3)在另一个输入端将比特级的量化电平信息作为可靠度输入辅助校验子信息译码,将(2)中MLP输出的信息与其合并为新的二维矩阵信息,输入到下一步的另一个GRU中,用于使神经网络从可靠度和校验子两个影响因素中寻找部分错误位置,再在此GRU的输出端连接一个全连接层用来展平数据。
(4)在(3)中运行的步骤相当于实现了一个可以重复使用的提取校验子和可靠度的相关信息的模块,在后端可以多次重复使用相同模块,将(3)的输出再与校验子模块的输出和可靠度输出相合并,将合并后的数据再输入至(3)的模块中。如此进行多次计算可以使得译码效果更为可靠。
(5)在多次输出之后,在输出端连接Dropout层用于防止神经网络发生过拟合现象,并使用PRelu层用作为激活函数,在经过四舍五入后即可得到神经网络的输出数据。多次调节深度学习的学习率和训练周期,找到最为合适的超参数。经过一定次数的训练,即可将神经网络中的权重值进行优化,从而得到神经网络译码器。
整个算法的神经网络译码器如图2所示,下面具体描述算法的流程:
(1)根据图2所示的63-45 BCH码字作为例子,首先使用Keras深度学习库编写代码,搭建神经网络译码器的基本架构,使用双向GRU和MLP作为基本模块,两个串联的双向GRU用于从校验子信息中提取校验子和错误位置的关系,而MLP主要用于将GRU的输出数据展平为一维与信道电平信息合并输入。
(2)使用Matlab产生BCH码的码字,并存储为训练集的标签数据(正确的码字),在AWGN信道BPSK调制的仿真信道下生成从模拟信道接收的电平可靠度信息,将信道输出的电平信息接收,同时存储实际正确的码字,将这两者数据作为训练集数据,以便接下来输入到神经网络中进行计算。
(3)将信道接收的信息进行判决,得到判决后的0/1码字,使用奇偶校验矩阵计算BCH码的校验子信息,并转为二进制形式以便输入到GRU中让神经网络学习校验子和错误位置之间的关系。
(4)将二进制校验子信息和电平可靠度信息添加到神经网络输入端,在规定的学习率和训练周期下进行深度学习训练,GRU和MLP中的激活函数使用tanh函数,输出端损失函数使用交叉熵函数进行计算,在训练过程中观察从输出数据和正确数据计算得到的损失函数和译码准确率的变化,并在多次训练中调节使译码效果到最佳状态。
在训练得到可以产生最佳译码效果的神经网络后,将新的测试数据输入到此神经网络中,此时的神经网络权重值为训练得到的最佳值,即训练得到的最佳神经网络译码器,因此可以在输出端得到经过神经网络译码后的码字。将译码后的码字与译码前的码字进行对比,计算误码率,可以看到有部分码字在经过神经网络计算后,错误在一定程度上进行了纠正。
Claims (1)
1.一种基于深度学习的BCH码译码方法,包括下列步骤:
(1)从BCH码的信道中接收并提取量化电平信息,作为可靠度信息,然后将码字进行硬判决,对得到的码字信息使用校验矩阵计算得到BCH码的校验子,并将校验子转换为二进制形式。
(2)将二进制的校验子信息以时间步的方式在一个输入端逐步输入到神经网络的串联连接的两个双向GRU中,在每个双向GRU的时间步上输入比特级的二进制校验子,能够从正反两个方向对输入数据提取信息,在第二个双向GRU的输出端串连一个MLP多层感知器,用于将经过双向GRU单元的二维信息展平为一维,以便后续连接其他模块;
(3)在另一个输入端将比特级的量化电平信息作为可靠度输入辅助校验子信息译码,将(2)中MLP输出的信息与其合并为新的二维矩阵信息,输入到下一步的另一个GRU中,用于使神经网络从可靠度和校验子两个影响因素中寻找部分错误位置,再在此GRU的输出端连接一个全连接层用来展平数据;
(4)在(3)中运行的步骤相当于实现了一个可以重复使用的提取校验子和可靠度的相关信息的模块,在后端可以多次重复使用相同模块,将(3)的输出再与校验子模块的输出和可靠度输出相合并,将合并后的数据再输入至(3)的模块中;如此进行多次计算可以使得译码效果更为可靠;
(5)在多次输出之后,在输出端连接Dropout层用于防止神经网络发生过拟合现象,并使用PRelu层用作为激活函数,经过四舍五入后即可得到神经网络的输出数据;多次调节深度学习的学习率和训练周期,找到最为合适的超参数;经过一定次数的训练,即可将神经网络中的权重值进行优化,从而得到神经网络译码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884963.5A CN110572166B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的bch码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884963.5A CN110572166B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的bch码译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572166A true CN110572166A (zh) | 2019-12-13 |
CN110572166B CN110572166B (zh) | 2023-04-18 |
Family
ID=68781368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910884963.5A Active CN110572166B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的bch码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572166B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708891A (zh) * | 2021-08-12 | 2021-11-26 | 电子科技大学 | 一种采用深度学习cs译码器的通信系统 |
JP2022532466A (ja) * | 2020-04-15 | 2022-07-15 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ニューラルネットワークに基づく量子誤り訂正復号方法、装置、チップ、コンピュータ機器、及びコンピュータプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131469A1 (en) * | 2008-07-04 | 2011-06-02 | Dongyu Geng | Method, device and apparatus for correcting bursts |
CN110113057A (zh) * | 2019-06-12 | 2019-08-09 | 中国计量大学 | 一种利用深度学习的极化码译码器 |
-
2019
- 2019-09-19 CN CN201910884963.5A patent/CN110572166B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131469A1 (en) * | 2008-07-04 | 2011-06-02 | Dongyu Geng | Method, device and apparatus for correcting bursts |
CN110113057A (zh) * | 2019-06-12 | 2019-08-09 | 中国计量大学 | 一种利用深度学习的极化码译码器 |
Non-Patent Citations (1)
Title |
---|
WEI ZHANG等: "Increasing the energy efficiency of WSNs using algebraic soft-decision reed-solomon decoders" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022532466A (ja) * | 2020-04-15 | 2022-07-15 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ニューラルネットワークに基づく量子誤り訂正復号方法、装置、チップ、コンピュータ機器、及びコンピュータプログラム |
JP7186891B2 (ja) | 2020-04-15 | 2022-12-09 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ニューラルネットワークに基づく量子誤り訂正復号方法、装置、チップ、コンピュータ機器、及びコンピュータプログラム |
CN113708891A (zh) * | 2021-08-12 | 2021-11-26 | 电子科技大学 | 一种采用深度学习cs译码器的通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110572166B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335963B2 (en) | Method for constructing checking matrix of LDPC code and coding amd decoding apparatus utilizing the method | |
CN101106381B (zh) | 分层的低密度校验码译码器及译码处理方法 | |
CN102164025B (zh) | 基于重复编码和信道极化的编码器及其编译码方法 | |
KR101129942B1 (ko) | 저밀도 패리티검사부호화방식에 따라서 실현되는 복호장치및 전처리장치 | |
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN110572166B (zh) | 一种基于深度学习的bch码译码方法 | |
CN111541517B (zh) | 一种列表极化码传播译码方法 | |
CN111490796B (zh) | 基于动态翻转比特的置信传播译码方法 | |
CN100542049C (zh) | 一种多码率的ldpc码的译码器装置及译码方法 | |
CN103929210B (zh) | 一种基于遗传算法与神经网络的硬判决译码方法 | |
CN110932734B (zh) | 一种基于交替方向乘子法的深度学习信道译码方法 | |
CN101232288A (zh) | 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器 | |
CN111446973B (zh) | 基于多翻转比特集合的极化码置信传播译码方法 | |
CN112104412B (zh) | 一种适用于低轨卫星宽带通信的加速器 | |
CN100578945C (zh) | 一种ldpc码的译码器装置及译码方法 | |
CN108429553B (zh) | 极化码的编码方法、编码装置及设备 | |
CN111130567A (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
CN101895375B (zh) | 低密度校验码的译码系统 | |
CN102932002B (zh) | 截短型高速tpc译码器的fpga设计方法 | |
CN112104379B (zh) | 一种基于关键集的极化码置信度传播动态翻转译码方法 | |
CN115276668A (zh) | 一种基于crc的ldpc码混合译码方法 | |
KR100874484B1 (ko) | 준순환 저밀도 패리티 검사 부호화 방법 및 장치 | |
Nguyen et al. | Neural normalized min-sum message-passing vs. viterbi decoding for the CCSDS line product code | |
CN105680882A (zh) | 一种平方剩余码的硬判决译码方法 | |
CN110730006A (zh) | 一种用于mcu的ldpc码纠错方法及纠错模块 |
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 |