一种基于fpga的加噪信号同步时钟提取装置的制作方法

文档序号:409167阅读:576来源:国知局
专利名称:一种基于fpga的加噪信号同步时钟提取装置的制作方法
技术领域
本发明属于通信控制技术领域,涉及一种时钟信号提取技术,特别涉及一种基于 FPGA的加噪信号同步时钟提取装置。
背景技术
同步是通信系统中一个非常重要的实际问题。在通信系统中,同步具有相当重要的地位。通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步性。其中位同步,或称码元同步,是要在接收端确定每一个码元的起止时刻,实现对接收到的信息码元的正确判决。它是数字通信的诸多同步之中的首要问题,没有位同步信号,就在通信接收端无法正常恢复传输的数字编码信息。近年来,利用可编程逻辑器件相对于使用独立器件进行同步时钟信号的处理操作,在提高系统性能与集成度方面均有极大优势,同时,利用可编程逻辑器件能够针对应用需求进行系统设计,突破传统设计方式受器件限制较大的弊端。目前,提取位同步信号的方法有插入导频法和自同步法两种,而自同步法可分为滤波法和锁相法。(I)插入导频法为了得到码元同步的定时信号,首先要确定接收到的信息数据流中是否包含有位定时的频率分量。如果存在此分量,就可以利用滤波器从信息数据流中把位定时信息提取出来。若基带信号为随机的二进制不归零码序列,这种信号本身不包含位同步信号,为了获得位同步信号需在基带信号中插入位同步的导频信号,或者对该基带信号进行某种码型变换以得到位同步信息。插入导频法是在基带信号频谱的零点插入所需的导频信号,主要用于接收信号频谱中没有离散载频分量,或即使含有一定的载频分量,也很难从接收信号中分离出来的情况。插入导频法有单独的导频信号,一方面可以提取同步载波,另一方面可以利用它作为自动增益控制。但是,插入导频法中导频和信号间由于滤波不好而产生互相干扰,而且插入导频法要多消耗一部分不带信息的功率,降低信噪功率比。(2)自同步法当系统的位同步采用自同步方法时,发送端不专门发送导频信号,而直接从数字信号中提取位同步信号,这种方法在数字通信中经常采用,而自同步法具体又可分为滤波法和锁相法。a.滤波法根据基带信号的谱分析可以知道,对于不归零的随机二进制序列,不能直接从其中滤出位同步信号。但是,若对该信号进行某种变换,例如,变成单极性归零脉冲后,则该序列中就有f = 1/Tb的位同步信号分量,经一个窄带滤波器,可滤出此信号分量,再将它通过一个移相器调整相位后,就可以形成位同步脉冲。它的特点是先形成含有位同步信息的信号,再用滤波器将其滤出。而单极性归零边沿脉冲信号,由于其包含f = 1/Tb的位同步信号分量,一般作为提取位同步信号的中间变换过程。
b.锁相法把采用锁相环来提取位同步信号的方法称为锁相法。在数字通信中,这种锁相电路常采用数字锁相环来实现。锁相环是一个相位误差控制系统。它比较输入信号和振荡器输出信号之间的相位差,从而产生误差控制信号来调整振荡器的频率,以达到与输入信号同频率同相位。采用锁相法提取位同步,它由高稳定度振荡器(晶振)、分频器、相位比较器和控制电路组成。高稳定度振荡器产生的信号经整形电路变成周期性脉冲,然后经控制器再送入分频器,输出位同步边沿脉冲信号。输入相位基准与由高稳定振荡器产生的经过整形的η 次分频后的相位脉冲进行比较,由两者相位的超前或滞后,来确定扣除或附加一个脉冲,以调整位同步脉冲的相位。自同步法不需导频信号,因此信号功率可以大一些,以提高噪功率比。可以防止插入导频法中导频和信号间由于滤波不好而引起的互相干扰,也可以防止信道不理想引起导频相位的误差(在信号和导频范围引起不同的畸变)。但是,有些调制系统并不能使用自同步法,如SSB(单边带)系统。

发明内容
针对现有技术存在的不足,本发明提出一种基于FPGA的加噪信号同步时钟提取装置,以达到系统具有良好抗噪性、高速、高精确度的目的。一种基于FPGA的加噪信号同步时钟提取装置,包括AD采样电路,此外,还包括 FPGA,所述的FPGA中包括数据采集模块、FIR低通滤波模块、电平判决模块、边沿检测模块、 同频时钟生成模块和相位调整模块,所述的边沿检测模块包括第一边沿检测模块、第二边沿检测模块,其中AD采样电路用于将输入的模拟谐波信号转换为12位的数字信号,提供给FPGA 做下一步的处理。数据采集模块用于驱动AD采样电路进行采样,并将AD采集电路采集的数据读取到FPGA内,提供给FIR低通滤波模块;FIR低通滤波模块用于对数字信号进行滤波,去除其中的高频噪声,将信号提供给电平判决模块;电平判决模块用于将滤波之后的信号判决为O或I的二值数据,产生方波信号, 提供给边沿检测模块;第一边沿检测模块用于检测方波信号的上升沿和下降沿,产生边沿脉冲信号并提供给同频时钟生成模块、相位调整模块;同频时钟生成模块用于将FPGA的系统时钟信号分频,产生与方波信号的边沿脉冲信号同频率的时钟信号,提供给第二边沿检测模块;第二边沿检测模块用于检测同频时钟信号的上升沿,产生边沿脉冲信号并提供给相位调整模块;相位调整模块用于比较方波信号的边沿脉冲信号与同频时钟信号的边沿脉冲信号之间的相位差,根据相位差调整同频时钟信号相位,产生输出与方波信号的边沿脉冲信号同步的时钟信号。
所述的电平判决模块通过求取多个周期的滤波之后的信号幅度平均值得到判决电平,并采用滞回比较的方法比较滤波之后的信号和判决电平,从而产生跳变沿明显的方波信号。所述的边沿检测模块通过延时当前信号一个系统时钟周期得到延时信号,比较当前信号和延时信号是否相等,提取出信号边沿信息。所述的同频时钟生成模块在模块初始化时估算方波信号的边沿脉冲信号的频率, 生成与方波信号的边沿脉冲信号频率接近的时钟;在工作时,根据方波信号的边沿脉冲信号和生成时钟的频率关系,动态调整生成时钟的频率,使生成时钟的频率逐渐逼近方波信号的边沿脉冲信号的频率。所述的相位调整模块通过比较方波信号的边沿脉冲信号与同频时钟信号的边沿脉冲信号,判断其相位关系是超前、同相还是落后,并逐步调整同频时钟信号的相位使二者趋于同相位。本发明优点本发明的数据采集和处理均使用硬件实现,充分发挥了硬件加速的优势。在FPGA平台上,使用硬件编程语言进行编程,实现系统模块化。FIR低通滤波器模块和电平判决模块能有效的从有噪声的信道中恢复码元,相位调整模块采用逐步逼近的方法调节相位,当个别码元由于噪声产生较大畸变时,系统不会因此失去稳定,在实际应用中, 信道中的信噪比达到3 I。本发明能从其中正确提取同步时钟,并且系统具有良好抗噪性、高速、高精度的优点。


图I本发明一种实施例的系统总体构成示意图;图2本发明一种实施例使用的AD采样模块电路图;图3本发明一种实施例的系统程序框图;图4本发明一种实施例使用的数据采集模块图;图5本发明一种实施例使用的低通滤波模块图;图6本发明一种实施例使用的转置形式FIR结构图;图7本发明一种实施例使用的低通滤波器的幅频响应图;图8本发明一种实施例使用的电平判决模块顶层文件示意图;图9本发明一种实施例使用的实现电平判决模块的程序流程图;图10本发明一种实施例使用的边沿检测模块顶层文件示意图;图11本发明一种实施例使用的实现边沿检测模块的程序流程图;图12本发明一种实施例使用的边沿检测模块的逻辑原理图;图13本发明一种实施例使用的同频时钟生成模块顶层文件示意图;图14本发明一种实施例使用的实现同频时钟生成模块的程序流程图;图15本发明一种实施例使用的实现同频时钟生成模块功能的状态转换图;图16本发明一种实施例使用的相位调整模块顶层文件示意图;图17本发明一种实施例使用的相位调整模块的原理框图;图18本发明一种实施例使用的实现相位调整模块的程序流程图;图19本发明一种实施例使用的实现相位调整模块的状态转换图。
具体实施例方式下面结合附图对本发明的内容作进一步描述。本系统的总体构成示意图如图I所示,其中包括AD采样电路和FPGA。本发明实施例采用的FPGA芯片是Altera公司的Cyclone系列的EP1C12Q240C6,所述的FPGA中包括实现的数据采集模块、FIR低通滤波模块、电平判决模块、边沿检测模块、同频时钟生成模块和相位调整模块。其中AD采样电路的数据输出引脚与FPGA的I/O 口相连,FPGA内部的模块在Quartus II环境下通过Verilog HDL硬件描述语言生成,并实现模块间的数据连接,其信号传递过程为AD采样电路的采集数据输出给FPGA,FPGA中的数据采集模块将AD采样电路传递的信号输出给FIR低通滤波模块,FIR低通滤波模块将滤波后的信号传递给电平判决模块,电平判决模块将产生的方波信号传递给第一边沿检测模块,第一边沿检测模块将输出的方波信号边沿脉冲信号分别传递给同频时钟生成模块和相位调整模块,同频时钟生成模块将同频时钟信号传递给第二边沿检测模块,第二边沿检测模块将同频时钟信号的边沿脉冲信号传递给相位调整模块。本发明实施例采用的AD采样芯片选用了 ADI公司的AD9224ARS,电路原理如图2 所示。AD9224ARS带有片上高性能采样保持器和参考电压,采用多级差动流水线式结构,对输出错误进行逻辑纠正,以保证在40Msps采样速率下获得精确的12位数据,满足系统对精度和采样速率的要求。AD9224ARS芯片采用+5V单电源供电,可以处理±5V范围内的双极性输入信号输入。AD9224ARS采用单一的时钟信号来控制芯片内部所有的转换,A/D转换是在时钟上升沿完成的,采样时钟为高电平时,为保持时间,采样时钟为低电平时,输入端 VINA和VINB处于采样模式。在本发明实施例中,AD9224ARS的时钟输入AD1_CLK为40MHz。 AD9224ARS具有高度灵活的输入结构,可以方便地连接单端或者差分输入信号。采用单端输入时,输入端VINA可以通过直流或交流的方式与输入信号耦合,输入端VINB要偏置到合适的电压;米用差分输入时,输入端VINA和输入端VINB要由输入信号同时驱动。在本发明的实施例中,采用差分输入,输入端VINA和输入端VINB都由模拟输入信号来驱动。系统的程序总体程序框图如图3所示,结合图3进一步描述实施例中的逻辑电路模块的工作原理本实施例中的数据采集模块主要完成对芯片AD9224ARS的驱动,并将采样数据读到片内,提供给下一级的FIR低通滤波模块。数据采集模块的顶层设计文件如图4所示, AD9224ARS芯片的输入时钟引脚AD1_CLK与数据采集模块的输出时钟引脚ad_clk相连, 数据采集模块的数据输出端data[ll. . O]与FIR低通滤波模块的数据输入端ast_sink_ data[ll. . O]相连接。本实施例中的数据采集模块的时钟输入端elk输入为100MHz,该模块通过使用 Quartus II软件开发工具MegaWizard Plug直接配置PLL (锁相环),使之产生40MHz的时钟信号ad_clk,作为采样时钟输出给AD9224ARS的输入时钟引脚AD1_CLK。由系统时钟触发,读取与AD9224ARS数据输出引脚相连的I/O 口,将读到的数据与下一级的FIR(有限冲激响应)低通滤波模块的数据输入接口相连。本实施例中的FIR低通滤波模块用于生成一个150阶的FIR低通滤波器,用于滤除信号中的高频噪声,FIR低通滤波模块的顶层文件如图5所示。数据采集模块的数据输出端data[ll. . O]与FIR低通滤波模块的数据输入端ast_sink_data[ll. . O]相连接。FIR低通滤波器,即有限冲激响应滤波器。一个N阶FIR可以用持续时间有限的冲激响应来定义h[k] = {h0, Ii1,…,hN_J (I)式中,h[k]为单位冲激响应,系数IhJ被称为滤波器的抽头权重,其中,i = 0,. . .,N-1,对输入时间序列|x[k]},N阶FIR滤波器的响应可以用离散线性卷积来表示
N-Iy[k] = h0x[k] + l\x[k-I] + ... + hN_xx[k-TV-I] = ^hmx[k -m](2)
w=0式中y[k]为时间序列和冲激响应的卷积。可将上式表达为如下的传递函数H {z) = YuHlZ^1(3)
i=0式中H(z)为系统函数,z为变量。本实施例中的FIR低通滤波器采用硬件解决方案,使用FPGA来实现,采用转置形式的FIR。转置形式FIR是一种基本FIR形式,其结构如图6所示。在本实施例中,FIR低通滤波模块是使用Quartus II软件开发工具MegaWizard Plug来实现的,窗函数选取Blackman窗。FIR低通滤波器的截止频率选择在IMHz,频率高于IMHz的信号将视为高频噪声。由于AD9224ARS芯片输入的采样时钟为40MHz,数据采集模块的数据输出端data[ll. . O]与FIR低通滤波模块的数据输入端ast_sink_data[ll. . O] 相连接,所以,配置FIR低通滤波器的采样时钟为40MHz。由于AD9224ARS芯片采用流水线结构,流水线的级数就是所选取的阶数,所以选取的阶数越大,所占用的FPGA的资源就越多。为了保证FIR低通滤波器滤波性能和占用FPGA资源的平衡,在本发明实施例中,FIR低通滤波器的阶数选取为150,转换过程有150个时钟的延时。所生成的150阶,IMHz截止频率的FIR数字低通滤波器的频率响应如图7所示。将滤波之后的数据提供给下一级的电平判决模块,做进一步的处理,FIR低通滤波模块的数据输出ast_source_data[31. .20]与电平判决模块的数据输入data[ll. . O]相连接。本实施例中的电平判决模块用于将输入信号转换为规整的方波信号,即将输入信号判决为O或I的二值数据。其顶层文件如图8所示。实现电平判决模块的程序流程图如图9所示。将FIR低通滤波模块的数据输出端ast_source_data[31. . 20]与电平判决模块的数据输入端data[ll. . O]相连接。电平判决模块分为两个部分判决门限的生成和信号的判决。判决门限的生成部分用于产生判决输入信号的门限,此部分采用求取信号幅度平均值的方法。定义一个17位的计数器count和一个30位的累加器accum,由系统时钟,计数器count从O开始,对系统时钟的上升沿计数。同时,累加器accum不断地对FIR滤波器模块出来的数据进行累加。本实施例中计数器的取值为65536,当计数器到达65536时,将累加器accum中的值除以计数器count的值,所得的结果即为输出的信号幅度平均值。在下个时钟周期,将计数器count和累加器accum中的值清零,重新计算输入信号幅度的平均值。所输出的信号幅度平均值即为输入信号的判决门限。信号的判决部分用于比较输入信号与判决门限,将输入信号判决为O或I的二值
7数据。本实施例此部分主要采用滞回比较的方法,这种方法可以有效的避免信号在判决门限处上下小幅度振荡导致的判决错误。具体实现的方法是将输入信号和判决门限作为比较器的两个输入端。首先,需要选取比较器的滞回宽度,在本实施例中,将比较器的滞回宽度定为20。当比较器输出低电平,且输入信号幅值大于判决门限加上滞回宽度的二分之一时,比较器输出高电平;当比较器输出高电平,且输入信号幅值小于判决门限减去滞回宽度的二分之一时,比较器输出低电平。所输出的O或I的二值数据,就是所需要的规整的方波信号。最后,将比较器输出的结果输出给下一级第一边沿检测模块。本实施例中包括两个边沿检测模块,第一边沿检测模块主要是负责检测出输入方波信号的上升沿和下降沿,输出方波信号的边沿脉冲信号,其顶层文件如图10所示,将电平判决模块的数据输出端square_wave与第一边沿检测模块的数据输入端square_wave相连接。实现第一边沿检测模块的程序流程图如图11所示,第一边沿检测模块的逻辑原理图如图12所示。具体的实现方法是首先,第一边沿检测模块由系统时钟触发,信号通过第一边沿检测模块内部第一 D触发器的D端输入,将输入信号延时一个时钟周期,然后,再比较输入信号与延时之后的信号是否相等,若两信号不相等,则代表此时输入信号发生跳变,表明是输入信号的边沿,输出高电平给第二 D触发器的D端;若两信号相等,则代表此时输入信号没有发生跳变,不是输入信号的边沿,输出低电平给第二 D触发器的D端。第二 D触发器的输出即边沿检测模块的输出就是输入方波信号的边沿脉冲信号。将输出的边沿脉冲信号,提供给下一级的同频时钟生成模块。同频时钟生成模块用于根据所检测出的边沿脉冲信号,生成与方波信号的边沿脉冲信号频率相同的时钟信号,其顶层文件如图13所示。第一边沿检测模块的数据输出端 edge_signal与同频时钟生成模块的数据输入端edge_signal相连接,同频时钟生成模块的数据输出端same_freq_clock与第二边沿检测模块的数据输入端square_wave相连接。 在输入的边沿脉冲信号中,找出最小的相邻脉冲间隔,即可获得所求的同频时钟信号。但是,由于边沿脉冲信号相邻脉冲时间间隔的长短不同,并且为了防止由于噪声而产生的畸变信号的影响,所以本实施例中找出1024个较小的时间间隔,用求取平均值的方法来求得所要生成时钟的周期,进而获得所要生成时钟信号的频率。具体实现同频时钟生成模块的程序流程图如图14所示。具体方法为首先,本实施例中获取9个最小相邻脉冲时间间隔, 并将其以从小到大的顺序排列,其中最大的时间间隔取值作为所需的较小时间间隔,定义为clk_count_min9,将该较小时间间隔乘以I. 5(以避免因为噪声而产生毛刺影响),所得出的值将作为较小时间间隔判决的门限。之后,找出1024个小于判决门限的相邻脉冲时间间隔,并求出其平均值,即可得出所要生成的时钟信号频率。本实施例使用系统时钟的个数来表征相邻脉冲的时间间隔。在本实施例中,使用有限状态机来实现同频时钟生成模块的功能。共有三个状态,第一个状态INIT是所有信号的初始化,第二个状态GEN_THRESH0LD是找出判决门限, 第三个状态GEN_INTERVAL是累加较小时间间隔,并求其平均值。具体的状态转换图如图 15所示。具体的实现方法是首先,定义脉冲计数器为Sig_count,系统时钟计数器为clk_ count,时间间隔累加器为accum。复位时,将所有的信号赋值为O。在第一个状态INIT中, 初始化所有信号为0,当输入的边沿脉冲信号edge_Signal为高电平时,状态机进入第二个状态GEN_THRESH0LD。在第二个状态GEN_THRESH0LD中,当边沿脉冲信号为高电平时,脉冲计数器sig_count加I,如果脉冲计数器sig_count等于1024,则将脉冲计数器sig_count 清零,并进入第三个状态;如果脉冲计数器Sig_count小于1024,则将系统时钟计数器clk_ count加I,并比较出9个最小相邻脉冲时间间隔中最大的时间间隔,即为最大的系统时钟计数器clk_count值,并将此值赋值给clk_count_min9。将clk_count_min9乘以I. 5,所得的值作为较小相邻脉冲时间间隔的判决门限。在第三个状态GEN_INTERVAL中,比较系统时钟计数器clk_count中的值与判决门限的大小。当输入的边沿脉冲信号为高电平时,如果系统时钟计数器clk_count小于等于判决门限,且clk_count大于等于clk_count_min9, 则脉冲计数器sig_count加I,且时间间隔累加器accum加上系统时钟计数器clk_count中的值,否则进入状态INIT。当输入的脉冲信号为低电平时,系统时钟计数器clk_c0unt加 1,如果脉冲计数器sig_count等于1024时,进入状态INIT,且将时间间隔累加器accum除以1024,所得出的时间间隔平均值赋值给count。根据所得到平均值count,即可获得与输入信号相同频率的时钟信号。将输出的同频时钟信号输出给下一级的第二边沿检测模块, 生成同频时钟信号的边沿脉冲信号。本实施例中相位调整模块用于生成与输入信号相同相位的时钟信号,采用逐步逼近的方法调节相位。其顶层文件如图16所示。第一边沿检测模块的数据输出端edge_ signal与相位调整模块的数据输入端edge_signal相连接,第二边沿检测模块的数据输出端edge_signal与相位调整模块的数据输入端same_freq_clock相连接。此模块通过比较从第二边沿检测模块输出的同频时钟信号的边沿脉冲信号与从第一边沿检测模块输出的边沿脉冲信号,根据相位差选择添加脉冲控制或扣除脉冲控制,使二者趋于同相位。相位调整模块的原理框图如图17所示。实现相位调整模块的具体程序流程图如图18所示。相位调整模块具体的实现方法是首先,使用第二边沿检测模块检测出输入的同频时钟信号的上升沿,比较方波信号边沿产生的边沿脉冲信号与同频时钟信号上升沿产成的边沿脉冲信号的脉冲位置,比较的结果有三种超前、同相和落后。当方波信号的边沿脉冲信号为高电平时,判断同频时钟信号的上升沿边沿脉冲信号是否为高电平,若为高电平, 则说明二者的关系为同相;若为低电平,则说明二者的关系为超前或落后。本实施例例通过判断方波信号的边沿脉冲信号与同频时钟信号的边沿脉冲信号之间的距离来确定是超前还是落后,若距离大于同频时钟脉冲间隔的二分之一,则说明是超前,若小于,则说明是落后。最后,根据其相位差,扣除或添加系统时钟的脉冲控制,使同频时钟和方波信号同相位。 在这里,依然使用系统时钟的个数来表征相邻脉冲的时间间隔。定义方波信号边沿产生的边沿脉冲信号为edge_Signal,同频时钟信号上升沿产成的边沿脉冲信号为edge_clk。相位调整模块使用有限状态机来实现比较edge_signal与 edge_clk的相位关系,共有三种状态,第一个状态SO是将所有信号初始化,第二个状态SI 是比较edge_signal和edge_clk相位关系是否相等,第三个状态S2是确定两者的相位关系是超前还是落后。其状态转换图如图19所示。复位时,将edge_signal与edge_clk的相位关系复位为同相位,即将equal (同相)赋值为I, early (超前)和Iate (落后)赋值为
O。同时,进入第一个状态S0。在第一个状态SO中,将所有信号初始化为0,将edge_Signal 与edge_clk的相位关系初始化为同相位,当edge_signal为高电平时,进入第二个状态SI。 在第二个状态SI中,判断edge_signal与edge_clk的相位关系是否为同相。首先,将方波信号边沿脉冲信号与相邻的同频时钟信号上升沿脉冲信号之间的时间间隔edge_Count赋值为O。当edge_signal为高电平时,如果edge_clk为高电平,则说明两者同相,即将equal 赋值为I,early和Iate赋值为0,否则进入第三个状态S2。在第三个状态S2中,判断edge_ signal与edge_clk的相位关系是超前还是落后。首先,将edge_count加I,当edge_clk为高电平时,如果edge_count大于同频时钟信号相邻脉冲间隔的二分之一,则说明两者的相位关系为超前,即将early赋值为I, equal和Iate赋值为O ;若edge_count小于同频时钟信号相邻脉冲间隔的二分之一,则说明两者的相位关系为落后,即将late赋值为1,equal 和early赋值为O,同时,进入第一个状态S0。确定edge_signal与edge_clk的相位关系之后,根据其相位差,扣除或添加系统时钟的单位脉冲控制,使同频时钟和方波信号趋于同相位。由系统时钟触发,当early等于 I时,将同频时钟信号相邻脉冲间隔ref_count乘以2,再加上I,所得到的结果赋值给max_ count, max_count就是所要生成的同频同相位时钟的周期。在这里,因为ref_count是同频时钟信号边沿产生的边沿脉冲信号的相邻脉冲时间间隔,是同频时钟信号的半个周期, 所以需要乘以2,得到一个周期。同理,当equal等于I时,将同频时钟信号相邻脉冲间隔 ref_count乘以2,所得的结果赋值给max_count。当Iate等于I时,将同频时钟信号相邻脉冲间隔ref_count乘以2,再减去1,所得的结果赋值给max_count。所得出的max_count 就是需要求得的同频同相位的时钟信号周期。根据周期maX_COunt,生成所要求得的同频同相位的时钟信号。定义一个系统时钟计数器ref_clk_count,由系统时钟触发,复位时,将所有信号赋值为O。如果系统时钟计数器ref_clk_count等于同频时钟信号相邻脉冲间隔ref_count,则将ref_clk_count加I, 并输出I,将输出的值赋值给clk_out。如果系统时钟计数器ref_clk_count的值大于等于 max_count减I的值,则将ref_clk_count计数器清零,并输出O,将输出的值赋值给clk_ out,否则,系统时钟计数器ref_clk_c0unt将不断加I。所得出的clk_out就是所要求得的同频同相位的时钟信号。最后,将输出的时钟信号clk_out锁在FPGA的I/O引脚上,使用示波器来验证所产生时钟信号的相位与频率,以及噪声对信号的影响。系统测试本发明实施例中选用曼彻斯特发生器作为信号源,加入高频伪随机噪声。实验的目的是测试系统的准确性。这里主要测试了 2组信号,信噪比为3 1,每组信号测试了 5 次,然后求取平均值作为最后的测试结果,测试结果如表I所示。表I同步时钟频率测试结果
权利要求
1.一种基于FPGA的加噪信号同步时钟提取装置,包括AD采样电路,其特征在于还包括FPGA,所述的FPGA中包括数据采集模块、FIR低通滤波模块、电平判决模块、边沿检测模块、同频时钟生成模块和相位调整模块,所述的边沿检测模块包括第一边沿检测模块、第二边沿检测模块,其中数据采集模块用于驱动AD采样电路进行采样,并将AD采集电路采集的数据读取到 FPGA内,提供给FIR低通滤波模块;FIR低通滤波模块用于对数字信号进行滤波,去除其中的高频噪声,将信号提供给电平判决模块;电平判决模块用于将滤波之后的信号判决为O或I的二值数据,产生方波信号,提供给边沿检测模块;第一边沿检测模块用于检测方波信号的上升沿和下降沿,产生边沿脉冲信号并提供给同频时钟生成模块、相位调整模块;同频时钟生成模块用于将FPGA的系统时钟信号分频,产生与方波信号的边沿脉冲信号同频率的时钟信号,提供给第二边沿检测模块;第二边沿检测模块用于检测同频时钟信号的上升沿,产生边沿脉冲信号并提供给相位调整模块;相位调整模块用于比较方波信号的边沿脉冲信号与同频时钟信号的边沿脉冲信号之间的相位差,根据相位差调整同频时钟信号相位,产生输出与方波信号的边沿脉冲信号同步的时钟信号。
2.根据权利要求I所述的基于FPGA的加噪信号同步时钟提取装置,其特征在于所述的电平判决模块通过求取多个周期的滤波之后的信号幅度平均值得到判决电平,并采用滞回比较的方法比较滤波之后的信号和判决电平,从而产生跳变沿明显的方波信号。
3.根据权利要求I所述的基于FPGA的加噪信号同步时钟提取装置,其特征在于所述的边沿检测模块通过延时当前信号一个系统时钟周期得到延时信号,比较当前信号和延时信号是否相等,提取出信号边沿信息。
4.根据权利要求I所述的基于FPGA的加噪信号同步时钟提取装置,其特征在于所述的同频时钟生成模块在模块初始化时估算方波信号的边沿脉冲信号的频率,生成与方波信号的边沿脉冲信号频率接近的时钟;在工作时,根据方波信号的边沿脉冲信号和生成时钟的频率关系,动态调整生成时钟的频率,使生成时钟的频率逐渐逼近方波信号的边沿脉冲信号的频率。
5.根据权利要求I所述的基于FPGA的加噪信号同步时钟提取装置,其特征在于所述相位调整模块通过比较方波信号边沿脉冲信号与同频时钟信号的边沿脉冲信号,判断其相位关系是超前、同相还是落后,并逐步调整同频时钟信号的相位使二者趋于同相位。
全文摘要
一种基于FPGA的加噪信号同步时钟提取装置,属于通信控制领域。加噪信号同步时钟提取装置包括AD采样电路,包括在FPGA中实现的数据采集模块、FIR低通滤波模块、电平判决模块、边缘检测模块、同频时钟生成模块和相位调整模块,本发明的数据采集和处理均使用硬件实现,充分发挥了硬件加速的优势;在FPGA平台上,使用verilog语言进行编程,实现系统的模块化,设计150阶FIR低通滤波器,对滤波后的信号检测上升下降沿,得到同步信号的周期,再通过同步相位,完成同步信号的提取,实现系统具有良好抗噪性、高速、高精确度的优点。
文档编号H03L7/18GK102611447SQ201210081140
公开日2012年7月25日 申请日期2012年3月26日 优先权日2012年3月26日
发明者李晶皎, 李欣, 王泽坤 申请人:东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1