一种流水结构的水声扩频通信带通信号捕获电路
技术领域
本发明属于水声扩频通信信号同步捕获和水声通信数字集成电路设计的技术领域,特别涉及一种流水结构的水声扩频通信带通信号捕获电路。
背景技术
水声通信是实现水下无线通信的主要方式,基于水声通信的水下无线传感器网络(UWSN)技术是当前海洋实时监测领域的研究热点之一。而水声通信所依赖的水声信道是一个窄带宽、存在大而时变的传输延迟、高噪声、严重多径衰落的时变、空变信道;同时,由于水声信道的窄带宽、大而时变的延迟,使得FDMA、TDMA等组网协议不适合水下无线传感器网络,而CDMA成为一种有效的解决策略。因此,抗干扰性强、可有效利用带宽、可抗多径衰落、可支持CDMA组网的直接序列扩频技术成为面向水声传感器网络应用的水声通信的一个有效解决方案,成为当前水声通信的研究热点之一。
支持CDMA组网的水声直接序列扩频通信系统需要解决的关键技术之一就是基于带通信号的扩频码相位同步捕获技术。目前,直接序列扩频通信信号同步捕获通常采用相关捕获法,即计算接收端采样信号与本地副本的相关值,相关值峰值的位置确定为信号同步点。主要的相关捕获法有:1)串行搜索捕获法,硬件电路实现简单,但是当接收信号同本地副本之间失配量较大时,同步捕获的时延比较大;2)并行搜索捕获法,同步捕获的时延比较小,但这种方法是用消耗硬件资源为代价换取捕获效率,硬件资源占用比较大;3)延迟相关捕获法,又称匹配滤波器法,是一种利用匹配滤波器原理实现相关检测的捕获电路设计方法,延迟相关捕获法具有捕获时延小、误捕获率低等优势,是相关捕获电路有效的设计方法。
延迟相关捕获电路的资源占用情况跟具体实现相关,目前的各种扩频系统主要基于基带信号采用延迟相关捕获电路实现扩频码相位的同步捕获,相关运算数据量小,资源占用的问题不突出;而支持CDMA组网的水声直接序列扩频通信系统需要基于带通信号采用延迟相关捕获电路实现扩频码相位的同步捕获,相关运算数据量大,电路资源占用和电路运行功耗问题突出,需要进行规划设计。
发明内容
本发明所要解决的技术问题是:设计一种电路资源占用较少、电路运行功耗较低的基于现场可编程门阵列(FPGA)实现的带通信号延迟相关捕获电路实现方案,该电路可有效实现水声直接序列扩频系统带通信号的信号捕获,同时,作为一个独立模块,可方便集成到各种水声直接序列扩频通信系统中,为水声扩频通信专用芯片的设计提供基础。
本发明提出的一种流水结构的水声扩频通信带通信号捕获电路包括数据采样存储控制逻辑、采样数据缓冲区、数据读取控制逻辑、本地副本生成逻辑、乘法器阵列、加法器阵列、累加器、比较输出逻辑等模块,运算电路采用流水线结构设计,具有采样时钟和运算时钟两个工作时钟,运算时钟是采样时钟的数倍频,通过对流水运算电路的复用,实现在单个采样时钟周期内完成采样缓冲区内所有数据跟本地副本的相关运算并做出判决。
所述的采样数据缓冲区是一个同步双口RAM阵列,由多个结构相同的双口RAM模块组成,各个双口RAM模块具有相互独立的写控制信号,具有相互统一的读控制信号、写地址、读地址、写时钟、读时钟,可实现对任意单个存储单元的写操作和对多个存储单元的同时读操作。
所述的采样存储控制逻辑负责将采样数据按顺序循环写入到采样数据缓冲区中,其存储策略是:将整个双口RAM阵列统一编址,先写双口RAM模块1的第1个单元,再写双口RAM模块2的第1个单元,依次类推,写完所有双口RAM模块的第1个单元后,再依次写各个双口RAM模块的第2个单元,依次类推,写完整个双口RAM阵列后再重复上述过程,实现对采样数据缓冲区的循环存储;采样存储控制逻辑的存储指针总是指向当前采样数据缓冲区数据最老的单元,存储完最新数据后存储指针自动更新以指向当前采样数据缓冲区数据最老的单元。
所述的数据读取控制逻辑负责将采样数据缓冲区的数据读取给乘法器阵列,其通过同时产生多个双口RAM模块的读地址和读信号,在单个运算时钟周期内同时读取多个存储单元的数据给乘法器阵列。
所述的本地副本生成逻辑负责为读出的每个缓冲区单元数据匹配相应的本地副本数据,在单个运算时钟周期内产生与数据读取控制逻辑所读出缓冲区数据一一匹配的本地副本数据给乘法器阵列。
所述的乘法器阵列是由多个乘法器组成的并行乘法运算模块,负责在单个运算周期内完成多对数据的乘法运算。
所述的加法器阵列是由多个加法器组成的并行加法运算模块,负责在多个运算周期内完成多对数据的加法运算,占用的运算周期的个数由加数的数量决定。
所述的累加器负责将加法器阵列的结果按照运算周期的节奏进行累加。
所述的比较输出逻辑负责将每个采样时钟周期内的累加器运算结果跟捕获阈值进行比较并输出判决结果。
所述的基于流水线结构设计的运算电路的流水设计为:数据读取控制逻辑和本地副本控制逻辑构成第一级流水;乘法器阵列为第二级流水;加法器阵列包括多级流水,其流水的级数由输入的加数数量决定;累加器为最后一级流水。各级流水的操作均在一个运算周期内完成。
所述的采样时钟和运算时钟是捕获电路的两个独立工作时钟,运算电路需要在运算时钟的驱动下在每个采样周期内完成采样缓冲区内所有数据跟本地副本的相关运算并做出判决,本发明通过倍频运算时钟复用流水运算电路的策略来实现,运算时钟是采样时钟的数倍频,其倍频数由采样数据缓冲区大小、流水运算电路可同时处理的数据量决定,同时运算时钟的频率还受限于采用的FPGA器件。
本发明的一种流水结构的水声扩频通信带通信号捕获电路,采用流水线结构设计,流水运算电路设计提高了运算效率,降低了运算时钟的频率,从而降低了电路的运行功耗,通过倍频运算时钟复用流水运算电路的策略来实现在每个采样周期内完成采样缓冲区内所有数据跟本地副本的相关运算并做出判决,复用流水运算电路,降低了电路资源占用,是一种电路运行功耗较低、电路资源占用较少的带通信号延迟相关捕获电路实现方案。
附图说明
图1是本发明的流水结构的水声扩频通信带通信号捕获电路结构图;
图2是本发明的流水结构的水声扩频通信带通信号捕获电路采样数据缓冲区结构图;
图3是本发明的流水结构的水声扩频通信带通信号捕获电路采样数据缓冲区存储策略示意图;
图4是本发明的流水结构的水声扩频通信带通信号捕获电路流水运算示意图;
图5是本发明的流水结构的水声扩频通信带通信号捕获电路的具体实施例;
图6是本发明的流水结构的水声扩频通信带通信号捕获电路在水声直扩通信系统应用的具体实施例。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细说明。
图1是本发明的流水结构的水声扩频通信带通信号捕获电路结构图。如图所示,捕获电路系统包括数据采样存储控制逻辑、采样数据缓冲区、数据读取控制逻辑、本地副本生成逻辑、乘法器阵列、加法器阵列、累加器、比较输出逻辑,系统运算电路采用流水线结构设计,系统具有采样时钟和运算时钟两个工作时钟,运算时钟是采样时钟的数倍频,通过对流水运算电路的复用,实现在单个采样时钟周期内完成采样缓冲区内所有数据跟本地副本的相关运算并做出判决。所述的数据采样存储控制逻辑负责将采样数据按照采样时钟的节奏循环写入采样数据缓冲区;所述的数据读取控制逻辑和本地副本生成逻辑为流水运算电路的第一级流水,数据读取控制逻辑负责将采样数据缓冲区中的数据依次读取给下级流水,单个运算时钟周期可同时读出多个缓冲区单元的数据,本地副本生成逻辑负责为读出的每个缓冲区数据匹配相应的本地副本数据;所述的乘法器阵列为流水运算电路的第二级流水,是由多个乘法器组成的并行乘法运算模块,负责在单个运算周期内完成多对数据的乘法运算;所述的加法器阵列是由多个加法器组成的并行加法运算模块,负责在多个运算周期内完成多对数据的加法运算,占用了流水运算电路的多级流水线,其占用流水线的级数由加法器阵列的加数数量决定;所述的累加器负责将加法器阵列的结果按照运算周期的节奏进行累加;所述的比较输出逻辑负责将每个采样时钟周期内的累加器运算结果跟捕获阈值进行比较并输出判决结果。
图2是本发明的流水结构的水声扩频通信带通信号捕获电路采样数据缓冲区结构图。如图所示,采样数据缓冲区是一个同步双口RAM阵列,由m块存储结构相同的同步双口RAM模块构成,每个双口RAM模块具有n个存储单元,m和n的具体数值由具体系统的参数决定,各个双口RAM模块的写使能信号、读数据输出端口相互独立,各个双口RAM模块的写数据输入端口、写地址、写时钟、读地址、读使能信号、读时钟相互统一,可实现对任意存储单元的单独写操作和对多个存储单元的同时读操作。
图3是本发明的流水结构的水声扩频通信带通信号捕获电路采样数据缓冲区存储策略示意图。如图所示,采样数据缓冲区的存储策略是通过循环存储的方式实现移位寄存器的功能:将整个双口RAM阵列统一编址,先写双口RAM模块1的第1个单元,再写双口RAM模块2的第1个单元,依次类推,写完所有双口RAM模块的第1个单元后,再依次写各个双口RAM模块的第2个单元,依次类推,写完整个双口RAM阵列后再重复上述过程,实现对采样数据缓冲区的循环存储;采样存储控制逻辑的存储指针总是指向当前采样数据缓冲区数据最老的单元,存储完最新数据后存储指针自动更新以指向当前采样数据缓冲区数据最老的单元。
图4是本发明的流水结构的水声扩频通信带通信号捕获电路流水运算示意图。如图所示,运算时钟是采样时钟的数倍频,在每个采样时钟周期内,在运算时钟的驱动下,通过复用流水运算电路,完成整个采样缓冲区内所有数据给本地副本的相关运算并做出比较判决;在每个采样周期内,第一个运算时钟周期用于存储新采样数据到采样数据缓冲区,后续的运算时钟周期进行相应的流水运算操作,流水运算操作完毕,在比较输出时刻进行比较判决输出,从整个流水运算看,新数据存储和比较输出正好占用了一个空流水操作过程;每个流水操作的各级流水依次为:采样数据读取和本地副本生成、乘运算、加运算1、加运算2、...、加运算m、累加运算,加运算的级数由乘法运算产生的加数数量决定,即由流水运算电路可同时并行处理的采样缓冲区数据数量决定。
图5是本发明的流水结构的水声扩频通信带通信号捕获电路的具体实施例。具体实施例的系统参数为:系统信号采用BPSK调制,系统扩频码为31位Gold码,扩频比为31,载波为标准余弦波,载波调制载频比为1,每个载波周期的采样点为16,采样频率为640KHz,本地副本是基带信息1经过扩频和载波调制后的信号,副本长度为一个信息位的持续时间,即副本长度N=31×16=496。如图所示,根据本发明设计的流水结构的水声扩频通信带通信号捕获电路为:采样数据缓冲区是一个具有496个存储单元的双口RAM阵列,存储单元宽度是16位,RAM阵列包括16个同步双口RAM模块,每个同步双口RAM模块具有31个宽度16的存储单元,可实现同时读取16个存储单元的数据;乘法器阵列是一个具有16个乘法器的并行乘法运算单元,可在一个时钟周期内完成32个乘数的乘法运算,乘法器的乘数为16位、输出为32位;加法器阵列是一个具有15个32位加法器的并行加法运算单元,可在四个时钟周期内完成16个32位加数的加法运算;累加器是一个32位累加器;整个流水运算包括7级流水;运算时钟是采样时钟的32倍频,为20.48MHz(在FPGA的工作时钟范围内),第一个时钟用于存储新采样数据,后31个时钟用于操作采样数据缓冲区数据,每个周期处理16个数据,31个周期处理整个采样缓冲区的496个数据。
图6是本发明的流水结构的水声扩频通信带通信号捕获电路在水声直扩通信系统应用的具体实施例。如图所示,水声扩频通信系统接收机的A/D采样的带通信号经过带通滤波后输出给捕获电路,捕获电路通过相关值运算确定出带通信号中扩频码相位和本地副本相位的同步时刻,输出同步信号给解扩电路,解扩电路根据捕获电路的同步信号完成对接收信号的解扩。