高精度中频数字鉴相器在FPGA上的实现
2012-10-16刘晓庆马新朋
刘晓庆 刘 波 马新朋
1(中国科学院上海应用物理研究所 上海 201800)
2(中国科学院高能物理研究所 北京 100049)
近几年来,美国的 SLAC、德国的 DESY、意大利的ELETTRA和中国科学院上海应用物理所等相继开展了基于电子直线加速器的短波长自由电子激光(FEL)的研究工作。FEL拥有强相干、高亮度、超短脉冲、波长连续可调等特性,对科技发展具有重大的价值[1,2];但 FEL装置包含大量子系统,面临着系统集成和调试的挑战,须确保各子系统间飞秒量级的定时和同步,激光(包括种子激光、光阴极电子枪驱动激光和实验站用泵浦激光等)、电子束流与RF加速电场之间的高精度定时和同步对系统的性能起着至关重要的作用[3,4]。
FEL装置的同步定时系统的实现方式有光学法、电子学法和光学电子学结合法。例如,DESY的Flash装置和ELETTRA的FERMI装置采用光学法,SLAC的LCLS装置采用了基于中频数字鉴相的电子学法,锁相稳定度达0.07°。FEL装置的同步定时系统中,待同步信号与参考信号相位差作为反馈控制环路的核心控制信号,得准确可靠地测量。而在基于电子学的同步定时系统中,通常对 GHz量级的待同步信号与参考信号下变频为中频信号后再做处理。传统的模拟鉴相器中的模拟器件会引入大量的误差,其来源包括直流偏置、阻抗匹配、传输损耗等[5]。数字鉴相器可有效地避免这些误差,故鉴相准确度更高。
本文介绍了一种在 FPGA(Field Programmable Gate Array)上实现的高精度中频数字鉴相器,该数字鉴相器采用数字I/Q技术,可对一路中频信号进行绝对相位鉴相,或者对两路中频信号进行相对相位鉴相,该数字鉴相器的鉴相结果稳定在0.1º以下,鉴相器精度达0.029°,鉴相结果满足飞秒同步定时系统的精度要求。
1 高精度中频数字鉴相器原理及参数设置
1.1 高精度中频数字鉴相器原理
图1为基于数字I/Q技术的中频数字鉴相器原理框图。
图1 基于数字I/Q技术的中频数字鉴相器原理框图Fig.1 Schematics of intermediate-frequency digital phase detector based on digital I/Q technology .
图中,f0为输入信号频率,tclk为模数转换器(ADC)采样间隔时间,A1、A2为信号幅度,x1(n)和x2(n)是待鉴相的两路中频模拟信号经高速 ADC得到的数字信号:
NCO(Numerically Controlled Oscillator)输出两路正交本振信号,频率为f0,初相为φ0,本振信号可表示为xlo(n)=ej(2πf0tclkn+φ0)。将两路待鉴相信号在Digital Down Convert中分别与正交本振信号相乘,再经低通滤波器(Low Pass Filter, LPF)滤除高频成分后可得基带信号[6]:
CORDIC (Coordinated Rotation Digital Computer)算法可实现向量由直角坐标系到极坐标系的转换,当输入向量形式为(x,y,0)时,经过多级移位和加减操作,可得到向量的极坐标值(k(x2+y2)1/2,0,arctan(y/x)),其中k=1.647为聚焦常数[7]。因此,可由 CORDIC模块计算出x1(n)的相角Phase 1=θ1(n)–φ0,x2(n)的相角 Phase 2=θ2(n)–φ0。当ADC采样时钟和FPGA的工作时钟相同时,且这一时钟与输入中频信号存在稳定的相对相位关系(例如采样时钟与中频输入信号都来自同一信号的分频),本振信号的初相φ0有固定值。此时,可以得到输入信号相对于时钟的绝对相位,Phase 1与Phase 2分别为两路中频输入信号相对于时钟的绝对相位值。若对两路输入信号进行相对相位鉴相,则φ0可被抵消,其取值与鉴相结果无关。x1(n)与x2(n)的相对相位值 Phase为θ1(n)–θ2(n),由此可准确得到两路中频输入信号的相位差。
1.2 高精度中频数字鉴相器的参数设置方法
高精度中频数字鉴相器中需设置的参数主要有:NCO模块的相位增量、LPF模块的滤波器截止频率和阶数以及CORDIC模块的级数。
NCO模块的作用是提供正交本振信号,采用基于 CORDIC算法的方式实现,NCO模块采用CORDIC流水线结构实现极坐标系到直角坐标系的转换,即输入向量形式为(1,0,z),输出向量形式为(k·cosz,k·sinz),k为聚焦常数。在 NCO 模块的设计过程中,要注意两个参数值的设置。其一是相位增量(phase_increment)的值:
式中,fnco为产生的本振信号频率,fclk为数字电路工作的时钟频率,ΔΦ为NCO模块的输入信号——相位增量,ΔΦ∈(0,1)单位为 π,ΔΦ的位宽通常大于CORDIC流水线级数[8]。
其二是NCO中CORDIC流水线结构的级数选择,级数越多,输出信号的值越准确,但多一级就多了一个时钟周期延时;而级数少,延时小,输出信号的值不准确。通常,流水线级数要小于输出信号的位宽,并综合考虑系统能够承受的延时和要求的精度来决定。
LPF模块的作用是滤除高频信号,保留基带信号。实验中LPF模块用CIC(Cascade Integrator Comb)滤波器实现。CIC对指定频率滤波时,可通过参数的设置获最佳滤波效果,且无需乘法模块。设计CIC模块时须注意R、M、N值的设置,其中R为抽取因子,M取1或2,是梳状滤波器延时因子,N为CIC滤波器的阶数,滤波器的幅频响应为[9,10]:
当f=n(fclk/RM)时(n为整数,取值为 1,2,3...RM/2),|HCIC(f)|为 0。所以在设计过程中,应使待滤除主要高频成分位于上述频率处,方能达到最佳滤波效果。同时由待滤除频率和时钟频率可得到RM/n值,n值表示待滤除频率处于远离DC的第n个陷波处,选择使RM值为整数的最小n值,即可得到RM的值。N值表示滤波器的阶数,和R、M共同决定了远离DC的第一个旁瓣(f=3fclk/2RM)处的功率衰减,在RM>>1时,衰减值约为13.46 N(dBc)。
CORDIC模块的作用是实现直角坐标系到极坐标系的转换,设计中需注意的参数设置有二:一是CORDIC流水线结构的级数设置,级数须小于输入直角坐标信号的位宽,否则在移位操作时移位数将大于信号的位宽,使多出的流水线级数无意义而带入多余的初始延时;二是输出相位信号的位宽设置,若位宽为N,则它能表示的最小相角为π/2N–1(rad),但当CORDIC流水线级数达到一定值时,相位信号的值才能精确到最小相角,通常CORDIC流水线级数越大,输出相位可设置的位宽越大,输出相位的分辨率越高。
2 对中频信号鉴相
2.1 对中频信号进行绝对相位鉴相
图2为利用高精度中频数字鉴相器对中频信号进行绝对相位鉴相的实验原理图。信号源是为自由电子激光装置中的种子激光器提供参考信号的固定频率信号源。其产生的119 MHz信号经AD9520进行 4分频,产生 29.75 MHz的信号用来作为高速ADC的采样时钟以及FPGA的工作时钟;进行32分频产生3.71875 MHz的中频信号,经DC~5 MHz低通滤波器滤除高次谐波,作为待鉴相信号。待鉴相信号经高速ADC(AD9433)转换为位宽12的数字信号,将其作为高精度中频数字鉴相器的输入信号。经鉴相后得到位宽 14的相位信号,取值范围为[0,2),单位为π,其可表示的最小相位单位是π/213(rad)=0.02197º。利用 Quartus II的 SignalTap II逻辑分析仪,可直接观测相位信号,并将抓取到的相位数据送入 MATLAB中换算为单位为“度”的相位值。相位信号经数模转换器(DAC)转换为模拟信号后可用于后续反馈控制。在实验中 FPGA采用ALTERA的EP2S60F1020C3。图3为高精度中频数字鉴相器的绝对相位鉴相结果。相位结果来自于SignalTap II采集到的相位信号数据。
图2 对中频信号进行绝对相位鉴相的硬件实现图Fig.2 Schematic diagram of absolute phase detecting for intermediate-frequency signal.
图3 高精度中频数字鉴相器的绝对相位鉴相结果Fig.3 Absolute phase discrimination result of intermediate-frequency signal.
鉴相结果显示,高精度中频数字鉴相器对3.71875 MHz中频信号进行绝对相位鉴相,以FPGA工作时钟为参考,鉴相得中频信号相位均值为127.443°,相位值稳定在 0.05°范围内,RMS值为0.0076°(2048 个样本)。
2.2 对中频信号进行相对相位鉴相
利用高精度中频数字鉴相器对中频信号进行相对相位鉴相的硬件实现原理图如图4所示。在图2基础上,由AD9520另外产生一路32分频的3.71875 MHz中频信号。两路由AD9520进行32分频的中频信号相位相反,两个信号各通过DC~5 MHz低通滤波器滤除高次谐波后,作为待鉴相信号。两路待鉴相信号分别由高速 ADC(AD9433)转换为位宽 12的数字信号,连入高精度中频数字鉴相器的输入端。FPGA的输出端口是位宽 14的相位差信号,利用SignalTap II逻辑分析仪获取相位差信号,将该信号送入MATLAB中换算为实际相位值(单位为“度”),该相位差信号也将由 DAC转换为模拟信号用作后续反馈控制信号。
图5为高精度中频数字鉴相器的相对相位鉴相结果。图中相位结果来自于SignalTap II采集到的高精度中频数字鉴相器输出的相位差数据。
鉴相结果显示,高精度中频数字鉴相器对两路相位相反、频率均为3.71875 MHz的中频信号进行相对相位鉴相,鉴相得两信号的相位差均值为183.792°,相位差的变化稳定在 0.1°范围内,RMS值为0.0287°(2048个样本)。
另外,两路输入中频信号相位相反,相位差理论值应为 180°,但鉴相得到的相位差均值为183.792°。这是由于 AD9520开发板对信号进行反相时的内部延时,以及两路信号经不同线缆到达FPGA引脚产生的不同延时共同引起的。对图4中FPGA部分进行时序仿真,输入确定相位差的两个激励信号,便可得到相同硬件实现前提下,该高精度中频数字鉴相器的鉴相仿真结果。编写Testbench激励文件对该实验中的高精度数字鉴相器进行时序仿真,激励文件中两路输入信号分别为(初始相位差为2 rad):
图6是时序仿真结果。输出相位差为 5214(十进制),换算为角度值(5214/213)π=1.9995 rad,高精度中频数字鉴相器的鉴相误差为 0.0005 rad=0.0286°,鉴相精度达 0.029°。
图4 对中频信号进行相对相位鉴相的硬件实现图Fig.4 Schematic diagram of relative phase detecting for intermediate-frequency signal.
图5 高精度中频数字鉴相器的相对相位鉴相结果Fig.5 Relative phase discrimination result of intermediate-frequency signal.
图6 高精度中频数字鉴相器的时序仿真结果Fig.6 Timing simulation result of high-precision intermediate-frequency digital phase detector.
3 高精度中频数字鉴相器的应用
自由电子激光大装置的飞秒同步系统由光纤稳相传输子系统和RF—激光同步子系统组成。前者的作用是实现从光纤激光器发出的激光与传送到各远端子系统的激光之间的同步,后者的作用是从脉冲激光串中提取出同步的RF信号。在两个系统的共同作用下,可实现自由电子激光装置中各个子系统的控制信号都同步于主激光器发出的激光。
飞秒同步系统中光纤稳相传输框图见图7。光纤激光器发出的脉冲激光串经光纤传输到远端后,部分激光被反射回来,对反射激光与光纤激光器的激光鉴相,将相位差信号作为基于电机的光纤延展器的控制信号,调节光纤长度以实现远端激光与发射激光的同步[1]。
图8为RF—激光同步系统框图。激光经光电二极管转换为电信号后,与VCO产生的RF信号鉴相,将相位差信号作为VCO的控制信号,调节VCO输出信号的频率,从而实现VCO输出的RF信号相位与激光相位同步。
图7 飞秒同步系统中光纤稳相传输框图Fig.7 Schematic diagram of stable fiber distribution in femtosecond synchronization system.
图8 RF—激光同步系统框图Fig.8 Diagram of RF-laser synchronous system.
由于光纤稳相传输系统与 RF—激光同步系统都将相位差作为反馈控制环路的核心控制信号,所以高精度中频数字鉴相器以其鉴相稳定、精度高的特点,在飞秒同步系统中具有重要的应用价值。在上海软X射线FEL实验装置中,激光脉冲长度为200 fs,RF信号频率为2.856 GHz,要求鉴相器的鉴相分辨率不大于0.1°、鉴相精度好于 0.1°,才能保证同步定时系统有效地工作。因此,本工作设计的高精度中频数字鉴相器满足上海软 X射线 FEL实验装置同步定时系统的要求。
4 结语
本工作实现了一种基于FPGA的高精度中频数字鉴相器,采用了数字I/Q技术以及CORDIC算法,并将其用于对实际中频信号鉴相实验中。实验结果表明,高精度中频数字鉴相器的鉴相精度达0.029°,对一路中频信号进行绝对相位鉴相,鉴相结果好于0.05°;对两路中频信号进行相对相位鉴相,鉴相结果好于0.1°。实验结果证明该高精度中频数字鉴相器能够满足飞秒同步系统的需求,并且较模拟鉴相器具有独特的优势。
1 Ferianis M.Timing and synchronization in large scale linear accelerators[C]. LINAC conference, Knoxville,Tennessee USA. 2006
2 刘祖平. 同步辐射光源物理引论[M]. 合肥: 中国科学技术大学出版社, 2009: 241–252 Liu Z P. Introduction on synchrotron radiation physics[M].Hefei: China Science and Technology University Press,2009: 241–252
3 Kim J, Ludwig F, Felber M,et al. Long-term stable microwave signal extraction from mode-locked lasers[J].Optics Express, 2007, 15(14): 8951–8959
4 Kim J, Ludwig F, Chen J,et al. Femtosecond synchronization and stabilization techniques[C].Proceedings of the 28th International Free Electron Laser Conference, BESSY, Berlin, Germany, 2006: 287–290
5 王芳. I/Q技术用于加速器鉴相的理论分析[R]. 内部报告. 中国科学院上海应用物理研究所, 2004 Wang F. Theory analysis of research for I/Q technique applied in accelerator phase detecting[R]. Inner Report.Shanghai Institute of Applied Physics, Chinese Academy Sciences, 2004
6 Meyer-Baese U. Digital signal processing with field programmable gate arrays[M]. Berlin: Springer Press,2007: 166–240
7 王亚春, 蔡德林, 张梦龙, 等. 流水线CORDIC算法的FPGA实现[J]. 通信技术, 2010, 43(11): 169–171 Wang Y C, Cai D L, Zhang M L,et al. Implementation of pipelined CORDIC based on FPGA[J]. Communications Technology, 2010, 43(11): 169–171
8 史学书, 陆海峰. 软件无线电系统中NCO的设计与实现[J]. 现代电子术, 2005, 28(15): 6–11 Shi X S, Lu H F. Design and implementation of NCO in software radio system[J]. Modern Electronics Technique,2005, 28(15): 6–11
9 史毅俊, 朱杰. CIC滤波器的优化设计及FPGA实现[J].电子测量技术, 2007, 30(03): 88–90 Shi J Y, Zhu J. Improved design of CIC filter and its implementation on FPGA[J]. Electronic Measurement Technology, 2007, 30(03): 88–90
10 严平, 汪学刚, 钱璐. 一种基于CORDIC算法的高速高精度数字鉴相器[J]. 电讯技术, 2008, 48(4): 76–79 Yan P, Wang X G, Qian L. A high-speed and high-accuracy digital phase demodulator based on CORDIC algorithm[J]. Telecommunication Engineering,2008, 48(4): 76–79