基于汽车防撞雷达的伪随机码设计
2016-12-15胡秀娟陈德军
胡秀娟, 陈德军, 陶 雪, 张 涛
(上海电机学院 电子信息学院,上海 201306)
基于汽车防撞雷达的伪随机码设计
胡秀娟, 陈德军, 陶 雪, 张 涛
(上海电机学院 电子信息学院,上海 201306)
对伪随机码进行设计,以达到较高的灵敏度和分辨率。通过对伪随机码产生的原理的分析,得到其常用的反馈逻辑式;然后利用FPGA平台,对代码段中的寄存器长度、反馈结构、初始化信息等模块作相应修改,可得到不同长度和反馈逻辑的线性反馈移位寄存器,进而得到不同长度和结构的伪随机码。仿真分析及实验验证了该设计的可行性及有效性。
伪随机码; 防撞雷达; 汽车; 仿真
随着现代人生活水平的提高,对行车安全问题也越来越重视,如何让汽车变得更安全就成了人们追求的目标。因此,市场的需求推动了汽车防撞雷达技术的发展。防撞雷达是汽车安全行驶及泊车的关键装置,该装置可实现个人驾驶车辆前方、相对速度以及相对方位角等信息的获取[1-4]。当驾驶车辆与前方车辆之间的距离将要达到危险阈值时,雷达系统会提前发出声光报警,使驾驶员提前做出反应,根据实际情况进行自刹车或减速处理。
目前,市场上常见的防撞雷达多采用超声波传感器。当防撞雷达系统启动后,传感器发送超声波,遇到障碍物则产生回波信号,传感器接收到回波信号后由控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出警示信号。本文主要基于无线电波,对发射波形进行设计,以达到较高的灵敏度和分辨率。同时,考虑电磁环境的影响,对伪随机码进行灵活设计,以期得到不同长度和结构的伪随机码,同时结合软件仿真分析了设计的有效性,并进行了硬件验证。
1 伪随机码产生原理分析
根据随机码的特点将随机码的随机特性做如下修改[5-11]:
(1) 在1个周期内,两种不同元素出现的次数最多相差1次——均衡性特性;
(2) 在1个周期内,长度为n的游程(1个序列中取值相同的那些连在一起的元素合称为一个“游程”)出现的次数比长度为n+1的游程出现的次数多1倍——游程分布特性;
(3) 序列具有双值自相关函数——随机特性,即
(1)
式中,P为序列的周期(或长度);当K接近于0时,K为大于0,小于1的数。该函数的特性非常接近白噪声的自相关函数特性,故将该序列称作伪噪声序列。
在上述给出的伪随机码定义的基础上,利用移位寄存器(简称移存器)来实现设计。带有反馈逻辑线路的n级动态移存器如图1所示。图中,an为输出值,n∈N。
图1 n级线性反馈移存器
其末级输出序列为a0a1a2…an…,该序列满足如下的反馈逻辑函数:
an= C1an -1⊕C2an -2⊕…⊕Cian -i…⊕Cna0=
(2)
式中,Ci=1或0(i=1,2,…,n),视第i级是否参加模2运算而定。若第i级参加模2运算,则Ci=1;否则,Ci=0。由于式(2)是线性的,故称为n级线性移存器。
根据反馈逻辑函数,移存器可以产生不同长度的序列,具体分析如下: 图2所示给出了4级线性移存器,其反馈逻辑a4=a2⊕a0。当移存器初始状态为1111时,其输出序列为111100111100,伪码周期为6;当移存器初始状态为0001时,其输出序列为000101000101,伪码周期为6;当移存器初始状态为1011时,其输出序列为101101101101,伪码周期为3。
图2 4线性移位寄存器a4=a2⊕a0
图3给出了反馈逻辑a4=a3⊕a2⊕a1⊕a0的4级线性移存器。此时,该移存器产生3个完全不同的序列,即0001100011,1111011110,0101001010,所产生的伪码周期均为5。
图3 4线性移位寄存器a4=a3⊕a2⊕a1⊕a0
由上述分析可见,虽然移存器的级数相同,但由于它们的反馈逻辑不同,产生的序列互不相同;同一个4级线性移存器,当它的初始状态不同时,其产生的序列也不完全相同。也就是说,n级线性移存器的序列结构由其初始状态和反馈逻辑完全确定。
在式(2)中将an移至等号右侧,并引入系数C0=1,得
(3)
则式(3)对应的特征多项式为
f(x)= C0⊕C1x⊕C2x2⊕…⊕Cnxn=
(4)
令n级线性反馈移存器的输出序列具有周期性,且周期p≤2n-1,则可得到m序列的f(x) 为不可约多项式,且f(x)能整除(xm⊕1),但除不尽(xq⊕1),q 因此,m序列的f(x)应满足以下3个条件: ①f(x)为不可约的;②f(x)可整除(xm⊕1),m=2n-1;③f(x)除不尽(xq⊕1),q 本文以一个4级反馈移存器为例求出其本原多项式。由于n=4,故该移存器产生的m序列长度m=2n-1=15。 由于其特征多项式f(x)能整除(xm⊕1),得到(x15⊕1),或者说是(x15⊕1)的一个因式,故可将(x15⊕1)因式分解,从其因式中找出f(x) (x15⊕1) =(x4⊕x⊕1)·(x4⊕x3⊕1)· (x4⊕x3⊕x2⊕x⊕1)·(x2⊕x⊕1)· (x⊕1) 其中,(x2⊕x⊕1)、(x⊕1)两个因式不是4次的,故不是本原多项式;剩下3个4次多项式中,前2个是本原多项式,第3个则不是,因为(x4⊕x3⊕x2⊕x⊕1)·(x⊕1)=(x5⊕1)不满足条件3。由f(x)=(x4⊕x3⊕x2⊕x⊕1)组成的序列发生器如图3所示;由f(x)=(x4⊕x3⊕1)组成的序列发生器如图2所示。 由上可见,只要找到了本原多项式,就能由它来构成m序列发生器,表1列出了次数n<16的本原多项式[12-15]。 对于本文设计,将本原多项式“翻译”为线性反馈移存器所用的反馈逻辑更加直观方便。线性反馈移存器的最低位是从a0开始的,其对应着本原多项式的最高位;相似地,本原多项式的最低位是从x1开始的,其对应着移存器的最高位。因此,表1对应的反馈逻辑如表2所示。理论上,依照表2中的反馈逻辑对现场可编程门阵列(Field-Programmable Gate Array, FPGA)进行逻辑设计的电路都能产生m序列的伪随机码。 表1 部分本原多项式Tab.1 Partial primitive polynomial 表2 伪码产生常用反馈逻辑Tab.2 Common feedback logic 2.1 伪随机码软件实现 本设计在FPGA平台上,通过Verilog硬件描述语言(Hardware Description Language, HDL)的逻辑描述,可以实现线性反馈移存器的逻辑结构。另外,通过对源代码的修改,还可以方便地更改线性反馈移存器的级数和反馈形式,进而实现对伪码序列长度和序列结构的修改。 以5级线性反馈移存器结构为例,编写一段伪随机码产生的电路源代码。采用反馈逻辑a5=a3⊕a0的线性反馈移存器,其逻辑结构如图4所示。 图4 5级线性反馈移位寄存器a5=a3⊕a0 用Verilog HDL语言对图4中线性反馈移存器进行逻辑描述,编程如下: module My_pn_gen(clk, pn_out_i, RESET); input clk, RESET; //定义模块输入、输出 output pn_out_i; parameter Width_lfsr=5; //定义寄存器长度为5级 parameter I_tap1=0; //定义反馈环节为a0和a3 parameter I_tap2=3; reg[Width_lfsr-1: 0] srl_i; wire lfsr_in_i, par_fdbk_i; //定义反馈线路 //线性反馈移存器内部结构定义 assign pn_out_i=srl_i[I_tap1]; assign par_fdbk_i=srl_i[I_tap2]^srl_i[I_tap1]; assign lfsr_in_i=par_fdbk_i; //模块时序(行为)定义 always @(posedge clk or posedge RESET) begin if(RESET) //复位信号有效,重新初始化,寄存器赋初值 begin srl_i[0]<=0; srl_i[1]<=1; srl_i[2]<=0; srl_i[3]<=1; srl_i[4]<=1; end else //否则移存器内容循环右移1位 srl_i<={lfsr_in_i, srl_i[Width_lfsr-1: 1]}; end endmodule 可见,只需对代码段中的寄存器长度、反馈结构、初始化信息等模块作相应修改即可得到不同长度和反馈逻辑的线性反馈移存器,进而得到不同长度和结构的伪随机码。 2.2 软件仿真分析 为了验证用Verilog HDL语言构建伪随机码产生电路的可行性以及所编写的5级线性反馈移存器描述程序的正确性,进行了程序仿真验证和实物测试验证。 仿真所用的软件工具为可编程逻辑器开发过程中常用的Modelsim。在ISE(Integrated Software Enviroment)中可直接调用Modelsim,对 5级 线性反馈移位寄存器描述程序进行行为仿真,得到行为仿真结果如图5所示。 根据上文中对线性反馈移存器级数与伪随机码周期之间关系的分析,5级线性反馈移存器所产生的伪随机码的长度(即周期)应为 25-1=31倍时钟周期。在仿真模型中,时钟周期被设为 40ns,故所产生的伪随机码的周期应为40×31=1240ns。由图5可见,仿真所得伪随机码的周期为1240ns,可见理论推导与仿真结果是相符的。进一步对伪随机码一个周期内波形的观察和计算,可得出波形的高、低电平时间分别为 640ns 和 600ns,相差仅一个时钟周期(40ns),这也符合伪随机码的定义。由于本文设计所采用的伪随机码产生电路原理和本原多项式都是经过长期实践验证的,基于上述仿真结果可以认为本文中所编写的程序成功描述了5级伪码产生电路。 将描述程序在ISE中进行综合、布线后,再调用Modelsim进行仿真,得到时序仿真结果如图6所示。图7给出了用Modelsim对上述程序段布局前的仿真局部波形图。与图6对比可见,后仿真所得到的模型比前仿真得到的模型多出 9260ps 的延时,该延时大部分是由真实线路中的走线延时造成的。 图5 5级伪随机码(周期为1240ns) 图6 后仿真时序图(延时9260ps) 图7 前仿真时序局部放大图 为了进一步验证利用本文方法设计实际电路的有效性和可行性,将通过仿真验证的伪随机码产生的电路描述程序通过ISE进行设计综合,生成配置文件并下载到FPGA芯片中,运用示波器对实际电路产生的信号进行观测验证。 在型号为TDS3032的示波器上采集的本设计实际电路所产生的伪随机码的部分波形,如图8所示。 图8 实际电路产生的部分伪随机码波形 由图8可见,由于受到实物硬件设计的影响,输出波形不是理想状态,即输出信号在超调量和稳定时间方面还存在不足,但可本文的理论设计是可行的,故硬件设计问题忽略。 通过对5级线性反馈移存器进行了逻辑描述,软件仿真结果表明只需对代码段中的寄存器长度、反馈结构、初始化信息等模块作相应修改,即可得到不同长度和结构的伪随机码。同时示波器实测波形结果表明本文设计的可行性和有效性。 [1] HYUN E,OH W,LEE J H.Design and implementation of automotive 77GHz FMCW radar system based on DSP and FPGA[C]//IEEE International Conference on Consumer Electronics.Las Vegas,NN: IEEE,2011: 517-518. [2] 王英,许可.基于UWB无线定位的汽车防撞系统设计[J].重庆邮电大学学报(自然科学版),2010,22(6): 804-807. [3] 张恒,刘胜利,范江涛,等.基于DSP的防撞雷达信号采样系统设计[J].集成电路应用,2012,38(4): 34-36. [4] ZHAO S,CHEN L.Research on the single target recognition of car collision avoidance radar based on the FMCW technology[J].Advanced Materials Research,2014,1046: 293-296. [5] ZHANG Xinyu.Automotive anti-collision radar signal processing system design based on DSP[J]. Advanced Materials Research,2014,1044/1045: 727-730. [6] 林元新.超声波测距和汽车防撞雷达的设计[J].汽车电器,2006(12): 52-55. [7] HYUN E,OH W,LEE J H.Development of hardware platform and embedded software for designing automotive FMCW radar system[J].IEMEK Journal of Embedded Systems and Application,2011,6(3): 117-123. [8] FOLSTER F,ROHLING H,LUBBERT U.An automotive radar network based on 77GHz FMCW sensor[C]//IEEE International Radar Conference.[S.L.]: IEEE,2005: 871-876. [9] 王瑶.基于FPGA的汽车防撞信号处理系统的研究[D].哈尔滨: 哈尔滨工业大学,2014: 10-15. [10] WU Chang,LI Huan,LI Yubai.A practical FMCW radar signal processing method and its system implementation[C]//6th International Conference on ITS Telecommunications.Chengdu: IEEE,2006: 1195-1199. [11] LEE E.Analysis of the parked automotive fire breaking out late at night[J].Journal of Korean Society of Hazard Mitigation,2015,15(2): 241-248. [12] KIM Y H,LEE E P.Analysis of the truck fire breaking out during expressway driving[J].Journal of Korean Society of Hazard Mitigation,2014,14(2): 185-194. [13] LEE E P.Analysis of a car fire that broke out during parking at midnight[C]//Proceeding of 2014 Annual Spring Conference of the Korean Institute of Fire Science & Engineers.[S.L.]: Korean Institute of Fire Science & Engneering,2014: 193-194. [14] 王晓飞,封吉平,何强,等.基于FPGA的汽车防撞雷达角度录取接口电路的设计[J].仪表技术2010(9): 37-39. [15] 蒋晓玲,孟志强,陈燕东,等.汽车追尾防撞红外测距系统[J].光电子技术,2011,30(1): 67-72. Design of Pseudo Random Code for Automobile Collision Avoidance Radar HU Xiujuan, CHEN Dejun, TAO Xue, ZHANG Tao (School of Electronics Information Engineering, Shanghai Dianji University, Shanghai 201306, China) A pseudo-random code is designed to achieve high sensitivity and resolution for automobile collision avoidance radar. By analyzing the principle of pseudo random codes, a common feedback logic is obtained. On an FPGA platform, the register length, feedback and initialization information in the code are modified. Linear feedback shift registers with different code length and feedback logic are used, and thus pseudo random codes of different lengths and structures are obtained. Simulation and experiments show feasibility and effectiveness of the design. pseudo random code; collision avoidance radar; automotive; simulation 2015 -11 -20 上海大学生创新活动计划项目资助(201511458059) 胡秀娟(1978 -),女,副教授,博士,主要研究方向为雷达信号处理,E-mail: huxiujuan311@163.com 2095 - 0020(2016)05 -0254 - 05 TN 915.05; U 491.62 A2 伪随机码实现及软件仿真
3 实物验证
4 结 语