CN108183729A - 基于fpga的电力线载波通信的信道交织方法及*** - Google Patents
基于fpga的电力线载波通信的信道交织方法及*** Download PDFInfo
- Publication number
- CN108183729A CN108183729A CN201810224147.7A CN201810224147A CN108183729A CN 108183729 A CN108183729 A CN 108183729A CN 201810224147 A CN201810224147 A CN 201810224147A CN 108183729 A CN108183729 A CN 108183729A
- Authority
- CN
- China
- Prior art keywords
- code
- bit
- row
- block
- power line
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/54—Systems for transmission via power distribution lines
-
- 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/0057—Block 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/0061—Error detection 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/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明属于电力线载波通信领域,公开了一种基于FPGA的电力线载波通信的信道交织方法,所述基于FPGA的电力线载波通信的信道交织方法进行检验码的交织、信息码的交织、信息码和检验码的混合交织以及循环移位;交织处理后,将相邻比特分配到不同子载波上进行传输,将相邻比特映射到星座图中相对重要和次等重要的位置上;同时,在时域维度上对信息离散化,将有记忆信道转化为无记忆信道,再与纠错码配合降低误码率。本发明经过多级交织处理,在时域维度上对信息离散化,可以近似地将有记忆信道转化为无记忆信道,再与纠错码配合可以降低***误码率,提高***可靠性。
Description
技术领域
本发明属于电力线载波通信领域,尤其涉及一种基于FPGA的电力线载波通信的信道交织方法及***。
背景技术
目前,业内常用的现有技术是这样的:
近20年来,低压电力线载波通信已经广泛应用于电力***监控、远程抄表、家庭自动化等领域。目前,随着智能电网、能源互联网、“四网合一”等概念的发展,低速电力线通信已经不能满足社会需要。
宽带电力线载波通信是指带宽在2~30MHz,传输速率在1Mbps以上的***。宽带电力线载波通信***,其物理层以正交频分复用为核心。电力线设计的初衷只是用来电力传输,并没有考虑到用电力线进行数据传输,不是专用的通信信道。低压电力线上连接着繁杂的用电设备,网络拓扑结构复杂,设备随机接入和切出,其信道特性恶劣。电力线信道上电力线上的噪声可以分为有色背景噪声、突发性噪声、随机脉冲噪声和周期脉冲噪声等,其中脉冲噪声对电力线的通信质量影响最大,被认为是电力线介质进行数据传输时产生突发错误的主要原因。电力线信道的频率选择性衰落和脉冲噪声会导致成串的比特错误,而信道交织目的是为了分布传输的信息比特,最大限度地改变信息结构,使信道的突发错误在时间上得以扩散,配合纠错码,可以降低突发错误,因此,设计合适的信道交织方法意义重大。
目前常用的交织方法是分组交织,分组交织是将纠错编码输出的信号均匀分成m个码组,每个码组含有n段数据,排列成m行n列的矩阵,然后以列的方式从左到右依次读出。现如今,对于宽带电力线载波通信***,要求能提供的应用越来越丰富,因此,要求电力线载波传输速率的提高。针对于此,Turbo码也被应用于电力线载波通信***中,也要求有更适应***、可靠性更高的信道交织方法来满足***需要。
综上所述,现有技术存在的问题是:
(1)目前,电力线信道特性差,容易出现突发差错,***误码率高。
(2)目前常用的信道交织方法是分组交织,分组交织可以改变信息的结构,但是只是在时域或频率上一维上进行交织,对于m×n的分组交织器,周期为m比特干扰影响了传输过程的话,产生错误的m比特解交织后将变成连续比特进入纠错码译码,势必导致译码失败,从而产生较高误码率。
(3)宽带电力线通信中,其带宽较大,速率较高,可用子载波数目较多,分组交织并不能最大程序地改变信息的原始结构,交织不够充分导致相邻数据可能会仍然处于同一子信道或相邻子信道,依然会产生连续错误。导致连续错误后,纠错码不能正确纠错,***误码率较高,不能满足宽带电力线通信的需要。
解决上述技术问题的难度和意义:
现如今,随着智能电网、能源互联网、“四网合一”等概念的发展,对于宽带电力线载波通信***,要求能提供的应用越来越丰富。高速率的宽带电力线通信***,其带宽大、速率高、可用子载波数目较多。电力线信道特性差、高速率的要求以及***的复杂,对***性能提出了要求。而信道交织势必带来***的延时,综上因素,如何在延时和性能之间找到平衡,提高***可靠性是信道交织方法设计的困难之处。现有的分组交织方法,不能够充分打乱原始信息结构,依然能产生连串比特错误,不适合宽带电力线信道环境。
本发明提出的信道交织方法,有四级交织,在尽可能引入小的延时的前提下,最大化改变了信息的原始结构,使得相邻比特尽量落在不同可用子载波上以及有效将相邻比特映射到星座图中相对重要和次等重要的位置上,经过多级交织处理,在时域维度上对信息离散化,可以近似地将有记忆信道转化为无记忆信道,可以有效降低连续错误的发生,能够满足高速电力线通信的需要,实现高速速率传输。
发明内容
针对现有技术存在的问题,本发明提供了一种基于FPGA的电力线载波通信的信道交织方法及***流程图。
本发明是这样实现的,一种基于FPGA的电力线载波通信的信道交织方法,进行检验码的交织、信息码的交织、信息码和检验码的混合交织以及循环移位;交织处理后,将相邻比特分配到不同子载波上进行传输,将相邻比特映射到星座图中相对重要和次等重要的位置上;同时,在时域维度上对信息离散化,将有记忆信道转化为无记忆信道,再与纠错码配合降低误码率。
进一步,所述基于FPGA的电力线载波通信的信道交织方法具体包括:
步骤一,对检验码进行交织处理;
步骤二,对信息码进行交织处理;
步骤三,对信息码和检验码之间进行混合交织;
步骤四,进行循环移位处理。
进一步,所述步骤一具体包括:
将检验码的第一块(n-k)/4比特输出到区块1中,第二块(n-k)/4比特输出到区块2中,第三块(n-k)/4比特输出到区块3中,第四块(n-k)/4比特输出到区块4中;等价于将检验码存入到一个(n-k)/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4;写入数据时,按行顺序写入数据;
读出数据时,按列将四行的数据同时读取,首先从第0列开始读取,在首地址上加上一个读取步长S,第一轮读出的列的顺序为(0,2*S,3*S,……),第一轮一共读取((n-k)/4)/S列;
接着,进行第二轮,读取首地址加1,从第1列开始读取,在首地址上加上一个读取步长S,第二轮读出的列的顺序为(1,2*S+1,3*S+1,……),第二轮一共读取((n-k)/4)/S列,以此类推,通过S轮的读取,读出全部检验码。
进一步,所述步骤二具体包括:
将信息码的第一块k/4比特输出到区块1中,第二块k/4比特输出到区块2中,第三块k/4比特输出到区块3中,第四块k/4比特输出到区块4中;等价于将信息码存入到一个k/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4;写入数据时,按行顺序写入数据;
读出数据时,按列将四行的数据同时读取;其中,T=k/4,对于信息码的交织,从一个偏移值offset列开始读取,首先从第offset列开始读取,之后在首地址上加上一个读取步长S,第一轮读出的列的顺序为(offset,(offset+S)mod T,(offset+2*S)modT,……),第一轮共读取(k/4)/S列;
接着,进行第二轮,读取首地址加1,从第1列开始读取,之后在首地址上加上一个读取步长S,第二轮读出的列的顺序为(offset+1,(offset+S+1)mod T,(offset+2*S+1)modT,……),第二轮一共读取(k/4)/S列,以此类推,通过S轮的读取,读出全部信息码。
进一步,所述步骤三具体包括:
检验码交织后,输出为(n-k)/4比特,信息码交织后,输出为k/4比特,(n-k)/4比特与k/4比特进行混合交织;输出结果为前4比特为信息码,接着4比特检验码,以此类推,完成检验码和信息码之间的交织过程;
所述串并转换,包括:将k比特信息码经过串并转换后变成k/4个位宽为4比特的数据,将(n-k)比特检验码经过串并转换后变成(n-k)/4个位宽为4比特的数据;将这n/4个数据交替输出,信息码在前,接着检验码,以此类推;
所述步骤四具体包括:
将第步骤三处理后的数据,按照0到7循环编号,每两个半字节调整依次顺序,对于标号为0和1,不处理直接输出,对于标号2和3,循环右移1位,对于标号4和5,循环右移2位,对于标号6和7,循环右移3位;之后再进行并串转换输出。
本发明的另一目的在于提供一种实现所述基于FPGA的电力线载波通信的信道交织方法的计算机程序。
本发明的另一目的在于提供一种实现所述基于FPGA的电力线载波通信的信道交织方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于FPGA的电力线载波通信的信道交织方法。
本发明的另一目的在于提供一种基于FPGA的电力线载波通信的信道交织***包括:
检验码交织单元,利用RAM和乒乓结构对检验码交织;
信息码交织单元,利用RAM和乒乓结构对信息码交织;
混合交织单元,用于串并转换,对信息码和检验码之间进行混合交织;
循环移位操作单元,用于进行循环移位操作,之后并串变换。
本发明的另一目的在于提供一种搭载有所述基于FPGA的电力线载波通信的信道交织***的信息数据处理终端。
综上所述,本发明的优点及积极效果为:
本发明进行检验码的交织、信息码的交织、信息码和检验码的混合交织以及循环移位。交织处理后,有效地将相邻比特分配到不同子载波上进行传输,同时有效将相邻比特映射到星座图中相对重要和次等重要的位置上,可以有效降低频率衰落对***的影响。本发明经过多级交织处理,在时域维度上对信息离散化,可以近似地将有记忆信道转化为无记忆信道,再与纠错码配合可以降低***误码率,提高***可靠性。
对于m×n的分组交织器,周期为m比特干扰影响了传输过程的话,产生错误的m比特解交织后将变成连续比特进入纠错码译码,势必导致译码失败。相比于m×n的分组交织器,本发明具有较多优点,分组交织和本发明的技术对比如表1所示:
表1
目前行之有效的方法是利用正交频分复用(OFDM)***,利用多载波进行数据的传输。电力线信道具有频率选择性,当某一个频段干扰大时,该频段的子载波上数据都会发生错误,会产生频率选择性衰落,导致连串的比特均会产生错误。本发明的基于FPGA的信道交织方法可保证相邻的比特在经过OFDM调制后会落在不相邻的子载波上了,同时可以使得相邻比特映射到星座图相对重要和次重要的星座图上。经过交织后,最大化分散了原有连续比特,当经过解交织处理后,错误分散,依然在纠错码的纠错范围之内,从而减轻衰落信道对***性能的影响。
本发明针对电力线载波通信信道传输特性恶劣,利用FPGA资源,提出信道交织方法,在时域维度上,可以离散信道的突发差错,近似地将有记忆信道转化为无记忆信道,使得纠随机差错的纠错码可以用于电力线载波通信***中。通过信道交织的处理,再配合相应的纠错码,可以克服电力线载波通信信道特性差的缺点,大幅度提高频谱利用率,从而利用电力线进行有效的通信传输。
本发明的仿真实验表明,输入信息码和检验码采用特殊比特,信息码为0,1交替的128比特,检验码也是0,1交替的128比特,parity_out是检验码交织结果,data_out是信息码交织结果,da_pa_out是信息码和检验码混合交织的结果,DP_ND是交织最终输出结果。输出时钟CLK3是输入时钟CLK1的两倍,可以看到交织结果先是64比特的0,再是64比特的1,接着又是64比特的0,然后64比特的1,结果与Matlab结果一致,是正确的。
附图说明
图1是本发明实施例提供的基于FPGA的电力线载波通信的信道交织方法流程图。
图2是本发明实施例提供的基于FPGA的电力线载波通信的信道交织***示意图。
图3是本发明实施例提供的检验码交织器硬件实现框图。
图4是本发明实施例提供的信息码交织器硬件实现框图。
图5是本发明实施例提供的信息码和检验码混合交织器硬件实现框图。
图6是本发明实施例提供的循环移位硬件实现框图。
图7是本发明实施例提供的整体仿真结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有技术中,电力线信道特性差,容易出现突发差错;***误码率高。
下面结合具体分析对本发明作进一步描述。
如图1所示,本发明实施例提供的基于FPGA的电力线载波通信的信道交织方法,利用Verilog程序实现信道交织,所述信道交织方法的实现主要包括以下几个步骤:
第一步,对检验码进行交织处理。
第二步,对信息码进行交织处理。
第三步,对信息码和检验码进行混合交织。
第四步,进行循环移位处理。
所述的电力线载波通信的信道交织方法的FPGA实现包括以下步骤:
步骤一,利用RAM和乒乓结构对检验码交织。
步骤二,利用RAM和乒乓结构对信息码交织。
步骤三,串并转换,对信息码和检验码之间进行混合交织。
步骤四,进行循环移位操作,之后并串变换。
所述步骤一具体包括:
假设信道信道编码后是信息码和检验码分别传输出来,信息码长度为k比特,检验码长度为(n-k)比特。本设计主要针对码率为1/2。本步骤针对(n-k)比特检验码进行交织处理。
将检验码的第一块((n-k)/4比特)输出到区块1中,第二块((n-k)/4比特)输出到区块2中,第三块((n-k)/4比特)输出到区块3中,第四块((n-k)/4比特)输出到区块4中。等价于将检验码存入到一个(n-k)/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4。写入数据时,按行顺序写入数据。读出数据时,按列将四行的数据同时读取,首先从第0列开始读取,之后在首地址上加上一个读取步长S,这样第一轮读出的列的顺序为(0,2*S,3*S,……),第一轮一共读取((n-k)/4)/S列;接着,进行第二轮,读取首地址加1,即从第1列开始读取,之后在首地址上加上一个读取步长S,第二轮读出的列的顺序为(1,2*S+1,3*S+1,……),第二轮一共读取((n-k)/4)/S列,依次类推,通过S轮的读取,即可读出全部检验码。其中,相关参数见表1。
步骤二具体包括:
本步骤针对k比特检验码进行交织处理。将信息码的第一块(k/4比特)输出到区块1中,第二块(k/4比特)输出到区块2中,第三块(k/4比特)输出到区块3中,第四块(k/4比特)输出到区块4中。等价于将信息码存入到一个k/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4。写入数据时,按行顺序写入数据。读出数据时,按列将四行的数据同时读取。为方便描述,定义T=k/4。对于信息码的交织,不是从第0列开始读取,而是要从一个偏移值offset列开始读取,首先从第offset列开始读取,之后在首地址上加上一个读取步长S,这样第一轮读出的列的顺序为(offset,(offset+S)mod T,(offset+2*S)modT,……),第一轮一共读取(k/4)/S列;接着,进行第二轮,读取首地址加1,即从第1列开始读取,之后在首地址上加上一个读取步长S,第二轮读出的列的顺序为(offset+1,(offset+S+1)mod T,(offset+2*S+1)modT,……),第二轮一共读取(k/4)/S列,依次类推,通过S轮的读取,即可读出全部信息码。其中,相关参数见表2。
表2
信息码(比特数) | 偏移值 | 步长 |
128 | 16 | 4 |
576 | 72 | 16 |
步骤三具体包括:
检验码交织后,输出为(n-k)/4比特,信息码交织后,输出为k/4比特,对二者进行混合交织。输出结果应为前4比特为信息码,接着4比特检验码,依次类推即可完成检验码和信息码之间的交织过程。
利用串并转换,将k比特信息码经过串并转换后变成k/4个位宽为4比特的数据,将(n-k)比特检验码经过串并转换后变成(n-k)/4个位宽为4比特的数据。现在的处理就是要将这n/4个数据交替输出,信息码在前,接着检验码,依次类推。
利用一个位宽为4,深度为n/2的简单双口分布式RAM(DRAM),将n/2个数据有规律写入,之后顺序读出即可。具体来说,写入地址的产生是顺序的,采用模n/2计数器即可,但是写入内容dina是交替变化的,dina先是信息码,之后是检验码,依次类推。
步骤四具体包括:
将第步骤三处理后的数据,按照0到7循环编号,每两个半字节调整依次顺序,对于标号为0和1,不处理直接输出,对于标号2和3,循环右移1位,对于标号4和5,循环右移2位,对于标号6和7,循环右移3位。之后的数据依次按此规律处理。之后再进行并串转换输出。具体规则如表3所示。
表3
输出半字节序号 | 移位模式 |
0或1 | b0b1b2b3 |
2或3 | b3b0b1b2 |
4或5 | b2b3b0b1 |
6或7 | b1b2b3b0 |
电力线载波通信中,目前行之有效的方法是利用正交频分复用(OFDM)***,利用多载波进行数据的传输。本发明的基于FPGA的信道交织方法可保证相邻的比特在经过OFDM调制后会落在不相邻的子载波上了,同时可以使得相邻比特映射到星座图相对重要和次重要的星座图上,从而减轻衰落信道对***性能的影响。
如图2,本发明实施例提供一种基于FPGA的电力线载波通信的信道交织***包括:
检验码交织单元,利用RAM和乒乓结构对检验码交织;
信息码交织单元,利用RAM和乒乓结构对信息码交织;
混合交织单元,用于串并转换,对信息码和检验码之间进行混合交织;
循环移位操作单元,用于进行循环移位操作,之后并串变换。
下面结合具体实施例对本发明作进一步描述。
假设信道编码采用的是128比特长度,码率为1/2的编码方式,输出结果中,信息码和检验码是并行输出的。
如图1所示,本发明的实现需要经过以下步骤:
步骤一:对128比特的检验码进行交织。
具体来说,常见分组交织的实现一般利用RAM的读写来调整顺序实现交织功能,采用“乱序写入,顺序读出”或“顺序写入,乱序读出的”的方法。
本发明中,较为方便的是采用“顺序写入,乱序读出”方式。以CLK1为时钟,利用位宽为1,深度为128的RAM,将输入的检验码按照顺序存入RAM中,即依次存入RAM的地址0~地址127中,写入地址的生成单元wadd Generator可由模128计数器产生。读取地址采取“乱序读出”的方法,当读取地址使能拉高时,进行读取地址的计算。基于上述分析,检验码交织器设计的硬件实现框图如图3所示。
RAM读取地址的生成是整个设计的关键和难点。根据检验码交织思路以及规律的寻找,可以设计出读取地址生成单元radd Generator。核心设计如下式:
wadd=cnt1+4cnt2+32cnt3\*MERGEFORMAT(1)
其中,cnt1位宽为2,cnt2位宽为3,cnt3位宽为2。cnt1、cnt2、cnt3的初始值均为0。cnt3的变化为0,1,2,3,然后继续按此规律循环,当cnt3为3时,cnt2加1,cnt2的变化为0,1,2,3,4,5,6,7,然后cnt2继续按此规律循环,当cnt2为7时,cnt1加1,cnt1的变化为0,1,2,3,此时实现了128个读取地址的计算。此时根据该公式可以计算出读取地址,其关键Verilog代码如下:
当读取地址计算使能拉高时,开始进行读取地址wadd的计算。通过该代码设计,可以计算出读取地址为0,32,64,96,4,36,68,100……31,63,95,127与设计思路相符合。
由于采用“乱序写入,顺序读出”的设计,因此,在一帧数据未完全写入时,则不能进行新的数据写出,否则读出的数据将可能会受到新写入数据的影响而产生错误,因此会产生无法处理连续数据的问题。考虑到这个问题,解决的方法就是采用流水线结构,利用“乒乓结构”,采用两个位宽为1,深度为128的简单双口RAM,命名为RAM0和RAM1,通过对RAM0和RAM1写使能和读使能的控制,实现如下过程:当对RAM0进行写入数据时,同时对RAM1进行读取,当对RAM0进行读取时,同时对RAM1写入数据,这样可以保证数据的连续处理,并且不会产生错误。
步骤二:对128比特信息码进行交织。
信息码交织与检验码的交织非常相似,信息码交织器设计的硬件实现框图如图4所示。主要区别在于RAM读取地址的计算有些许不同。信息码交织的读取地址的计算的核心公式依然是:
wadd=cnt1+4cnt2+32cnt3\*MERGEFORMAT(2)
不过,由于信息码交织中,由于存在交织偏移值16,因此,根据设计思路,其实现上与检验码交织有一定的不同。cnt1位宽为2,cnt2位宽为3,cnt3位宽为2。cnt1、cnt3的初始值均为0,而cnt2的初始值为4。cnt3的变化为0,1,2,3,然后继续按此规律循环,当cnt3为3时,cnt2加1,cnt2的变化为4,5,6,7,0,1,2,3,然后cnt2继续按此规律循环,当cnt2为3时,cnt1加1,cnt1的变化为0,1,2,3,此时实现了128个读取地址的计算。
除了cnt2初始值不同,其他计算读取地址代码与检验码相同。因此,当读取地址计算使能拉高时,开始进行读取地址wadd的计算。通过该代码设计,可以计算出读取地址为16,48,80,112……15,47,79,111与设计思路相符合。为了处理连续数据,同样利用“乒乓结构”进行处理。
步骤三:信息码和检验码混合交织。
(3a)当输入时钟为CLK1时,利用串并转换,将128比特信息码经过串并转换后变成32个位宽为4比特的数据,将128比特检验码经过串并转换后变成32个位宽为4比特的数据。现在的处理就是要将这64个数据交替输出,信息码在前,接着检验码,以此类推。
(3b)利用一个位宽为4,深度为64的简单双口分布式RAM(DRAM),将64个数据有规律写入,之后顺序读出即可。具体来说,写入地址的产生是顺序的,采用模64计数器即可,但是写入内容dina是交替变化的,dina先是信息码,之后是检验码,依次类推。经过处理后的数据是64个半字节数据,便于下一阶段的循环移位处理。写入DRAM和读取DRAM的时钟为CLK2,CLK2是CLK1的二分频。
通过以上分析,信息码和检验码交织器设计如图5所示。
步骤四:循环移位处理。
(4a)输入时钟为CLK2,进行半字节移位处理。对于标号为0和1,不处理直接输出,对于标号2和3,循环右移1位,对于标号4和5,循环右移2位,对于标号6和7,循环右移3位。之后的数据依次按此规律处理。
(4b)并串转换。由于信道交织输出的数据要进一步给调制模块使用,而调制方式并不固定,可能是QPSK、16QAM等,因此,信息交织输出的数据应该是串行比特流。将移位后的数据,进行并串变换后,输出串行比特流。输出时的时钟为CLK3,其频率为CLK2的四倍,为CLK1的两倍。
根据以上分析,循环移位的硬件实现框图如图6所示。
经过以上四步骤,利用FPGA中的RAM的写入和读取,利用串并转换、移位、并串转换等操作即可实现信道交织的整个***。利用这些,具有逻辑简单、时延小的优点。
下面结合仿真实验对本发明作进一步描述。
如图7所示,给出了Verilog仿真图。该图是截取的一段仿真波形,为了便于验证是否正确,输入信息码和检验码采用特殊比特,信息码为0,1交替的128比特,检验码也是0,1交替的128比特,parity_out是检验码交织结果,data_out是信息码交织结果,da_pa_out是信息码和检验码混合交织的结果,DP_ND是交织最终输出结果。输出时钟CLK3是输入时钟CLK1的两倍,可以看到交织结果先是64比特的0,再是64比特的1,接着又是64比特的0,然后64比特的1,结果与Matlab结果一致,是正确的。
以上所述仅为本发明的特例,即信息码128比特,码率1/2,检验码128比特的情况,其他情况的实现类似,只需修改部分参数即可。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述基于FPGA的电力线载波通信的信道交织方法进行检验码的交织、信息码的交织、信息码和检验码的混合交织以及循环移位;交织处理后,将相邻比特分配到不同子载波上进行传输,将相邻比特映射到星座图中相对重要和次等重要的位置上;同时,在时域维度上对信息离散化,将有记忆信道转化为无记忆信道,再与纠错码配合降低误码率。
2.如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述基于FPGA的电力线载波通信的信道交织方法具体包括:
步骤一,对检验码进行交织处理;
步骤二,对信息码进行交织处理;
步骤三,对信息码和检验码之间进行混合交织;
步骤四,进行循环移位处理。
3.如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述步骤一具体包括:
将检验码的第一块(n-k)/4比特输出到区块1中,第二块(n-k)/4比特输出到区块2中,第三块(n-k)/4比特输出到区块3中,第四块(n-k)/4比特输出到区块4中;等价于将检验码存入到一个(n-k)/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4;写入数据时,按行顺序写入数据;
读出数据时,按列将四行的数据同时读取,首先从第0列开始读取,在首地址上加上一个读取步长S,第一轮读出的列的顺序为(0,2*S,3*S,……),第一轮一共读取((n-k)/4)/S列;
接着,进行第二轮,读取首地址加1,从第1列开始读取,在首地址上加上一个读取步长S,第二轮读出的列的顺序为(1,2*S+1,3*S+1,……),第二轮一共读取((n-k)/4)/S列,以此类推,通过S轮的读取,读出全部检验码。
4.如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述步骤二具体包括:
将信息码的第一块k/4比特输出到区块1中,第二块k/4比特输出到区块2中,第三块k/4比特输出到区块3中,第四块k/4比特输出到区块4中;等价于将信息码存入到一个k/4列4行的矩阵,其中,第一行代表区块1,第二行代表区块2,第三块代表区块3,第四行代表区块4;写入数据时,按行顺序写入数据;
读出数据时,按列将四行的数据同时读取;其中,T=k/4,对于信息码的交织,从一个偏移值offset列开始读取,首先从第offset列开始读取,之后在首地址上加上一个读取步长S,第一轮读出的列的顺序为(offset,(offset+S)mod T,(offset+2*S)mod T,……),第一轮共读取(k/4)/S列;
接着,进行第二轮,读取首地址加1,从第1列开始读取,之后在首地址上加上一个读取步长S,第二轮读出的列的顺序为(offset+1,(offset+S+1)mod T,(offset+2*S+1)modT,……),第二轮一共读取(k/4)/S列,以此类推,通过S轮的读取,读出全部信息码。
5.如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述步骤三具体包括:
检验码交织后,输出为(n-k)/4比特,信息码交织后,输出为k/4比特,(n-k)/4比特与k/4比特进行混合交织;输出结果为前4比特为信息码,接着4比特检验码,以此类推,完成检验码和信息码之间的交织过程;
所述串并转换,包括:将k比特信息码经过串并转换后变成k/4个位宽为4比特的数据,将(n-k)比特检验码经过串并转换后变成(n-k)/4个位宽为4比特的数据;将这n/4个数据交替输出,信息码在前,接着检验码,以此类推。
6.如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法,其特征在于,所述步骤四具体包括:
将第步骤三处理后的数据,按照0到7循环编号,每两个半字节调整依次顺序,对于标号为0和1,不处理直接输出,对于标号2和3,循环右移1位,对于标号4和5,循环右移2位,对于标号6和7,循环右移3位;以此类推,之后再进行并串转换输出。
7.一种实现权利要求1~6任意一项所述基于FPGA的电力线载波通信的信道交织方法的计算机程序。
8.一种实现权利要求1~6任意一项所述基于FPGA的电力线载波通信的信道交织方法的信息数据处理终端。
9.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~6任意一项所述的基于FPGA的电力线载波通信的信道交织方法。
10.一种如权利要求1所述的基于FPGA的电力线载波通信的信道交织方法的基于FPGA的电力线载波通信的信道交织***,其特征在于,所述基于FPGA的电力线载波通信的信道交织***包括:
检验码交织单元,利用RAM和乒乓结构对检验码交织;
信息码交织单元,利用RAM和乒乓结构对信息码交织;
混合交织单元,用于串并转换,对信息码和检验码之间进行混合交织;
循环移位操作单元,用于进行循环移位操作,之后并串变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810224147.7A CN108183729A (zh) | 2018-03-19 | 2018-03-19 | 基于fpga的电力线载波通信的信道交织方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810224147.7A CN108183729A (zh) | 2018-03-19 | 2018-03-19 | 基于fpga的电力线载波通信的信道交织方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108183729A true CN108183729A (zh) | 2018-06-19 |
Family
ID=62553830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810224147.7A Pending CN108183729A (zh) | 2018-03-19 | 2018-03-19 | 基于fpga的电力线载波通信的信道交织方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108183729A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920097A (zh) * | 2018-06-11 | 2018-11-30 | 北京理工雷科雷达技术研究院有限公司 | 一种基于交织存储的三维数据处理方法 |
CN112035854A (zh) * | 2020-08-13 | 2020-12-04 | 南京低功耗芯片技术研究院有限公司 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
CN115562902A (zh) * | 2022-01-11 | 2023-01-03 | 荣耀终端有限公司 | 一种存储区域的编码方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1496052A (zh) * | 2001-02-13 | 2004-05-12 | 三星电子株式会社 | 在通信***中生成代码的设备 |
CN105577325A (zh) * | 2015-12-25 | 2016-05-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种应用于正交分频复用传输***的并行处理交织器 |
CN106603457A (zh) * | 2016-12-09 | 2017-04-26 | 中国电力科学研究院 | 基于ofdm的宽带电力线载波通信物理层信号处理方法 |
CN107306166A (zh) * | 2016-04-25 | 2017-10-31 | 李松斌 | 一种基于OFDM及双二元Turbo码的数据通信方法 |
-
2018
- 2018-03-19 CN CN201810224147.7A patent/CN108183729A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1496052A (zh) * | 2001-02-13 | 2004-05-12 | 三星电子株式会社 | 在通信***中生成代码的设备 |
CN105577325A (zh) * | 2015-12-25 | 2016-05-11 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种应用于正交分频复用传输***的并行处理交织器 |
CN107306166A (zh) * | 2016-04-25 | 2017-10-31 | 李松斌 | 一种基于OFDM及双二元Turbo码的数据通信方法 |
CN106603457A (zh) * | 2016-12-09 | 2017-04-26 | 中国电力科学研究院 | 基于ofdm的宽带电力线载波通信物理层信号处理方法 |
Non-Patent Citations (1)
Title |
---|
王磊: "多标准可配置信道交织器的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920097A (zh) * | 2018-06-11 | 2018-11-30 | 北京理工雷科雷达技术研究院有限公司 | 一种基于交织存储的三维数据处理方法 |
CN112035854A (zh) * | 2020-08-13 | 2020-12-04 | 南京低功耗芯片技术研究院有限公司 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
CN112035854B (zh) * | 2020-08-13 | 2024-02-23 | 南京低功耗芯片技术研究院有限公司 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
CN115562902A (zh) * | 2022-01-11 | 2023-01-03 | 荣耀终端有限公司 | 一种存储区域的编码方法、装置及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106230489B (zh) | 适用于任意高阶调制的极化码编码调制方法 | |
CN106603457A (zh) | 基于ofdm的宽带电力线载波通信物理层信号处理方法 | |
CN108183729A (zh) | 基于fpga的电力线载波通信的信道交织方法及*** | |
CN101631003B (zh) | 一种用于mimo-ofdm***的旋转调制信号的方法 | |
CN104541466B (zh) | 用于相位噪声受限的无线通信***中的载波间干扰抑制的交织的方法和装置 | |
CN1964340A (zh) | 多载波通信中的编码信号配置方法和通信装置 | |
WO2021159709A1 (zh) | 基于ofdm的高速无线通信物理层发射信号产生方法及*** | |
CN102694709B (zh) | 基于dmt的高速1553b通信总线发送方法与装置 | |
CN107465483A (zh) | 免授权传输方法和装置 | |
CN102111242B (zh) | 一种降低电力线载波通信中窄带噪声干扰的方法 | |
CN105577325A (zh) | 一种应用于正交分频复用传输***的并行处理交织器 | |
CN107017975A (zh) | 一种基于正交频分复用的时频分集拷贝方法 | |
CN107070838A (zh) | 一种基于g3‑plc频域robo编码调制解调方法 | |
CN109525365A (zh) | 一种应用于无人机图传的信道编码与调制***与方法 | |
CN106954202A (zh) | 无线局域网信息传输方法和装置 | |
CN104486284B (zh) | 基于增强型六维64psk星座的正交频分复用方法 | |
CN101471746A (zh) | 宽带无线传输的方法、装置及一种传输*** | |
CN108055225A (zh) | 基于块交织的ofdm***峰值功率优化方法及其发射*** | |
CN115001917B (zh) | 用于雷达通信一体化的调制信号产生方法 | |
CN103780337B (zh) | Wlan***中的交织处理方法和设备 | |
CN103795674B (zh) | 一种降低mimo‑ofdm***的papr的方法 | |
CN107306166A (zh) | 一种基于OFDM及双二元Turbo码的数据通信方法 | |
CN106789775B (zh) | 基于mimo技术的测井电缆高速数据传输方法 | |
Liang et al. | Research on optimization of modulation and coding mode for power line carrier communication | |
CN103414673B (zh) | 一种电力线ofdm调制方法及装置 |
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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20220909 |