首页> 中国专利> 第二代数字卫星广播系统的并行自适应交织/解交织方法

第二代数字卫星广播系统的并行自适应交织/解交织方法

摘要

本发明公开了一种用于第二代数字卫星广播系统的并行自适应交织/解交织方法,主要解决现有比特交织技术吞吐量较低,占用存储资源和时钟资源较多,不支持自适应编码调制功能的问题。其方案是:根据模式类型信号选择自适应选择调制方式,帧长及存储器个数;用列入行出的方式对原始输入数据进行并行交织,用行入列出的方式对交织数据进行并行解交织,其中对16APSK短帧数据采用分割写入的方法进行交织,采用组合读出的方法进行解交织。本发明的吞吐率达到了2Gbps以上,每个地址存储10比特的数据,提高了存储资源利用率,能在数据调制方式及帧长改变时自适应地进行正确的交织和解交织,可用于第二代数字卫星广播DVB‑S2系统。

著录项

  • 公开/公告号CN113242084A

    专利类型发明专利

  • 公开/公告日2021-08-10

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN202110511890.2

  • 发明设计人 宫丰奎;郭子梁;张沛鑫;张师笑;

    申请日2021-05-11

  • 分类号H04B7/185(20060101);H04L1/00(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人王品华;王玺钧

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-06-19 12:10:19

说明书

技术领域

本发明属于数字通信技术领域,更进一步涉及一种并行自适应交织方法,可用于第二代数字卫星广播DVB-S2系统及其演进DVB-S2X系统。

背景技术

随着信息技术的飞速发展,各领域对信息传输速率提出的要求越来越高,传统的串行结构的通信系统难以应付某些通信场景中的大带宽和高数据处理速度,高速并行通信系统受到广泛的研究,并行结构成为高速通信系统的首选。

大带宽DVB-S2/DVB-S2X系统被广泛应用。SatixFy公司于2018年展示了其首款支持带宽500MHz第二代数字卫星广播系统的卫星调制解调器,其吞吐率创记录的达到了2.4Gbps。2021年3月,SatixFy公司研制的第二代Modem芯片Sx3099可支持多达8个Modem的接收和高达1GHz总传输带宽。目前一些支持DVB-S2标准的商用调制解调设备或芯片带宽都超过500MHz,支持吞吐率超过2.4GHz。大带宽传输提高了符号率,获得更好的传输效率,提高系统吞吐率,是未来通信技术发展的趋势。另一方面,采用串行数据处理方式,FPGA时钟频率无法稳定支持高达500MHz的应用场景,系统吞吐率较低,所以必须使用高速并行数据处理方式来提高数据处理速率,降低时钟频率,节省时钟资源。在大带宽DVB-S2/DVB-S2X通信系统的研究中,其关键技术之一是交织和解交织。通过高速并行交织器/解交织器的设计提高系统吞吐率,使FPGA可以支持较高的符号速率。

上海无线通信研究中心的罗艺华等人在其申请的专利“一种并行编码和交织的通信传输方法”(申请号:201510646123.7公开号:CN 106571833 A)中将编码后的数据打孔存入缓冲池,再将缓冲池中的数据按照交织符号比特数k对数据进行符号划分,按并行度2N对数据进行交织并将其存入存储器,之后按照交织地址读取所述存储器中的数据完成交织。这种方法提高了吞吐率,但是其缓冲池存在写满导致数据被覆盖的不足,虽然该方法设置覆盖警告标识来避免这种状况,但这势必导致无法对连续输入的数据进行交织处理。

普联技术有限公司的汤志刚等人在其申请的专利“一种数据并行交织方法,终端设备及计算机存储介质”(申请号:202010169762.X公开号:CN111478750A)中将存储RAM的写地址和读使能样式提前在ROM中配置,在数据写入时,在同一时钟周期内根据ROM存储的地址信息,将最大输入并行度为n的待输入数据中的每一位数据存储到不同的RAM中,而且存储时以最大输出并行度k为基本存储单位,在存储完毕后以并行度k顺序将每一组待输出数据读出,最后根据待输出数据要求的输出并行度从每个并行度为k的数据中提取有效数据,完成数据并行交织。该方法具有较好的灵活性,能加快数据处理速率,减少发送延时。但是这种方法每次可以处理的数据量较少,否则提前在ROM里配置RAM存储地址和读使能样式需要开辟大量空间,造成资源浪费,即难以处理具有大量比特的数据帧。

电子科技大学的陈红艳等人在其申请的专利“一种适用于5G-NR的并行交织器,解交织器以及方法”(申请号:CN202010525423.0公开号:CN111555761A)中乒乓控制两片存储区域对输入的并行数据进行交织和解交织动作,输入通道切换模块和输出通道切换模块将数据输入到不同片区或是对不同片区的数据进行乒乓输出。使用了8个存储器来支持不同调制阶数的输入数据。在每一个片区中,数据使用行列交织方式逐行写入,每一个存储器地址存储一个数据,再将每个存储空间中的数据逐列读出,每一个时钟输入输出多比特数据,以有效提高吞吐率。但是这种方法在数据长度和并行度突发性改变时,不能保证交织和解交织输出结果的正确性,不具备自适应编码调制ACM功能,因而无法根据数据调制方式和帧长的实时变化自适应的改变交织和解交织方式。此外,该方法属于比特交织,在每一个存储地址中只存储一个比特,造成存储资源浪费。

发明内容

本发明的目的在于针对上述现有技术的不足,提出一种第二代数字卫星广播系统的并行自适应交织/解交织方法,以在提高吞吐率的同时,对连续系统中不同调制方式和帧长的数据进行不同的交织和解交织处理,实现自适应编码调制ACM功能,且节省更多存储资源。

为实现上述目的,本发明的技术方案包括如下:

(1)根据输入的模式类型信号的数值判断输入数据的调制方式和帧长,并将该模式类型信号保存;

(2)根据输入数据的调制方式和帧长选择对应的存储方式:

(2a)根据调制方式确定使用RAM的个数:

如果调制方式为QPSK,则使用5个RAM存储;

如果调制方式为8PSK,则使用3个RAM存储;

如果调制方式为16PASK,则使用4个RAM存储;

如果调制方式32APSK,则使用5个RAM存储;

(2b)根据帧长确定每个RAM中存储的数据个数:

在不同调制方式下,将一帧中的数据个数定义为n,将一个数据中的有效比特个数定义为m;

根据一个长帧包含64800个有效比特,确定长帧数据个数为n=64800/m;

根据一个短帧包含16200个有效比特,确定短帧数据个数为n=16200/m;

确定每个存储器存储的数据个数:m′=n/M,其中M为所用存储器的个数,当m′为整数时,数据正常存储,执行(2c),否则,数据需要分割存储,执行(2d);

(2c)先将RAM构成的存储空间分为两个半区,再将输入数据按列写入RAM存储空间的一个空闲状态半区,每个地址写入一个完整10比特输入数据,顺序存储完所有的RAM,执行(2e);

(2d)先将RAM构成的存储空间分为两个半区,再将输入数据按列写入RAM存储空间的一个空闲状态半区,从第二个RAM开始,将输入数据分割成两部分,并将来自不同数据的两部分组合成为一个新的10比特数据写入每个地址,顺序存储完所有RAM,执行(2e);

(2e)存储完成后把标志信号拉高,以表示该半区储存空间被占用,下一帧数据输入将会存储在另一半区,实现存储的乒乓控制;

(3)将RAM组成的存储空间中相同地址内的比特按行读出,组合得到交织数据,并将该半区标志信号拉低;

(4)将(3)得到的交织信号与(1)保存的模式类型信号对齐后输出;

(5)对交织信号进行解交织:

(5a)根据(4)输出的模式类型信号数值判断交织信号的调制方式和帧长,并将该模式类型信号保存;

(5b)利用与(2a)相同的方法对不同调制方式和帧长的数据选择其在解交织过程中所使用的存储器个数,并将交织数据按行写入空闲半区每个存储器相同的地址中,直到一帧数据存储完成;

(5c)读取存储器得到解交织数据:

对于每个存储器存储的数据个数m′为整数的情况,顺序读取每个存储器的所有地址,得到解交织数据;

对于每个存储器存储的数据个数m′不为整数的情况,则从第一个存储器的尾地址开始,读取当前地址数据的下半部分以及下一个地址数据的上半部分,相邻两个地址的部分数据组合成解交织数据;

(5d)将(5c)得到的解交织数据与(5a)保存的模式类型信号对齐后输出。

本发明与现有技术相比具有以下优点:

第一,本发明由于使用8PSK长帧进行存储会占用最多的存储器空间,故可以8PSK长帧为标准开辟存储空间,其他模式类型数据可共用该存储空间且没有额外资源浪费;同时由于每一个RAM地址中可存储10比特的有效数据,提高了存储效率,进一步减少了资源浪费,极大提高了系统吞吐率。

第二,本发明由于在并行数据处理的过程中加入了自适应编码调制ACM功能,故能在连续系统切换数据调制方式以及帧长时依然保证交织器和解交织器正确工作。

第三,本发明由于一个时钟能处理10比特有效数据,提高了系统吞吐率,并适应大的传输带宽。

测试结果表明,本发明在FPGA实现中其交织及解交织模块支持最高综合速率可达到200MHz以上,在10路并行交织下比特交织吞吐率可达到2Gbps以上。

附图说明

图1为本发明的实现流程图;

图2是本发明中的QPSK数据格式示意图;

图3为本发明中的8PSK数据格式示意图;

图4为本发明中的16APSK数据格式示意图;

图5为本发明中的32APSK数据格式示意图;

图6为本发明中8PSK数据写入交织器的过程示意图;

图7为本发明中16APSK数据写入交织器的过程示意图;

图8为本发明中32APSK数据写入交织器的过程示意图;

图9为本发明中从交织器读出8PSK数据的过程示意图;

图10为本发明中从交织器读出16APSK长帧数据的过程示意图;

图11为本发明中从交织器读出32APSK数据的过程示意图;

图12为本发明中16APSK短帧数据进行串行交织的示意图;

图13为本发明中16APSK短帧数据并行交织进行数据分割存储的示意图;

图14为本发明中8PSK数据写入解交织器的示意图;

图15为本发明中16APSK长帧数据写入解交织器的示意图;

图16为本发明中32APSK数据写入解交织器的示意图;

图17为本发明中16APSK短帧数据写入解交织器的示意图;

图18为本发明中从解交织器读出16APSK短帧数据的示意图。

具体实施方式

下面结合附图对本发明的实施例作进一步详细描述。

参照图1,本实例的具体实现步骤如下:

步骤1,根据输入的模式类型信号的数值判断交织过程中输入数据的调制方式和帧长。

每帧输入数据有对应的模式类型信号,模式类型信号有多种数值,不同数值表示输入数据的不同帧长以及调制方式,具体对应关系如下:

模式类型信号数值为1到11的输入数据,其调制方式为QPSK,帧长类型为64800有效比特长帧;

模式类型信号数值为12到17的输入数据,其调制方式为8PSK,帧长类型为64800有效比特长帧;

模式类型信号数值为18到23的输入数据,其调制方式为16APSK,帧长类型为64800有效比特长帧;

模式类型信号数值为24到28的输入数据,其调制方式为32APSK,帧长类型为64800有效比特长帧;

模式类型信号数值为33到42的输入数据,其调制方式为QPSK,帧长类型为16200有效比特短帧;

模式类型信号数值为44到48的输入数据,其调制方式为8PSK,帧长类型为16200有效比特短帧;

模式类型信号数值为50到54的输入数据,其调制方式为16APSK,帧长类型为16200有效比特短帧;

模式类型信号数值为56到59的输入数据,其调制方式为32APSK,帧长类型为16200有效比特短帧;

根据输入的模式类型信号的数值确定输入数据的调制方式和帧长,并将每一帧输入数据对应的模式类型信号保存。

步骤2,根据调制方式确定存储器个数:

如果调制方式为QPSK,其数据结构如图2所示,则使用5个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4,第五存储器RAM5;

如果调制方式为8PSK,其数据结构如图3所示,则使用3个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3;

如果调制方式为16PASK,其数据结构如图4所示,则使用4个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4;

如果调制方式32APSK,其数据结构如图5所示,则使用5个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4,第五存储器RAM5;

步骤3,将数据写入空闲半区存储器:

3.1)将RAM构成的存储空间分为两个半区,即先例化5个双端口RAM,并将这5个存储器的深度都设置为7200,宽度都设置为10;再将每个存储器的前3600个存储空间组合起来定义为第一个半区,将每个存储器的后3600个存储空间组合起来定义为第二个半区,如图6至图18所示的存储器均表示一个存储半区;

3.2)根据标志信号选择空闲存储半区,例如第一个半区的标志信号为高,则将数据写入第二个半区,数据写入完成将该半区标志信号拉高;

所述数据写入过程包含如下4种情况:

如果调制方式是QPSK,其数据写入过程如图8所示,即顺序将数据写入5个存储器中,每个地址存储一个10比特输入数据,每个存储器存储m′个输入数据;

如果调制方式是8PSK,其数据写入过程如图6所示,即顺序将数据写入3个存储器中,每个地址存储一个10比特输入数据,每个存储器存储m′个输入数据;

如果调制方式是32APSK,其数据写入过程如图8所示,即顺序将数据写入5个存储器中,每个地址存储一个10比特输入数据,每个存储器存储m′个输入数据;

如果调制方式是16APSK,其长帧数据写入过程如图7所示,即顺序将数据写入4个存储器中,每个地址存储一个10比特输入数据,每个存储器存储m′个输入数据;其短帧串行比特交织写入方式和并行比特交织写入方式是不同的,并行交织写入应该以串行交织写入为基准,使得数据在存储空间中的存储顺序是相同的,从而保证输出的交织数据是正确的,具体说明如下:

对于串行交织,其写入过程如图12所示,最右侧是输出的交织数据;

对于并行交织,其写入过程如图13所示,这些并行交织数据全部写入到交织矩阵后,在交织矩阵中所有数据的存储顺序必须完全与图12中串行交织的存储顺序相同,才能保证读出的数据顺序是相同的,从而保证并行交织结果的正确性;根据16APSK短帧由n个10比特数据组成,其中每个数据的有效比特数m为8,一帧中共有16200个有效比特,可计算得到一帧中数据个数:n=16200/m=2025,又根据已知其使用存储器个数M为4,可计算得到每个存储器中应该存储的数据个数:m′=n/M=506.25,即每个存储器RAM理论上应该存储506个完整数据以及每个数据中有效比特数与m′小数部分乘积数量的比特数,也就是2比特。根据图13,第一存储器RAM1的地址0到地址505写入完毕,已经存储了506个数据即4048个有效比特数据,此时其最后一个地址506需要再写入2个有效比特位,参照图12串行交织数据写入的顺序可知,对于第一存储器RAM1来说还需要存储第4049和第4050两个有效比特才能保证交织空间内部数据存储完全一致,但是根据图13,下一个到来的第507个输入数据有8个有效比特,第一存储器RAM1只需要存储其高位两个比特有效数据a

步骤4,将存储器中相同地址内的比特按行读出,组合得到交织数据,并将读出交织数据的存储半区标志信号拉低,表示该半区已空闲。

本步骤根据调制方式的不同,给出如下不同的具体实现实例:

实例1,对QPSK数据的读出:

由于QPSK数据不交织,故可按照与附图8相同的顺序依次读取存储半区中5个RAM所有地址的数据作为输出数据,并将标志信号拉低;在交织信号输出过程中原先保存的模式类型信号同步输出。

实例2,对8PSK交织数据的读出:

8PSK交织数据读出过程如图9所示,每个数据的无效比特用x表示,在交织过程中有效比特使用a

第一个时钟周期取第一存储器RAM1的第7比特作为输出数据的第7比特,第二存储器RAM2的第7比特作为输出数据的第6比特,第三存储器RAM3的第7比特作为输出数据的第5比特,第一存储器RAM1的第6比特作为输出数据的第2比特,第二存储器RAM2的第6比特作为输出数据的第1比特,第三存储器RAM3的第6比特作为输出数据的第0比特,其余比特是无效比特,在图9中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第一个完整的输出数据;

第二个时钟周期取第一存储器RAM1的第5比特作为输出数据的第7比特,第二存储器RAM2的第5比特作为输出数据的第6比特,第三存储器RAM3的第5比特作为输出数据的第5比特,第一存储器RAM1的第2比特作为输出数据的第2比特,第二存储器RAM2的第2比特作为输出数据的第1比特,第三存储器RAM3的第2比特作为输出数据的第0比特,其余比特是无效比特,在图9中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第二个完整的输出数据;

第三个时钟周期取第一存储器RAM1的第1比特作为输出数据的第7比特,第二存储器RAM2的第1比特作为输出数据的第6比特,第三存储器RAM3的第1比特作为输出数据的第5比特,第一存储器RAM1的第0比特作为输出数据的第2比特,第二存储器RAM2的第0比特作为输出数据的第1比特,第三存储器RAM3的第0比特作为输出数据的第0比特,其余比特是无效比特,在图9中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第三个完整的输出数据;

经过以上三个时钟周期操作,地址0的所有有效比特都组成了交织数据输出,这一个地址的读出就完成了,地址自加1继续读取下一个地址。依次循环往复,直至所有地址的数据都被输出,得到交织数据,并将标志信号拉低;在交织信号输出过程中原先保存的模式类型信号同步输出。

实例3,对16APSK交织数据的读出:

16APSK交织数据读出过程如图10所示,每个数据的无效比特用x表示,在交织过程中有效比特使用a

第一个时钟周期取第一存储器RAM1的第8比特作为输出数据的第8比特,第二存储器RAM2的第8比特作为输出数据的第7比特,第三存储器RAM3的第8比特作为输出数据的第6比特,第四存储器RAM4的第8比特作为输出数据的第5比特,第一存储器RAM1的第7比特作为输出数据的第3比特,第二存储器RAM2的第7比特作为输出数据的第2比特,第三存储器RAM3的第7比特作为输出数据的第1比特,第四存储器RAM4的第7比特作为输出数据的第0比特,其余比特是无效比特,在图10中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第一个完整的输出数据;

第二个时钟周期取第一存储器RAM1的第6比特作为输出数据的第8比特,第二存储器RAM2的第6比特作为输出数据的第7比特,第三存储器RAM3的第6比特作为输出数据的第6比特,第四存储器RAM4的第6比特作为输出数据的第5比特,第一存储器RAM1的第5比特作为输出数据的第3比特,第二存储器RAM2的第5比特作为输出数据的第2比特,第三存储器RAM3的第5比特作为输出数据的第1比特,第四存储器RAM4的第5比特作为输出数据的第0比特,其余比特是无效比特,在图10中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第二个完整的输出数据;

第三个时钟周期取第一存储器RAM1的第3比特作为输出数据的第8比特,第二存储器RAM2的第3比特作为输出数据的第7比特,第三存储器RAM3的第3比特作为输出数据的第6比特,第四存储器RAM4的第3比特作为输出数据的第5比特,第一存储器RAM1的第2比特作为输出数据的第3比特,第二存储器RAM2的第2比特作为输出数据的第2比特,第三存储器RAM3的第2比特作为输出数据的第1比特,第四存储器RAM4的第2比特作为输出数据的第0比特,其余比特是无效比特,在图10中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第三个完整的输出数据;

第四个时钟周期取第一存储器RAM1的第1比特作为输出数据的第8比特,第二存储器RAM2的第1比特作为输出数据的第7比特,第三存储器RAM3的第1比特作为输出数据的第6比特,第四存储器RAM4的第1比特作为输出数据的第5比特,第一存储器RAM1的第0比特作为输出数据的第3比特,第二存储器RAM2的第0比特作为输出数据的第2比特,第三存储器RAM3的第0比特作为输出数据的第1比特,第四存储器RAM4的第0比特作为输出数据的第0比特,其余比特是无效比特,在图10中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第四个完整的输出数据;

经过以上四个时钟周期操作,地址0的所有有效比特都组成了交织数据输出,这一个地址的读出就完成了,地址自加1继续读取下一个地址。依次循环往复执行,直至所有地址的数据都被输出,得到交织数据,并将标志信号拉低;在交织信号输出过程中原先保存的模式类型信号同步输出。

实例4,对32APSK交织数据的读出:

32APSK交织数据读出过程如图11所示,每个数据的无效比特用x表示,在交织过程中有效比特使用a

第一个时钟周期取第一存储器RAM1的第9比特作为输出数据的第9比特,第二存储器RAM2的第9比特作为输出数据的第8比特,第三存储器RAM3的第9比特作为输出数据的第7比特,第四存储器RAM4的第9比特作为输出数据的第6比特,第五存储器RAM5的第9比特作为输出数据的第5比特,第一存储器RAM1的第8比特作为输出数据的第4比特,第二存储器RAM2的第8比特作为输出数据的第3比特,第三存储器RAM3的第8比特作为输出数据的第2比特,第四存储器RAM4的第8比特作为输出数据的第1比特,第五存储器RAM5的第8比特作为输出数据的第0比特,其余比特是无效比特,在图11中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第一个完整的输出数据;

第二个时钟周期取第一存储器RAM1的第7比特作为输出数据的第9比特,第二存储器RAM2的第7比特作为输出数据的第8比特,第三存储器RAM3的第7比特作为输出数据的第7比特,第四存储器RAM4的第7比特作为输出数据的第6比特,第五存储器RAM5的第7比特作为输出数据的第5比特,第一存储器RAM1的第6比特作为输出数据的第4比特,第二存储器RAM2的第6比特作为输出数据的第3比特,第三存储器RAM3的第6比特作为输出数据的第2比特,第四存储器RAM4的第6比特作为输出数据的第1比特,第五存储器RAM5的第6比特作为输出数据的第0比特,其余比特是无效比特,在图11中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第二个完整的输出数据;

第三个时钟周期取第一存储器RAM1的第5比特作为输出数据的第9比特,第二存储器RAM2的第5比特作为输出数据的第8比特,第三存储器RAM3的第5比特作为输出数据的第7比特,第四存储器RAM4的第5比特作为输出数据的第6比特,第五存储器RAM5的第5比特作为输出数据的第5比特,第一存储器RAM1的第4比特作为输出数据的第4比特,第二存储器RAM2的第4比特作为输出数据的第3比特,第三存储器RAM3的第4比特作为输出数据的第2比特,第四存储器RAM4的第4比特作为输出数据的第1比特,第五存储器RAM5的第4比特作为输出数据的第0比特,其余比特是无效比特,在图11中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第三个完整的输出数据;

第四个时钟周期取第一存储器RAM1的第3比特作为输出数据的第9比特,第二存储器RAM2的第3比特作为输出数据的第8比特,第三存储器RAM3的第3比特作为输出数据的第7比特,第四存储器RAM4的第3比特作为输出数据的第6比特,第五存储器RAM5的第3比特作为输出数据的第5比特,第一存储器RAM1的第2比特作为输出数据的第4比特,第二存储器RAM2的第2比特作为输出数据的第3比特,第三存储器RAM3的第2比特作为输出数据的第2比特,第四存储器RAM4的第2比特作为输出数据的第1比特,第五存储器RAM5的第2比特作为输出数据的第0比特,其余比特是无效比特,在图11中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第四个完整的输出数据;

第五个时钟周期取第一存储器RAM1的第1比特作为输出数据的第9比特,第二存储器RAM2的第1比特作为输出数据的第8比特,第三存储器RAM3的第1比特作为输出数据的第7比特,第四存储器RAM4的第1比特作为输出数据的第6比特,第五存储器RAM5的第1比特作为输出数据的第5比特,第一存储器RAM1的第0比特作为输出数据的第4比特,第二存储器RAM2的第0比特作为输出数据的第3比特,第三存储器RAM3的第0比特作为输出数据的第2比特,第四存储器RAM4的第0比特作为输出数据的第1比特,第五存储器RAM5的第0比特作为输出数据的第0比特,其余比特是无效比特,在图11中使用x表示,在实际FPGA实现中使用0表示。这样就组成了第五个完整的输出数据;

经过以上五个时钟周期操作,地址0的所有有效比特都组成了交织数据输出,这一个地址的读出完成,地址自加1继续读取下一个地址,依次循环往复,直至所有地址的数据都被输出,并将标志信号拉低;在交织信号输出过程中原先保存的模式类型信号同步输出。

步骤5,根据输入的模式类型信号的数值判断解交织过程中输入数据的调制方式和帧长。

每帧输入数据有对应的模式类型信号,模式类型信号有多种数值,不同数值表示输入数据的不同帧长以及调制方式,具体对应关系如下:

模式类型信号数值为1到11的解交织输入数据,其调制方式为QPSK,帧长类型为64800有效比特长帧;

模式类型信号数值为12到17的解交织输入数据,其调制方式为8PSK,帧长类型为64800有效比特长帧;

模式类型信号数值为18到23的解交织输入数据,其调制方式为16APSK,帧长类型为64800有效比特长帧;

模式类型信号数值为24到28的解交织输入数据,其调制方式为32APSK,帧长类型为64800有效比特长帧;

模式类型信号数值为33到42的解交织输入数据,其调制方式为QPSK,帧长类型为16200有效比特短帧;

模式类型信号数值为44到48的解交织输入数据,其调制方式为8PSK,帧长类型为16200有效比特短帧;

模式类型信号数值为50到54的解交织输入数据,其调制方式为16APSK,帧长类型为16200有效比特短帧;

模式类型信号数值为56到59的解交织输入数据,其调制方式为32APSK,帧长类型为16200有效比特短帧;

根据输入的模式类型信号的数值确定解交织输入数据的调制方式和帧长,并将每一帧输入数据对应的模式类型信号保存。

步骤6,根据调制方式确定解交织过程中使用的存储器个数:

如果调制方式为QPSK,其数据结构如图2所示,则在解交织过程中使用5个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4,第五存储器RAM5;

如果调制方式为8PSK,其数据结构如图3所示,则在解交织过程中使用3个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3;

如果调制方式为16PASK,其数据结构如图4所示,则在解交织过程中使用4个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4;

如果调制方式32APSK,其数据结构如图5所示,则在解交织过程中使用5个RAM存储,即第一存储器RAM1,第二存储器RAM2,第三存储器RAM3,第四存储器RAM4,第五存储器RAM5;

步骤7,选择标志信号为低的空闲存储半区,将交织数据按行写入空闲存储半区进行解交织,写入完成后将该半区标志信号拉高表示该半区被占用。

本步骤根据调制方式的不同,给出如下不同的具体实现实例:

实例1,对QPSK数据的写入:

由于QPSK数据不解交织,故可按照与附图8相同的存储顺序将数据依次写入5个RAM,并在数据写入完成后,拉高标志信号,下一帧输入数据会乒乓存储在另一空闲存储半区。

实例2,对8PSK数据的写入:

8PSK数据解交织写入过程如附图14所示,在解交织过程中有效比特使用b

第一个时钟周期输入数据的第7比特写入第一存储器RAM1的第7比特,数据的第6比特写入第二存储器RAM2的第7比特,数据的第5比特写入第三存储器RAM3的第7比特,数据的第2比特写入第一存储器RAM1的第6比特,数据的第1比特写入第二存储器RAM2的第6比特,数据的第0比特写入第三存储器RAM3的第6比特;

第二个时钟周期输入数据的第7比特写入第一存储器RAM1的第5比特,数据的第6比特写入第二存储器RAM2的第5比特,数据的第5比特写入第三存储器RAM3的第5比特,数据的第2比特写入第一存储器RAM1的第2比特,数据的第1比特写入第二存储器RAM2的第2比特,数据的第0比特写入第三存储器RAM3的第2比特;

第三个时钟周期数据的第7比特写入第一存储器RAM1的第1比特,数据的第6比特写入第二存储器RAM2的第1比特,数据的第5比特写入第三存储器RAM3的第1比特,数据的第2比特写入第一存储器RAM1的第0比特,数据的第1比特写入第二存储器RAM2的第0比特,数据的第0比特写入第三存储器RAM3的第0比特;

经过以上三个时钟周期操作,对于3个RAM的地址0的写入就完成了,地址自加1继续写入下一个地址,依次循环往复,直至一帧所有的数据都写入存储器,并在数据写入完成后,拉高该存储半区标志信号,下一帧输入数据会乒乓存储在另一半存储区域。

实例3,对16APSK数据的写入:

16APSK长帧数据解交织写入过程如附图15所示,在解交织过程中有效比特使用b

第一个时钟周期输入数据的第8比特写入第一存储器RAM1的第8比特,数据的第7比特写入第二存储器RAM2的第8比特,数据的第6比特写入第三存储器RAM3的第8比特,数据的第5比特写入第四存储器RAM4的第8比特,数据的第3比特写入第一存储器RAM1的第7比特,数据的第2比特写入第二存储器RAM2的第7比特,数据的第1比特写入第三存储器RAM3的第7比特,数据的第0比特写入第四存储器RAM4的第7比特;

第二个时钟周期输入数据的第8比特写入第一存储器RAM1的第6比特,数据的第7比特写入第二存储器RAM2的第6比特,数据的第6比特写入第三存储器RAM3的第6比特,数据的第5比特写入第四存储器RAM4的第6比特,数据的第3比特写入第一存储器RAM1的第5比特,数据的第2比特写入第二存储器RAM2的第5比特,数据的第1比特写入第三存储器RAM3的第5比特,数据的第0比特写入第四存储器RAM4的第5比特;

第三个时钟周期输入数据的第8比特写入第一存储器RAM1的第3比特,数据的第7比特写入第二存储器RAM2的第3比特,数据的第6比特写入第三存储器RAM3的第3比特,数据的第5比特写入第四存储器RAM4的第3比特,数据的第3比特写入第一存储器RAM1的第2比特,数据的第2比特写入第二存储器RAM2的第2比特,数据的第1比特写入第三存储器RAM3的第2比特,数据的第0比特写入第四存储器RAM4的第2比特;

第四个时钟周期输入数据的第8比特写入第一存储器RAM1的第1比特,数据的第7比特写入第二存储器RAM2的第1比特,数据的第6比特写入第三存储器RAM3的第1比特,数据的第5比特写入第四存储器RAM4的第1比特,数据的第3比特写入第一存储器RAM1的第0比特,数据的第2比特写入第二存储器RAM2的第0比特,数据的第1比特写入第三存储器RAM3的第0比特,数据的第0比特写入第四存储器RAM4的第0比特;

执行完以上四个时钟的动作,地址0中的数据写入完成,地址加1,如此循环往复,直至完成所有数据写入,并在数据写入完成后,拉高该存储半区标志信号,下一帧输入数据会乒乓存储在另一半存储区域;

16APSK短帧解交织写入过程如图17所示,除最后一个地址506外与上述16APSK长帧数据写入过程完全相同,唯一的区别在于16APSK短帧在地址506中只执行第一个时钟操作,即将输入数据的第8比特写入第一存储器RAM1的第8比特,数据的第7比特写入第二存储器RAM2的第8比特,数据的第6比特写入第三存储器RAM3的第8比特,数据的第5比特写入第四存储器RAM4的第8比特,数据的第3比特写入第一存储器RAM1的第7比特,数据的第2比特写入第二存储器RAM2的第7比特,数据的第1比特写入第三存储器RAM3的第7比特,数据的第0比特写入第四存储器RAM4的第7比特。

实例4,对32APSK数据的写入:

32APSK数据解交织写入过程如附图16所示,在解交织过程中有效比特使用b

第一个时钟周期输入数据的第9比特写入第一存储器RAM1的第9比特,数据的第8比特写入第二存储器RAM2的第9比特,数据的第7比特写入第三存储器RAM3的第9比特,数据的第6比特写入第四存储器RAM4的第9比特,数据的第5比特写入第五存储器RAM5的第9比特,数据的第4比特写入第一存储器RAM1的第8比特,数据的第3比特写入第二存储器RAM2的第8比特,数据的第2比特写入第三存储器RAM3的第8比特,数据的第1比特写入第四存储器RAM4的第8比特,数据的第0比特写入第五存储器RAM5的第8比特;

第二个时钟周期输入数据的第9比特写入第一存储器RAM1的第7比特,数据的第8比特写入第二存储器RAM2的第7比特,数据的第7比特写入第三存储器RAM3的第7比特,数据的第6比特写入第四存储器RAM4的第7比特,数据的第5比特写入第五存储器RAM5的第7比特,数据的第4比特写入第一存储器RAM1的第6比特,数据的第3比特写入第二存储器RAM2的第6比特,数据的第2比特写入第三存储器RAM3的第6比特,数据的第1比特写入第四存储器RAM4的第6比特,数据的第0比特写入第五存储器RAM5的第6比特;

第三个时钟周期输入数据的第9比特写入第一存储器RAM1的第5比特,数据的第8比特写入第二存储器RAM2的第5比特,数据的第7比特写入第三存储器RAM3的第5比特,数据的第6比特写入第四存储器RAM4的第5比特,数据的第5比特写入第五存储器RAM5的第5比特,数据的第4比特写入第一存储器RAM1的第4比特,数据的第3比特写入第二存储器RAM2的第4比特,数据的第2比特写入第三存储器RAM3的第4比特,数据的第1比特写入第四存储器RAM4的第4比特,数据的第0比特写入第五存储器RAM5的第4比特;

第四个时钟周期输入数据的第9比特写入第一存储器RAM1的第3比特,数据的第8比特写入第二存储器RAM2的第3比特,数据的第7比特写入第三存储器RAM3的第3比特,数据的第6比特写入第四存储器RAM4的第3比特,数据的第5比特写入第五存储器RAM5的第3比特,数据的第4比特写入第一存储器RAM1的第2比特,数据的第3比特写入第二存储器RAM2的第2比特,数据的第2比特写入第三存储器RAM3的第2比特,数据的第1比特写入第四存储器RAM4的第2比特,数据的第0比特写入第五存储器RAM5的第2比特;

第五个时钟周期输入数据的第9比特写入第一存储器RAM1的第1比特,数据的第8比特写入第二存储器RAM2的第1比特,数据的第7比特写入第三存储器RAM3的第1比特,数据的第6比特写入第四存储器RAM4的第1比特,数据的第5比特写入第五存储器RAM5的第1比特,数据的第4比特写入第一存储器RAM1的第0比特,数据的第3比特写入第二存储器RAM2的第0比特,数据的第2比特写入第三存储器RAM3的第0比特,数据的第1比特写入第四存储器RAM4的第0比特,数据的第0比特写入第五存储器RAM5的第0比特;

执行完以上五个时钟动作则地址0中的数据写入完成,地址加1,如此循环往复,直至完成所有数据写入,并在数据写入完成后,拉高该存储半区标志信号,下一帧输入数据会乒乓存储在另一半存储区域。

步骤8,从存储半区读出解交织数据。

从第一存储器RAM1开始按列读出每一个地址的数据,依次读出所有RAM的数据后得到解交织数据,并与模式类型信号同步输出,该过程包含如下4种情况:

如果存储数据的模式类型是QPSK或32APSK,则按照图8顺序读取数据,则从第1存储器RAM1到第5存储器RAM5,每个RAM依次按列读取地址0到地址m′-1中的数据作为解交织数据。

如果存储数据的模式类型是8PSK,则按照图6顺序读取数据,则从第1存储器RAM1到第3存储器RAM3,每个RAM依次按列读取地址0到地址m′-1中的数据作为解交织数据。

如果存储数据的模式类型是16PASK长帧,则按照图7顺序读取数据,即从第一存储器RAM1到第四存储器RAM4,每个RAM依次按列读取地址0到地址m′-1中的数据作为解交织数据。

如果存储数据的模式类型是16APSK短帧,则按照图18方式读出解交织数据,即直接读出第一存储器RAM1地址0到地址505的数据,但由于地址506只有2个有效比特而一个16APSK数据包含有8个有效比特,故可按如下过程进行解交织数据的读出:

第一步,将第一存储器RAM1地址506中两个有效比特b

第二步,将第二存储器RAM2地址0中的2个低位有效比特b

第三步,将第二存储器RAM2的最后4个有效比特——即地址505中的2个低位有效比特和地址506中的2个有效比特,与第三存储器RAM3地址0中的4个高位有效比特组合成一个解交织数据;

第四步,将第三存储器RAM3中前一个地址中的4个低位有效比特与下一地址中的4个高位有效比特组合成一个解交织数据,使第三存储器RAM3剩余6个有效比特;

第五步,将第三存储器RAM3的最后6个有效比特——即地址505中的4个低位有效比特和地址506中的2个有效比特,与第四存储器RAM4地址0中的2个高位有效比特组合成一个解交织数据;

第六步,将第四存储器RAM4中前一个地址中的6个低位有效比特与下一地址中的2个高位有效比特组合成一个解交织数据,依次类推,直到第四存储器RAM4中所有数据全部组合为解交织数据并读出,即通过组合前后相邻地址中的部分有效比特得到解交织数据。

上述实例的描述并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解本发明内容和原理后,都可能在不背离本发明原理,结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号