logo资料库

基于Matlab的Gold码序列的仿真与实现.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
第 16 卷  第 1 期 2009 年 2 月 兰州工业高等专科学校学报 Journal of Lanzhou Polytechnic College Vol. 16 ,No. 1 Sum. ,2009 文章编号 :1009 - 2269 (2009) 01 - 0015 - 04 3 基于 Matlab 的 Gold 码序列的仿真与实现 严三国 (成都电子机械高等专科学校 机械系 ,成都  610031) 摘要 : Gold 码是一种伪随机序列 ,由于其可供使用的伪随机序列数量较多 ,多用于多址通信中. 本文介绍了 Gold 码的构造方法 ,并利用 Matlab 中的 Simulink 仿真系统进行仿真分析 ,仿真结果 证明了该方法的正确性和可行性. 并对 Gold 码序列的自相关函数值和同族内的互相关函数值进 行了仿真计算. 关  键  词 : Gold 码 ;Matlab ;仿真 ;相关系数 中图分类号 : TN 911 文献标识码 : A   Gold 码是通过 m 序列进行构造的 ,码序列具 有较高的复杂程度 ,具有优良的自相关与互相关 特性 ,且随着级数的增加 ,其序列数目有较大的增 加 ,因此广泛应用于多址通信系统中. 1  m 序列的产生   m 序列又称最长线性移位寄存器序列[1 ] , 是 通过线性移位寄存器和反馈网络产生的. m 序列 是线性反馈移位寄存器产生的最长周期序列. 图 1 表示一个二进制 n 级线性反馈移位寄存器[2 ,3 ] , 可 产生周期序列. 其周期用 p 表示 , 而且 p ≤2 n - 1 , 当 p = 2 n - 1 ,这个序列是 n 级最长周期线性移位 寄存器序列 ,也就是要产生的 m 序列. { an} ,可用其序列多项式 G( x) 表示[2 ] . G( x) = a0 + a1 x + a2 x2 + …+ an x n = ∑ ai x i (1) n i = 0 该式又称为序列生成多项式 ,序列{ an} 与 G( x) 是一一对应的[2 ] . 式中 ai ( i = 0 , 1 , 2 , …, n) 取 0 或 1 值. 符号 x i 表示序列元素的位置. 因此 , 只要知 道了 G( x) ,就可以求出序列{ an} . 而对于反馈移位 寄存器所产生的序列 , 取决于其反馈系数 ci , 对于 反馈移位寄存器 , 其反馈逻辑可用 (2) 式表示 , 也 就是序列的特征多项式[2 ] . 反馈 ci 系数一旦确定 , 所产生的序列就确定了. 因为 G( x) = 1 f ( x) , 只是 当移位寄存器的初始状态不同时 , 所产生的周期 序列的初相不同 ,也就是观察的初始值不同 , 是同 一周期序列. f ( x) = c0 + c1 x + c2 x2 + …+ cn x n = ∑ ci x i (2) n i = 0 图 1  n 级线性反馈移位寄存器 2  Gold 码序列的产生及特性 在图 1 中 a0 , a1 , …, an - 1 为移位寄存器的状 态. c0 , c1 , …, cn 为对应级数移位寄存器的反馈系 数 ,其含义是 ,当 ci = 0 时 , 反馈断开 ; ci = 1 时 , 反 馈存在. 而 c0 = cn = 1 为恒定值. 对于一个序列   随着级数 n 的增加 , Gold 码序列的数量远超 过同级数的 m 序列的数量[3 ] ,且 Gold 码序列具有 良好的自相关特性和互相关特性 , 得到了广泛的 应用. 产生 Gold 码序列的结构形式有两种 , 一种 收稿日期 :2008 - 08 - 07 作者简介 :严三国 (1965 - ) ,男 ,四川万源人 ,高级工程师. © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
·61·               兰 州 工 业 高 等 专 科 学 校 学 报              第 16 卷 是将两个 m 序列发生器串联成级数为 2 n 的线性 移位寄存器 ,另一种是将两个 n 级 m 序列发生器 并联[3 ] . 其结构如图 2 和图 3 所示[4 ] . 利用 Matlab 编程环境求解本原多项式 ,其运 行结果如表 1 所示. 选择 n = 7 ,采用 7 级移位寄存 器 ,产生的序列周期是 127 , 其程序如下所示. 图 2  并联结构 图 3  串联结构 Gold 码序列的特性 : 1) 平衡性 : Gold 码序列分为平衡码和非平衡 码. 当 n 为奇数时 , 平衡码数量占 50 % , 非平衡码 数量占 50 %. 当 n 为偶数 , 但不能被 4 整除时 , 平 衡码占 75 % ,非平衡码占 25 %[2 ] . 2) 自相关特性 : Gold 证明了 Gold 码序列的自 相关函数的所有非最高峰的取值是三值[5 ] . 其自 相关函数值所有非最高峰取值 R 如下 (3) 式[5 ] . 其 中 p = 2 n - 1 ,为 Gold 码序列的周期. R = - - 1 p t p t - 2 p (3) n = 7 ; x = gfp rimf d ( n ,‘all’) 表 1  n = 7 时的本原多项式 序号 本原多项式 八进制数 序号 本原多项式 八进制数 1 1 1 0 0 0 0 0 1 2 1 0 0 1 0 0 0 1 3 1 1 1 1 0 0 0 1 4 1 0 0 0 1 0 0 1 5 1 0 1 1 1 0 0 1 6 1 1 1 0 0 1 0 1 7 1 1 0 1 0 1 0 1 8 1 0 0 1 1 1 0 1 9 1 1 1 1 1 1 0 1 301 221 361 211 # 271 345 # 325 # 235 # 375 10 1 0 0 0 0 0 1 1 11 1 1 0 1 0 0 1 1 12 1 1 0 0 1 0 1 1 13 1 0 1 0 1 0 1 1 14 1 0 1 0 0 1 1 1 15 1 1 1 1 0 1 1 1 16 1 0 0 0 1 1 1 1 17 1 1 1 0 1 1 1 1 18 1 0 1 1 1 1 1 1 203 # 323 313 # 253 247 367 # 217 # 357 277 # 上面的多项式中 ,仅有 9 个是独立的. 因为第一行 和第十行 ,第二行和四行 ,第三行和第十六行 ,第 五行和第八行 ,第六行和第十四行 ,第七行和第十 三行 ,第九行和第十八行 ,第十一行和第十二行 , 第十五行和第十七行是两两对称的. 用八进制数 表示 时 , 所 选择 的本 原多 项式为 211 、217 、235 、 367 、277 、325 、203 、313 和 345 共 9 条. 在这 9 条本 原多项式中 ,选择一个基准本原多项式 ,再按要求 选择另一本原多项式与之配对 ,构成 m 序列优选 对. 3. 2  利用 Simulink 构建反馈移位寄存器 在位移 k = 0 , R 取得最高峰 ,即 R = 1 ,此时同 m 序列一样 , 具有尖锐的自相关峰值. 因此 Gold 码序列应具有四个值的自相关函数值. 式 ( 3) 中 t 的取值是 ,当 n 为奇数时 , t = 2 2 + 1. 当 n 为偶数 , 且不是 4 的整倍数时 , t = 2 n + 1 2 + 1 . n + 1 3) 互相关特性 : Gold 码序列具有较好的互相 关特性 , Gold 码序列的互相关函数值的最大值不 超过其 m 序列优选对的互相关值. Gold 码也具有 三值互相关函数值 ,其取值同 (3) 式. 当 n 为奇数 时 ,序列族中约有 50 %的码序列的互相关函数值 为 - 1/ p ;而 n 为偶数时 , 有 75 %的码序列的互相 关函数值为 - 1/ p[3 ] . 3  Gold 码序列的 Matlab 仿真 3. 1  产生本原多项式 图 4  Gold 码序列仿真图 根据产生 Gold 码序列的方法 ,从上述本原多 项式中选择一对 m 序列优选对 ,以 211 作为基准 本原多项式 ,217 作为配对本原多项式[ 3 ] ,通过并 联结构形式来产生 Gold 码序列[ 6 ] . 其仿真结构如 © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 1 期            严三国 :基于 Matlab 的 Gold 码序列的仿真与实现             ·71· 图 4. 两 m 序列移位寄存器的初始状态都选择为 (1000000) . 通过仿真生成 Gold 码波形图如图 5 , 其周期是 127. 产生的 Gold 码序列频谱仿真分析 图如图 6 所示. 数据进行仿真计算 ,并绘出自相关函数值的曲线 图 ,如图 7 所示. Gold63 模块的数据保存类型应设 置成 st ruct ure (结构型) ,以便仿真计算自相关函 数值时 ,自动读取所生成的 Gold 码序列的值. 其仿真程序如下 : clear open goldma1. mdl ; %打开 Simulink 构建的 Gold 码文件 sim (‘goldma1. mdl’) ; %进行仿真 f = [ Gold63. signals. values ] ; %读 取 Gold 码数据 a = f’ ; b = a; N b = lengt h ( b) ; N = 140 ; for k = 1 : N c = xor ( a , b) ; D = sum ( c) ; A = N b - D ; 图 5  Gold 码序列波形图 Gold 码波形图是通过提取仿真图中 Scope 模 块中的数据 ,利用 Matlab 编程绘出的. Scope 的数 据格式应设成 St ruct ure wit h time 方式. clear open goldma1. mdl ; sim (‘goldma1. mdl’) ; t = ScopeData. time ; plot (k ,R ,’g’) ; %绘图 grid ; signal = ScopeData. signals ; wave = signal. values ; plot (t ,wave) ;axis ( [ 0 ,200 ,0 ,1. 4 ]) ; 图 6  Gold 码频谱分析图 3. 3  用 Matlab 仿真 Gold 码序列的自相关函数值 利用 Matlab 进行编程计算 Gold 码序列的自 相关函数值 ,在编程时直接读取 Gold63 模块中的 图 7  Gold 码序列自相关系数仿真图 R ( k) = ( A - D) / ( A + D) ; %计算相关系数 b = [ b( N b) , b(1 : ( N b - 1) ) ] ; end k = 0 : ( N - 1) ; plot ( k , R ,‘ro’) ; %绘图 hold on 通过上述方法产生的 Gold 码序列的周期是 127. 从图 7 中可以看出 , Gold 码序列自相关函数 值的所有非最高峰的取值是三值. 其自相关函数 值 R ,在位移 k = 0 时 , 取得最高峰值 , 即 R = 1. 与 m 序列相同 ,具有尖锐的自相关峰. 0 < k < 127 时 , 相关 峰值 较小 , 其值 为 0. 118 、- 0. 008 和 - 0. 134. 根据 Gold 码序列自相关函数值 (3) 式 ,计算 其自相关函数值如下. n = 7 , t = = 2 n + 1 2 + 1 = 24 + 1 = 17 , 周期 p = 27 - 1 = 127 © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
·81·               兰 州 工 业 高 等 专 科 学 校 学 报              第 16 卷 R = - 1 p - t p t - 2 p = - = - 1 127 17 127 17 - 2 127 = = - 0. 00787 - 0. 1338 = 0. 01181 自相关函数值的仿真结果与理论分析计算相 一致. 3. 4  同族 Gold 码序列的互相关函数值的仿真 保持基准移位寄存器产生的 m 序列不变 ,通 过移位配对 m 序列 ,再同基准 m 序列模 2 和 ,就可 以产生同族 Gold 码序列. 在图 4 中 211 移位寄存 器的初值仍为 (1000000) ,通过改变 217 移位寄存 器的初始状态 ,也就是对 217 移位寄存器产生的 m 序列进行移位. 在仿真中 217 移位寄存器的初 始状态设为 10000001 ,建立第二个仿真模型 , 用 Gold633 模快来存放新产生的 Gold 码序列. 仿真 结果如图 8 所示. 图 8  Gold 码序列互相关系数仿真图 其仿真程序与自相关仿真不同部分如下. clear open goldma1. mdl ; sim (‘goldma1. mdl’) ; open goldma2. mdl ; %打开移位后的文件 sim (‘goldma2. mdl’) ; f = [ Gold63. signals. values ] ; %读 取 Gold 码数据 a = f ’; g = Gold633. signals. values ; %读取移位的 Gold 码数据 b = g’; 从图 8 中可以看出 , Gold 码序列的互相关函 数值具有三值特性. 三值是 - 0. 008 , - 0. 134 和 0. 118. 按照 (3) 式进行计算其三是 , - 0. 00787 、- 0. 1338 和 0. 01181. 仿真结果与理论计算一致. 其互相关函数值 很小 , Gold 码序列具有良好的互相关特性. 4  结语   利用本文给出的相关函数值计算及绘图程 序 ,略加修改 ,可用于研究不相同族 Gold 码序列 的互相关特性. 参考文献 : [ 1 ]  王  昆 ,陈昕志. m 序列产生和性能的 Matlab 仿真 [J ]. 水利电力机械 ,2007 ,29 (12) :170 171. [ 2 ]  何世彪 ,谭晓衡. 扩频技术及其实现 [ M ]. 西安 :西安 电子科技大学出版社 ,2007. [ 3 ]  查光明 ,熊贤祚. 扩频通信[ M ]. 西安 :西安电子科技 大学出版社 ,1990. [4 ]  周慧琴. 扩频通信系统中伪随机序列的研究[J ]. 信息 通信 ,2008 ,21 (2) :12 14. [5 ]  仇佩亮 ,陈惠芳 ,谢  磊. 数字通信基础[ M ]. 北京 :电 子工业出版社 ,2007. Gold Sequence Simulation and Implementation Based on Matlab YAN San - guo ( The Department of Mechanical Engineering , Chengdu Electromechanical College , Chengdu 610031 , China) Abstract : Gold sequence is a p seudo - rando m sequence , and it has greater number of sequence which can be used in multiple - access communication system. This paper int roduces Gold sequence co nst ruction met hod , and it has been p roduced and simulated by Simulink of Matlab. The simulation result s show t he correct ness and feasibilit y of t his met hod. Auto - correlation f unction and cro ss - correlation f unction in t he same Gold family have been simulated. Key words :gold sequence ; Matlab ; simulation ; correlation factor © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
分享到:
收藏