首页> 中国专利> 直接数字频率合成器及其频率合成方法、调频发射装置

直接数字频率合成器及其频率合成方法、调频发射装置

摘要

本发明公开了直接数字频率合成器及其频率合成方法、调频发射装置。直接数字频率合成方法包括:获取工作时钟频率以及频率控制字;根据存储器的最大长度值、工作时钟频率以及频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。通过上述方式,能够有效减小查找表的长度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-03-11

    专利权的转移 IPC(主分类):G06F 1/03 专利号:ZL2016111318093 登记生效日:20220228 变更事项:专利权人 变更前权利人:建荣集成电路科技(珠海)有限公司 变更后权利人:卓荣集成电路科技有限公司 变更事项:地址 变更前权利人:519000 广东省珠海市高新区唐家湾镇软件园路1号会展中心二层D88单元 变更后权利人:中国香港新界沙田香港科学园科技大道西19號(19W)13楼1306至1309室

    专利申请权、专利权的转移

  • 2020-01-14

    专利权的转移 IPC(主分类):G06F1/03 登记生效日:20191225 变更前: 变更后: 变更前:

    专利申请权、专利权的转移

  • 2019-07-16

    授权

    授权

  • 2017-06-23

    实质审查的生效 IPC(主分类):G06F1/03 申请日:20161209

    实质审查的生效

  • 2017-05-31

    公开

    公开

说明书

技术领域

本发明属于电子技术领域,尤其涉及一种直接数字频率合成器及其频率合成方法、调频发射装置。

背景技术

频率合成技术是现代通讯电子系统实现高性能指标的关键技术之一,很多电子设备的功能实现都直接依赖于所用频率合成器的性能,对于不断变频的通讯系统,诸如无线局域网(Wireless LAN),数字蜂窝系统,电子对抗系统等,频率合成技术是在其中的应用显得尤为重要。

现有技术提供一种直接数字频率合成器。该直接数字频率合成器包括:相位累加器,相位-幅度转换模块和数模转换器。通常,相位-幅度转换模块是一个存储sin/cos数据的正弦查找表只读存储器(ROM)。

其工作原理为:在工作时钟的驱动下,相位累加器对频率控制字进行线性累加,得到相角大小,并将相角大小输入相位-幅度转换模块,相位-幅度转换模块根据相角大小进行查表寻址,获取相角大小对应的信号幅度;最后将该其输入数模转换器,经数模转换器转换得到正弦频率的信号,以得到一个输出幅度随着相位变化的波形信号。

由于相位-幅度转换模块需要2D个地址存储查找表,D为数模转换器的位宽,即查找表的大小和数模转换器的位宽成指数关系,所以查找表非常大,占用内存较大。

发明内容

本发明提供一种直接数字频率合成器及其频率合成方法、调频发射装置,能够有效减小查找表的长度,减小查找表占用的内存。

为解决上述问题,本发明第一方面提供一种直接数字频率合成方法,所述直接数字频率合成方法包括:

获取工作时钟频率以及频率控制字;

根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;

根据所述查找表长度以及所述相位步进值生成查找表;

根据所述工作时钟频率、所述目标分频比产生触发信号;

根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

为解决上述问题,本发明第二方面提供一种直接数字频率合成器,所述直接数字频率合成器包括:

获取模块,用于获取工作时钟频率以及频率控制字;

确定模块,用于根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;

生成模块,用于根据所述查找表长度以及所述相位步进值生成查找表;

触发模块,用于根据所述工作时钟频率、所述目标分频比产生触发信号;

频率合成模块,用于根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

为解决上述问题,本发明第三方面提供一种调频发射装置,所述一种调频发射装置包括上述直接数字频率合成器。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够预先计算查找表中包含的幅度值,有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

附图说明

图1是本发明直接数字频率合成方法一实施例的流程图;

图2是本发明直接数字频率合成方法另一实施例的流程图;

图3是本发明直接数字频率合成方法再一实施例的流程图;

图4是本发明直接数字频率合成器一实施例的结构示意图;

图5是本发明直接数字频率合成器另一实施例的结构示意图;

图6是本发明直接数字频率合成器再一实施例的结构示意图;

图7是本发明直接数字频率合成器又一实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1是本发明直接数字频率合成方法一实施例的流程图。本实施例中的直接数字频率合成方法的执行主体为直接数字频率合成器。本实施例中的直接数字频率合成方法包括以下步骤:

S101:获取工作时钟频率以及频率控制字。

直接数字频率合成器获取工作时钟频率以及频率控制字。工作时钟频率可以是直接数字频率合成器内部晶振对应的频率或其倍频。频率控制字是控制频率发生的字(需要输出的频率),改变频率控制字的内容,可改变频率变化,频率控制字可以是导频信号对应的频率。

例如,在调频((Frequency Modulation,FM)立体声发射中,立体声编码需要一个19KHz的导频信号。假设片上系统只使用了一个32.768KHz的晶振,并倍频32倍到1.048576MHz作为工作时钟输入到直接数字频率合成器中;那么,此时工作时钟频率为1.048576MHz,频率控制字为19KHz。

S102:根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值。

直接数字频率合成器在获取到工作时钟频率、频率控制字之后,获取存储器的最大长度值,根据存储器的最大长度值、工作时钟频率以及频率控制字进行分频比和相位步进值的搜索,并计算每个分频比的所有搜索周期各自对应的频率误差,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值。

S103:根据所述查找表长度以及所述相位步进值生成查找表。

直接数字频率合成器查找表长度以及相位步进值计算每个存储地址对应的幅度值,从而生成查找表。

S104:根据所述工作时钟频率、所述目标分频比产生触发信号。

直接数字频率合成器根据工作时钟频率按照目标分频比分频后产生一个触发信号,并对产生的触发信号进行计数,每产生一个触发信号将计数值加1。其中,当计数值等于目标分频比对应的查找表长度后归零。

S105:根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

直接数字频率合成器根据触发信号对应的计数值从生产的查找表中获取计数值对应的幅度,并对获取到幅度进行数模转换输出正弦波信号,以实现直接数字频率合成。

可以理解的是,直接数字频率合成器当确定频率控制字发送改变时,返回步骤S101,执行S101~S105。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够预先计算查找表中包含的幅度值,有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

请参阅图2,图2是本发明直接数字频率合成方法另一实施例的流程图。本实施例中的直接数字频率合成方法的执行主体为直接数字频率合成器。如图2所示的直接数字频率合成方法包括以下步骤:

S201:获取工作时钟频率以及频率控制字。

直接数字频率合成器获取工作时钟频率以及频率控制字。工作时钟频率可以是直接数字频率合成器内部晶振对应的频率或其倍频。频率控制字是控制频率发生的字(需要输出的频率),改变频率控制字的内容,可改变频率变化,频率控制字可以是导频信号对应的频率。

例如,在调频((Frequency Modulation,FM)立体声发射中,立体声编码需要一个19KHz的导频信号。假设片上系统只使用了一个32.768KHz的晶振,并倍频32倍到1.048576MHz作为工作时钟输入到直接数字频率合成器中;那么,此时工作时钟频率为1.048576MHz,频率控制字为19KHz。

S202:根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字确定分频比对应的搜索范围值以及每个分频比的搜索周期数目。

直接数字频率合成器获取存储器的最大长度值,根据取存储器的最大长度值、工作时钟频率以及频率控制字计算最小分频比以及最大分频比,从而根据最小分频比与最大分频比确定分频比的搜索范围。其中,初始化的分频比为最小分频比。

直接数字频率合成器还根据取存储器的最大长度值、工作时钟频率以及频率控制字计算每个分频比需要搜索的周期数目。其中,直接数字频率合成器计算每个分频比需要搜索的最大周期数目,并将每个分频比需要搜索的周期数目初始化为1。

S203:根据所述搜索范围以及所述每个分频比的搜索周期数目,获取所述每个分频比的所有搜索周期各自对应的频率误差。

例如,直接数字频率合成器遍历分频比的搜索范围,确定每个分频比对应的需要搜索的周期数目,并根据每个分频比的搜索周期数目遍历每个分频比对应的需要搜索的周期,获取每个分频比的所有搜索周期各自对应的频率误差,并从每个分频比对应的所有搜索周期各自对应的频率误差中,确定满足预设要求的频率误差。

可以理解的是,直接数字频率合成器可以按从最小分频比到最大分频比的顺序遍历分频比的搜索范围,也可以按最大分频比到最小分频比的顺序遍历分频比的搜索范围,还可以进行随机搜索,此处不做限制。

具体地,分频比的搜索范围为[最小分频比,最大分频比],任意两个连续且相邻的分频比的差值的绝对值为1。

直接数字频率合成器根据第一分频比(可以为最小分频比)以及第一分频比对应的需要搜索的周期数目,获取第一分频比对应的所有搜索周期各自对应的频率误差,并从第一分频比对应的所有搜索周期各自对应的频率误差中,确定满足预设要求的频率误差。

直接数字频率合成器在确认已经遍历第一分频比的所有搜索周期,并确定满足预设要求的频率误差时,根据第二分频比(第二分频比的值在第一分频比的基础上递增1)以及第二分频比对应的需要搜索的周期数目,获取第二分频比对应的所有搜索周期各自对应的频率误差,并从第二分频比对应的所有搜索周期各自对应的频率误差中,确定满足预设要求的频率误差。

按照上述方法依次逐一获取每个分频比对应的所有搜索周期各自对应的频率误差,并从每个分频比对应的所有搜索周期各自对应的频率误差中,确定满足预设要求的频率误差,直到确认已获取到分频比的搜索范围内的所有分频比各自对应的满足预设要求的频率误差。

在另一实施例中,直接数字频率合成器也可以遍历分频比的搜索范围,确定每个分频比对应的需要搜索的周期数目,并根据每个分频比的搜索周期数目遍历每个分频比对应的需要搜索的周期,获取每个分频比的所有搜索周期各自对应的频率误差。

S204:确定满足预设要求的所述频率误差对应的目标分频比、目标搜索周期的标识。

直接数字频率合成器在获取到搜索范围内的所有分频比各自对应的满足预设要求的频率误差时,再从中确定满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识。

在另一种实施例中,当直接数字频率合成器分别获取到搜索范围内的每个分频比的所有搜索周期各自对应的频率误差时,从获取到的所有频率误差中确定满足预设要求的频率误差,并记录满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识。

可以理解的是,预设要求用于标识频率误差在可接受的误差范围内,可以是当前的频率误差小于或等于预设频率误差阈值,也可以是当前的频率误差为获取到的所有频率误差中值最小。

最终确定的满足预设要求的频率误差的个数可以为一个,也可以为至少两个。当满足预设要求的频率误差的个数为两个时,可以将其中任意一个识别为目标频率误差,也可以将其中值最小的频率误差识别为目标频率误差,此处不做限制。目标频率误差于目标分频比、目标搜索周期的标识一一对应。

S205:根据所述目标搜索周期的标识计算所述目标分频比对应的查找表长度以及相位步进值。

直接数字频率合成器根据目标搜索周期的标识、工作时钟频率以及频率控制字计算目标分频比对应的查找表长度以及相位步进值。

S206:根据所述查找表长度以及所述相位步进值生成查找表。

直接数字频率合成器查找表长度以及相位步进值计算每个存储地址对应的幅度值,从而生成查找表。

S207:根据所述工作时钟频率、所述目标分频比产生触发信号。

直接数字频率合成器根据工作时钟频率按照目标分频比分频后产生一个触发信号,并对产生的触发信号进行计数,每产生一个触发信号将计数值加1。其中,当计数值等于目标分频比对应的查找表长度后归零。

S208:根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

直接数字频率合成器根据触发信号对应的计数值从生产的查找表中获取计数值对应的幅度,并对获取到幅度进行数模转换输出正弦波信号,以实现直接数字频率合成。

可以理解的是,直接数字频率合成器当确定频率控制字发送改变时,返回步骤S201,执行S201~S208。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目;根据搜索范围以及每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差;确定满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识;根据目标搜索周期的标识计算目标分频比对应的查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够预先计算查找表中包含的幅度值,有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

请参阅图3,图3是本发明直接数字频率合成方法再一实施例的流程图。本实施例中的直接数字频率合成方法的执行主体为直接数字频率合成器。如图3所示的直接数字频率合成方法包括以下步骤:

S301:获取工作时钟频率以及频率控制字。

直接数字频率合成器获取工作时钟频率以及频率控制字。工作时钟频率可以是直接数字频率合成器内部晶振对应的频率或其倍频。频率控制字是控制频率发生的字(需要输出的频率),改变频率控制字的内容,可改变频率是否发生和可改变频率变化,频率控制字可以是导频信号对应的频率。

例如,在调频((Frequency Modulation,FM)立体声发射中,立体声编码需要一个19KHz的导频信号。假设片上系统只使用了一个32.768KHz的晶振,并倍频32倍到1.048576MHz作为工作时钟输入到直接数字频率合成器中;那么,此时工作时钟频率为1.048576MHz,频率控制字为19KHz。

S302:根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字确定分频比对应的搜索范围值以及每个分频比的搜索周期数目。

直接数字频率合成器获取存储器的最大长度值,根据取存储器的最大长度值、工作时钟频率以及频率控制字计算最小分频比以及最大分频比,从而根据最小分频比与最大分频比确定分频比的搜索范围。其中,初始化的分频比为最小分频比。

直接数字频率合成器还根据取存储器的最大长度值、工作时钟频率以及频率控制字计算每个分频比需要搜索的周期数目。其中,直接数字频率合成器计算每个分频比需要搜索的最大周期数目,并将每个分频比需要搜索的周期数目初始化为1。

进一步地,步骤S302可以包括以下步骤:

S3021:根据所述工作时钟频率、所述频率控制字以及所述存储器的最大长度值计算所述频率控制字对应的最小分频比。

最小分频比div_min的计算公式为:div_min=ceil(fc/(fo*mem_len));其中,div_min表示最小分频比,ceil(x)表示将x向无穷大方向取整(例如,当x=2.1时,ceil(x)=3),fc表示工作时钟频率,fo表示频率控制字(要输出的频率),mem_len表示存储器的最大长度值,按照需求的频率精度来决定,存储器长度越大,频率越准确。按照经验数据mem_len为64时,可以达到万分之一的频率误差。

假设工作时钟频率fc为1.048576MHz,频率控制字fo=19KHz,存储器的最大长度值为128,那么,div_min=ceil(1.048576MHz/(19KHz*128))=1。

S3022:根据所述工作时钟频率以及所述频率控制字计算所述频率控制字对应的最大分频比。

最大分频比div_max的计算公式为div_max=floor(fc/(fo*2))。其中,floor(x)表示将x向无穷小方向取整(例如,当x=2.8时,floor(x)=2)。

假设工作时钟频率fc=1.048576MHz,频率控制字fo=19KHz,那么最大分频比div_max=floor(1.048576MHz/(19KHz*2))=27。

S3023:根据所述最小分频比以及所述最大分频比确定所述分频比对应的搜索范围。

直接数字频率合成器在确定最小分频比以及最大分频比时,根据最小分频比以及最大分频比确定分频比对应的搜索范围。分频比对应的搜索范围为[最小分频比,最大分频比]。分频比为正整数,且任意两个连续且相邻的分频比之间的差值的绝对值为1。

S3024:根据所述工作时钟频率、所述存储器的最大长度值、所述频率控制字以及所述每个分频比各自对应的搜索范围内的搜索值计算所述每个分频比的搜索周期数目。

具体地,根据所述工作时钟频率、每个分频比各自对应的搜索范围内的搜索值计算每个分频比的搜索值各自对应的采样率;根据存储器的最大长度值、每个分频比的搜索值各自对应的采样率、频率控制字计算每个分频比的搜索周期数目。

例如,当前分频比的搜索值小于或等于最大分频比时,直接数字频率合成器根据工作时钟频率计算每个分频比的搜索值对应的采样率,当前分频比对应的采样率fs=fc/N,N为当前分频比对应的搜索范围内的搜索值(当前分频比)。

当fc=1.048576MHz,N为25时,fs=1.048576MHz/25=41.94304KHz。

计算当前分频比对应的需要搜索的最大周期数目为:

max_period=floor(mem_len/(fs/fo));其中,当前分频比对应的搜索周期范围为[1,max_period],初始化周期数i=1。

当fs=41.94304KHz,fo=19KHz,mem_len=128时,max_period=floor(128/(41.94304KHz/19KHz))=57。

S303:根据所述搜索范围以及所述每个分频比的搜索周期数目,获取所述每个分频比的所有搜索周期各自对应的频率误差。

直接数字频率合成器根据分频比的搜索范围以及每个分频比的搜索周期数目,获取当前分频比,并在确认前分频比小于或等于最大分频比,且当前分频比的当前搜索周期的值小于当前分频比的最大搜索周期数目时,计算当前分频比以及当前搜索周期下的频率误差。

其中,计算当前分频比和当前周期数下的频率误差,频率误差计算公式可以为:freq_delta=abs(fs/(round(fs/fo*i)/i)-fo);其中,abs(x)是指取x的绝对值,round(x)是指将x向最接近的整数取整,i为当前搜索周期的值,i=1,2,……,max_period(最大搜索周期的数目)。假设i=53,fs=41.94304KHz,fo=19KHz,那么,

freq_delta=abs(41.94304KHz/(round(41.94304KHz/19KHz*53)/53)-19KHz)≈0.000161367521KHz。

直接数字频率合成器在计算得到当前分频比以及当前搜索周期下的频率误差时,调整搜索周期(在当前搜索周期的基础上递增1),计算当前分频比下调整后的搜索周期对应的频率误差,以计算当前分频比的所有搜索周期各自对应的频率误差。

直接数字频率合成器在确认调整后的搜索周期的值大于当前分频比的最大周期数目时,调整分频比(在当前分频比的基础上递增1),并返回步骤S3024,执行步骤S3024~S303,直到确认调整后的分频比大于最大分频比时,停止搜索。

直接数字频率合成器在执行完步骤S303时,执行步骤S304。

S304:确定满足预设要求的所述频率误差对应的目标分频比、目标搜索周期的标识。

直接数字频率合成器在获取到搜索范围内的所有分频比的所有搜索周期各自对应的满足预设要求的频率误差时,再从中确定满足预设要求的目标频率误差,记录目标频率误差对应的目标分频比、目标搜索周期的标识。

最终确定的满足预设要求的频率误差的个数可以为一个,也可以为至少两个。当满足预设要求的频率误差的个数为两个时,可以将其中任意一个识别为目标频率误差,也可以将其中值最小的频率误差识别为目标频率误差,此处不做限制。目标频率误差于目标分频比、目标搜索周期的标识一一对应。

可以理解的是,直接数字频率合成器可以在获取到一个频率误差比较一次,也可以在获取到所有频率误差再进行比较,此处不做限制。

进一步地,步骤S304可以包括:若当前分频比的当前搜索周期对应的频率误差小于所述搜索范围内,所有分频比的历史搜索周期对应的历史频率误差,则将所述当前分频比识别为目标分频比,将所述当前搜索周期的标识识别为目标搜索周期的标识。

例如,直接数字频率合成器在获取到搜索范围内的所有分频比的所有搜索周期各自对应的满足预设要求的频率误差时,分别比较所有获取到的频率误差,以判断当前分频比的当前搜索周期对应的频率误差是否小于搜索范围内,所有分频比的历史搜索周期对应的历史频率误差。

直接数字频率合成器在确定当前分频比的当前搜索周期对应的频率误差小于搜索范围内,所有分频比的历史搜索周期对应的历史频率误差时,将当前分频比的当前搜索周期对应的频率误差识别为目标频率误差,以从获取到的频率误差中确定值最小的频率误差为目标频率误差,并将目标频率误差对应的当前分频比识别为目标分频比,将目标分频比对应的当前搜索周期的标识识别为目标搜索周期的标识。

进一步地,步骤S304还可以包括:若当前分频比的当前搜索周期对应的频率误差小于预设频率误差阈值,则所述当前分频比识别为目标分频比,将所述当前搜索周期的标识识别为目标搜索周期的标识。

例如,直接数字频率合成器在获取到搜索范围内的所有分频比的所有搜索周期各自对应的满足预设要求的频率误差时,分别比较所有获取到的频率误差,以判断当前分频比的当前搜索周期对应的频率误差是否小于预设频率误差阈值。直接数字频率合成器在确定当前分频比的当前搜索周期对应的频率误差小于预设频率误差阈值时,当前分频比识别为目标分频比,将当前搜索周期的标识识别为目标搜索周期的标识。

预设频率误差阈值可以根据获取到的频率误差计算得到,可以根据实际需要进行设置,此处不做限制。当小于预设频率误差阈值的频率误差的个数为两个时,可以将其中任意一个识别为目标频率误差,也可以将其中值最小的频率误差识别为目标频率误差,此处不做限制。目标频率误差于目标分频比、目标搜索周期的标识一一对应。

S305:根据所述目标搜索周期的标识计算所述目标分频比对应的查找表长度以及相位步进值。

直接数字频率合成器根据目标搜索周期的标识、工作时钟频率以及频率控制字计算目标分频比对应的查找表长度以及相位步进值。

其中,查找表长度search_table_len计算公式为:search_table_len=round(fs/fo*i)。

相位步进phase_step计算公式为:phase_step=1/(round(fs/fo*i)/i)*2*pi,pi是圆周率。

假设目标搜索周期的标识i=53,fs=41.94304KHz,fo=19KHz,那么,

search_table_len=round(41.94304KHz/19KHz*53)=117

phase_step=1/(round(41.94304KHz/19KHz*53)/53)*2*3.1415926

=2.8462291931623931623931623931624(rad)

S306:根据所述查找表长度以及所述相位步进值生成查找表。

直接数字频率合成器查找表长度以及相位步进值计算每个存储地址对应的正弦值的幅度,从而生成查找表。

按照搜索得出的相位步进计算正弦值并按k为地址写入查找表存储器,需要计算正弦值的数量就是搜索得到的查找表长度,正弦值计算公式如下,其中amp=2(D-1)-1为最大幅度,由幅度字长D决定,其中,search_table_out[k]指写入存储器第k个地址:search_table_out[k]=round(amp*sin(phase_step*k));(k=0,1,2,…..,(search_table_len-1))。

假设幅度字长是16bit,则amp为32768-1,那么search_table_out[k]=round(32767*sin(2.8462291931623931623931623931624*k));(k=0,1,2,…..,(search_table_len-1))。

当k=0时,有search_table_out[0]=0;写入存储器地址0;

当k=1时,有search_table_out[1]=9538;写入存储器地址1;

当k=2时,有search_table_out[2]=-18251;写入存储器地址2;

当k=3时,有search_table_out[3]=25382;写入存储器地址3;

……

当k=116时,有search_table_out[3]=-9538;写入存储器地址116。

直接数字频率合成器最后将具有最小频率误差的参数组合输出,其中目标分频比为53;查找表长度为117,将上述正弦值输出到存储器形成查找表,完成查找表预计算。

由上述计算结果可以知道,本发明只使用了117个查找表即可以实现16Bit或者更高字长的精度,远小于现有技术中的2D个查找表长度,且最终的频率误差小于0.001KHz。

换算为百分比为0.000161367521KHz/19KHz~=8.4931*10-6

S307:根据所述工作时钟频率、所述目标分频比产生触发信号。

直接数字频率合成器根据工作时钟频率按照目标分频比分频后产生一个触发信号,并对产生的触发信号进行计数,每产生一个触发信号将计数值加1。其中,当计数值等于目标分频比对应的查找表长度后归零。

S308:根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

直接数字频率合成器根据触发信号对应的计数值从生产的查找表中获取计数值对应的幅度,并对获取到幅度进行数模转换输出正弦波信号,以实现直接数字频率合成。

可以理解的是,直接数字频率合成器当确定频率控制字发送改变时,返回步骤S301,执行S301~S308。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目;根据搜索范围以及每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差;确定满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识;根据目标搜索周期的标识计算目标分频比对应的查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

请参阅图4,图4是本发明直接数字频率合成器一实施例的结构示意图。直接数字频率合成器所包括的各模块用于执行图1对应的实施例中的各步骤,具体请参阅图1以及图1对应的实施例中的相关描述,此处不赘述。本实施例的直接数字频率合成器400包括获取模块410、确定模块420、生成模块430、触发模块440以及频率合成模块450。

获取模块410用于获取工作时钟频率以及频率控制字。比如,获取模块310获取工作时钟频率以及频率控制字。获取模块410将工作时钟频率以及频率控制字向确定模块420发送,获取模块410将工作时钟频率向触发模块440发送。

确定模块420用于接收获取模块410发送的工作时钟频率以及频率控制字,根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值。

比如,确定模块420接收获取模块410发送的工作时钟频率以及频率控制字,根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值。

确定模块420将目标分频比向触发模块440发送,将查找表长度以及相位步进值向生成模块430发送。

生成模块430用于接收确定模块420发送的查找表长度以及相位步进值,根据所述查找表长度以及所述相位步进值生成查找表。

比如,生成模块430接收确定模块420发送的查找表长度以及相位步进值,根据所述查找表长度以及所述相位步进值生成查找表。

生成模块430将查找表向频率合成模块450发送。

触发模块440用于接收获取模块410发送的工作时钟频率,以及确定模块420发送的目标分频比,根据所述工作时钟频率、所述目标分频比产生触发信号。

比如,触发模块440接收获取模块410发送的工作时钟频率,以及确定模块420发送的目标分频比,根据所述工作时钟频率、所述目标分频比产生触发信号。触发模块440将触发信号向频率合成模块450发送。

频率合成模块450用于接收触发模块440发送的触发信号以及生成模块430发送的查找表,根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

比如,频率合成模块450接收触发模块440发送的触发信号以及生成模块330发送的查找表,根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够预先计算查找表中包含的幅度值,有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

请参阅图5,图5是本发明直接数字频率合成器另一实施例的结构示意图。直接数字频率合成器所包括的各模块用于执行图2对应的实施例中的各步骤,具体请参阅图2以及图2对应的实施例中的相关描述,此处不赘述。本实施例的直接数字频率合成器500包括获取模块510、确定模块520、生成模块530、触发模块540以及频率合成模块550。其中,确定模块520包括第一确定模块521、频率误差获取模块522、第二确定模块523、计算模块524。

获取模块510用于获取工作时钟频率以及频率控制字。获取模块510将工作时钟频率以及频率控制字向第一确定模块521发送,将工作时钟频率向触发模块540发送。

第一确定模块521用于接收获取模块510发送的工作时钟频率以及频率控制字,根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目。第一确定模块521将确定的分频比对应的搜索范围以及每个分频比的搜索周期数目向频率误差获取模块522发送。

频率误差获取模块522用于接收第一确定模块521发送的分频比对应的搜索范围以及每个分频比的搜索周期数目,根据所述搜索范围以及所述每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差。频率误差获取模块522将每个分频比的所有搜索周期各自对应的频率误差向第二确定模块523发送。

第二确定模块523用于接收频率误差获取模块522发送的每个分频比的所有搜索周期各自对应的频率误差,确定满足预设要求的所述频率误差对应的目标分频比、目标搜索周期的标识。第二确定模块523将目标分频比、目标搜索周期的标识向计算模块524发送。

计算模块524用于接收第二确定模块523发送的目标分频比、目标搜索周期的标识,根据所述目标搜索周期的标识计算所述目标分频比对应的查找表长度以及相位步进值。计算模块524将目标分频比对应的查找表长度以及相位步进值向生成模块530发送。

生成模块530用于接收计算模块524发送的目标分频比对应的查找表长度以及相位步进值,根据所述查找表长度以及所述相位步进值生成查找表。生成模块530将目标分频比的信息向触发模块540发送,将查找表向频率合成模块550发送。

触发模块540用于接收获取模块510发送的工作时钟频率,以及生成模块530发送的目标分频比的信息,根据所述工作时钟频率、所述目标分频比产生触发信号。触发模块540将触发信号向频率合成模块550发送。

频率合成模块550用于接收生成模块530发送的查找表,接收触发模块540发送的触发信号,根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目;根据搜索范围以及每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差;确定满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识;根据目标搜索周期的标识计算目标分频比对应的查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够有效减小频率误差,从而能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

请参阅图6,图6是本发明直接数字频率合成器再一实施例的结构示意图。直接数字频率合成器所包括的各模块用于执行图3对应的实施例中的各步骤,具体请参阅图3以及图3对应的实施例中的相关描述,此处不赘述。本实施例的直接数字频率合成器600包括:获取模块610、确定模块620、生成模块630、触发模块640以及频率合成模块650。其中,其中,确定模块620包括第一确定模块621、频率误差获取模块622、第二确定模块623、计算模块624,第一确定模块621包括计算单元6211、第一确定单元6212、第二确定单元6213。

获取模块610用于获取工作时钟频率以及频率控制字。获取模块610将工作时钟频率以及频率控制字向第一确定模块621发送,将工作时钟频率向触发模块640发送。

第一确定模块621用于接收获取模块610发送的工作时钟频率以及频率控制字,根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目。

进一步地,第一确定模块621包括:

计算单元6211用于根据所述工作时钟频率、所述频率控制字以及所述存储器的最大长度值计算所述频率控制字对应的最小分频比;根据所述工作时钟频率以及所述频率控制字计算所述频率控制字对应的最大分频比;

第一确定单元6212用于根据所述最小分频比以及所述最大分频比确定所述分频比对应的搜索范围;

第二确定单元6213用于根据所述工作时钟频率、所述存储器的最大长度值、所述频率控制字以及所述每个分频比各自对应的搜索范围内的搜索值计算所述每个分频比的搜索周期数目。

第一确定模块621将确定的分频比对应的搜索范围以及每个分频比的搜索周期数目向频率误差获取模块622发送。

频率误差获取模块622用于接收第一确定模块621发送的分频比对应的搜索范围以及每个分频比的搜索周期数目,根据所述搜索范围以及所述每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差。频率误差获取模块622将每个分频比的所有搜索周期各自对应的频率误差向第二确定模块623发送。

第二确定模块623用于接收频率误差获取模块622发送的每个分频比的所有搜索周期各自对应的频率误差,确定满足预设要求的所述频率误差对应的目标分频比、目标搜索周期的标识。第二确定模块623将目标分频比、目标搜索周期的标识向计算模块624发送。

计算模块624用于接收第二确定模块623发送的目标分频比、目标搜索周期的标识,根据所述目标搜索周期的标识计算所述目标分频比对应的查找表长度以及相位步进值。计算模块624将目标分频比对应的查找表长度以及相位步进值向生成模块630发送。

生成模块630用于接收计算模块624发送的目标分频比对应的查找表长度以及相位步进值,根据所述查找表长度以及所述相位步进值生成查找表。生成模块630将目标分频比的信息向触发模块640发送。

触发模块640用于接收生成模块630发送的目标分频比的信息,根据所述工作时钟频率、所述目标分频比产生触发信号。触发模块640将触发信号向频率合成模块650发送。

频率合成模块650用于接收获取模块610发送的工作时钟频率,以及触发模块640发送的触发信号,根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

上述方案,直接数字频率合成器根据存储器的最大长度值、工作时钟频率以及频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目;根据搜索范围以及每个分频比的搜索周期数目,获取每个分频比的所有搜索周期各自对应的频率误差;确定满足预设要求的频率误差对应的目标分频比、目标搜索周期的标识;根据目标搜索周期的标识计算目标分频比对应的查找表长度以及相位步进值;根据查找表长度以及相位步进值生成查找表;根据工作时钟频率、目标分频比产生触发信号;根据触发信号对应的计数值从查找表获取计数值对应的幅度,并对幅度进行数模转换输出正弦波信号。由于直接数字频率合成器是根据符合预设要求的频率误差对应的目标分频比、查找表实现直接数字频率合成,能够有效减小频率误差,以能够有效减小根据符合预设要求的频率误差得到的查找表长度,减少查找表所占用的存储空间,提高内存占用率。

参见图7,图7是本发明直接数字频率合成器又一实施例的结构示意图。如图所示的本实施例中的直接数字频率合成器700可以包括:一个或多个处理器710,一个或多个输入设备720,一个或多个输出设备730和存储器740。上述处理器710、输入设备720、输出设备730和存储器740通过总线750连接。

存储器740用于存储程序指令。

处理器710用于根据存储器740存储的程序指令执行以下操作:

处理器710用于获取工作时钟频率以及频率控制字;

处理器710还用于根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字,确定满足预设要求的频率误差对应的目标分频比、查找表长度以及相位步进值;

处理器710还用于根据所述查找表长度以及所述相位步进值生成查找表;

处理器710还用于根据所述工作时钟频率、所述目标分频比产生触发信号;

处理器710还用于根据所述触发信号对应的计数值从所述查找表获取所述计数值对应的幅度,并对所述幅度进行数模转换输出正弦波信号。

进一步地,处理器710还用于根据存储器的最大长度值、所述工作时钟频率以及所述频率控制字确定分频比对应的搜索范围以及每个分频比的搜索周期数目;以及用于根据所述搜索范围以及所述每个分频比的搜索周期数目,获取所述每个分频比的所有搜索周期各自对应的频率误差;以及用于确定满足预设要求的所述频率误差对应的目标分频比、目标搜索周期的标识;以及用于根据所述目标搜索周期的标识计算所述目标分频比对应的查找表长度以及相位步进值。

进一步地,处理器710具体用于根据所述工作时钟频率、所述频率控制字以及所述存储器的最大长度值计算所述频率控制字对应的最小分频比;根据所述工作时钟频率以及所述频率控制字计算所述频率控制字对应的最大分频比;根据所述最小分频比以及所述最大分频比确定所述分频比对应的搜索范围;根据所述工作时钟频率、所述存储器的最大长度值、所述频率控制字以及所述每个分频比的搜索值计算所述每个分频比的搜索周期数目。

进一步地,处理器710具体用于根据所述工作时钟频率、每个分频比的搜索值计算所述每个分频比的搜索值各自对应的采样率;根据所述存储器的最大长度值、所述采样率、所述频率控制字计算所述每个分频比的搜索周期数目。

进一步地,处理器710具体用于若当前分频比的当前搜索周期对应的频率误差小于所述搜索范围内,所有分频比的历史搜索周期对应的历史频率误差,则将所述当前分频比识别为目标分频比,将所述当前搜索周期的标识识别为目标搜索周期的标识。

进一步地,处理器710具体用于若当前分频比的当前搜索周期对应的频率误差小于预设频率误差阈值,则所述当前分频比识别为目标分频比,将所述当前搜索周期的标识识别为目标搜索周期的标识。

应当理解,在本发明实施例中,所称处理器710可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备720可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备730可以包括显示器(LCD等)、扬声器等。

该存储器740可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器740的一部分还可以包括非易失性随机存取存储器。例如,存储器740还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器710、输入设备720、输出设备730可执行本发明实施例提供的直接数字频率合成方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的直接数字频率合成器的实现方式,在此不再赘述。

本发明还提供一种调频发射装置,调频发射装置包括上述任一实施例所述的直接数字频率合成器。调频发射装置包括但不限于用于立体声编码的调频(FrequencyModulation,FM)发射装置,立体声编码的导频信号为19KHz。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号