扩频通信系统CCSK信息调制解调算法设计
扫描二维码
随时随地手机看文章
摘要:采用直序扩频的通信系统具有较高的抗干扰能力,但通信信息速率会大幅下降。因此,在通信速率和抗干扰之间找到一个平衡点,是扩频通信系统的一个重要技术问题。文中提出了一种CCSK编码解码枝术,该技术可以有效地提高扩频通信系统的通信速率。
关键词:扩频通信;数字相关;BPSK;循环移位键控
0 引言
在直序扩频系统中,Nbit扩频码只能代表1bit信息,例如发射方发送32 bit的扩频码,接收方经过相关解扩处理后得到的有效信息为1 bit,信息速率为码速率的1/32。而通过循环移位键控(CCSK)信息编码,就可以用Nbit扩频码代表K位信息,即(N,K)编码。在采用32 bit扩频码的系统中,通过CCSK编码将原始扩频码循环移位产生32种不同的扩频码,发射方通过发送原始扩频码的32种不同循环码可以代表5 bit有效数据,这样的编码方式可以使32bit码流携带5bit信息,因此,在码速率不变的前提下,可比采用直序扩频数据调制的信息速率提高5倍,同样,接收方通过CCSK的相关处理,可以解调出5 bit信息。
1 CCSK信息调制算法设计
所谓CCSK信息编码,就是通过软件算法或硬件电路计算将预发射数据向对应扩频码转换。CCSK编码可以通过数据映射表产生,也可以通过逻辑电路实时计算产生。
通过CCSK数据映射表实现CCSK编码,其信息转换速率较高、处理操作较少,但需要的硬件资源较多,尤其是对于需要快速切换扩频码的抗干扰系统,其较大的扩频码集合,需要制作大量对应的CCSK码表,因此,映射表法比较适合通过处理器(DSP)软件计算产生。而实时计算实现CCSK编码,其资源消耗较少,但处理操作较多。为提高其转换速率,降低转换时间,应通过FPGA设计相应逻辑电路来实现。下面以32 bit扩频码通信为例,详细介绍实现两种CCSK编码的设计方法。
1.1 CCSK数据映射表
通过表映射实现CCSK编码时,首先要对32 bit扩频码进行数据预处理,以产生32 bit原扩频码的32个循环移位码。假定一个32 bit扩频序列{a0,a1,a2,…,a29,a30,a31}通过右循环移位处理可以得到的32种不同位排列次序的数据如下:
{a0,a1,a2,…,a29,a30,a31}循环右移0次带表数据0
{a31,a0,a1,a2,…,a29,a30} 循环右移1次带表数据1
{a30,a31,a0,a1,a2,…,a29}循环右移2次带表数据2
……
{a1,a2,…,a29,a31,a0}循环右移31次带表数据31
那么,实现循环移位编码的方式如下:
假定原信息数据为N(0≤N≤31),原扩频码为m(32 bitm序列),则有32 bit映射扩频码M为:
M=(m>>n)&0xffffffff+(m<<(32-n))&0xffffffff
即当原信息数据为N时,将原m序列右移N位得到的32bit数据与m序列右移32-N位得到的32bit数据相加,就可得到32bit映射扩频码M。将0~31的5 bit数据代入上式,就可以得到32种M序列构建的CCSK扩频码映射表。对于具有L(L≥0)个可选扩频码集合的系统,可通过上式计算产生L个由32个元素组成的码表。当系统对原数据进行编码时,即可通过扩频码号L和原数据N,在码表中提取元素号为32×L+N的映射扩频码。
在一个扩频码集合较大的系统中,计算产生的大量码表需要占用较多数据存储空间。对FPGA而言,存储码表所占的存储器资源比例较大但对某些DSP则相对较小,因此,用码表映射方法实现CCSK数据编码的方法比较适合DSP软件处理。
1.2 CCSK逻辑编码电路的实时计算
CCSK逻辑编码电路实时计算同码表映射具有类似的算法,不同的是通过逻辑电路实时计算不必存储大量的预处理数据,从而减少了硬件资源的消耗。其电路由两级32 bit存储器和多路选择器组成,其电路原理框图如图1所示。该电路将32 bitm序列存储在2个级联的存储器内成为一个64 bit的序列,这样,当输入5bit调制数据N时,预存的64 bit序列中的第N位到第N+31位输出就是得到的32 bit序列M。一般情况下,根据输入的原信息数据的不同,可以得到32种不同的M序列如下:
{a0,a1,a2,…,a29,a30,a31}原信息数据0
{a31,a0,a1,a2,…,a29,a30} 原信息数据1
{a30,a31,a0,a1,a2,…,a29} 原信息数据2
……
{a1,a2,…,a29,a30,a31,a0}原信息数据31
由上述可见,32种序列同软件计算得到的M序列完全一致。通过FPGA内部的LE单元构建图1所示的逻辑电路比较容易,而且消耗的硬件资源也较少。
2 CCSK信息解调算法设计
在数字中通信制系统中,要实现CCSK信息解调,首先要通过A/D采样、正交基带下编码、低通滤波等数字信号处理方式对输入中频信号进行相位检测,最后采用数字相关器对正交基带码流进行相关运算以产生I、Q两路相关峰,再通过正交相关峰合成产生符号位为正的正交相关峰。图2所示为正交基带下变频信号处理电路原理框图。
数字相关器是CCSK信息解调的关键部件,通过相关器进行CCSK信息解调有两种不同的逻辑电路架构,包括两级串联型相关处理算法电路和多极并行数字相关器。无轮哪种CCSK相关解调器,其核心都是数字相关器,而数字相关器分为全加器型数字相关器和流水线加法器型数字相关器。这两种数字相关器的原理框图如图3所示。
2.1 两级串联型CCSK数字相关器算法设计
两级串联型CCSK相关解调逻辑电路一般由两个全加器型数字相关器级联而成。如采用32 bit m序列扩频码的系统,可将两个32 bit相关器级联成64 bit相关器,其m序列本地码可设置成两个同样的m序列:
{a31,a30,a29,…,a2,a1,a0,a31,a30,a29,…,a2,a1,a0}
当输入基带码流信号为m序列的某一种32 bit循环移位码时,相关器就会输出相应的相关峰信号。其过程如下:
输入基带码流为32 bit m序列的原码时(时间次序为{a31,a30,a29,…,a2,a1,a0}),当码流与第一段本地码对应缓冲器内的本地序列{a31,a30,a29,…,a2,a1,a0}一致时,相关器就会输出第一相关峰;在采样同步时钟的驱动下,输入码流进入第二段本地码对应缓冲器内,此后,当码流与相关器的本地序列{a31,a30,a29,…,a2,a1,a0}一致时,相关器就会输出第二相关峰。
当输入信号是扩频码m序列的1次循环移位码时,只有当输入码流信号被驱动到{a30,a29,…,a2,a1,a0,a31}的位置上时,相关器才输出相关峰信号。相对于0次循环移位码产生的相关峰,其时序延迟了一个码片单位。依次类推,当输入信号是扩频码m序列的N(0≤N≤31)次循环移位码时,通常可以得到延迟N个码片时间的相关峰。图4所示是相关峰时序延迟示意图。
通过计算相关峰输出时间同基准(0延迟)相关峰之间的时间差,可以提取调制在信号上的信息数据N:
N=(数据相关峰字符时间-基准相关峰字符时间)/码片时间
采用两级串联型CCSK相关解调逻辑电路解调CCSK信息消耗的硬件资源较少,但由于要对相关峰进行定时检测以及消除部分相关峰,因此,对电路的处理时序较为严格,只能采用全加器型数字相关器来实现。而流水线加法器数字相关器由于不具有实时归零功能,无法实现两级级联,因此不适合两级串联型CCSK相关解调逻辑电路的相关器。
2.2 多路并行CCSK数字相关器算法设计
多路并行型CCSK数字相关器输入的的是m序列N次循环移位码,如32 bit系统中,m序列N次循环移位码有32种,接收方可以通过32个32 bit并行数字相关器对基带码流进行相关处理。当输入码流同第N路相关器的相关输出超出信号门限时,则认定接收到的数据为N,图5所示就是并行相关峰输出信号。
多路并行型CCSK数字相关器的电路结构比较简单,对电路时序的要求也较低,相关器输出时序位置固定,不需要进行时间差计算提取信息,也不需要对部分相关峰进行时序处理,故可采用对加法进位延迟要求较低的流水线加法器型数字相关器作为相关处理的核心部件。但是,多路并行型CCSK数字相关器消耗的硬件资源在同样码速率和码长时,比两级串联型CCSK数字相关器要多若干倍,因此,32 bit扩频系统中采用多路并行型CCSK数字相关器要比两级串联型CCSK数字相关器所消耗的资源多16倍。
3 结语
本文对CCSK信息的调制和解调算法进行了介绍,给出了CCSK逻辑编码电路的实时计算方法,同时对两级串联型CCSK数字相关器算法和多路并行CCSK数字相关器算法的设计进行了说明。采用直序扩频的通信系统具有较高的抗干扰能力,但通信信息速率会大幅下降。因此,在通信速率和抗干扰之间找到一个平衡点,是扩频通信系统的一个重要技术问题。而利用本文提出的CCSK编码解码技术可以有效地提高扩频通信系统的通信速率。