脉冲信号产生方法及装置与流程

文档序号:16847326发布日期:2019-02-12 22:25阅读:616来源:国知局
脉冲信号产生方法及装置与流程

本发明涉及脉冲产生技术领域,尤其涉及一种基于有理数信号分频或倍频的脉冲信号产生方法及装置。



背景技术:

目前成熟的分数分频技术包括dds和交叉分频法;其中dds主要有一下几部分组成:相位累加器、ram数据读取、d/a转换器和低通滤波器;dds有固定模块,输入频率控制器和输出固定频率的波形;其中该主要模块为相位累加器,通过相位累计器循环计数,循环读取ram的数据,从而得到固定频率的波形数据。

但根据公式,fmin=fc×k/n=50m×1/232≈0.011655hz,可知dds的缺点是分频输出频率是进步的,不是所有在某个区域内的分数频率都可以分出来的,这样导致某个需要的频率可能分不出,智能很接近,随着时间的增长,实际脉冲数量和理论值偏差会越来越大。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种基于有理数信号分频或倍频的脉冲信号产生方法及装置,保障能够完成分数或者整数的分频或倍频,在分频输出的脉冲信号能够得到准确的分数或者整数的倍数。

为了解决上述技术问题,本发明实施例提供了一种基于有理数信号分频或倍频的脉冲信号产生方法,所述方法包括:

获取在运算周期t内接收的输入脉冲的总个数m;

接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数;

对所述余数与原有余数进行累加,获取累加结果;

根据累加结果和所述脉冲个数n,设置输出脉冲个数k;

根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp;

根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号。

可选的,所述脉冲个数比值r为输入脉冲个数与输出脉冲个数的比值,当r>1时,产生的脉冲信号为分频,当0<r<1时,产生的脉冲信号为倍频,当r=0时,产生的脉冲信号为不分频。

可选的,所述获取在运算周期t内接收的输入脉冲的总个数m,包括:

统计在运算周期t内接收的输入脉冲个数,获取在运算周期t内接收的输入脉冲的总个数m;

其中,所述运算周期t为锁存数据间隔时间,即每个一个运算周期t,所述计数器计数出入脉冲个数m锁存并输出。

可选的,所述接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数,包括:

接收脉冲个数比值r和所述总个数m;

采用所述总个数m除以所述脉冲个数比值r,获取脉冲个数n和余数;

其中,所述脉冲个数n为整数。

可选的,所述根据累加结果和所述脉冲个数n,设置输出脉冲个数k,包括:

判断所述累加结果是否大于或等于脉冲个数比值r,若是,则将所述原有余数置为0,并且输出脉冲个数k为:k=n+1;若否,则将所述累加结果设置为下一个原有余数,并且输出脉冲个数k为:k=n。

可选的,所述根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp,包括:

采用所述用运算周期t除以所述输出脉冲个数k,获取输出脉冲周期tp;

其中,所述输出脉冲周期tp为整除后得到的一个整数。

可选的,所述波形发生器根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号,包括:

接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time;

判断所述计时值time是否大于二分之一所述输出脉冲周期tp,若是,则为高电平,若否则为低电平,由一个高电平和一个低电平组成一个脉冲信号;

对所述脉冲信号进行计数,并判断计数结果是否等于输出脉冲个数k;若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;

判断stop信号是否为0,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

可选的,所述接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time,包括:

接收所述输出脉冲周期tp的初始计时值time1,判断所述初始计时值time1是否大于等于tp;

若是,则接收所述输出脉冲周期tp的计时值time为0;

若否,则接收所述输出脉冲周期tp的计时值time为:初始计时值time1+1。

另外,本发明实施例还提供了一种基于有理数信号分频或倍频的脉冲信号产生装置,所述装置包括:

计数器:用于获取在运算周期t内接收的输入脉冲的总个数m;

第一除法器:用于接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数;

累加器:用于对所述余数与原有余数进行累加,获取累加结果;

脉冲设置器:用于根据累加结果和所述脉冲个数n,设置输出脉冲个数k;

第二除法器:用于根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp;

波形发生器:用于根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号。

可选的,所述波形发生器包括:

计时模块:用于接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time;

状态判断模块:用于判断所述计时值time是否大于二分之一所述输出脉冲周期tp,若是,则为高电平,若否则为低电平,由一个高电平和一个低电平组成一个脉冲信号;

计数模块:用于对所述脉冲信号进行计数,并判断计数结果是否等于输出脉冲个数k;若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;

选择输出模块:用于判断stop信号是否为0,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

在本发明具体实施过程中,通过本发明实施例中提供的实施方法,首先能够保证完成分数或者整数的分频/倍频,并且能够保证分频输出之后,能够准确的得到分数或者整数的倍数,而不是接近理论值;因此,能够保证分数分频输出更准确,和理论值一致,并且长时间计算分频输出脉冲个数和理论值是一致的,不会出现时间变长之后误差越来越大的情况,产生的准确的脉冲信号。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例中的基于有理数信号分频或倍频的脉冲信号产生方法的方法流程示意图;

图2是本发明实施例中的产生输出脉冲信号的具体步骤的流程示意图;

图3是本发明实施例中的基于有理数信号分频或倍频的脉冲信号产生装置的装置组成结构示意图;

图4是本发明实施例中的产生输出脉冲信号的具体装置的装置结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例:

请参阅图1,图1是本发明实施例中的基于有理数信号分频或倍频的脉冲信号产生方法的方法流程示意图。

如图1所示,一种基于有理数信号分频或倍频的脉冲信号产生方法,所述方法包括:

s11:获取在运算周期t内接收的输入脉冲的总个数m;

在本发明具体实施过程中,所述获取在运算周期t内接收的输入脉冲的总个数m,包括:统计在运算周期t内接收的输入脉冲个数,获取在运算周期t内接收的输入脉冲的总个数m;其中,所述运算周期t为锁存数据间隔时间,即每个一个运算周期t,所述计数器计数出入脉冲个数m锁存并输出。

具体的,通过向计数器输入一个运算周期t和输入脉冲,计数器统计在运算周期内输入的输入脉冲的个数的总数,即可获得在运算周期t内接收的输入脉冲的总个数m;其中,运算周期t是指在本方法中,锁存数据间隔的时间,每间隔t时间,计数器计数统计输入脉冲个数m,并锁存输出;并且这个运算周期t在设置好之后在整个运行过程中欧不会改变;这样可以有效保障运算过程中的准确性,保障输出脉冲信号的准确性。

s12:接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数;

在本发明具体实施过程中,所述接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数,包括:接收脉冲个数比值r和所述总个数m;采用所述总个数m除以所述脉冲个数比值r,获取脉冲个数n和余数;其中,所述脉冲个数n为整数。

具体的,第一除法器接收脉冲格式比值r和输入脉冲的总个数m,利用第一除法器中的内置规则,采用输入脉冲的总个数m除以脉冲个数比值r,获取到脉冲个数n和余数,其中脉冲个数n为整数;具体的除法公式为m/r=n…余数,n为整除后得到的一个整数。

所述脉冲个数比值r为输入脉冲个数与输出脉冲个数的比值,当r>1时,产生的脉冲信号为分频,当0<r<1时,产生的脉冲信号为倍频,当r=0时,产生的脉冲信号为不分频。

具体的,脉冲个数比值r为输入脉冲个数与输出脉冲个数的比值,r为大于0的有理数,其中,当r的取值不一样的时候,可能存在分频或者倍频或者不分频和不倍频的情况;具体为当r>1时,产生的脉冲信号为分频,当0<r<1时,产生的脉冲信号为倍频,当r=0时,产生的脉冲信号为不分频也不倍频。

s13:对所述余数与原有余数进行累加,获取累加结果;

在本发明具体实施过程中,在上述第一除法器安装预设的规则进行相应的计算之后,产生了余数,其中余数为大于0而小于r,第一除法器在获取余数之后,将其传输至累加器上,在累加器内,余数与累加器内的原有余数相加,然后获取到余数累加结果。

s14:根据累加结果和所述脉冲个数n,设置输出脉冲个数k;

在本发明具体实施过程中,所述根据累加结果和所述脉冲个数n,设置输出脉冲个数k,包括:判断所述累加结果是否大于或等于脉冲个数比值r,若是,则将所述原有余数置为0,并且输出脉冲个数k为:k=n+1;若否,则将所述累加结果设置为下一个原有余数,并且输出脉冲个数k为:k=n。

具体的,累加器在累加获取到余数累加结果之后,将余数累加结果输入至脉冲设置器中,脉冲设置器判断余数累加结果是否大于或等于脉冲个数比值r,若是,则将结果反馈给累加器,累加器将其内部的原有余数置为0,并且脉冲设置器输出脉冲个数k为:k=n+1;若否,则将结果反馈给累加器,累加器将所述累加结果设置为下一个原有余数,并且输出脉冲个数k为:k=n。

s15:根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp;

在本发明具体实施过程中,所述根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp,包括:采用所述用运算周期t除以所述输出脉冲个数k,获取输出脉冲周期tp;其中,所述输出脉冲周期tp为整除后得到的一个整数。

具体的,第二除法器获取到输出脉冲个数k和运算周期t,采用第一除法器内部的运算规则进行计算,从而获取输出脉冲周期tp;具体的计算为采用用运算周期t除以输出脉冲个数k,获取输出脉冲周期tp;具体的运算公式为:tp=t/k,其中tp为整除后获得的一个整数。

s16:根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号。

在本发明具体实施过程中,波形发生器在获取输出脉冲个数k和输出脉冲周期tp之后,在波形发生器内部经过一系列处理之后,产生输出脉冲信号。

具体的,在波形发生器内部经过一系列处理的具体过程,请参阅图2,图2是本发明实施例中的产生输出脉冲信号的具体步骤的流程示意图。

如图2所示,所述波形发生器根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号,包括:

s161:接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time;

在本发明具体实施过程中,所述接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time,包括:接收所述输出脉冲周期tp的初始计时值time1,判断所述初始计时值time1是否大于等于tp;若是,则接收所述输出脉冲周期tp的计时值time为0;若否,则接收所述输出脉冲周期tp的计时值time为:初始计时值time1+1。

具体的在波形发生器内存在计时模块,该计时模块接收输出脉冲周期tp,并且计算在接收该输出脉冲周期tp产生的初始计时值time1,并且在产生初始计时值time1之后,判断初始计时值time1是否大于等于tp若是,则接收所述输出脉冲周期tp的计时值time为0;若否,则接收所述输出脉冲周期tp的计时值time为:初始计时值time1+1;并将该计时值time输入至状态判断模块中。

通过该步骤的计时,可以保证输出的脉冲信号的周期和输出脉冲周期tp一致。

s162:判断所述计时值time是否大于二分之一所述输出脉冲周期tp,若是,则为高电平,若否则为低电平,由一个高电平和一个低电平组成一个脉冲信号;

在本发明具体实施过程中,状态判断模块在接收到计时值time之后,采用状态判断模块中内部预设好的判断规则进行判断,判断计时值time是否大于二分之一输出脉冲周期tp;若是则输出1,若否,则输出0;输出1则为高电平,输出0为低电平,有一个高电平和一个低电平组成一个脉冲信号,并将该脉冲信号输入至计数模块和选择输出模块中。

通过该步骤,可以保证在一个出脉冲周期tp内有一半时间是高电平,一半时间为低电平。

s163:对所述脉冲信号进行计数,并判断计数结果是否等于输出脉冲个数k;若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;

在本发明具体实施过程中,计数模块对脉冲信号进行计数,并且在计数的过程中,判断计数结果是否等于输出脉冲个数k,若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;其中,将stop信号输入至选择输出模块中。

通过计数模块的计数和输出脉冲个数k反馈,保障输出脉冲信号个数和设置脉冲个数k保持一致。

s164:判断stop信号是否为0,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

在本发明具体实施过程中,在选择输出模块中,通过判断stop信号是否为0来进行选择输出,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

其中,在上述实施例的实时过程中,上述的步骤中的执行过程可能存在并行执行的情况,在本发明实施例中,不限定实施步骤的执行顺序。

在本发明具体实施过程中,通过本发明实施例中提供的实施方法,首先能够保证完成分数或者整数的分频/倍频,并且能够保证分频输出之后,能够准确的得到分数或者整数的倍数,而不是接近理论值;因此,能够保证分数分频输出更准确,和理论值一致,并且长时间计算分频输出脉冲个数和理论值是一致的,不会出现时间变长之后误差越来越大的情况,产生的准确的脉冲信号。

实施例:

请参阅图3,图3是本发明实施例中的基于有理数信号分频或倍频的脉冲信号产生装置的装置组成结构示意图。

如图3所示,一种基于有理数信号分频或倍频的脉冲信号产生装置,所述装置包括:

计数器11:用于获取在运算周期t内接收的输入脉冲的总个数m;

在本发明具体实施过程中,所述获取在运算周期t内接收的输入脉冲的总个数m,包括:统计在运算周期t内接收的输入脉冲个数,获取在运算周期t内接收的输入脉冲的总个数m;其中,所述运算周期t为锁存数据间隔时间,即每个一个运算周期t,所述计数器计数出入脉冲个数m锁存并输出。

具体的,通过向计数器输入一个运算周期t和输入脉冲,计数器统计在运算周期内输入的输入脉冲的个数的总数,即可获得在运算周期t内接收的输入脉冲的总个数m;其中,运算周期t是指在本方法中,锁存数据间隔的时间,每间隔t时间,计数器计数统计输入脉冲个数m,并锁存输出;并且这个运算周期t在设置好之后在整个运行过程中欧不会改变;这样可以有效保障运算过程中的准确性,保障输出脉冲信号的准确性。

第一除法器12:用于接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数;

在本发明具体实施过程中,所述接收脉冲个数比值r和所述总个数m,并进行除法计算,获取脉冲个数n和余数,包括:接收脉冲个数比值r和所述总个数m;采用所述总个数m除以所述脉冲个数比值r,获取脉冲个数n和余数;其中,所述脉冲个数n为整数。

具体的,第一除法器接收脉冲格式比值r和输入脉冲的总个数m,利用第一除法器中的内置规则,采用输入脉冲的总个数m除以脉冲个数比值r,获取到脉冲个数n和余数,其中脉冲个数n为整数;具体的除法公式为m/r=n…余数,n为整除后得到的一个整数。

所述脉冲个数比值r为输入脉冲个数与输出脉冲个数的比值,当r>1时,产生的脉冲信号为分频,当0<r<1时,产生的脉冲信号为倍频,当r=0时,产生的脉冲信号为不分频。

具体的,脉冲个数比值r为输入脉冲个数与输出脉冲个数的比值,r为大于0的有理数,其中,当r的取值不一样的时候,可能存在分频或者倍频或者不分频和不倍频的情况;具体为当r>1时,产生的脉冲信号为分频,当0<r<1时,产生的脉冲信号为倍频,当r=0时,产生的脉冲信号为不分频也不倍频。

累加器13:用于对所述余数与原有余数进行累加,获取累加结果;

在本发明具体实施过程中,在上述第一除法器安装预设的规则进行相应的计算之后,产生了余数,其中余数为大于0而小于r,第一除法器在获取余数之后,将其传输至累加器上,在累加器内,余数与累加器内的原有余数相加,然后获取到余数累加结果。

脉冲设置器14:用于根据累加结果和所述脉冲个数n,设置输出脉冲个数k;

在本发明具体实施过程中,所述根据累加结果和所述脉冲个数n,设置输出脉冲个数k,包括:判断所述累加结果是否大于或等于脉冲个数比值r,若是,则将所述原有余数置为0,并且输出脉冲个数k为:k=n+1;若否,则将所述累加结果设置为下一个原有余数,并且输出脉冲个数k为:k=n。

具体的,累加器在累加获取到余数累加结果之后,将余数累加结果输入至脉冲设置器中,脉冲设置器判断余数累加结果是否大于或等于脉冲个数比值r,若是,则将结果反馈给累加器,累加器将其内部的原有余数置为0,并且脉冲设置器输出脉冲个数k为:k=n+1;若否,则将结果反馈给累加器,累加器将所述累加结果设置为下一个原有余数,并且输出脉冲个数k为:k=n。

第二除法器15:用于根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp;

在本发明具体实施过程中,所述根据所述运算周期t和所述输出脉冲个数k计算输出脉冲周期tp,包括:采用所述用运算周期t除以所述输出脉冲个数k,获取输出脉冲周期tp;其中,所述输出脉冲周期tp为整除后得到的一个整数。

具体的,第二除法器获取到输出脉冲个数k和运算周期t,采用第一除法器内部的运算规则进行计算,从而获取输出脉冲周期tp;具体的计算为采用用运算周期t除以输出脉冲个数k,获取输出脉冲周期tp;具体的运算公式为:tp=t/k,其中tp为整除后获得的一个整数。

波形发生器16:用于根据所述输出脉冲个数k和所述输出脉冲周期tp产生输出脉冲信号。

在本发明具体实施过程中,波形发生器在获取输出脉冲个数k和输出脉冲周期tp之后,在波形发生器内部经过一系列处理之后,产生输出脉冲信号。

具体的,在波形发生器内部经过内部模块的具体处理过程,请参阅图4,图4是本发明实施例中的产生输出脉冲信号的具体装置的装置结构组成示意图。

如图4所示,所述波形发生器16包括:

计时模块161:用于接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time;

在本发明具体实施过程中,所述接收所述输出脉冲周期tp,获取接收所述输出脉冲周期tp的计时值time,包括:接收所述输出脉冲周期tp的初始计时值time1,判断所述初始计时值time1是否大于等于tp;若是,则接收所述输出脉冲周期tp的计时值time为0;若否,则接收所述输出脉冲周期tp的计时值time为:初始计时值time1+1。

具体的在波形发生器内存在计时模块,该计时模块接收输出脉冲周期tp,并且计算在接收该输出脉冲周期tp产生的初始计时值time1,并且在产生初始计时值time1之后,判断初始计时值time1是否大于等于tp若是,则接收所述输出脉冲周期tp的计时值time为0;若否,则接收所述输出脉冲周期tp的计时值time为:初始计时值time1+1;并将该计时值time输入至状态判断模块中。

通过该步骤的计时,可以保证输出的脉冲信号的周期和输出脉冲周期tp一致。

状态判断模块162:用于判断所述计时值time是否大于二分之一所述输出脉冲周期tp,若是,则为高电平,若否则为低电平,由一个高电平和一个低电平组成一个脉冲信号;

在本发明具体实施过程中,状态判断模块在接收到计时值time之后,采用状态判断模块中内部预设好的判断规则进行判断,判断计时值time是否大于二分之一输出脉冲周期tp;若是则输出1,若否,则输出0;输出1则为高电平,输出0为低电平,有一个高电平和一个低电平组成一个脉冲信号,并将该脉冲信号输入至计数模块和选择输出模块中。

通过该步骤,可以保证在一个出脉冲周期tp内有一半时间是高电平,一半时间为低电平。

计数模块163:用于对所述脉冲信号进行计数,并判断计数结果是否等于输出脉冲个数k;若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;

在本发明具体实施过程中,计数模块对脉冲信号进行计数,并且在计数的过程中,判断计数结果是否等于输出脉冲个数k,若是,则停止计数,获取stop信号为1;若否,获取stop信号为0;其中,将stop信号输入至选择输出模块中。

通过计数模块的计数和输出脉冲个数k反馈,保障输出脉冲信号个数和设置脉冲个数k保持一致。

选择输出模块164:用于判断stop信号是否为0,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

在本发明具体实施过程中,在选择输出模块中,通过判断stop信号是否为0来进行选择输出,若是,则选择输出脉冲信号,若否,则选择不输出脉冲信号。

在本发明具体实施过程中,通过本发明实施例中提供的实施方法,首先能够保证完成分数或者整数的分频/倍频,并且能够保证分频输出之后,能够准确的得到分数或者整数的倍数,而不是接近理论值;因此,能够保证分数分频输出更准确,和理论值一致,并且长时间计算分频输出脉冲个数和理论值是一致的,不会出现时间变长之后误差越来越大的情况,产生的准确的脉冲信号。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的脉冲信号产生方法及装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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