一种基于CMMB标准的字节交织方法
技术领域
本发明涉及一种字节交织方法,尤其涉及一种基于CMMB标准的字节交织方法。
背景技术
在信道编码与调制中,前向纠错码(FEC :Forward Error Correction)具有非常重要的意义,它是通过附加冗余检错和纠错信息到数据流中,提高信道在空间传输的抗干扰能力,降低误码率,保证数据正常接收。在中国移动多媒体广播(CMMB:China Mobile Multimedia Broadcasting)信道编码、调制的帧结构中(GY/T 220.1---2006),前向纠错码的外码和外交织是通过RS编码和字节块交织来完成的,前向纠错码中的外码采用RS(240,240)、RS(240,224)、RS(240,192)、RS(240,176)四种RS编码和三种字节交织模式来实现。如图1的现有技术中字节交织的实现方法,其主要包含以下步骤:(1)数据逐列写入存储器存储区 ,根据里德--所罗门编码RS(Reed-Solomon)编码规则,得到编码的信息序列的长度K,其中K的取值为240、224、192、176。字节交织的深度MI根据交织模式、CMMB的工作带宽和LDPC的编码码率确定,其取值有:36、54,72、108、144、216、288、432。(2)存储器存储区数据逐行进行RS编码: 先将每行的的数据读出,并进行RS编码操作,读完每行的信息数据后,把编码的校验数据按行的顺序写入存储器存储区中的校验区。(3)逐列读出所有的信息数据,然后再读出校验数据。这样就完成了一个交织块的字节交织和RS编码。
在实际应用中,由于交织时需要用存储器来暂存信息数据和校验数据,在不同的字节交织模式下,其存储器的大小不同。可通过复用,只需要按照存储器的最大容量开辟空间即可,因为输入输出的数据是连续进行操作的,所以需要两个存储器来进行数据的切换。因此每个存储器的大小为432×240×8bit,总共需要的存储器容量为432×240×8×2bit存储量。在实现过程中,在硬件上增加成本,在软件上的控制逻辑非常复杂。
发明内容
针对现有技术中存在的节交织的实现方法需要大容量的存储器的技术问题,因此有必要提供一种基于CMMB标准的字节交织方法,减少在字节交织过程中对存储器的容量需求。
本发明提供一种基于CMMB标准的字节交织方法,其包含以下步骤:
(1)输入数据分成Mi×K的矩阵,每个输入数据用I0,0,I1,0,……IMi-1,k-1表示,所述输入数据I0,0输入RS编码模块进行编码,同时输出该输入数据I0,0,并存储I0,0对应的中间校验数据到存储区P0,0…P0,240-k-1;所述输入数据I1,0输入RS模块进行编码,同时输出该输入数据I1,0,并存储I1,0对应的中间校验数据到存储区P1,0…P1,240-k-1;依次对第一列输入数据进行RS编码,同时输出该输入数据,并存储对应的中间校验数据到对应的每一行;
(2)输入数据I0,1,并读取步骤(1)中I0,0对应的中间校验数据P0,0…P0, 240-K-1中的值,进行RS编码,编码后的该输入数据I0,1输出,并将此次的中间校验数据存回到P0,0…P0, 240-K-1中;依次对第二列输入数据进行RS编码,编码后的该数据输出,并存储中间校验数据到对应的每一行;
(3)依照步骤(2)依次完成其余列输入数据的RS编码,编码后的信息数据输出,并存储对应的中间校验数据到对应的每一行;
(4)编码完K列输入数据后,逐列读出所有的校验数据,一个交织块的数据编码完成。
本发明的有益效果为:使用本发明的字节交织方法,不存放信息数据,节省资源开销,能大大减少存储器的使用量,在不增加外挂存储器、增加硬件成本的情况下,只需要可编程器件内部很小的存储器资源,就能实现CMMB 中RS编码和字节交织。不需要复杂的存储器接口和时序操作,编码更容易。数据延时较小,开机速度更快。
附图说明
图1为现有技术中的字节交织方法。
图2为本发明的字节交织方法。
具体实施方式
下面结合说明书附图,具体说明本发明的具体实施方式。
如图2所示,本发明提供一种基于CMMB标准的字节交织方法,方法中的存储器示意图参照图1中的校验区P0,0…P Mi-1, 240-K-1进行说明,其包含以下步骤:
(1)输入数据分成Mi×K的矩阵,每个输入数据用I0,0,I1,0,……IMi-1,k-1表示,所述输入数据I0,0输入RS编码模块进行编码,同时输出该输入数据I0,0,并存储I0,0对应的中间校验数据到存储区P0,0…P0,240-k-1;所述输入数据I1,0输入RS模块进行编码,同时输出该输入数据I1,0,并存储I1,0对应的中间校验数据到存储区P1,0…P1,240-k-1;依次对第一列输入数据进行RS编码,同时输出该输入数据,并存储对应的中间校验数据到对应的每一行;
(2)输入数据I0,1,并读取步骤(1)中I0,0对应的中间校验数据P0,0…P0, 240-K-1中的值,进行RS编码,编码后的该输入数据I0,1输出,并将此次的中间校验数据存回到P0,0…P0, 240-K-1中;依次对第二列输入数据进行RS编码,编码后的该数据输出,并存储中间校验数据到对应的每一行;
(3)依照步骤(2)依次完成其余列输入数据的RS编码,编码后的信息数据输出,并存储对应的中间校验数据到对应的每一行;
(4)编码完K列输入数据后,逐列读出所有的校验数据,一个交织块的数据编码完成。
使用本发明的字节交织方法,不存放信息数据,节省资源开销,能大大减少存储器的使用量,在不增加外挂存储器、增加硬件成本的情况下,只需要可编程器件内部很小的存储器资源,就能实现CMMB 中RS编码和字节交织。不需要复杂的存储器接口和时序操作,编码更容易。数据延时较小,开机速度更快。如:一块具有432个9kbit存储器容量的可编程器件芯片上,实现改进前后的实际消耗的存储器的比较。前向纠错码中的外码采用RS(240,240)、RS(240,224)、RS(240,192)、RS(240,176)四种RS编码,而现有技术中因为输入输出的数据是连续进行操作的,所以需要两个存储器来进行数据的切换。因此现有技术中总共需要的存储器容量为432×240×8×2bit存储量,而本发明中因为节省了信息位数据的存储,在K为176时,校验位的长度为:240-K=64,则只需要存储器容量为64×432×8bit存储量。实际的消耗存储器:根据可编程逻辑器件实际消耗的容量计算,其值根据可编程器件厂商提供的软件计算而得。
项目
|
现有技术
|
本发明
|
资源节省
|
需要的存储器 |
432×240×8×2=
1658880bit |
64×432×8=
221184bit |
86.66% |
实际的消耗存储器 |
128×2×9216=2359296bit |
29×9216=267264bit |
88.67% |
从上表可以看出,在使用本发明的字节交织方法后,需要的存储器的容量大大减小。根据本发明中的交织方法选择可编程器件,可编程器件中只需要内部很小的存储器资源,就能实现CMMB 中RS编码和字节交织。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。