CN103166735B - 一种交织器的读写方法 - Google Patents
一种交织器的读写方法 Download PDFInfo
- Publication number
- CN103166735B CN103166735B CN201110424371.9A CN201110424371A CN103166735B CN 103166735 B CN103166735 B CN 103166735B CN 201110424371 A CN201110424371 A CN 201110424371A CN 103166735 B CN103166735 B CN 103166735B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- line
- speed
- code element
- 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
Abstract
本发明公开了一种交织器的读写方法,预先为奇数码元和偶数码元分别设定各自的读速率和写速率,根据不同的内存单元,调整读速率和写速率,从而可实现通过设定不同的时钟来驱动码元数据的读写,使码元数据的读写速率更加灵活,可到达减小交织器传输延迟的目的。
Description
技术领域
本发明涉及移动多媒体通信领域,为一种交织器的读写方法。
背景技术
交织是通信系统中进行数据处理而采用的一种技术,交织器从其本质上来说就是一种实现最大限度的改变信息结构而不改变信息内容的器件。从传统上来讲就是使信道传输过程中所突发产生集中的错误最大限度的分散化。交织器通常是对输入的原始信息序列进行随机置换后从前向后读出。交织器的作用是:一、可以产生长码。二、使两个RSC编码器的输入不相关,编码过程趋于独立。交织使编码产生随机度,使码随机化、均匀化,起着对码重量整形的作用,直接影响Turbo码的性能。在译码端,对于某一个子译码器来说不可纠正的错误事件,交织后在另一个译码器被打散,成为可纠正差错。
交织方式主要有规则交织,不规则交织和随机交织3种。通常规则交织即行写列读,效果不好。随机交织指交织格式是随机分配的,是理论上性能最好的交织方式,但是由于要将整个交织信息位置信息传送给译码器,降低了编码效率。实际应用中一般采用不规则交织,这是一种伪随机交织方式,对每一编码块采用固定的交织方式,但块与块之间交织器结构不一样。往往为了获得高的编码增益对交织器的长度提出要求。在无线移动通信系统对时延要求较高,因此采用交织长度为400左右的伪随机短交织器。
目前,在很多数字通信系统中,大型的交织器正在被广泛的应用。由于这些交织器的规模较大,往往需要占用较大的内存单元,并且完成一次交织或解交织操作所需的运算时间也较长,这都给系统的硬件设计带来了很多问题。
发明内容
针对现有技术的不足,本发明的目的在于,提供一种交织器的读写方法,可减少传输延迟。
基于上述发明目的,本发明提供一种交织器的读写方法,包括以下步骤:
预先设定第奇数个码元的数据按写速率RW1写入行按读速率RR1从列读出,第偶数个码元的数据按写速率RW2写入行按读速率RR2从列读出;同时为每个码元的数据开辟的内存单元大小为Max(K,L)2-(K-L)2,其中K为行数,L为列数,且K、L均为自然数;
当所采用的内存单元为单端口内存时,每个大小为K*L的码元中的数据按下面的方式读写到该内存单元,其中K为行数,L为列数,且K、L均为自然数:
当第一个奇数码元中的K*L个数据以速率RW1按逐行写入所述内存单元后,该奇数码元中的数据以速率RR1按逐列读出;待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖;当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元;随后,该偶数码元中的数据以速率RR2按逐行读出;待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖;如此反复,直到数据被全部从该内存单元读出。
作为本发明的第二目的,本发明还提供一种交织器的读写方法,包括以下步骤:
预先设定第奇数个码元的数据按写速率RW1写入行按读速率RR1从列读出,第偶数个码元的数据按写速率RW2写入行按读速率RR2从列读出;同时为每个码元的数据开辟的内存单元大小为Max(K,L)2-(K-L)2,其中K为行数,L为列数,且K、L均为自然数;
当所采用的内存单元为双端口内存时,令KRR1<=LRW2和KRR2<=LRW1,每个大小为K*L的码元中的数据按下面的方式读写到该内存单元,其中K为行数,L为列数,且K、L均为自然数:
当第一个奇数码元中的K*L个数据以速率RW1逐行写入内存单元后,该奇数码元中的数据以速率RR1按逐列读出;待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖;此时,每一列写入L个数据的时间LxRW2不应该小于每一列按速率RR1读出前一个奇数码元中K个数据的时间KxRR1;当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元;随后,该偶数码元中的数据以速率RR2按逐行读出;待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖;此时,每一行写入L个数据的时间LxRW1不应该小于每一列按速率RR2读出前一个奇数码元中K个数据的时间KxRR2;如此反复,直到数据被全部从该内存单元读出。
本发明采用上述方案,将设定不同的时钟来驱动码元数据的读写,从而使码元数据的读写速率更加灵活,以到达减小交织器传输延迟的目的。
附图说明
图1为传统交织器实现方法原理图,
其中图1a表示第奇数个码元的数据按行方向写入内存,按列方向读出;图1b表示第偶数个码元的数据按列方向写入内存,按行方向读出;
图2为本发明的交织器实现方法原理图,
其中图2a表示第奇数个码元的数据按行方向写入内润,按列方向读出;图2b表示第偶数个码元的数据按列方向写入内存,按行方向读出。
具体实施方式
传统交织器的实现如图1所示。其中,实线表示将数据写到内存空间的方向,虚线表示将数据从内存空间读出的方向。图1a表示第奇数个码元的数据按行方向写入内存,按列方向读出;图1b表示第偶数个码元的数据按列方向写入内存,按行方向读出。在传统实现方法中,由于码元数据的读写速率相同,所以完成交织器所需的内存单元不能少于:
Max(K,L)2-(K-L)2
其中,K为行数,L为列数,且K,L均为自然数。则交织器的大小为K*L。如图1所示的交织器的大小为7x5,按照传统交织器的硬件实现方法,所需的内存单元至少为:
7x7-(7-5)x(7-5)=(7+2)x(7-2)=9x5。
如果采用单端口内存,即对于同一块内存不能同时进行读写偶做,交织器的读写速率为R,即每读写一个数据,需要R个时钟单元。那么在传统实现方案中,每读写2KL个数据所花的时间为:
T2KL=KLR+KLR+KLR+KLR=4KLR
此时,传统方案的平均延时,即平均每交织一个数据,需要消耗的时钟单元为2R。
同样的条件下,如果采用双端口内存,即可以对同一块内存在不同的地址里同时进行读写操作,那么传统实现方案每读写2KL个数据所花的时间为
T2KL=KLR+KLR+|K-L|min(K,L)R+KLR
此时,传统方案的平均延时为:
即:
本发明提出的交织器的实现方案中,将设定不同的时钟来驱动码元数据的读写,从而使码元数据的读写速率更加灵活,以到达减小交织器传输延迟的目的。具体方法如下:
1、预先设定:第奇数个码元的数据按写速率RW1写入行,即每写一个数据需要RW1个时钟单元,按读速率RR1从列读出,即每读出一个数据需要RR1个时钟单元。
2、预先设定:第偶数个码元的数据按写速率RW2写入行,即每写一个数据需要RW2个时钟单元,按读速率RR2从列读出,即每读出一个数据需要RR2个时钟单元。
3、预先设定:为每个码元的数据开辟的内存单元大小为Max(K,L)2-(K-L)2,其中K为行数,L为列数,且K、L均为自然数;
4、如果采用单端口内存,那么该码元中的数据按下面的方式读写到该内存单元:
当第一个奇数码元中的K*L个数据以速率RW1按逐行写入内存单元后,该奇数码元中的数据以速率RR1按逐列读出。待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖。当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元。随后,该偶数码元中的数据以速率RR2按逐行读出。待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖。这样的过程重复若干次,直到该码元的数据被全部从该内存单元读出。
5、如果采用双端口内存,可以令KRR1<=LRW2和KRR2<=LRW1,那么该码元中的数据按下面方式读写到该内存单元:
当第一个奇数码元中的K*L各数据以速率RW1逐行写入内存单元后,该奇数码元中的数据以速率RR1按逐列读出。待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖。此时,每一列写入L个数据的时间LxRW2不应该小于每一列按速率RR1读出前一个奇数码元中K个数据的时间KxRR1。当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元。随后,该偶数码元中的数据以速率RR2按逐行读出。待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖。此事,每一行写入L个数据的时间LxRW1不应该小于每一列按速率RR2读出前一个奇数码元中K个数据的时间KxRR2。这样的过程重复若干次,直到该码元的数据被全部从该内存单元读出。
这样,如果采用单端口内存,本发明提出的方案每读写2KL个数据所花的时间为:
T2KL=KLRW1+KLRR1+KLRW2+KLRR2
而平时延时为:
如果采用双端口内存,由于KRR1<=LRW2和KRR2<=LRW1,本发明每读写2KL个数据所花的时间为:
T2KL=KLRW1+KLRR1+|K-L|min(K,L)RW2+KLRR2
而本发明的平均延时,即平均每交织一个数据,需要消耗的时钟单元为:
可以看到,如果RW1=RW2=RR1=RR2=R1,本发明的平均延时和传统方案一致,特别的,如果RW1=RW2=RW且RR1=RR2=RR,本发明的平均延时为:
对于K和L的不同取值情况有:
另外,特别的如果另KRR=LRW,进一步有:
可以看到,只要该码元的写入速率RW1和RW2与读出速率RR1和RR2满足一定关系,该码元的数据就可以正确的从该内存单元中写入和读出,并完成交织运算。特别的,可以令KRR2=LRW1,KRR1=LRW2。同时,我们也看到,当交织器的行列维数相同时,即K=L时,本发明提出的实现方案可以与传统方案在传输延时性能方面取得一致。而对于行列维数不同的交织器,本发明提出的方案通过设置不同的读写速率,可以更灵活的控制交织器的读写延时,并使之与交织器的维数相匹配,改善交织器的整体传输延时性能。
本发明提出的交织器的实现方案中,设定不同的时钟来驱动码元数据的读写,从而使码元数据的读写速率更加灵活,更好的与交织器的维数相匹配,已达到减小交织器传输延迟的目的。通过利用可变速率的写操作交织器,有效的改善了交织器在传输延时方面的性能。对于采用大型交织器的通信系统来说有较好的应用前景。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种交织器的读写方法,其包括以下步骤:
预先设定第奇数个码元的数据按写速率RW1写入行按读速率RR1从列读出,第偶数个码元的数据按写速率RW2写入行按读速率RR2从列读出;同时为每个码元的数据开辟的内存单元大小为Max(K,L)2-(K-L)2,其中K为行数,L为列数,且K、L均为自然数;
当所采用的内存单元为单端口内存时,每个大小为K*L的码元中的数据按下面的方式读写到该内存单元,其中K为行数,L为列数,且K、L均为自然数:
当第一个奇数码元中的K*L个数据以速率RW1按逐行写入所述内存单元后,该奇数码元中的数据以速率RR1按逐列读出;待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖;当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元;随后,该偶数码元中的数据以速率RR2按逐行读出;待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖;如此反复,直到数据被全部从该内存单元读出,
第奇数个码元的数据的写速率与第偶数个码元的数据的写速率相等,第奇数个码元的数据的读速率与第偶数个码元的数据的读速率相等。
2.如权利要求1所述交织器的读写方法,其特征在于:所述写速率和读速率相等。
3.一种交织器的读写方法,包括以下步骤:
预先设定第奇数个码元的数据按写速率RW1写入行按读速率RR1从列读出,第偶数个码元的数据按写速率RW2写入行按读速率RR2从列读出;同时为每个码元的数据开辟的内存单元大小为Max(K,L)2-(K-L)2,其中K为行数,L为列数,且K、L均为自然数;
当所采用的内存单元为双端口内存时,令KRR1<=LRW2和KRR2<=LRW1,每个大小为K*L的码元中的数据按下面的方式读写到该内存单元,其中K为行数,L为列数,且K、L均为自然数:
当第一个奇数码元中的K*L个数据以速率RW1逐行写入内存单元后,该奇数码元中的数据以速率RR1按逐列读出;待第一列数据被读出后,下一个偶数码元的数据以速率RW2按逐列写入内存单元,并将前面的数据覆盖;此时,每一列写入L个数据的时间LxRW2不应该小于每一列按速率RR1读出前一个奇数码元中K个数据的时间KxRR1;当前一个奇数码元中的数据都读出后,该偶数码元中K*L个数据也都写入到内存单元;随后,该偶数码元中的数据以速率RR2按逐行读出;待第一行数据被读出之后,下一个奇数码元的数据以速率RW1按逐行写入到内存单元中去,并将前面的数据覆盖;此时,每一行写入L个数据的时间LxRW1不应该小于每一列按速率RR2读出前一个奇数码元中K个数据的时间KxRR2;如此反复,直到数据被全部从该内存单元读出,
第奇数个码元的数据的写速率与第偶数个码元的数据的写速率相等,第奇数个码元的数据的读速率与第偶数个码元的数据的读速率相等。
4.如权利要求3所述交织器的读写方法,其特征在于:所述写速率和读速率相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110424371.9A CN103166735B (zh) | 2011-12-15 | 2011-12-15 | 一种交织器的读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110424371.9A CN103166735B (zh) | 2011-12-15 | 2011-12-15 | 一种交织器的读写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103166735A CN103166735A (zh) | 2013-06-19 |
CN103166735B true CN103166735B (zh) | 2015-11-25 |
Family
ID=48589493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110424371.9A Active CN103166735B (zh) | 2011-12-15 | 2011-12-15 | 一种交织器的读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103166735B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1329777A (zh) * | 1998-10-13 | 2002-01-02 | 高通股份有限公司 | 具有基于状态机的交织器的编码系统 |
EP1463256A1 (en) * | 2003-03-25 | 2004-09-29 | Sony United Kingdom Limited | Interleaver for mapping symbols on the carriers of an OFDM system |
CN101425992A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
-
2011
- 2011-12-15 CN CN201110424371.9A patent/CN103166735B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1329777A (zh) * | 1998-10-13 | 2002-01-02 | 高通股份有限公司 | 具有基于状态机的交织器的编码系统 |
EP1463256A1 (en) * | 2003-03-25 | 2004-09-29 | Sony United Kingdom Limited | Interleaver for mapping symbols on the carriers of an OFDM system |
CN101425992A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
Non-Patent Citations (2)
Title |
---|
Turbo码随机性交织器设计;杨亮 等;《无线电工程》;20110605;第41卷(第6期);第36-39页 * |
一种新型的Turbo码交织器的设计;汪汉新 等;《中南民族大学学报(自然科学版)》;20100915;第29卷(第3期);第58-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103166735A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101162449B (zh) | Nand flash控制器及其与nand flash芯片的数据交互方法 | |
CN101257313B (zh) | 一种基于fpga实现的解卷积交织器及解卷积交织方法 | |
CN101800619B (zh) | 一种基于块交织的交织或解交织方法及其装置 | |
CN102142928B (zh) | 交织、解交织外码编码输出码字的方法和交织、解交织器 | |
CN101140543B (zh) | 支持flash页操作与流水线纠错码的数据交换装置与方法 | |
CN103336750B (zh) | 寻址与存储单元一体化双端口存储控制器 | |
CN108092738A (zh) | 一种解交织解速率匹配的方法和装置 | |
CN101969310B (zh) | Turbo码并行译码器的QPP内交织器及其交织方法 | |
CN104484128A (zh) | 基于一读一写存储器的多读多写存储器及其实现方法 | |
CN100508405C (zh) | 提高Turbo码译码速度的并行译码方法及译码装置 | |
CN101707510B (zh) | 一种高速Turbo译码方法和装置 | |
CN101404555B (zh) | 数字传输中的一种卷积交织解交织的方法 | |
CN102098510B (zh) | 解码、编码音视频数据的方法及装置 | |
CN103166735B (zh) | 一种交织器的读写方法 | |
US7743287B2 (en) | Using SAM in error correcting code encoder and decoder implementations | |
CN102780620B (zh) | 一种网络处理器和报文处理方法 | |
KR101293224B1 (ko) | 데이터 기록 방법. 메모리, 및 메모리 기록 시스템 | |
CN101662292B (zh) | 一种交织器的确定方法及装置 | |
CN103166736A (zh) | 一种交织器读写方法 | |
CN103226977B (zh) | 基于fpga的快速nand flash控制器及其控制方法 | |
CN102201817A (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN102318249B (zh) | 一种交织和解交织的方法、交织器和解交织器 | |
CN201134270Y (zh) | Nand flash控制器 | |
CN111641417B (zh) | 一种基于fpga的完成矩阵列置换交织的装置 | |
CN112466364A (zh) | 存储器装置、写入方法以及读取方法 |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: A 530 Taihu international science and Technology Park building 214135 Qingyuan Road in Jiangsu province Wuxi City District 10 layer Patentee after: WUXI ZHONGGAN MICROELECTRONIC CO., LTD. Address before: A 530 Taihu international science and Technology Park building 214135 Qingyuan Road in Jiangsu province Wuxi City District 10 layer Patentee before: Wuxi Vimicro Co., Ltd. |