吉比特率量级并行编码与调制的无线数据传输方法与流程

文档序号:15465988发布日期:2018-09-18 19:20阅读:597来源:国知局

本发明涉及一种主要应用于无线高速通信领域,为无线高速通信系统提供一种全数字、多模式并行信道编码、多模式并行调制方式的高速发射机方法。

技术背景

随着我国天基组网、星地宽带传输、以及超光谱、SAR、激光雷达(LIDAR)等传感器技术的发展,高速数据传输速率需求将进一步提高,将对高速设备提出更高的要求和挑战。高速通信系统对信道编译码方法和调制方法提出了非常严格的要求。传统的高速卫星信道传输系统采用的是卷积码和双正交相移调制QPSK、正交调幅QAM相结合的编码调制方式。由于系统误码率的限制,该方式必需采用有较长约束长度的卷积码来实现差错控制,这就造成了译码设备复杂,且该系统信息传输速率较低,抗干扰性较差,很大程度上限制了卫星通信在高速信息传输领域的进一步发展。随着卫星通信领域中用户和业务量的不断增加,频带资源日益宝贵,对数据传输质量的要求也越来越高。因此,如何提高信息传输系统的有效性和可靠性,已成为亟待解决问题。由于无线信道环境恶劣且难以预测。无线电波传输不仅有传播路径损耗,并且受到多径效应、多普勒频移和阴影效应等不利因素的影响,极大地影响了通信质量。数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象。需要通过信道编码这一环节,对数码流进行相应的处理,使系统具有一定的纠错能力和抗干扰能力,避免码流传送中误码的发生。如何利用现有先进的调制编码技术来实现高容量、高速率通信,是非常紧迫的任务。试验结果表明,采用先进的调制和编码技术不仅能提高通信质量,而且节省功率资源。编码所带来的好处小于信号集扩展硬判决造成的损失。在发射机具有同等的发射功率的条件下信号点之间的距离相对于而言要减小许多,因两在同等的信噪比的情况下解调器进行独立的硬判决发生的差错比要高得多,且利用硬判决的译码器,并不能将解调发生的差错纠正到比未编码的系统还低。

提高卫星通信高速无线传输数据速率,需要采用更高阶的调制方式,如8PSK、16-QAM、16-APSK调制等方式,以提高每个传输符号占用的数据bit数,传统的BPSK和QPSK每个符号传输的bit数分别1bit和2bit,而8PSK和16-QAM/16-APSK每个符号可以分别传输3bit和4bit,可见,在相同的传输符号速率条件下,8PSK的数据传输bit率分别是BPSK和QPSK的3倍和1.5倍,而16-QAM/16-APSK的数据传输bit率分别是BPSK和QPSK的4倍和2倍。但采用更高阶的调制方式,为保证接收解调要求的Eb/N0值要求,必须提高发射机的发射功率,这便会导致设备体积的增大,设备功耗成倍提高等问题,采用高增益信道编码技术是解决这个问题的较好选择。国内也有一些单位提供高速数传设备,传输速率最高一般在1Gbps左右,不满足即将到来的工程需求。这些设备采用的技术方案,大都采用传统的发射机结构,通过多个串行结构拼接的方式,技术方案在结构上和资源上不够优化,导致实现复杂度大、成本过高;也有采用模拟实现方案的,由于受模拟电路设计分布参数的影响,系统性能较差,而且设备可重构能力差,设备灵活性差、支持模式少、升级换代困难。传统的RS编码与卷积编码级联的方式在高速通信中被广泛采用,而目前LDPC编码由于其高增益、易于FPGA实现,也逐渐被得到应用。



技术实现要素:

本发明的目的是针对现有技术的不足之处,提出一种系统复杂度低,资源耗费少、数据吞吐量大,能有效支持多种模式,以及各种不同速率要求的吉比特率量级并行编码与调制方法,以解决高速实现与复杂度大、并行实现与资源消耗大的矛盾。

本发明的上述目的可以通过以下措施来达到,一种吉比特率量级并行编码与调制的无线数据传输方法,具有如下技术特征:在FPGA中,用户数据按64bit位宽通过输入接口送到数据缓存器,数据处理流程中的帧长采用字节进行计数;数据流控模块根据编码后数据缓存的数据量状态,向数据缓存器发出数据流控命令,数据缓存器收到命令后每次将4帧数据发送到分帧模块,分帧模块将数据缓存器输入的32bit位宽数据,按帧分成并行的4路8bit位宽的数据帧;4路并行数据分别送到4个并行的成帧模块、分组编码模块和加扰模块,成帧模块完成帧同步头、帧计数、以及按卫星规定格式的帧头填充添加相应的CCSDS标准的AOS帧头格式数据内容,分组编码模块完成RS或LDPC编码,加扰模块完成数据加扰;4个并行加扰模块输出的数据送到合帧模块,再次被合成为32bit宽度的数据;合帧模块处理以后的32bit位宽数据顺次通过卷积编码与打孔模块、码形变换模块与差分编码模块分别完成卷积编码(2、1、7)格式的卷积编码,卷积打孔,实现NRZ-L/M/S码型变换、双相码-L/M/S多种模式的码型变换和多种格雷差分编码Gray;完成之后的编码数据送到数据缓存器缓存;数据位宽变换模块将从数据缓存器提取出编码后32bit位宽数据,根据不同调制模式变换成四种不同位宽输出至对应并行的符号映射模块,实现来分别映射出每个星座点用8bit表示的16-APSK、16-QAM 8PSK、QPSK、OQPSK、以及BPSK调制方式映射的星座图,然后将输出的8路并行的8bit位宽星座点数据送入并行符号内插模块进行并行符号内插,内插输出为I、Q两路并行48路12bit数据,并行符号时钟相位生成模块根据调制符号速率生成内插器需要的并行符号时钟相位,并通过成形滤波模块成形滤波器以后送到正交调制器,将I、Q两路并行48路12bit调制数据分别与两路并行48路12bit并行载波生成正交载波数据相乘并对应求和,完成正交调制,将得到的48路12bit并行调制信号合路成4路12bit1.6GHz速率的数据,送到工作在6.4GHz的数模转换器DAC进行高速数模DA变换。

本发明相比于现有技术具有如下有益效果。

1)系统复杂度低。本发明采用数据缓存器接收到流控命令后发送4帧数据到分帧模块;分帧模块将32bit位宽的数据输入,按帧被分成并行的4路8bit位宽的数据帧;4路并行数据分别送到4个并行的成帧、分组编码和加扰模块进行处理;4路加扰处理完成的数据送到合帧模块,再次被合成为32bit宽度;合帧模块处理以后的32bit位宽数据,通过卷积编码与打孔模块、码形变换与差分编码等处理,处理后的数据送到编码后数据缓存;数据位宽变换模块将输入的32bit位宽数据,根据不同调制模式变换成不同位宽输出,导出高效的并行流水实现结构,在FPGA中,用户符号映射模块实现16-APSK、16-QAM 8PSK、QPSK、OQPSK、以及BPSK等调制方式的星座图映射,复杂度小。这种采用并行流水算法结构。系统复杂度低。

2)资源消耗小。本发明数据位宽变换模块将从缓存器提取出的32bit位宽数据,根据不同调制模式变换成四种不同位宽输出至对应并行的符号映射模块,实现用8bit表示每个星座点分别映射出16-APSK、16-QAM 8PSK、QPSK、OQPSK、以及BPSK调制方式映星座图射,将输出的8路并行的8bit位宽星座点数据送入并行符号内插、成形滤波模块,并行符号内插、并行符号时钟相位生成模块根据调制符号速率生成内插器需要的并行符号时钟相位,内插输出为I、Q两路并行48路12bit数据,资源消耗不大,知支持目前常用的各种调制、编码、加扰、码形编码、差分编码、以及数据帧结构,输出中频频率在DAC采样率除以2.5以下可以任意设置,与传统采用多帧拼接方法和模拟实现方法相比,资源省、资源耗费少,解决了高速实现与复杂度大、并行实现与资源消耗大的矛盾。

3)数据吞吐量大。本发明将符号映射模块的输入为每个时钟使能周期输入8个符号,符合映射以后输出的变成了8路并行的8bit位宽星座点数据;并行符号时钟相位生成根据调制符号速率生成内插器需要的并行符号相位;符号内插器利用内插相位,将输入符号内插为与数模转换器DAC采样时钟相匹配的过采样倍数和采样间隔,内插输出为I、Q两路并行48路数据、并通过成形滤波器以后,送到正交调制器;正交调制器将I、Q两路并行48路数据,分别与两路并行48路正交载波相乘并对应求和,完成正交调制,得到48路并行调制信号输出;然后合路成4路1.6GHz速率的数据,送到工作在6.4GHz的高速DA进行数模变换数据处理,48路并行符号内插方法,这种将32bit位宽分帧到4个并行8bit位宽处理,再合帧到32bit位宽,再32bit位宽处理保证数据流32bit宽度的并行度,达到bit流吞吐量4.8Gbps的简化实现技术,能够支持任意过采样倍数的符号内插,内插并行度能够根据所采用的DA采样率,很容易进行减小和增大,相比于传统实现方案吞吐量大。比之传统采用串行编码、而后再多块数据拼接的方法,在设计复杂度、资源消耗和数据吞吐率等方面都具有较大的优势。

4)能有效支持多种模式。本发明为实现分组编码和连续编码间必须要的数据位宽转换,从整体设计出发,采用结构合理的分帧、合帧处理,实现8位宽度和32位宽度的并行度的转换,支持功能强、支持调制和编码模式众多,设备灵活(可设置、可重构),具有通用性。此方法可以扩展为多种不同的接口宽度模式,支持16APSK、16QAM、8PSK、QPSK、OQPSK、UQPSK、BPSK等多种调制方式,支持多种模式的RS、LDPC编码,支持长度为8~32位多项式和初相任意可设的加扰,支持(7,1/2)卷积编码,具有2/3,3/4,5/6,7/8等多种打孔方式,以及NRZ-L/M/S、Biφ-L/M/S、8种Gray差分编码等功能。

满足各种不同速率要求。本发明数据处理流程中的帧长采用字节进行计数,数据按64bit位宽通过输入接口送到数据缓存器,数据流控模块根据编码后数据缓存内数据量的状态,发出对于16-APSK和16-QAM每个符号是4bit,需要8并行,则位宽变换后为32bit位宽输出,对于8PSK每个符号3bit,需要8并行,则位宽变换后为24bit位宽输出,对于QPSK/OQPSK每个符号为2bit,需要8并行,则位宽变换后为16bit,对于BPSK每个符号1bit,需要8并行的数据流控命令;则位宽变换后为8bit位宽;实现了高速并行流水的卷积编码及其打孔、码形变换、差分编码方法,并行度达32位,中频载波频率、完全参数化的调制速率等,通过控制相应参数,中频载波频率在DA采样率除以2.5倍以下的频率值可任意设定,调制比特速率在4.8Gbps以下按比特步进连续可变,调制速率在采用150MHz的FPGA时钟的情况下,理论值可以达到4.8Gbps,采用更高的FPGA时钟,将得到更高的调制速率,如200MHz是6.4Gbps)。采用中频载波频率有600MHz、720MHz、1.2GHz、1.5GHz等,而调制比特率应用范围为5Mbps~2Gbps,这些编码实现方法可以很容易的扩展到更高的并行位数,如40位、48位等。

5)本发明采用8PSK、16-QAM、16-APSK等高阶调制方式和LDPC信道编码方式,使无线传输系统得以实现。另外差分编码和星座映射在本模块同样根据调制方式不同选用不同位宽的数据来进行处理。由于都是采用相干检测的方式进行,解调在解调端载波恢复存在着个相位稳定点,即提取的相干载波可能与接收信号载波有种相位关系称作重相位模糊度。部分差分编码能消除重相位模糊度对解调的影响。而部分差分编码相对于全差分编码由于减少了差分编码的bit数。因而减少了误码扩散具有较好的误码性能。由于同样的符号误码率下采用格雷编码比自然码的比特误码率小,所以多幅度电平的电平逻辑采用格雷编码映射。

本发明适用于星间高速通信、星-地高速通信、地-空高速通信与数据链的发射机

附图说明

为了更清楚地理解本发明,现将通过本发明实施例,同时参照附图,来描述本发明,其中:图1是本发明吉比特率量级并行编码与调制的无线数据传输处理框图。

图2是图1中并行分帧与合帧处理的原理示意图。

图3是图1中32bit并行卷积编码原理示意图。

图4是图1中32bit并行NRZ-M码码形变换原理示意图。

图5是图1中并行符号内插器结构图。

具体实施方式

参阅图1。在FPGA中,用户数据按64bit位宽通过输入接口送到数据缓存器,数据处理流程中的帧长采用字节进行计数;数据流控模块根据编码后数据缓存的数据量状态,向数据缓存器发出数据流控命令,数据缓存器收到命令后每次将4帧数据发送到分帧模块,分帧模块将数据缓存器输入的32bit位宽数据,按帧分成并行的4路8bit位宽的数据帧;4路并行数据分别送到4个并行的成帧模块、分组编码模块和加扰模块进行处理,成帧模块完成帧同步头、帧计数、以及按卫星规定格式的帧头填充添加相应的数据内容(如CCSDS标准的AOS帧头格式),分组编码模块完成RS或LDPC编码,加扰模块完成数据加扰;4个并行加扰模块输出的数据送到合帧模块,再次被合成为32bit宽度的数据;合帧模块处理以后的32bit位宽数据顺次通过卷积编码与打孔模块、码形变换模块与差分编码模块分别完成卷积编码(2、1、7)格式的卷积编码,卷积打孔,实现NRZ-L/M/S码型变换、双相码-L/M/S多种模式的码型变换和多种格雷差分编码Gray;完成之后的编码数据送到数据缓存器缓存;数据位宽变换模块从数据缓存器提取出编码后32bit位宽数据,根据不同调制模式变换成四种不同位宽输出至对应并行的符号映射模块,实现来分别映射出每个符号星座点用8bit表示的16-APSK、16-QAM 8PSK、QPSK、OQPSK、以及BPSK调制方式映射的星座图,然后将输出的8路并行的8bit位宽星座点数据送入并行符号内插模块进行并行符号内插,内插输出为I、Q两路并行48路12bit数据,并行符号时钟相位生成模块根据调制符号速率生成内插器需要的并行符号时钟相位,并通过成形滤波模块成形滤波器以后送到正交调制器,将I、Q两路并行48路12bit调制数据分别与两路并行48路12bit并行载波生成正交载波数据相乘并对应求和,完成正交调制,将得到的48路12bit并行调制信号合路成4路12bit 1.6GHz速率的数据,送到工作在6.4GHz的数模转换器DAC进行高速数模DA变换。

在FPGA中,数据处理流程中的帧长采用字节进行计数,数据缓存器接收到流控命令后发送4帧数据到分帧模块;分帧模块将32bit位宽的数据输入,按帧被分成并行的4路8bit位宽的数据帧;4路并行数据分别送到4个并行的成帧模块、分组编码模块和加扰模块进行处理;4路加扰处理完成的数据送到合帧模块,再次被合成为32bit宽度;合帧模块处理以后的32bit位宽数据,通过卷积编码与打孔模块、码形变换与差分编码等处理,处理后的数据送到编码后数据缓存;数据位宽变换模块将输入的32bit位宽数据,根据不同调制模式变换成对于16-APSK和16-QAM每个符号是4bit,需要8并行,则位宽变换后为32bit位宽输出,对于8PSK每个符号3bit,需要8并行,则位宽变换后为24bit位宽输出,对于QPSK/OQPSK每个符号为2bit,需要8并行,则位宽变换后为16bit,对于BPSK每个符号1bit,需要8并行的不同位宽输出,位宽变换后为8bit位宽。符号映射模块包含采用8路并行映射结构的16-APSK/16-QAM符号映射模块、8PSK符号映射模块、QPSK/OQPSK和BPSK符号映射模块,它们将输入的比特bit流数据映射成8路8bit调制符号并行的符号星座点,符号映射模块每个符号星座点用8bit表示的16-APSK、16-QAM 8PSK、QPSK、OQPSK、以及BPSK调制方式的映射星座图,输入的8个符号的每个时钟使能周期,符合映射以后变成输出8路并行的8bit位宽星座点数据;并行符号时钟相位生成根据调制符号速率生成并行符号内插器需要的并行符号相位。各种调制方式的符号映射模块分别实现16-APSK、16-QAM、8PSK、QPSK、OQPSK、以及BPSK等调制方式的星座点映射,它们根据输入的bit数据,选取相应bit长度形成符号的符号星座点序号,再利用这个星座点序号从由相应调制方式所给定的多个星座点中得到序号对应的符号星座点,符号星座点表示按复数表示,其坐标便是符号映射的输出结果,对于8PSK调制的符号映射实施方案为:将输入bit流数据,按每3bit分解成3bit的符号流,3bit二进制对应的编号为0~7,标准的8PSK在二维坐标上有8个星座点,利用3bit符号对应的编号,在二维坐标中去寻找其对应其编号对应的星座点,对应星座点的坐标值便是符号映射的输出结果,对于16-APSK、16-QAM的符号bit长度为4bit(对应星座图有0~15号星座点),对于QPSK、OQPSK的符号长度为2bit(对应星座图有0~4号星座点),对于BPSK的符号长度为1bit(对应星座图有0~1号星座点);并行符号内插器与并行符号时钟相位生成模块相连,并行符号时钟相位生成模块根据调制符号速率生成并行符号内插器需要的并行符号相位;并行符号内插器利用内插相位,将输入符号内插为与数模转换器DAC采样时钟相匹配的过采样倍数和采样间隔,内插输出I、Q两路并行48路数据,并通过成形滤波器滤波送到正交调制器,将I、Q两路并行为48路的数据分别与两路并行48路正交载波相乘并对应求和,完成正交调制,得到48路并行调制信号输出;然后合路成4路1.6GHz速率的数据,送到工作在6.4GHz的高速数模转换器DAC进行数模变换。

FPGA采用全数字并行流水结构实现编码和调制算法,并行实现结构和算法根据传统串行算法进行公式推导。本实施例采用高效的分帧合帧结构将8bit位宽分组编码模块和32bit位宽的连续编码模块串接在数据处理流程中;各级数据处理的不同位宽变化通过双口RAM实现;并行符号内插和并行载波生成采用参数化形式设计,符号速率和载波频率可以由用户任意设置。各级数据处理的并行度分别设计为:分组编码采用数据位宽为8bit的4路并行,连续编码采用位宽为32位的并行编码,符号内插采用数据位宽8bit的48路并行,载波生成与正交调制都采用数据位宽12位的48路并行。

分帧模块提取数据缓存器输入的32bit位宽转换成8bit位宽,通过成帧、分组编码、加扰并行处理链路,按帧分发给4路8bit成帧模块、分组编码模块、加扰模块;并行处理完成以后4路8bit数据。

分组码编码模块主要包括交织深度1~16倍,支持CCSDS标准的RS(255,223)和RS(255,239)等模式RS码RS、支持CCSDS标准所有模式,采用的编码器类型、编码模式、编码器参数等由用户设置的LDPC两种编码器。

每个加扰模块采用8bit位宽的PN码对并行8bit位宽的输入数据进行加扰。四路并行分组编码模块的输出数据,被分别送到四路并行的加扰模块,每路加扰模块按8bit位宽进行并行加扰,即每个加扰模块的输入和输出都是8bit位宽的数据流,每个加扰模块的实施方案相同,具体是:加扰模块根据用户设置的加扰长度、生成多项式、初相等控制参数,首先采用串行1bit伪码发生器生成伪随机PN码,再将生成的PN码以每8bit组成一个数据存储到FPGA的RAM中,当待加扰输入数据到达以时,RAM读写控制器从存储PN码的RAM中读出8bit并行的PN码,将读出的8bit PN码和待加扰的8bit输入数据进行异或即完成加扰处理;四路并行加扰模块,同时输出四路并行8bit的加扰输出,这四路并行数据,由合帧模块再次被合帧成为32bit位宽数据。

合帧模块每隔一个时钟周期将32bit数据输入卷积编码与打孔模块,卷积编码与打孔模块采用32路并行卷积编码,将输入的数据采用64位移位寄存器来保留最近输入的64位数据的数据存储,根据64位移位寄存的输入数据,在一个时钟周期内并行完成32bit的卷积编码输出,通过32bit数据编码接口,分两个时钟周期,经G1、G2两条支路将卷积编码输出给后面处理单元。编码器并行32bit编码输出所需要的数据输入,可以在具有固定位置的64位移位寄存器中得到。卷积编码与打孔模块设计中可以根据传统卷积编码公式推导出并行32bit并行编码的公式和结构推导出的编码公式并行。

码形变换模块实现NRZ-L/M/S,Biφ-L/M/S共6种格式的码型变换,差分编码模块根据传统串行编码公式推导出的32bit并行编码公式对8种格雷差分码进行差分编码变换。码形变换模块和差分编码模块的算法均采用32bit并行流水实现结构:在每个时钟周期内,码形变换模块和差分编码模块根据卷积编码与打孔模块输入的并行32bit数据,依次并行的流过相应的流水处理环节,每个流水环节完成32bit并行的相应的反馈和前馈编码操作,数据流出流水环节以后即完成内部编码,内部编码完成的数据再利用上一时钟周期数据反馈,进行外编码生成最终的32位数据输出,此编码流水处理过程提供了32bit的吞吐率。各种不通过的模式的编码公式都不同,因此根据传统串行编码公式推导出的32bit并行编码公式和实现结构也不相同,相应的并行流水处理编码结构也不相同。

符号映射模块包含均采用8路并行映射结构的16-APSK/16-QAM符号映射模块、8PSK符号映射模块、QPSK/OQPSK和BPSK符号映射模块,将输入的bit流数据,映射成8路8bit调制符号并行的符号星座点;数据位宽变换模块将输出的数据送到对应的符号映射模块中,符号映射模块根据数据位宽变换模块输入的符号bit数据,以及不同的调制模式,采用查找表LUT方法,查表得到位宽为12bit的映射输出复数星座点符号数据:I+i*Q,完成符号映射,其中,i是虚数单位符号,I、Q是实数且分别表示复数符号的实部和虚部。

并行符号内插模块根据并行符号时钟相位生成模块送来的48路内插相位,采用48路并行方法,将输入的8路并行符号内插成与DAC采样时钟相同的并行48路输出。为保证上一周期最后支路的相位累加字与下一周的第一支路的相位也相差相同的累加字,并行符号时钟相位生成模块按并行的48路顺序保持相同的累加相位字差,在连续的两个时钟周期,在相位字的累加值不同支路和时钟切换以后的首尾连续增加一个既定的累加值,这个累加值是由用户设置的符号速率决定的。

并行载波生成模块生成并行48路的并行载波,并行载波的采样速率与DAC采样速率相同,并行载波包括正弦sin和余弦cos两个正交载波;在一个FPGA处理时钟周期,并行载波生成模块对48-路并行载波采样点相位进行并行计算和并行更新,通过并行查找表访问与输出,得到相位连续的并行48路连续载波的正弦sin和余弦cos数字采样点。

并行的正交调制模块将并行符号内插模块输入的I路数据与并行载波生成模块生成的余弦cos载波相乘,将Q路数据与正弦sin相乘,再将乘法器的结果相加,得到48路正交调制信号输出,然后合路成4路1.6GHz速率的数据送到工作在6.4GHz的高速DA进行数模变换。

参阅图2。根据数据吞吐率计算,整个系统数据处理流程中数据位宽要求是32bit,而分组编码器RS与LDPC核是8bit位宽实现的,8bit位宽由FPGA的IPcore决定无法修改,因此需要将输入32bit位宽数据转换为8bit位宽,同时还要求不能损失吞吐率。本实施例采用先分帧、再合帧的方法实现位宽匹配,其方法是,分帧模块将输入的32bit位宽数据分成并行四路8bit位宽数据,分帧模块输出的并行四路8bit位宽数据经过成帧模块、分组编码模块和加扰模块顺次处理以后,输出送到合帧模块,再由合帧模块将四路并行8bit位宽数据合成32bit位宽数据。

在分帧过程中,分帧模块将输入的32bit位宽数据,分解成并行四路8bit位宽数据输出,具体实施为:分帧模块数据输入到达以后,采用四个32bit输入8bit输出的32-8存储器同时存储相同输入的数据,数据帧长按字节数计数,每次分帧模块被输入4帧数据,输入的数据被四个32-8存储器同时存储,待输入数据与存储完成以后,四个32-8存储器同时、并行输出第1帧数据、第2帧数据、第3帧数据和第4帧数据,但四个32-8存储器读出数据的地址,分别偏移一个帧长的长度;四个32-8存储器同时输出的数据就是分帧后的数据,就是分帧模块的输出。由于4个存储器数据读出的地址分别偏移一个帧长的长度,因此读出的数据就是不同的帧数据。这样解决了因帧长不是4的倍数(如4k+1,4k+2,4k+3等),导致的分帧错乱问题,因为帧长不是4的倍数时,输入帧的最后一个字节,前一部分是上一帧的字节,而后一部分又是下一个帧的字节,要将其分开需要设计复杂的逻辑状态机电路,而本发明的方法简单的解决此难题。

为解决复杂的合帧问题,本实施例合帧模块采用两级存储缓存以及端口交换状态机实现结构。在合帧过程中,分帧模块在4帧数据并行处理完成后将8bit输入送到4个并行的多帧缓存器,分别缓存连续的4帧数据,其中,多帧缓存A将存储数据的帧编号为第1、5、9、13…帧,多帧缓存B将存储数据的帧编号为第2、6、10、14…帧,多帧缓存C将存储数据的帧编号为第3、7、11、15…帧,多帧缓存D将存储数据的帧编号为第4、8、12、16…帧。为了将连续的4帧数据写到一个后面的存储中,第二个4帧数据写入另一个存储器中,以此每4个一个循环,读入到后面的8输入32输出存储器。4个多帧缓存器通过端口交换状态机控制数据读入,分别从多帧缓存A、多帧缓存B、多帧缓存C和多帧缓存D的4个输入端口读入8bit数据位宽,从A、B、C、D4个写入口写入到后面的8输入32的第1个4帧存储器I、第2个4帧存储器II、第3个4帧存储器III、第4个4帧存储器IV中。写入时,端口交换状态机可以同时进行写入或端口交换状态机控制写入后面的4个8输入32输出存储器。端口交换状态机控制写入时,每次从多帧缓存A写入口带头写入第一个4帧存储器I,多帧缓存A写完第一个4帧存储器I转入写第2个4帧存储器II,再转入第3个4帧存储器III、第4个4帧存储器IV,多帧缓存B跟随多帧缓存A的写入步伐,当多帧缓存A写完第一个4帧存储器I,多帧缓存B开始写入第一个4帧存储器I,当多帧缓存A写完第2个4帧存储器II,多帧缓存B开始写第2个4帧存储器II,依次跟随多帧缓存A的后继写入,同理,写多帧缓存C跟随多帧缓存口B的写入步伐,多帧缓存D跟随多帧缓存C写入步伐,如此形成一个并行流水结构。

参阅图3。整个卷积编码模块的数据输出吞吐量为每个时钟周期32bit,本实施例采用64bit长的并行移位寄存器。32bit并行卷积编码模块在进行32bit并行卷积编码时,合帧模块每2个时钟周期输入卷积编码器模块的一个32bit宽的数据送入移位寄存器,卷积编码器模块根据合帧模块每隔一个周期输入32比特数据,将输入64bit移位寄存器的每个使能时钟周期向右移32bit,构成最新的寄存数据,将最新时钟周期32bit数据放在64bit移位寄存器的最左边,上一时钟周期32bit数据最老数据放在64bit移位寄存器的右边,因此每次移位出寄存器的数据是最老的无需再使用的数据。当卷积编码器模块输入64bit移位寄存器的数据和移位后的下一时钟周期时,移位寄存器、并行卷积编码、以及数据交织器在输入数据使能信号的作用下进行脉动的工作,对G1支路、支路G2每个支路进行一次编码长度为32bit的同时编码,并行移位寄存器将译码算法并行展开,同时获得G1支路和G2支路并行32bit的编码输出,输出每周期连续输出编码码字,然后进行交织处理,先G1支路取1bit,再从G2支路取1bit,使相邻的2bit数据走在一起,依次完成两个32比特数据组织,交织得到两个32bit输出码字,通过G1、G2支路的交织输出,G1支路、支路G2交织以后的32bit编码通过第一周期、第二周期输出等到连续并行输出,经输出数据逻辑每周期输出32bit数据,两个时钟周期先后由数据输出模块输出给后续出模块。传统的串行卷积(2,1,7)编码公式生成多项式如下:

G1=x6+x5+x4+x3+1;

G2=x6+x4+x3+x+1;

式中:x为G1、G2支路参与编码的bit延迟算子,其次方表示延迟阶数。

并行卷积编码结构的是由如上传统串行编码公式推导得出的,圆圈中的加法表示模2加(即异或计算),加号圆圈上面的数字表示从64位移位寄存器中得到要参与异或运算的多个bit数据。G1、G2支路中的32路并行编码输出公式为:

I0=R6+R5+R4+R3+R0; Q0=R6+R4+R3+R1+R0

I1=R7+R6+R5+R4+R1; Q1=R7+R5+R4+R2+R1

I2=R8+R7+R6+R5+R2; Q2=R8+R6+R5+R3+R2

……………………… ………………………

I31=R37+R36+R35+R34+R31; Q31=R37+R35+R34+R32+R31,

以上公式的加法都是模2加(mod2,也就是异或运算),得到了G1支路的编码值32bit(I0~I31)以及G2支路的编码值(Q0~Q31);

式中,R表示如图中的64位移位寄存器,其下标0-63表示寄存器的数据bit的编号,图中给出了64位移位寄存器中bit编号的顺序和位置关系;I0~I31、Q0~0~I3131分别表示G1支路并行32bit编码输出结果,G2支路并行32bit编码输出结果。

参阅图4。为满足32路并行度要求和系统指标要求的NRZ-L/M/S、以及Biφ-L/M/S、以及8种Gray差分编码等共14种编码方式,由于每种编码格式的阵列流水结构有所不同,包括了6种码形变换,8种Gray差分编码。图4只给出NRZ-M的编码结构,NRZ-M码并行码形变换模块每个时钟周期数据输入32bit的数据,通过其并行流水编码结构来完成对输入数据编码,并在每个时钟周期内输出32bit的编码输出数据。并行流水结构编码结构由NRZ-M码的编码串行公式:out(k)=out(k-1)+in(k)推导的,也就是第k时钟周期的输出out(k)为k-1周期的输出out(k-1)与k周期输入in(k)的mod2加的结果;按串行上述编码公式,推导出的32bit并行数据输入、32bit并行数据输出的NRZ-M并行编码公式如下:

y31=y0t+x31

y30=y0t+x31+x30

y29=y0t+x31+x30+x29

……………………

y0=y0t+x31+x30+…+x0

其中,x0~x31是32bit并行编码每个时钟周期的输入;y0~y31是32bit并行编码每个时钟周期的输出;y0t是上一时钟周期y0的输出值,也即编码反馈输出值,加法运算是模2加(mod2)

NRZ-S码的编码的串行公式为:out(k)=not(out(k-1))+in(k);也就是第k时钟周期的输出为k-1周期的输出的非与k周期输入的mod2加的结果,32路并行数据输入,加法运算是mod2加,not表示取非,输出的编码结果分别为:

y31=not(y0t)+x31

y30=y0t+x31+x30

y29=not(y0t)+x31+x30+x29

y28=y0t+x31+x30+x29+x28

……………………

y1=not(y0t)+x31+x30+…+x1

y0=y0t+x31+x30+………+x0

由上述公式得到的编码结构与M码略有不同,需要将基数编号的反馈值取非;上述公式推导中利用了如下关系:

not(a1+a2+a3+…+an)=not(a1)+a2+a3+…+an

=a1+not(a2)+a3+…+an

=a1+a2+a3+…+not(an);

式中,加法运算是mod2加,not表示取非,a1-an是取值为0或1的布尔代数变量;

采用相同的方法可以推导Biφ-L/M/S和8种Gray编码的并行流水编码结构,Gray编码同NRZ-L/M/S编码一样每周期输入32bit数据,编码结果也是输出32bit,而Biφ-L/M/S的3种编码方式,每进入32bit输入,编码输出为64bit,因此,输入数据需要2周期输入一次数据,输出连续输出(这一点与卷积编码相似),而且其并行公式推导和实现结构也稍复杂一些。

参阅图5。并行符号内插器模块实现低速星座点采样速率到高速DAC采样率之间的采样速率匹配,高速DAC采样率是固定的6.4GHz或8GHz,而调制符号速率星座点的采样率可以在10Msps到800Msps(800M个符号每秒)之间连续变化,也就是并行符号内插器模块的输入端符号速率是变化的,而输出的采样率是固定的,并行符号内插器模块的功能就是将不同速率的符号星座点采样率,在采样点之间进行插值,使其统一到DAC的固定采样率上。并行符号内插器模块主要由数据管理模块、数据读取控制模块、相位控制模块、以及输出数据映射模块组成。数据管理模块将数据存储在一个256bit移位寄存器中,符号映射后的取数使能、8*8bit数据缓存,提取的数据比特顺序编号为0~7第1个8bit符号、第2个8~15符号,….,第32个248~255符号数据,这个编号排列,有利于输出数据映射模块选择需要的数据输出符号。数据管理模块根据输入的编号顺序依次放在256bit的移位寄存器,并将数据排成输出映射模块需要的数据结构形式,每次输入数据以后,填充在移位寄存器中的最末有效位位置上。数据读写控制模块根据数据管理模块输出数据映射编号的最大值,计算数据管理模块中的剩余空闲空间,当数据管理模块256bit移位寄存器中有64bit空闲空间时,及时发出控制命令,每次填充8个字节,控制数据管理模块的256bit移位寄存器共32个字节编号字节数的填充,输出并行度位48路。每当数据管理模块的数据映射编号从7变到8、从15变到16、从23变到24、从31变到0时,表明前面的8个字节数据已经读出。相位控制模块根据用户设置的符号速率参数、AD采样速率、48路并行度的要求,计算01、02、03…48并行的输出数据映射模块每个模块并行相位累加值,保证48路得到连续的与串行结构相同的相位变化关系。48路并行输出数据映射模块利用各自相位累加值的最高4位判断数据的输出序号,并行输出48路内插数据。由于相位的累加作用,最高4位根据不同符号速率,变化时间不同。当符号速率较低时,48路并行输出数据映射模块中的48个映射器的编号可能都是相同的(如:3,3,3,…3,3,3),因此各输出都相同,当相位累加的作用导致进位,48路中的某个位置以后编号会增加1,形成如3,3,3,…3,4,4,4,因此前面取数据编号3输出、后面取数据4输出,当数据速率较高时,48路的相位累加值最高4位的变化情况可能多个地方变化,形成如3,...,3,3,4,…,4,5,…,5,6,…,6,这里输出的分别是3、4、5和6号字节的数据,上面数字相同的并行支路即为同一个符号内插出来的过采样点。

符号内插器采用数据位宽8bit的48路并行,并行符号时钟相位生成与正交调制都采用数据位宽12bit位的48路并行载波。符号内插器按ph_step为步进连续累加各采样点的内插相位值,当相位字32bit寄存器为全1溢出变成全0时,完成了一个符号周期内插并进入下一个符号周期的内插相位累加与内插操作。相位累加字累加成最大值32位全1时回复到全0,即为一个符号周期完成,相位累加值就是在设定相位累加步长下,循环并行的累加,形成各支路的相位。各支路的相位累加分别为每个时钟周期符号内插模块的48路并行相位累加值Phase01~Phase48:

Phase01=Ph_int+1*ph_step;

Phase02=Ph_int+2*ph_step;

Phase03=Ph_int+3*ph_step;

Phase04=Ph_int+4*ph_step;

……………………………..

Phase48=Ph_int+48*ph_step;

式中,Ph_int是上一个时钟周期的并行相位累加值Phase48,ph_step是根据符号速率由DSP计算出的相邻两个采样点的相位变化值。

可见各采样点的内插相位值是按ph_step为步进连续累加的,当相位字32bit寄存器为全1溢出变成全0时,完成了一个符号周期内插并进入下一个符号周期的内插相位累加与内插操作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1