首页> 中国专利> 使用带有对积累的舍入误差造成的幅度变化进行补偿的复数乘法的自由振荡数字控制振荡器

使用带有对积累的舍入误差造成的幅度变化进行补偿的复数乘法的自由振荡数字控制振荡器

摘要

一种用于有效地生成所需频率的复数正弦波的方法,包括在每个采样间隔把复数向量乘以预定的数值,以及使用复数向量内的最高阶比特以识别复数向量是否处在45度的整数倍,以及如果确定复数向量是45度的整数倍,则替换复数向量内的分量。如果识别复数向量不是45度的整数倍,则确定用于实部和虚部的误差因子,以及通过去除误差因子而校正实部和虚部。

著录项

  • 公开/公告号CN1914579A

    专利类型发明专利

  • 公开/公告日2007-02-14

    原文格式PDF

  • 申请/专利权人 皇家飞利浦电子股份有限公司;

    申请/专利号CN200580003346.6

  • 发明设计人 K·R·威蒂格;G·F·布恩斯;

    申请日2005-01-25

  • 分类号G06F1/03;H03B28/00;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人程天正

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-17 18:16:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-03

    未缴年费专利权终止 IPC(主分类):G06F 1/03 专利号:ZL2005800033466 申请日:20050125 授权公告日:20100811

    专利权的终止

  • 2010-08-11

    授权

    授权

  • 2007-11-07

    专利申请权、专利权的转移专利申请权的转移 变更前: 变更后: 登记生效日:20071012 申请日:20050125

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

  • 2007-04-11

    实质审查的生效

    实质审查的生效

  • 2007-02-14

    公开

    公开

说明书

本发明涉及数字控制的振荡器,更特定地,涉及对数字控制振荡器内的累积性近似或舍入误差的校正。

对被发送的信号的解调常常需要下变频到基带,这进而又需要与本地生成的正弦信号混合或相乘,该正弦信号与要下变频的信号具有相同的载波或中间频率。在数字信道解调系统中,这个功能典型地是使用数字控制振荡器(NCO)实现的。NCO的能力对于以数字方式生成线性变化相位角的三角函数是所需要的。例外的是这样的情形:其中所需频率或者是数字采样频率的小的整数倍以达到奈奎斯特频率,或者是其分子和分母都是小整数的分数。

数字信道解调常常需要由诸如数字控制振荡器提供的给定频率的正弦信号的自由振荡源。这样的振荡器可以通过使用复数与相应于所需频率的复数常数接连相乘而实现。这种方法的公知的问题是,最终得到的信号的幅度是不稳定的,并由于累积的近似或舍入误差而增加或减小。数字控制振荡器(NCO)用固定的时基合成一系列的频率。

数字控制振荡器传统上用查找表或用于复数向量旋转的CORDIC(坐标旋转数字计算机)算法而实现。这两种实现方案都存在问题。对于高度数字精确度,查找表可能需要大量存储器以及CORDIC算法可能需要许多级数字硬件。实施NCO的一个公知的方法是使用具有通过振荡器的当前相位角寻址的数字存储器的查找表,而数字存储器的内容是相应于每个相位角的想要的正弦函数的数值。存储器的尺寸随需要的相位角精度而按指数增加(即,每增加一个二进制数字,存储器规模加倍),并随正弦值的精度按线性增加。如果需要相位角的任意值,则所需要的查找表的尺寸可变为非常大,如果在集成电路器件上实施,则需要大的面积。用数字方式生成正弦函数的第二个公知的方法是使用CORDIC算法的迭代程序过程,其中想要的正弦函数被逐次地近似。在传统的实施方案中,CORDIC算法每执行一次迭代提高精度一倍。CORDIC算法可以用在计算机上执行的软件实施。CORDIC算法也可以用数字电路实施,每执行一次CORDIC算法的迭代需要一级。软件实施方案需要的资源形式是计算机的外加开销,诸如处理器执行时间,而数字电路实施方案的资源形式是集成电路器件上的面积。如果希望高的数值精度,则需要很大的资源量来实施CORDIC算法。

从以上的讨论,应当容易看到,在技术上仍旧需要一种比起当前可得到的数字控制振荡器需要更少资源的数字控制振荡器。

本发明通过提供简单和有效的能纠正这样的变化的方法以使得振荡器信号保持为恒定的而解决现有技术下述缺点:最终得到的幅度变为不稳定并且最终由于积累的近似或舍入误差而增加或减小。本发明采用接连的复数乘法来实施数字控制振荡器,它比起使用查找表或CORDIC算法需要更小的资源量这导致解决稳定问题的简单和有效的方法。本发明可以通过使用在集成电路中的客户设计的分立逻辑电路、一种对于这种功能只需要少到仅仅一个处理器的缩减的或其它可重新配置的处理器阵列,而被实施。

本发明的这些和其它目的是通过以下方式提供的,即通过在每个采样间隔把当前的复数向量乘以预定的值一次以产生下一个复数向量而有效地生成想要的频率的复数正弦波;辨别在下一个复数向量的实部或虚部内是否存在零值条件,以及用单位幅度的互补分量替代呈现零值条件的复数向量分量;辨别在下一个复数向量的实部与虚部之间是否存在相等性条件以及如果辨别到等量的条件,则用一个相等的分量替代下一个复数向量的实部和虚部;以及如果没有找到相等性条件的零值条件,则确定下一个复数向量的实部和虚部的误差因素以及通过去除误差因素而校正实部和虚部。

图1a是显示由本发明执行的函数的流程图;

图1b是显示由本发明执行的函数的流程图;

图1c是显示由本发明执行的函数的流程图;

图2是显示本发明的概念的复数向量图;

图3是对于可以利用图1a,图1b和图1c流程图的信道解调器的框图。

已经发现正弦函数可以通过使用用于复数向量的旋转的较少资源以数字方式生成。在复数域,使复数向量旋转一个给定的角度相应于乘以一个具有实部和虚部分量的第二复数向量的复数乘法,该第二复数的数值由相位角增量严格地确定。在离散时间数字域中自由振荡的振荡器相应于在每次采样间隔期间相位角重复增加恒定的量。这样的振荡器可以通过初始的复数向量与前述的第二复数向量作接连的乘法被创建。在这个装置中,最终得到的复数向量的模或幅度必须总是等于一个单位(unity)。与一个单位的任何偏离将导致或者幅度逐步减小(最终变为无穷小),或者幅度逐步增大并将无止境地继续下去。众所周知,在复数的算法中,如果第二复数向量的幅度正好等于一个单位,则最终得到的幅度将在无限长时期内保持为恒定的。然而,这个恒定的结果是仅仅在抽象的数学意义下所作保证的条件,而在实际的数字信号处理系统是不能现实地做到的。因此,数字系统内正弦函数的生成需要一种用于避免或校正前述复数向量幅度长期增加或减小的机制。

参照图3,数字信道解调器49的框图具有数字前端50。本发明在前端50内基带变换55的领域内是有用的。上述这些和变换55接收数字输入,该数字输入也被自动增益控制(AGC)52接收。AGC 52提供模拟输出。基带变换55一般典型地通过把信号混合提供,而不用更高的频率的变换。采样速率变换53提供由基带变换55所采用的频率的调节。图3所示的基带变换55包括用于载波恢复以锁定到下变频的频率的功能。采样速率变换53调节时钟速率成为与采样速率相同的。理想地,希望时钟速率和采样速率应当是同一个速率。信号下变频到基带导致整个处理过程能够在较慢的采样速率下进行。采样速率变换53的另一个功能仅仅是保证时钟速率和采样速率是相同的。滤波器59将提供奈奎斯特滤波器和采样速率变换的信号的分样。奈奎斯特滤波器防止假频混淆。例如,如果有一个20MHz采样速率和具有小于5MHz的频率的信号,则许多交替的样本可以被去除,然而,必须首先将信号滤波以去除5MHz以上的任何信号。时序恢复57提供从滤波器59到采样速率变换的反馈环。一旦信号被基带变换55和采样速率变换53,滤波的信号就被信道估值和校正60接收。信道估值和校正60典型地提供信道估值、时间内插、和频率内插。信道译码器62从信道估值和校正60接收经估值的和校正的信道数据。信道译码器62典型地提供对于已被信道译码器62扰码和译码的MPEG数据的输出接口。系统控制器64典型地提供控制信号到前端50、信道估值和校正60、以及信道译码器62。图3所示的数字信道解调器49解调由基带变换55把信号下变频到基带电平的发送的信号,它需要与本地生成的具有与要被下变换的信号相同的载波频率或中频的正弦信号混合或相乘。在传统的数字信道解调系统中,这个功能典型地使用数字控制振荡器(NCO)来实施。NCO以数字方式生成线性变化的相位角的三角函数的能力是需要的。基带变换55提供正弦信号的混频,其方式是避免现有技术以查找表或CORDIC来实施NCO从而把信号变频到基带的方法中的问题。下面描述本发明的优选地采用的基带变换55。

参照图1a,本发明提供检测和校正前述长期变化的简化方法。本发明利用复数的已知的特性来执行所需要的补偿。两个复数的复数乘积x+jy由下面的公式1a和1b表示的关系a+jb和c+jd给出。

               公式1a x+jy=(a+jb)(c+jd)

               公式1b x+jy=(ac-bd)+j(ad+bc)

对于初始的复数值c+jd接连地乘以第二复数值a+jb n次,结果由公式2给出。

                公式2x+jy=(a+jb)n(c+jd)

当这个相同的乘法执行n+1次时,结果由公式3a和3b表示的关系给出。

               公式3a x’+jy’=(a+jb)n+1(c+jd)

               公式3b x’+jy’=(a+jb)(x+jy)

公式3b的结果是,想要的结果可以通过在每个采样间隔内把当前的复数向量值与a+jb重复相乘一次而得到。图1所示的算法10由优选实施例在每个采样间隔所运算。如果a+jb的幅度正好是一个单位,则结果将等价于自由振荡数字控制振荡器。因为众所周知,任何复数可以以极坐标形式表示,下面的公式4相应于具有单位幅度的相位角。

               公式4 a+jb=cosθ+jsinθ=e

对于给定的相位角的这个复数的数值被确定为想要的振荡器频率对想要的采样速率的比值的函数。数字控制振荡器可以通过在每个采样间隔期间把复数向量重复乘以这个预定的复数而被实施。这个处理过程需要一次复数乘法,后者则包括四次实数乘法和两次实数加法,正如以上的对于复数乘积的表达式显示的。通过使用当前的技术,上述的处理过程比起查找表或CORDIC算法需要更少的资源,但仍旧需要复数向量的幅度保持为一个单位。

单位幅度准则的满足典型地需要确定复数向量的复数幅度(两次乘法,一次加法,和一次平方根运算),接着是复数向量与这个幅度的倒数的乘法(两次除法运算)。这些运算所需要的资源是非常昂贵的。

参照图1a,所需的确定和校正通过在适当的条件下使用下面描述的复数的熟知的特性而被实施。图1a的算法10在系统设计过程期间所确定的预定时间间隔开始12。在系统设计过程期间,这些参数通过识别需要校正的舍入误差的累积有多么快而被确定。把当前的复数向量乘以预定的数值14,将在每个采样间隔执行当前的复数向量值与a+jb相乘一次的复数运算,正如公式3b的关系中表示的。零值条件16将确定实部是否为零或虚部是否为零。如果相位角是90度的偶数整数倍(0或180度),则复数向量是纯实数,而它的虚部是零。因此,在这些条件下实部必须等于一个单位。检测虚部为零的条件(或任何零的数字值,在用于数字信号处理系统的表示中,所有的二进制数字等于逻辑0)是一件简单的事。无论何时检测到这个条件时,单位幅度的替代分量18将用正的或负的单位值替代实部的数值,这取决于原先数值的符号。如果相位角是90度的奇数整数倍(90或270度),则零数值条件将检测到复数向量是纯虚数的,而它的实部是零。通过使用以上给出的幅角,虚部必须等于一个单位(再次地,正的或负的),因此单位幅度的替代的分量18将用正的或负的单位值替代虚部数值,这取决于原先的值的符号。这个过程所需要的资源只包括与零的两次进行比较以作出判决和一次用常数值(即,一个单位)去替换复数分量。显然,这比起现有技术的直接方法,对于实际的实施方案是合理得多。

以上讨论的实施方案的变例导致复数向量的相位角是45度的奇数倍的情形(45度的偶数倍正好是以上考虑的90度的倍数)。如果复数向量是45度的奇数倍,则实部的绝对值必然等于虚部的绝对值,以及这个相等20的条件将由算法10所检测。具体地,实部的绝对值和虚部的绝对值都具有0.70710678(1/2的平方根)的绝对值,这是从复数的公知特性得出的。对相等的分量进行替代24保证,一旦检测到等量的条件,每个实部和虚部就用0.70710678的正值和负值替代,这取决于原先的分量的符号。同样,可以这样做而不管实际的数值。对于这个过程所需要的资源只是一次相等性比较以便作出判决和用常数值对复数分量的两次替换。同样,对于实际的实施方案这比起现有技术的直接方法是更合理的方法。

现在参照图1b和图1c,由流程图执行的各种步骤在两个部分中执行。图1b和图1c的每个图表示本发明的最优选的实施例,其中图1b是最优选的实施例。在图1b上,该算法(总的用35表示)将执行当前的复数向量与预定的数值相乘34,正如以前描述的,接着测试零值条件36,这是与如前所述的在图1a中执行的相同的测试。如果发现零值条件存在,则执行单位幅度的分量的替换38,以及如果零值条件不成立,如图1a所示,则执行相等性退出的条件39。在图1b上执行的算法是最优选的,因为它是最有效的以及需要最少的资源。在大多数应用中,设想图1b所示的算法35将是足够的,因为舍入误差和截断误差不必是恒定的,周期性恒定就已足够。

在图1c,执行图1a上执行的、但不是图1b上执行的步骤。这里的原因是在某些应用或系统中,单独依靠45度的调节,如图1b所示,不一定能触发足够的数量的校正。图1c所示的步骤将提供在预定的间隔的校正。图1c所示的算法40的迭代将与被确定为对于开始42必须的那样经常地执行,并以与图1a中以上讨论中所描述的相同的方式执行当前的复数向量与预定的数值相乘44。然后,确定误差因素46将计算误差因素,如在图1a的以上的讨论中描述的,以及去除误差因素将消除算出的误差因素。预定的间隔在系统设计过程期间被确定,以及图1c的算法将按照这些参数执行。图1c的算法比起图1b的算法需要更多的资源,但它保证能不断地作出校正。图1a的算法10提供图1b和1c的组合,所以也是本发明设想的。

上述的替换可以被组合在单个系统中,导致八个可能的条件而不是仅仅四个条件,本发明的校正可以在这些条件下执行。按照以上的方案的检测点被显示于图2。在图2上,y=0被显示在0和180度。其它的零点x=0被显示在90和270度。所有上述的零点将具有在复数向量内被替换的单位分量。在0度,x=1,y=0的单位值;在90度,x=0,y=1的单位值;在180度,x=-1,y=0的单位值;以及在270度,x=0,y=-1的单位值;将替换复数向量分量。也如图2所示,对于相位角的45度的整数倍将导致具有在复数向量内被替换的相等的绝对值的分量。在45度,x=0.707,y=0.707的相等的绝对值分量;在135度,x=-0.707,y=0.707的相等的绝对值分量;在225度,x=-0.707,y=-0.707的相等的绝对值分量;在315度,x=0.707,y=-0.707的相等的绝对值分量;将替换复数向量分量。

为了上述的方案能正确地工作,必须对进行检测的条件有某种规律;否则,需要的校正将决不会执行。为了最好地保证这一点,所需的振荡器频率必须不是很密切地涉及到系统的数字采样速率。如果它们的比值是包含小整数的简单的分数,则复数相位角在运算期间有可能或甚至多半将只限于严格数目的值,并且不能满足以上的检测条件。在这些情形下,可以使用小的查找表或分立的数字逻辑来实现数字控制振荡器,这样,对于更有效地使用资源没有太大的要求。

为了提高检测需要的条件的频率,有可能只检查这些条件更经常出现的复数向量分量的较高阶的二进制数字或比特。这样检查的比特的数目可以根据在正常工作期间允许的、在数字控制振荡器的幅度中的最大可接受的“跳跃”进行选择。零检测是以查明所有选定的较高阶的比特不等于逻辑0就等于逻辑1(后者的情形相应于非常小的负值)而进行的;这些比较结果分别需要单个NOR功能和单个AND功能。相等性比较是以查明两个复数分量的所有的相应的较高阶的比特(或一个分量的逐位颠倒,在两个分量具有相反的符号的情形下)是相等的而进行的;每个所考虑的比特需要用两个异-OR功能(其一个用于一个分量的符号倒置,当需要时,以及其一个用于实际比较),而对所有的比特比较的结果要用一个AND功能。

对于复数向量的分量由适当数目的二进制数表示的任何自由数控制振荡器幅度变化速率是相当慢的。因此,有可能定期地校正复数向量幅度,而不需要检测必须等待其出现的专门的条件。虽然要被描述的所提出的方法比起上述的方法需要更大的资源,但无论如何,它比起直接方法需要少得多的资源,所以它是更为实际的。

如果复数向量的幅度在某一时间间隔内由于累积的舍入误差的结果只改变很小的量,这个改变可被近似,而该近似可用来执行所需的计算。下面的公式5给出受到远小于一个单位的增量ε扰动的、具有实部和虚部x和y的r的复数向量幅度的关系。

                 公式5 r=1.0+ε;ε<<1.0

所以,对于r的复数向量幅度的平方由公式6表示。

                    公式6 r2=x2+y2≈1.0

因此,模的平方的增量由公式7a,7b,和7c的关系给出。

              公式7a Δ(r2)=r2-1.0=(1.0+e)2-1.0

              公式7b Δ(r2)=1.0r2+2ε+ε2-1.0

              公式7c Δ(r2)≈2ε

所以,增量ε是可以由公式8a和8b表示的关系给出的误差确定。在优选实施例内的确定误差因子26将通过使用公式8a和8b表示的关系确定这个误差因子。

                  公式8a >>ϵ>≈>>>Δ>>>(>r>)>>2>>>2>>>s>

                  公式8b >>ϵ>=>>>(>>x>2>>+>>y>2>>->1.0>)>>2>>>s>

复数向量的x和y分量的校正因子然后由公式9的关系给出,它是通过去除误差因子28执行的。

                  公式9 >>>1.0>r>>=>>1.0>>1>+>ϵ>>>≈>1.0>->ϵ>>s>

误差确定可以通过使用两次乘法、两次加法、和一次右移运算(除以2)而执行。

因此,校正的复数分量x’和y’由公式10a和10b给出。

                公式10a x’≈x(1.0-ε)=x-εx

                公式10:y’≈y(1.0-ε)=y-εy

校正可以使用一次乘法和一次减法而执行。显然,这比起需要极昂贵平方根和倒数运算的直接方法更经济得多。

本发明在数字信号处理系统的前端部分中是特别有用的,该系统执行信道解调,其中需要由与采样速率没有密切关系的任意频率对输入信号进行下变频。它可以使用集成电路上的分立的逻辑的硬件,或在计算机处理器上执行的软件来实施。特别地,它适用于包含以不太大倍数的采样速率的指令速率运行的多个小处理器的缩减阵列的非常经济的实施方案。在这样的阵列,它可以使用一个或至多少量这种处理器来实现。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号