使用cordic算法的波叠加的制作方法

文档序号:6422355阅读:510来源:国知局
专利名称:使用cordic算法的波叠加的制作方法
技术领域
本发明涉及用于使用坐标旋转数字计算机(CORDIC),创建由N个波的叠加组成的波形的方法。
本发明还涉及包括CORDIC的电路装置、实现CORDIC的软件产品和CORDIC的用途。
背景技术
由Jack Volder在“The CORDIC trigonometric computingtechnique”,IRE Trans.Electron.Comput.,vol.EC-8,no.3,pp.330-334,Sept.1959介绍的坐标旋转数字计算机(CORDIC)是解决涉及平面坐标旋转的关系的计算技术。
通过计算坐标旋转,可以生成数字正弦和余弦波。图1描述具有CORDIC2的电路装置,用于数字生成谐波正弦或余弦波。CORDIC2包括用于笛卡儿矢量坐标Xin和Yin的输入4。电路装置还包括用于接收相位值PH的输入6和用于输出旋转笛卡儿矢量坐标Xout和Yout的输出8。坐标Xin和Yin表示具有的大小为(Xin2+Yin2)-1/2的向量P。由相位值PH_init给出输入向量旋转的起始角。通过将相位值PH_init应用于CORDIC,会导致向量的额外旋转。为生成具有某一频率的波,通过偏移值ΔPH累加相位值PH。值Xin,Yin和PH的一个可以置0,因为它是冗余的。
为创建表示正弦或余弦波的输出值Xout和Yout,必须随每个时钟周期给相位输入PH增加相位偏移值ΔPH。该相位偏移值在输入10处被输送到电路装置。相位值PH是正弦和余弦输出信号的数字相位信息。通过将ΔPH值添加到电流相位值PH,累加器12生成相位值。累加相位值PH+ΔPH存储在寄存器14中,用于下一计算步骤。为避免符号错误,相位数据应当在2πrad范围上。在计算由Xin,Yin和PH_init表示的向量的旋转开始时,将初始相位值PH_init输送到输入6。在每个计算步骤,CORDIC计算
XoutYout=C*ej*PH*XinYin]]>其中,C是常量,最好接近1。在初始步骤中,CORDIC计算XoutYout=C*ej*PHinit*XinYin]]>在下一步骤中,CORDIC计算XoutYout=C*ej*(PHinit+ΔPH)*XinYin]]>计算步骤采用的值ΔPH和时间确定正弦或余弦波的频率。
图2描述通过内插离散值16a形成的正弦波形16。还描述可能由CORDIC2输出的那个正弦波16的相应相位值18。在2的补码表示中,相位偏移值ΔPH为1的情况下,利用12位码,需要值16a的4096个离散样本来生成一个正弦波周期。在这种情况下,输出频率为1/4096的时钟频率。如果ΔPH为2048,对整个周期,仅需要两个样本。
存在创建由多个波,如具有多个正弦和/或余弦波,具有不同频率和相位组成的波形的需要,有可能通过叠加生成任何波形。特别地,在音频和/或语音编码器/解码器中,生成不同波形是性能关键任务。为生成这些波形,可以使用许多CORDIC,每个生成在输出叠加成一个合成波形的不同正弦波。
该方法成本高。复杂的合成波形所需的硬件巨大。

发明内容
因此,本发明的目的在于通过使用CORDIC,提供一种用于多个波形合成的节省成本的方法。本发明的另外的目的是提供节省功率的方法。本发明的另外的方面是减少芯片上的硅面积。本发明的另外的目的是提供用于多个波形合成的容易的软件实现。
本发明的这些目的通过一种用于使用坐标旋转数字计算机(CORDIC),创建由N个波的叠加组成的波形的方法解决,其中,所述CORDIC在N个计算步骤内计算所述N个波的离散值,和其中,将来自所述CORDIC的所述离散值的所述输出与离散值的先前输出累加,以便形成所述波形的合成离散值。
本发明的一个特性是使用一个单个的CORDIC生成不同波形,尤其是通过叠加正弦和余弦波。代替对每个波分别提供一个值Xin、Yin、PH和ΔPH的集合到单个CORDIC,在N个计算步骤期间,将这些集合提供到一个CORDIC。在N个计算步骤后,计算用于N个不同波的N个离散值。在每个计算步骤期间,将值Xin、Yin和PH提供到用于一个单波的CORDIC。Xin、Yin和PH_init是冗余的,以致可以省略一个值。输出相应离散值Xout,Yout。该输出与先前的输出累加。在N个计算步骤后,所累加的输出表示用于可以通过内插所有离散值生成的该合成波形的一个离散值。用于所述波形的合成的不同波的数量N可以在2和100之间变化,但不局限于那个范围以及可以更大,特别是在CORDIC的时钟脉冲频率在未来升高的情况下。
为提供N个不同Xin和Yin以及PH_init,其中由于冗余,可以省略一个值,提供如权利要求2所述的方法。PH_init可以置0。队列为每个计算步骤提供用于各个波的一个新输入值Xin和Yin。以与N个周期循环的方式,将队列值输送到所述CORDIC的输入。因此,在N个计算步骤后,再次将第一值输送到该CORDIC的输入,在相位偏移的情况下,为累加第一值。
为将每个波的相位值提供到该CORDIC,提供如权利要求3所述的方法。该队列在第一N个计算步骤期间,提供N个相位值来初始化用于各个波的CORDIC。
如权利要求4所述的方法提供每个输入向量的旋转。在相位值输送到该CORDIC后,该值增加ΔPH并反馈到队列的输入。在N个计算步骤后,向该CORDIC输送增加的相位信息PH+ΔPH,以便可以为输入向量旋转增加ΔPH的角度。对任何负值到任何正值间的N个向量的每一个,相位偏移值ΔPH可以不同,最好在-πrad<ΔPH<πrad的范围中。
根据如权利要求5所述的方法,在MxN计算步骤内,通过M个离散值计算合成波形的整个周期。合成波形的这些M个离散值分别由通过所述CORDIC计算的N个不同波的N个离散值组成。
本发明的另一方面是电路装置,特别是具有预先描述的方法,包括具有振幅输入、相位输入和输出的CORDIC,其中,N个振幅值的第一队列与所述振幅输入耦合,N个相位值的第二队列与所述相位输入耦合,N个频率值的第三队列连同所述第二队列的输出一起与加法器耦合,以及其中,所述加法器的输出与所述第二队列的输入耦合。队列可以是移位寄存器或存储设备,分别包含N个值和通过每个计算步骤,将新值提供到CORDIC。可以反馈队列,以便以循环的方式,将它们的输出再次输送到它们的输入。
优选如权利要求7所述的反馈电路,因为该电路允许累积N个不同波的N个离散值,以便生成合成波的离散值。
本发明的另一方面是用于实现预先描述的方法的软件。进一步优选基于整数运算计算离散值。软件实现允许例如在微型计算机内的语音和音频编码/解码,诸如MPEG编码/解码。
用于正弦/余弦波合成、正弦波编码/解码、参量音频和/或视频编码器/解码器、和/或移动通信设备的预先描述的方法、预先描述的电路装置或预先描述的软件的用途是本发明的另一方面。在参量音频解码器中的正弦波编码中,在50个计算步骤内计算50个不同的波来组成合成波形很有用。


根据附图并参考附图,本发明的这些和其他方面将是显而易见的。在图中表示图1是现有技术CORDIC;图2是正弦波形;图3是根据本发明的CORDIC。
具体实施例方式
图3描述具有根据本发明的CORDIC2的电路装置。除图1外,图3描述用于输入值Xin和Yin的第一队列4c、用于相位值PH的第二队列14a和用于相位偏移信号ΔPH的第三队列10a。值PH_init可以置0。在PH_init不同于零情况下,可能存在用于该值的另外的队列。另外描述的是累加器8a和8e以及寄存器8c。电路装置工作如下每个队列4c、10a、14a具有例如50个时间片。在队列4c内,每个时间片保存用于表示一个正弦波的振幅的向量的初始值Xin。因此,可以提供50个不同的振幅的正弦波。队列14a包括用于各个50个正弦波的50个相位值PH,以及队列10a保存50个相位偏移值ΔPH以便确定在用于该向量的一个计算步骤期间,用于所述50个向量的每一个的相位偏移。相位偏移值ΔPH还确定各个正弦波的频率。
将用于每个正弦波的输入向量旋转值PH,以及输出笛卡儿坐标Xout和Yout中的输出向量。对所述50个输入值的每一个执行该操作。在累加器18d和18e中累积输出向量。在50个计算步骤后,累积的输出向量表示合成波形的一个离散值。
通过每个计算步骤,对每个波,使相位值PH分别增加ΔPH。将新相位值PH+ΔPH输送到队列14a的输入。在50个计算步骤后,将新相位值PH+ΔPH输送到CORDIC2。通过那个操作,使输入向量旋转增加的角度。在MXN计算步骤后,每个相位值为PH+MxΔPH。确定M以便合成波形至少一个周期长。在MxN计算步骤后,可以计算合成波形的下一周期。
通过累加离散输出值,叠加所有正弦波以便形成合成波形。在N个计算步骤内计算该合成波形的每个离散值。此后,计算下一离散值直到计算该合成波形的整个的周期为止。
通过使用一个单个的CORDIC,合成波形的计算是节省、节省功率的并且可以应用于多个语音和音频解码器,诸如MPEG4参量(正弦曲线的)编码。
权利要求
1.用于使用坐标旋转数字计算机(CORDIC),创建由N个波的叠加组成的波形的方法,其特征在于,所述CORDIC在N个计算步骤内计算所述N个波的离散值,以及其中,将来自所述CORDIC的所述离散值的所述输出与离散值的先前输出累加,以便形成所述波形的合成离散值。
2.如权利要求1所述的方法,其特征在于,通过所述N个计算步骤中的每一个,将所述N个波的N个振幅值的第一队列的输出输送到所述CORDIC的振幅输入。
3.如权利要求1所述的方法,其特征在于,通过所述N个计算步骤中的每一个,将所述N个波的N个相位值的第二队列的输出输送到所述CORDIC的相位输入。
4.如权利要求1所述的方法,其特征在于,通过所述N个计算步骤中的每一个,将用于所述N个波的N个相位偏移值的第三队列的输出累加到N个相位值的所述第二队列的输出,以及将累加结果反馈到相位值的所述第三队列的输入,以便在N个计算步骤后,所述第三队列包括与相位偏移值累加的N个相位值。
5.如权利要求1所述的方法,其特征在于,在MxN计算步骤内,计算至少提供所述波形的一个整周期的所述波形的M个离散值。
6.电路装置,特别是具有如权利要求1所述的方法的电路装置,包括具有振幅输入、相位输入和输出的CORDIC,其特征在于,N个振幅值的第一队列与所述振幅输入耦合,N个相位值的第二队列与所述相位输入耦合,N个频率值的第三队列连同所述第二队列的输出一起与加法器耦合,以及其中,所述加法器的输出与所述第二队列的输入耦合。
7.如权利要求6所述的电路装置,包括与所述CORDIC的所述输出耦合的反馈电路,所述反馈电路提供所述CORDIC的N个输出的累加以便生成由N个波的叠加组成的所述波形的合成离散值。
8.实现如权利要求1所述的方法的软件。
9.如权利要求1所述的软件,其特征在于,基于整数运算计算所述离散值。
10.如权利要求1所述的方法、如权利要求6所述的电路装置或如权利要求8所述的软件的用途,用于正弦波合成、正弦波编码/解码、参量音频和/或视频编码器/解码器,和/或移动通信设备。
全文摘要
本发明涉及用于使用坐标旋转数字计算机(CORDIC),创建由N个波的叠加组成的波形的方法。为提供生成合成波形,所述CORDIC在N个计算步骤内计算所述N个波的离散值,和将来自所述CORDIC的所述离散值的所述输出与离散值的在前输出累加以便形成所述波形的合成离散值。
文档编号G06F7/48GK1708744SQ200380102507
公开日2005年12月14日 申请日期2003年10月7日 优先权日2002年11月4日
发明者J·A·休斯肯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1