一种相位连续的任意波信号对数扫频信号的产生方法与流程

文档序号:19729235发布日期:2020-01-18 03:45阅读:915来源:国知局
一种相位连续的任意波信号对数扫频信号的产生方法与流程

本发明涉及对数扫频信号的产生,可用于测量仪器领域,适用于高精度的对数扫频信号的信号发生器,主要是一种相位连续的任意波信号对数扫频信号的产生方法。



背景技术:

目前的信号产生设计中,一般都利用固定时钟通过mcu不断控制直接频率合成芯片(dds)来产生对数扫频信号,对数扫频信号有一定的步长,相位不连续,精度较差。还有的方法是通过上位机的运算产生大量的数据,通过dac来完成频率的对数扫描,这样很难达到很高频率。随着用户要求的提高,要产生宽频带、高精度的对数扫描频率信号时,单靠这些方法就有些难度。根据专利检索及公开的资料表明,要实现宽频带的参数可设置的相位连续的高精度的频率对数扫频信号,还没有便捷的实现方法。



技术实现要素:

本发明的目的在于克服现有技术存在的不足,而提供一种相位连续的任意波信号对数扫频信号的产生方法,能够通过相位控制的方法,利用较少的资源来实现连续相位的对数扫频信号,可以设置起始频率、扫描时间、结束频率、扫描次数、扫描触发条件等等参数。

本发明的目的是通过如下技术方案来完成的。一种相位连续的任意波信号对数扫频信号的产生方法,该方法步骤为:将用户设置的扫描时间根据起始频率、结束频率转化为若干个时间段,在每个时间段内,根据波形数据的长度产生扫描进度,产生采样步长的时钟信号;当用户的扫描触发条件满足时,相位控制逻辑将采样步长时钟不断读取相位调理模块的步长控制字通过乘法器产生相应的信号相位调节字,信号相位调节字在累加器中产生信号的寻址地址,并按该寻址地址读取波形存储器中的波形数据,波形信号按扫描进度的频率产生对数扫频信号。

作为优选,所述的波形存储器用于存储扫描波的单周期波形数据,当存储的波形是正弦时,将产生正弦信号的频率对数扫频信号;当存储的波形是用户自定义的任意波形时,将产生任意波形的频率对数扫频信号。

作为优选,所述的寻址地址在单周期内产生。

作为优选,所述的波形信号按扫描进度的频率发送给dac模数转换器,将波形数据的数字形式转化为模拟信号,从而产生对数扫频信号;或者所述的波形信号按扫描进度的频率发送给信号比较器用于产生数字脉冲信号。

更进一步的,信号的产生需要根据上位机的设置命令,命令解释逻辑将上位机的命令进行分解并送达各个功能模块,按照命令参数中的扫描时间和扫描频率跨度来准确分频得到步长的读数频率时钟,通过该时钟读取当前的频率步长参数,通过乘法器与初始化后的乘法因子相乘得到实际的当前的频率步长系数,通过小数部分的补偿,得到精确的产生信号的相位步长,在寻址地址产生累加器c中根据初始相位,以及精确的相位步长得到波形数据存储器的读数地址,按照该地址读出的波形数据通过dac模数转换器后就可以得到所需的信号。

更进一步的,本发明通过瞬态频率监测控制模块实时地给出目前对数扫描的当前频率,用于对用户设置的中间触发频率的检测以及扫描结束频率的判断;通过补偿累加器a对扫描过程中小数分频信息的补偿,通过相位累加器b产生当前频率信号的相位步长,通过寻址地址产生累加器c将初始相位值与当前的相位步长进行累加,结果再与当前的相位步长不断的累加,从而不断产生波形存储器的寻址地址。

更进一步的,本发明通过扫描步长存储器存储对数扫描的一个10倍频程的相位步长信息,通过采样频率发生器将高频的工作时钟按用户设定的扫描频率跨度及扫描时间来产生精确的扫频信号的步长读取时钟;扫描相位控制器完成将步长信息转化为地址寻址信息,利用它产生的寻址地址去读取波形存储器的波形数据。

本发明的有益效果为:本发明可以极大减少扫描信号产生的硬件需求,增加信号产生的可控性和精度。在整个的对数扫频信号的产生过程中,不需要上位机来控制,寻址地址可以在单周期内产生,因而频带可以较宽,而且稳定性、可靠性强。在信号源的设备升级中,该功能可以便捷地移植。通过本方法,成功产生了信号频率在1uhz~50mhz之间,扫描时间0.1ms~40000秒之间可任意可设置的对数扫频信号。

附图说明

图1为本发明的扫频信号实现硬件框图。

图2为扫频控制方法的功能框图。

图3为扫描相位控制器功能框图。

具体实施方式

下面将结合附图对本发明做详细的介绍:

本发明的需要的资源为:外围的波形数据存储器、dac数模转换器、相位调理模块(fpga中实现)、可调频率信号源,就可以实现对数扫频信号。利用本方法当波形数据存储器单元中存储的波形是正弦时,将产生正弦信号的对数扫频信号;当波形存储器单元中存储的波形是用户自定义的任意波形时,将产生任意波形的对数扫频信号。

实现原理:利用接收的用户指令(如起始频率、扫描时间、结束频率、扫描次数、扫描触发条件等),将用户设置的扫描时间根据起始频率、结束频率转化为等分若干个等长时间段,在每个时间段内,根据波形数据的长度产生扫描进度,产生采样步长的时钟信号,当用户的扫描触发条件满足时,相位控制逻辑将采样步长时钟不断读取相位调理模块的步长控制字通过乘法器产生相应的信号相位调节字,相位调节字在累加器中产生信号的寻址地址,并按该寻址地址读取波形存储器中的波形数据,波形信号按扫描进度的频率送给dac模数转换电路来实现对数扫频信号的产生。

图1说明了在频率对数扫频信号实现中的硬件框图。上位机的命令可以通过任何接口形式接入。参考时钟为产生扫频信号的基础时钟。波形数据存储器用于存储扫描波的单周期波形数据,可以预存正弦信号,或由用户加载用户自定义的波形数据。dac模数转换器为高速的dac转换器,用于将波形数据的数字形式转化为模拟信号或采用信号比较器用于产生数字脉冲信号。

图2说明了扫频相位控制方法的具体产生框图。命令解释逻辑则将上位机的命令转送给对应的功能模块。扫描步长存储器为rom存储单元,存储对数扫描的一个10倍频程的相位步长信息。采样频率发生器将高频的工作时钟按用户设定的扫描频率跨度及扫描时间来产生精确的扫频信号的步长读取时钟。扫描相位控制器用于完成将步长信息转化为地址寻址信息的控制电路,利用它产生的寻址地址去读取波形存储器的波形数据。pll电路将低频的参考时钟通过pll电路倍频产生高频的工作时钟。

图3以48bit步长为例说明了扫描相位控制器内部要完成的功能模块框图,其中瞬态频率监测控制模块可以实时地给出目前对数扫描的当前频率,可以用于对用户设置的中间触发频率的检测以及扫描结束频率的判断;补偿累加器(a):用于对扫描过程中小数分频信息的补偿,可以使扫描频率精度更高以及使起始频率更低。相位累加器(b):用于产生当前频率信号的相位步长;寻址地址产生累加器(c):将初始相位值与当前的相位步长进行累加,结果再与当前的相位步长不断的累加,从而不断产生波形存储器的寻址地址。

1)硬件要求:

需要图1所示的硬件设计,本方法可以采用各类容量足够的fpga,本例以altera公司的ep2c5来实现。也可以选用具有相同功能的其他的器件。

2)信号产生流程

信号的产生需要根据用户(上位机)的设置命令,命令解释逻辑可以将上位机的命令进行分解并送达各个功能模块,图2所示的是对数扫描功能模块的实现框图,按照命令参数中的扫描时间和扫描频率跨度来准确分频得到步长的读数频率时钟,通过该时钟读取当前的频率步长参数,通过乘法器与初始化后的乘法因子相乘得到实际的当前的频率步长系数,通过小数部分的补偿,得到精确的产生信号的相位步长,在寻址地址产生累加器(c)中根据初始相位,以及精确的相位步长就可以得到波形数据存储器的读数地址,按照该地址读出的波形数据通过dac后就可以得到所需的信号。在整个过程中,由于步长参数是随着对数函数步长进行连续变化的,因此相位步长也是按照对数函数变化,所以产生信号的频率也就按照对数函数进行连续变化。

3)对数扫频信号的步长

根据对数扫频信号的特点,每10倍频程所用的扫描时间相同,因此步长参数可以只需要取一个固定点数的10倍频程的步长(参数以log10x形式产生),其他倍频程步长参数可以在此基础上乘以10的倍数即可。在本方法中,每10倍频程采用1024个扫描点,步长参数具体计算如下:

log_tmp=65536(1)

for(i=1;i<1025;i++)

将计算结果log_dat都转化为十六进制数,将这些结果作为扫描步长存储器(rom)中的初始值。

4)步长参数读取频率的产生

当对数扫频信号的启动触发条件满足时,根据扫描时间以及频率扫描的跨度来计算读步长参数的频率,具体计算方法如下:

d=log(fend/fbeg)/log(10)(2)

fs=d*1024/ts(3)

式中:d:为开始频率(fbeg)与结束频率(fend)间的10倍频程数;

fs:为读步长的读数频率;

ts:为一次对数扫描的时间;

因此,fpga要通过高频的工作频率分频产生一个精确的步长读数频率fs。产生过程如下:

r=fs/fw(4)

式中:fs为读步长的读数频率;

fw:fpga的工作频率;

r:分频系数;

r为小数,为了使扫描的时间有足够长以及分频精度足够高,本方法中将分频系数扩展m位,以36位为例,即n=r*236,然后将使用一个36位的累加器按每个工作时钟将n进行累加,当该累加器有进位时,进位信息就代表了步长参数读取频率时钟。

5)扫描初始化:

当所有的扫描参数都已经被fpga接收后,对数扫描功能模块开始初始化功能模块,主要是完成起始扫描步长的乘法因子。该乘法因子是用于与步长参数相乘,其结果为对数扫描的真实步长。

初始化过程:乘法因子取36bit长度的十六进制数,初始值取1。模块以工作频率读取步长参数,将读取的参数与乘法因子相乘,其结果与对数扫描的起始频率作比较,判断其结果是否达到或刚刚大于起始频率的一个采样点的频率增加值(即起始频率的0.00225倍),当不能满足要求时,模块取下一个步长参数值,同样进行比较,直到1024点都读取完,如果还不能达到频率增加值要求,则乘法因子放大10倍,再从步长参数的第一个值开始比较,如此反复,直到满足判断条件为止。记录下此时的乘法因子及参数地址。并将读数时钟转为步长参数读取频率时钟。

6)对数扫描实现:

本功能模块初始化结束后,等待扫描开始的触发信息,当接收到开始扫描的触发信息后,功能模块开始产生起始频率信号,同时按照前面已经产生的步长参数读取频率读取步长参数,读步长参数的起始地址为初始化结束时的地址,读取得结果与初始化结束后的乘法因子相乘,结果的低16位在补偿累加器(a)中进行循环累加,累加的进位位送给相位累加器(b)进行补偿;结果的高16位在相位累加器(b)与起始频率的整数部分进行累加,累加结果为当前频率的相位步长。寻址地址产生累加器(c)的初始值是命令设置的信号初始相位,按照工作频率(200mhz)不断地与当前频率相位步长相加,产生的结果就是波形数据存储器的寻址地址。当扫描步长存储器完成一次读数后,读取步长参数的地址加1,当读取步长参数的地址满1024后,地址将变为0,此时乘法因子放大10倍。继续进行以上步骤,同时瞬态频率监测控制逻辑在实时监测当前的信号输出频率,当监测到当前的信号输出频率到达结束频率时,结束本次对数扫描,根据用户设置进行下一次的频率扫描或等待下一次的触发信息。

7)瞬态频率监测控制

瞬态频率监测控制逻辑由两个加法器组成,一个加法器完成起始频率的整数部分与当前步长值的高16位的相加,另一个加法器完成起始频率的小数部分与当前步长值的中间16位的相加,两个加法器的结果就就可以组合成当前信号的频率值。

可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1