基于fpga的复合序列fwt快速相关检测方法

文档序号:9813796阅读:459来源:国知局
基于fpga的复合序列fwt快速相关检测方法
【技术领域】
[0001] 本发明属于数字通信信号处理和FPGA技术领域,尤其设及一种基于FPGA的复合序 列FWT快速相关检测方法。
【背景技术】
[0002] 复合序列,或称组合序列、复码,是由m序列通过一定组合形成的序列,主要包括 GolcUGold-I化e、DBCH、SK化asami序列小集合)和LK序列化asami序列大集合)等,通常运些 复合序列均具有良好的自相关和互相关特性,在导航与定位、扩频通信、系统测试与分析和 密码技术等领域有着广泛应用。由伪随机复合序列构造的多相信号的自相关特性具有"图 钉状"的时间一频率模糊函数,对通信而言,利用运种模糊函数特性可W实现时间和载波同 步,利用序列在序列集合的序号和序列初始相位,可提高符号的信息量,从而提高频谱利用 率。但是,当存在大多普勒效应、序列初始相位未知和序列在序列族的序号未知的情况下, 对序列的相关检测与估计的运算量巨大。
[0003] 水声扩频通信常用m序列、复合序列作为扩频序列。接收端,一般包括时间同步、载 波同步、RAKE接收及解扩等处理,运些处理都设及到对伪随机序列的相关运算。序列的相关 运算速度,直接决定同步和解码的实时性。一方面可通过FWT实现序列相关的快速运算,另 一方面,利用FPGA的并行运算实现FWT可进一步提高序列相关运算速度。

【发明内容】

[0004] 本发明的目的在于克服现有技术存在的不足,而提供一种基于FPGA的复合序列 FWT快速相关检测方法,FWT采用基4蝶形分解运算结构,能实现2n-l(n = 3~10)长度不同类 型复合序列在序列族号与序列相位未知情况下的快速相关检测,具有运算速度快、通用性 好的特点。
[0005] 本发明的目的是通过如下技术方案来完成的,该方法基于由数据预处理和控制模 块、FWT模块和最大值选取模块组成的FPGA来实现,其具体步骤如下:
[0006] 1 )、接收序列补0,变成长1024点序列;
[0007] 2)、对步骤1获得的序列进行循环移位,其中0点不参与移位;
[000引3)、对步骤2获得的序列点乘序列C,当接收序列不是LK序列时,序列C为全1;
[0009] 4)、对步骤3获得的序列点乘序列b,当接收序列为m序列时,序列b为全1;
[0010] 5)、对步骤4获得的序列进行转置;
[00"] 6)、FWT 运算;
[001^ 7)、从FWT的结果中选出最大值和位置输出;
[OOU] 8)、对于Gold-I化e、DBCH、LK序列,序列b是变化的,所W不断改变b的情况下,重复 步聚4~7^完成对序列6的捜索,对于111、6〇1(1、51(序列则不需要;
[0014] 9)、对于LK序列,序列C是变化的,所W需要重复步聚3~8完成对序列C的捜索,对 于其它序列,不包含序列C,此步聚可省略;
[0015] 10)、在检测序列指定的相位捜索范围内,重复步聚2~9完成对接收序列的相位捜 索。
[0016] 作为优选,所述的数据预处理和控制模块执行主要执行上述步骤中的1、2、3、4、5、 8、9、10,负责整个系统的数据调度和运算控制;为了减少操作,将步聚2和5合为一步,使移 位和转置操作转化为读取地址的更新;设al为从前转置表中读取的转置地址,a2为结合循 环移位后生成的新地址,N表示寻找序列长度(7、15、31、63、127、255、511、1023),则由前转 置地址结合循环移位次数n后生成的新地址如下:
[0017] n = 0,不移位:
[001 引 a2 = al
[0019] 当N〉n〉0,循环左移: 0 a 1=0
[0020] al~ - N - 0<ai < n 化1 -内 n<a I <N
[0021] 当-N<n<0,循环右移: 货 a 1=0
[0022] 幻'2 二 < fll-H al < N+n 化1 +1 -々-W N+n < a KN
[0023] 由于步聚5提前到第2步进行了合并,在进行步聚3和4时,序列b和C也需进行相应 的转置;并将转置后的序列b和cW表格的形式存储在RAM中。
[0024] 作为优选,所述的FWT模块对于1024点FWT按基4分解,分成5级,对于每一级的4数 据取址,其规律如下:
[0025] ;r(n,m,k,0) =m*4"i+k
[0026] r(n,m,k, I) =m*4"i+k+4n
[0027] ;r(n,m,k,2) =m*4"i+k+2*4n
[0028] r(n,m,k,3)=m*4n+i+k+3*4n
[0029] 上式中,n表示级数,取值0~4;m表示每级具有相同结构的块数,m取值从0到44 一 n-1,k表示在每块内进行基4蝶形运算数量,k取值从0到少-1。
[0030] 作为优选,所述的基4蝶形运算为同时输入4点数据,并通过在FPGA中开辟2块双端 口 RAM来实现。
[0031] 作为优选,所述最大值选取模块从FWT模块中输出的1024点结果{y0,yl,y2,…, yl021 ,yl022,yl023}分成4组{y0,y4,y8, . . . ,yl020} , {yl ,y5,y9, . . . ,yl021} , {y2,y6, ylO, . . .,yl021},{y3,5^7,yll,. . .,yl023}依次输出,为了保持数据的连续性,将每组输出 的256个值对应依次送入比较器,共需4个比较器,256个数据比较完后,每组输出最大数据 和位置,然后再将运4组结果分成2级两两比较后,输出最大相关值和对应位置。
[0032] 本发明的有益效果为:(1)序列相关运算速度快;设计采用流水设计,流水建立后, 每256个时钟输出一次FWT运算得到的序列最大相关值和位置;相对于基2分解,级数减半, 速度提高2倍;整个系统从完成序列输入到输出第一次FWT的最大相关值和位置的流水延迟 为1294个时钟,之后连续的每256个时钟输出一次结果;对于一段序列完成L次移位相关输 出最大相关值的总时钟仅为Ncdk= 1294+a-l)巧56,平均完成一次移位相关输出最大相关 值的时间随着L的变大而变小;假设FPGA主时钟为IOOMHz,完成1次序列移位相关输出最大 相关值的时间为1294化S;完成16次序列移位相关输出最大相关值的时间为5134化S,平均 一次的时间降为3208ns;
[0033] (2)节省存储资源;采用基4分解时,相较于基2分解,级数减半,减少了中间运算数 据缓存的RAM使用;
[0034] (3)通用性好;利用本发明设计,可实现序列长度为2D-l(n = 3~10)的m、Gold、 Gold-I化e、DBCH、SK和LK等序列的快速相关检测,特别适合于变速率扩频通信。
【附图说明】
[0035] 图1是本发明的32点FWT流程图。
[0036] 图2是本发明的复合序列FWT捜索流程示意图。
[0037] 图3是本发明的实现框图。
[0038] 图4是本发明的基4蝶形示意图。
【具体实施方式】
[0039] 下面结合附图对本发明做详细的介绍:如附图所示,
[0040] (1 )FWT实现m序列的相关运算
[0041 ] 序列a = J为长L = 2"-1的n阶m序列,周期相关函数如式(1),P为循 环移位矩阵,A为序列a循环移位矩阵,将A按式(4)变成矩阵B,对矩阵B按一定规律映射后得 到矩阵Bh,由矩阵Bh按式(5)得到哈达码矩阵H,由于按哈达码排列的沃尔什变换有快速算 法,获取式(1)的m序列周期相关函数可W用快速沃尔什-哈达码变换实现。
[0042] Rm(j)=a(apj)T (1)
[0046] H= [1 Bh] (5)[0047] 在离散情况下,沃尔什-哈达码正变换为: (2) 巧) 斌: 城

[0050] 式中,N=^,p为正整数,nm-i、km-i是序号k、n的P位二进制表示的第m-1位。
[0051] 对长为L的接收序列r的FWT相关实现过程是:r前添0变为r',再经置换矩阵(前转 置表)置换后,形成的新序列为沃尔什-哈达码矩阵某一行,新序列与沃尔什-哈达码矩阵相 乘,即FWT处理。FWT输出结果(第一点除夕F)经过置换矩阵(后转置表)置换得R,R与序列匹配 相关处理结果一致。
[0052] r' = [0 r] (8)
煤)
[0054] (2)FWT在复合序列相关运算的推广
[0055] 复合序列可分为由2个序列复合而成和由3个序列复合而成两类,前者包括Gold、 Gold-I化e、DBCH和SK,Gold和SK序列族由类似式(10)生成,Gold-like和DBCH序列族由类似 式(11)生成;后者为LK序列,当n = 2 mod 4由式(12)生成,当n^O mod 4由式(13)生成。式 中过=…,为n阶m序列、B二航巧晰,句,...為,_;)为序列b的对角矩阵,bW表示抽 样序列bW的对角矩阵,Ck为序列C循环移位k位对应的对角矩阵,P为循环移位矩阵。
[0060]对于2序列复合序列,对其进行循环移位相关时,首先对接收序列r进行循环移位, 然后与本地序列gi = B(aPi)T相乘,其结果等效于下式:
[0061 ] R(j)=巧 jgi =巧化(api)T (14)
[0062]当采用FWT对2序列复合序列进行循环移位相关时,分成S步,先对接收序列循环 移位补零,乘上序列b,然后再进行FWT运算,其实现过程相当于:
[0063]
[0064] 从(15)式可W看出,采用FWT进行2序列复合序列相关时,进行一次FWT的结果为输 入序列与序列族中序列相关的结果,当接收序列r在复合序列族的序列号i未知时,通过寻 找FWT输出结果最大值位置即可获得序列号i;当接收序列的相位也未知时,需要对接收序 列逐次循环移位,再将循环移位补零后的序列乘上序列b,再进行FWT,通过寻找FWT输出最 大值位置即可获得序列号i,最大值对应的循环移位次数即为序列的相位。对于Gold-Iike 序列族的类似序列,序列b不是固定的,在此情况下,对于寻找复合序列族的序列号,需要捜 索所有可能的序列b。
[0065] 对于3序列复合序列,对其进行循环移位与本地序列gk,i = CkB(api)T相关时,其结 果等效于下式:
[0066] R(j)=巧 j阱,i =巧jckB(api)T (16)
[0067] 当采用FWT对3序列复合序列相关时,分成四步,先对接收序列循环移位补零,乘上 序列C,乘上序列b,然后再进行FWT运算,其实现过程相当于:
[0069] 从(17)式可W看出,采用FWT进行3序列复合序列相关时,进行一次FWT的结果同样 为输入序列与序列族中序列相关的结果。对于LK序列,分成两种情况,第一种情况如式 (12),序列b是固定的,则
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1