一种基于FPGA的QPSK神经网络解调器及其控制方法转让专利

申请号 : CN201910059841.2

文献号 : CN109981517B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王海沈越俞忠伟赵伟张敏杨先博

申请人 : 西安电子科技大学北京遥测技术研究所

摘要 :

本发明涉及一种基于FPGA的QPSK神经网络解调器,包括:时钟和复位模块,用于发送时钟信号和复位信号;AD采样模块,用于对待解调信号采样获取采样数据;输入缓冲模块,用于接收和缓存采样数据,并对采样数据进行时钟域转换;相位突变检测模块,用于检测时钟域转换后的采样数据中的相对相位变化,并输出相位突变信息;星座旋转和数据翻转模块,用于接收并处理相位突变信息,形成基带数据;同步输出模块,用于同步判决基带数据,生成并输出解调数据。本发明提出的解调器,参数复杂度低,结构稳定性高,能够通过有针对性的训练提高解调器对特殊环境的适应力,运用时间延迟网进行一维卷积运算,降低了计算复杂度,提高了硬件资源使用效率。

权利要求 :

1.一种基于FPGA的QPSK神经网络解调器,其特征在于,包括:时钟和复位模块,用于发送时钟信号和复位信号;

AD采样模块,用于对待解调信号采样获取采样数据;

输入缓冲模块,用于接收和缓存所述采样数据,并对所述采样数据进行时钟域转换;

相位突变检测模块,用于检测时钟域转换后的所述采样数据中的相对相位变化,并输出相位突变信息;所述相位突变检测模块包括三个在FPGA内实现的一维卷积神经网络,三个所述一维卷积神经网络用于分别检测QPSK待解调信号中π/2型、-π/2型和π型三种相对相位变化,并输出所述相位突变信息,所述相位突变信息为一列速率与所述AD采样模块的采样速率相同的离散序列,具有在相位突变发生时出现一个脉冲的形状;

星座旋转和数据翻转模块,用于对所述输出序列进行脉冲检测,根据所述脉冲检测中相位突变的种类对星座图进行旋转得到当前码元对应的星座位置,并根据所述当前码元对应的星座位置对IQ两路数据线进行翻转,得到IQ两路数据波形;

同步输出模块,用于根据码速率对所述IQ两路数据波形进行采样,生成并输出解调数据。

2.根据权利要求1所述的解调器,其特征在于,还包括:PCIe交互模块,用于将网络参数输入到FPGA。

3.根据权利要求2所述的解调器,其特征在于,还包括:参数存储模块,用于接收、存储并转发所述网络参数。

4.根据权利要求1所述的解调器,其特征在于,所述一维卷积神经网络包括:一个输入层、一个卷积层、一个隐含层和一个输出层,以及辅助的输入缓存、输出缓存和控制模块。

5.一种基于FPGA的QPSK神经网络解调器的控制方法,其特征在于,包括:发送时钟信号和复位信号;

对待解调信号采样获取采样数据;

接收和缓存所述采样数据,并对所述采样数据进行时钟域转换;

检测时钟域转换后的所述采样数据中的π/2型、-π/2型和π型三种相对相位变化,并输出相位突变信息,所述相位突变信息为一列速率与所述AD采样模块的采样速率相同的离散序列,具有在相位突变发生时出现一个脉冲的形状;

对所述输出序列进行脉冲检测,根据所述脉冲检测中相位突变的种类对星座图进行旋转得到当前码元对应的星座位置,并根据所述当前码元对应的星座位置对IQ两路数据线进行翻转,得到IQ两路数据波形;

根据码速率对所述IQ两路数据波形进行采样,生成并输出解调数据。

6.根据权利要求5所述的方法,其特征在于,在发送时钟信号和复位信号之前,还包括:将网络参数存储到参数存储模块。

7.根据权利要求5所述的方法,其特征在于,在对待解调信号采样获取采样数据之前,还包括:将网络参数输入到FPGA。

说明书 :

一种基于FPGA的QPSK神经网络解调器及其控制方法

技术领域

[0001] 本发明属于数字通信技术领域,具体涉及一种基于FPGA的QPSK神经网络解调器及其控制方法。

背景技术

[0002] 调制解调环节是数字通信系统中至关重要的过程,所谓调制,是为了便于信号的发射,将基带信号加载到较高频率的电磁波信号上的过程,而解调则是调制的反向过程,是将信号由较高频率搬移至低频的过程。通常来讲,解调器的输入信号在传输、接收的过程中会引入很多的非理想因素,包括环境噪声、多径效应、接收设备电磁干扰等。这些因素的存在对解调器的性能提出了更高的要求,可以说,解调器性能的好坏很大程度上影响着整个通信系统性能的好坏。
[0003] 卷积神经网络作为一类典型的前馈型多层神经网络,能够从大量数据中自动提取复杂特征,进行自主学习,并且对输入图像要求不高,不需要对输入图像进行繁杂的前期预处理。因为卷积神经网络自身特定的网络结构,其识别能力不易受到图像中图形畸变或简单几何变换的影响,对有一些细微变化的识别对象也有较好的识别效果。其中,一维卷积神经网络由于其一维输入的结构特性,特别适合处理离散时间序列。而对调制信号的高速AD采样数据正是这样的一组序列,如果将其输入一维卷积神经网络,可以通过对其中一些特征的检测,进而解析出调制信号中所携带的信息。这种方法与传统的解调方法有其特有的优势,首先,可以通过实验,构建稳定的网络结构,使其对输入信号的参数扰动不敏感,提高其鲁棒性。其次,由于一维卷积神经网络对信息的识别能力是通过训练得到的,在应对特殊信道环境时,可以通过设计大量的、有特点的训练数据来提升一维卷积神经网络的适应能力,使其更好的适应频偏等特殊条件。
[0004] 随着微电子制造工艺和集成电路设计的进步,卷积神经网络的硬件实现方案也越来越多样,其中现场可编程门阵列(Field Programmable Gate Array,FPGA)以其稳定可靠、资源丰富、可重复编程、功耗低且速度快的优点,成为了卷积神经网络硬件实现的最佳选择。近年来,基于FPGA的高层次综合工具的发展,极大的降低了FPGA设计的开发难度,使FPGA实现复杂算法更加方便快捷。
[0005] 在传统解调器中,一般采用相干解调和非相干解调两种方法。其中,相干解调由于其良好的抗噪声性能而得到了更广泛的应用。相干解调主要针对线性调制信号的解调,其实现方法是在接收端恢复出一个与调制载波严格同步的相干载波,进而进行混频,判决。相干载波的质量,直接关系到解调器性能的优劣。在这种方法中,存在大量的可配置参数,包括滤波参数、数控振荡器参数、鉴相参数、环路参数等等,每一个参数都可能对解调性能造成影响,这就造成解调器的鲁棒性较差,且不能针对某种特殊环境,例如频偏进行有针对性的升级改进。

发明内容

[0006] 为了解决现有技术中存在的上述问题,本发明提供了一种基于FPGA的QPSK神经网络解调器及其控制方法。本发明要解决的技术问题通过以下技术方案实现:
[0007] 本发明实施例提供了一种基于FPGA的QPSK神经网络解调器,包括:
[0008] 时钟和复位模块,用于发送时钟信号和复位信号;
[0009] AD采样模块,用于对待解调信号采样获取采样数据;
[0010] 输入缓冲模块,用于接收和缓存所述采样数据,并对所述采样数据进行时钟域转换;
[0011] 相位突变检测模块,用于检测时钟域转换后的所述采样数据中的相对相位变化,并输出相位突变信息;
[0012] 星座旋转和数据翻转模块,用于接收并处理所述相位突变信息,形成基带数据;
[0013] 同步输出模块,用于同步判决所述基带数据,生成并输出解调数据。
[0014] 在本发明的一个实施例中,还包括:PCIe交互模块,用于将网络参数输入到FPGA。
[0015] 在本发明的一个实施例中,还包括:参数存储模块,用于接收、存储并转发所述网络参数。
[0016] 在本发明的一个实施例中,所述相位突变检测模块包括:多个在FPGA内实现的一维卷积神经网络。
[0017] 在本发明的一个实施例中,所述一维卷积神经网络包括:一个输入层、一个卷积层、一个隐含层和一个输出层,以及辅助的输入缓存、输出缓存和控制模块。
[0018] 本发明另一个实施例提供了一种基于FPGA的QPSK神经网络解调器的控制方法,包括:
[0019] 发送时钟信号和复位信号;
[0020] 对待解调信号采样获取采样数据;
[0021] 接收和缓存所述采样数据,并对所述采样数据进行时钟域转换;
[0022] 检测时钟域转换后的所述采样数据中的相对相位变化,并输出相位突变信息;
[0023] 接收并处理所述相位突变信息,形成基带数据;
[0024] 同步判决所述基带数据,生成并输出解调数据。
[0025] 在本发明的一个实施例中,在发送时钟信号和复位信号之前,还包括:将网络参数存储到参数存储模块。
[0026] 在本发明的一个实施例中,在对待解调信号采样获取采样数据之前,还包括:将网络参数输入到FPGA。
[0027] 与现有技术相比,本发明的有益效果:
[0028] 1.本发明提出的解调器,将QPSK调制信号中的相对相位突变作为一种特征,利用在FPGA中实现的相位突变检测模块对其进行特征检测,分别检测QPSK调制信号中三种相对相位变化,利用在FPGA中实现的星座旋转和数据翻转模块根据相位突变的类型和时机输出解调数据波形,进而完成解调。
[0029] 2.本发明提出的解调器,参数复杂度低,结构稳定性高,能够通过有针对性的训练提高解调器对特殊环境的适应力,运用时间延迟网进行一维卷积运算,降低了计算复杂度,提高了硬件资源使用效率。

附图说明

[0030] 图1为本发明实施例提供的一种基于FPGA的QPSK神经网络解调器的结构示意图;
[0031] 图2为本发明实施例提供的一种基于FPGA的QPSK神经网络解调器中待解调信号的波形示意图;
[0032] 图3为本发明实施例提供的一种基于FPGA的QPSK神经网络解调器的工作过程示意图;
[0033] 图4为本发明实施例提供的另一种基于FPGA的QPSK神经网络解调器中一维卷积神经网络结构示意图;
[0034] 图5为本发明实施例提供的再一种基于FPGA的QPSK神经网络解调器中一维Same卷积运算示意图;
[0035] 图6为本发明实施例提供的又一种基于FPGA的QPSK神经网络解调器中时间延迟网结构示意图;
[0036] 图7为本发明实施例提供的又一种基于FPGA的QPSK神经网络解调器的控制方法的流程示意图。

具体实施方式

[0037] 下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0038] 实施例一
[0039] 请参见图1,图1为本发明实施例提供的一种基于FPGA的QPSK神经网络解调器的结构示意图。
[0040] 本发明实施例提供了一种基于FPGA的QPSK神经网络解调器,包括:
[0041] 时钟和复位模块,用于发送时钟信号和复位信号;
[0042] AD采样模块,用于对待解调信号采样获取采样数据;
[0043] 输入缓冲模块,用于接收和缓存采样数据,并对采样数据进行时钟域转换;
[0044] 相位突变检测模块,用于检测时钟域转换后的采样数据中的相对相位变化,并输出相位突变信息;
[0045] 星座旋转和数据翻转模块,用于接收并处理相位突变信息,形成基带数据;
[0046] 同步输出模块,用于同步判决基带数据,生成并输出解调数据。
[0047] 具体地,时钟和复位模块发送时钟信号和复位信号两种信号,时钟信号在系统工作时一直存在,复位信号只在发送复位信号时存在。输入缓冲模块位于解调器的最前端,用于完成输入缓冲采样数据的功能。解调器的前级是AD采样模块,在二者进行数据传输时,输入缓冲模块根据AD采样模块给出的采样同步时钟完成数据接收,而这一采样同步时钟相比于FPGA内时钟是不稳定的,不能直接为后级所用,因此,这里通过在输入缓冲模块设置一个FIFO作信号线的跨时钟域处理,输出数据宽度等于输入信号宽度,利用FPGA上的时钟作为数据的同步输出时钟。
[0048] 解调器的时钟由外部晶体振荡器经FPGA内部PLL锁相之后产生,通过全局时钟网络提供给各个模块,以保证时钟到达各个模块的延迟相同。
[0049] 时钟和复位模块还用于产生解调器运行的复位信号,复位信号包括两级,第一级是时钟复位,即解调器上电之后,PLL由复位开始工作;第二级复位是程序复位,待PLL进入锁定状态后,所有模块由复位状态进入工作状态,这样的结构可以有效地避免上电初期时钟不稳定带来的逻辑错乱。
[0050] 特别地,本发明具体实施例中,还包括:PCIe交互模块,用于将网络参数输入到FPGA。
[0051] PCIe交互模块用于完成通用计算机和FPGA之间的信息交互,主要将训练好的网络参数输入FPGA内,并将解调数据输出至计算机做进一步分析处理。
[0052] 特别地,本发明具体实施例中,还包括:参数存储模块,用于接收、存储并转发所述网络参数。
[0053] 参数存储模块主要利用FPGA内的BRAM资源,形成块状存储阵列,以存储网络参数,在FPGA复位之前由上位机将网络参数存储到参数存储模块中,在复位之后将网络参数输入到FPGA,网络参数在FPGA中只被使用不被修改。该模块在上电后通过PCIe接口读入网络参数,并在需要时提供给相位突变检测模块。
[0054] 特别地,本发明具体实施例中,相位突变检测模块包括:多个在FPGA内实现的一维卷积神经网络。
[0055] 具体地,相位突变检测模块是解调器的核心,包括:三个在FPGA内实现的一维卷积神经网络,分别检测QPSK待解调信号中π/2型、-π/2型和π型三种相对相位变化,并输出相位突变信息。
[0056] 具体地,参照图2和图3,待解调信号波形如图2所示,易知QPSK信号中的相对相位变化包括π/2型、-π/2型和π型三类。解调器的工作过程如图3所示,解调器上电之后,时钟和复位模块依次给出时钟信号和复位信号,然后对待解调信号进行AD采样,形成离散的时间序列,将该序列输入到输入缓冲模块进行数据缓冲和时钟域转换。随后,时钟域转换后的采用数据被以滑动窗口的形式输入相位突变检测模块,同时参数存储模块给出对应网络参数,星座旋转和数据翻转模块对IQ两路数据线初始化;在相位突变检测中,相位突变检测模块根据事先训练好的网络参数进行计算,其计算结果输出的规则为:假如相位突变检测模块在当前的输入中检测到了某种相位突变,那么输出1,否则输出0。相位突变检测模块的输出是一列速率与AD采样速率相同的离散序列,其形状表现为在某种相位突变发生时出现一个脉冲;星座旋转和数据翻转模块对相位突变检测模块的输出序列进行脉冲检测,根据相位突变的种类对星座图进行翻转,以上一个码元所对应的星座位置为起点,按照相位变化的类型进行旋转,当发生π/2型相位突变则顺时针旋转90°,当发生-π/2型相位突变则逆时针旋转90°,当发生π型相位突变则旋转180°,旋转所得即为当前码元对应的星座位置,根据当前码元对应的星座位置对IQ两路路数据线进行翻转,就得到了IQ两路数据波形;随后,同步输出模块,根据码速率对IQ两路数据波形进行采样,输出,即得到了最终的解调数据。
[0057] 特别地,本发明具体实施例中,一维卷积神经网络包括:一个输入层、一个卷积层、一个隐含层和一个输出层,以及辅助的输入缓存、输出缓存和控制模块。
[0058] 具体地,参照图4,相位突变检测模块中在FPGA内实现的一维卷积神经网络包括:输入层、卷积层、隐含层、输出层,以及辅助的输入缓存、输出缓存和控制模块。在输入层中,寄存器被级联形成滑动窗口,卷积层包括两个结构相同,物理上相互独立的一维卷积核、隐含层和输出层中的主要构成元素是神经元,两层的神经元模型相似,只有突触的数量不同,神经元的激活函数采用sigmoid函数。输入输出缓存用于缓存输入数据并作时钟域转换,控制模块用于控制有效信号,并协调参数存储模块适时给出相应参数。
[0059] 具体地,参照图5和图6,在FPGA内实现的一维卷积神经网络中的卷积层需要完成一维same卷积运算,same卷积是指输出向量的长度等于输入向量,假设输入向量的长度σ=M+1,卷积核的长度为M+1,根据卷积理论,若要得到长度为M+1的输出向量,需对输入向量进行长度为M的扩充,一般使用0进行扩充,扩充后的长度为2M+1的输入向量与长度为M+1的卷积核进行卷积运算,结果如图5所示。该卷积运算共包括(M+1)2次乘法运算,在这之中有一部分是乘数为0的情况,而图5线框内这部分数据的计算结果则是曾经在先前或者将会在之后的运算中出现的,通过将一些相乘结果加入到不同的延迟队列组成的时间延迟网中,就可以避免大量的重复计算。时间延迟网的结构如图6所示。图中[x1x2...xM+1]是当前输入向量,[w1w2...wM+1]是由参数存储模块输出的当前卷积核,D是延迟单元,与当前输入对应的卷积运算结果是[y1y2...yM+1]。在FPGA时钟的控制下,数据可以以很小的资源占用实现精确地节拍延迟,配合延迟线上的结果,平均每个输入向量只需进行M+1次乘法运算即可得到卷积结果。
[0060] 如图7所示,本发明在上述实施例的基础上提供了一种基于FPGA的QPSK神经网络解调器的控制方法,包括:
[0061] 发送时钟信号和复位信号;
[0062] 对待解调信号采样获取采样数据;
[0063] 接收和缓存采样数据,并对采样数据进行时钟域转换;
[0064] 检测时钟域转换后的采样数据中的相对相位变化,并输出相位突变信息;
[0065] 接收并处理相位突变信息,形成基带数据;
[0066] 同步判决基带数据,生成并输出解调数据。
[0067] 特别地,本发明具体实施例中,在发送时钟信号和复位信号之前,还包括:将网络参数存储到参数存储模块。
[0068] 特别地,本发明具体实施例中,在对待解调信号采样获取采样数据之前,还包括:将网络参数输入到FPGA。
[0069] 本发明提出的解调器,将QPSK调制信号中的相对相位突变作为一种特征,利用在FPGA中实现的相位突变检测模块对其进行特征检测,分别检测QPSK调制信号中三种相对相位变化,利用在FPGA中实现的星座旋转和数据翻转模块根据相位突变的类型和时机输出解调数据波形,进而完成解调。本发明提出的解调器,参数复杂度低,结构稳定性高,能够通过有针对性的训练提高解调器对特殊环境的适应力,运用时间延迟网进行一维卷积运算,降低了计算复杂度,提高了硬件资源使用效率。
[0070] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。