一种坐标旋转数字处理器的制造方法

文档序号:6525382阅读:227来源:国知局
一种坐标旋转数字处理器的制造方法
【专利摘要】本发明实施例公开了一种坐标旋转数字处理器,所述处理器具有模式选择功能,当所述模式选择信号为第一取值时,所述处理器能够实现坐标旋转功能,将初始输入信号旋转第一角度,得到旋转后的输出信号;当所述模式选择信号为第二取值时,所述处理器实现求解arctan的功能。本发明实施例所述的处理器可以根据选择的模式分别实现坐标旋转的功能和求解arctan角度的功能。与现有的单一功能的处理器相比,本发明实施例所述的CORDIC处理器能够有效的减少对系统资源的需求,且能够有效降低系统的功耗。
【专利说明】一种坐标旋转数字处理器
【技术领域】
[0001]本发明涉及通信【技术领域】,特别是涉及一种坐标旋转数字处理器。
【背景技术】
[0002]CORDIC (Coordinate Rotation Digital Computer,坐标旋转数字计算)方法,是J.D.Volderl于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数、乘法、开方、反三角、指数等函数。
[0003]但是,现有的CORDIC处理器都只能实现单一的计算功能,例如,仅能实现旋转功能,或者是仅能实现求解arctan角度的功能等。当系统要求实现多种计算功能时,需要部署多个单功能的CORDIC处理器,由此需要消耗较多的资源,并增加系统功耗。

【发明内容】

[0004]本发明实施例提供了一种坐标旋转数字处理器,能够同时实现旋转和求解arctan角度的功能,降低资源的需求和系统的功耗。
[0005]第一方面,提供一种坐标旋转数字处理器,包括初始层和至少一个迭代层;
[0006]所述初始层包括:第一数据选择器、第二数据选择器、第一选择加法器、第二选择加法器、第三选择加法器、第一寄存器、第二寄存器、第三寄存器;
[0007]其中,所述第一数据选择器的第一输入端接第一角度,其第二输入端接第二角度,其控制端接模式选择信号;
[0008]所述第二数据选择器的第一输入端接所述第一数据选择器的输出端,其第二输入端接第一常量,其控制端接模式选择信号;
[0009]所述第一选择加法器的第一输入端接第一常量,其第二输入端接第二常量,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第一寄存器的输入端;所述第一寄存器的输出端作为所述初始层的第一输出端;
[0010]所述第二选择加法器的第一输入端接第二常量,其第二输入端接第一常量,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第二寄存器的输入端;所述第二寄存器的输出端作为所述初始层的第二输出端;
[0011]所述第三选择加法器的第一输入端接所述第一数据选择器的输出端,其第二输入端接第三角度,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第三寄存器的输入端;所述第三寄存器的输出端作为所述初始层的第三输出端;
[0012]第i个迭代层包括:第一移位器、第二移位器、第三数据选择器、第四选择加法器、第五选择加法器、第六选择加法器、第四寄存器、第五寄存器、第六寄存器;
[0013]其中,所述第三数据选择器的第一输入端接上一层的第一输出端,其第二输入端接所述上一层的第三输出端,其控制端接模式选择信号;
[0014]所述第一移位器的输入端接所述上一层的第二输出端,其输出端接所述第四选择加法器的第二输入端;所述第二移位器的输入端接所述上一层的第一输出端,其输出端接所述第五选择加法器的第二输入端;
[0015]所述第四选择加法器的第一输入端接所述上一层的第一输出端,其第二输入端接所述第二移位器的输出端,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第四寄存器的输入端;所述第四寄存器的输出端作为所述第i个迭代层的第一输出端;
[0016]所述第五选择加法器的第一输入端接所述上一层的第二输出端,其第二输入端接所述第一移位器的输出端,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第五寄存器的输入端;所述第五寄存器的输出端作为所述第i个迭代层的第二输出端;
[0017]所述第六选择加法器的第一输入端接所述上一层的第三输出端,其第二输入端接所述第四角度,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第六寄存器的输入端;所述第六寄存器的输出端作为所述第i个迭代层的第三输出端。
[0018]在第一方面的第一种可能的实现方式中,当所述模式选择信号为第一取值时,所述处理器实现坐标旋转功能,将初始输入信号旋转所述第一角度后,得到旋转后的输出信号;
[0019]其中,所述初始输入信号为X0+iy0,X0为所述第一常量,yO为所述第二常量;所述输出信号为X(n+1)+iy (n+1) ,X(n+1)为最后一个迭代层的第一输出信号,y (n+1)为最后一个迭代层的第二输出信号;
[0020]当所述模式选择信号为第二取值时,所述处理器实现求解arctan的功能;
[0021]其中,cita(n+l)=arctan(yO/xO),cita(n+l)为最后一个迭代层的第三输出信号。
[0022]结合第一方面和第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
[0023]当所述模式选择信号为第一取值时,所述第一数据选择器输出为所述第一角度;当所述模式选择信号为第二取值时,所述第一数据选择器输出为所述第二角度。
[0024]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
[0025]当所述模式选择信号为第一取值时,所述第二数据选择器输出为所述第一数据选择器的输出;当所述模式选择信号为第二取值时,所述第二数据选择器输出为第一常量。
[0026]结合第一方面和第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,当所述模式选择信号为第一取值时,所述第三数据选择器输出为所述上一层的第三输出端的输出信号;当所述模式选择信号为第二取值时,所述第三数据选择器输出为所述上一层的第一输出端的输出信号。
[0027]本发明实施例所述的CORDIC处理器具有模式选择功能,当所述模式选择信号为第一取值时,所述处理器能够实现坐标旋转功能,将初始输入信号旋转第一角度,得到旋转后的输出信号;当所述模式选择信号为第二取值时,所述处理器实现求解arctan的功能。
[0028]由此可见,本发明实施例所述的处理器可以根据选择的模式分别实现坐标旋转的功能和求解arctan角度的功能。与现有的单一功能的处理器相比,本发明实施例所述的CORDIC处理器能够有效的减少对系统资源的需求,且能够有效降低系统的功耗。
【专利附图】

【附图说明】[0029]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为本发明实施例所述的坐标旋转数字处理器的结构图。
【具体实施方式】
[0031]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]本发明实施例提供了一种坐标旋转数字处理器,能够同时实现旋转和求解arctan角度的功能,降低资源的需求和系统的功耗。
[0033]参照图1,为本发明实施例所述的坐标旋转数字处理器的结构图。如图1所示,所述处理器包括:初始层和至少一个迭代层。
[0034]所述初始层包括:第一数据选择器MUX1、第二数据选择器MUX2、第一选择加法器ADD1、第二选择加法器ADD2、第三选择加法器ADD3、第一寄存器Regl、第二寄存器Reg2、第三寄存器Reg3。
[0035]其中,所述第一数据选择器MUXl的第一输入端接第一角度citaO,所述第一数据选择器MUXl的第二输入端接第二角度0,所述第一数据选择器MUXl的控制端接模式选择信号Cordicjnode,所述第一数据选择器MUXl的输出端接所述第二数据选择器MUX2的第一输入端和所述第三选择加法器ADD3的第一输入端。
[0036]需要说明的是,当所述模式选择信号Cordic_mode为第一取值(I)时,所述CORDIC处理器实现坐标旋转功能;当所述模式选择信号Cordicjnode为第二取值(O)时,所述CORDIC处理器实现求解arctan的功能。
[0037]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第一数据选择器MUXl输出为第一角度citaO ;当所述模式选择信号Cordicjnode为第二取值(O)时,所述第一数据选择器MUXl输出为第二角度O。
[0038]所述第二数据选择器MUX2的第一输入端接所述第一数据选择器MUXl的输出端,所述第二数据选择器MUX2的第二输入端接第一常量x0,所述第二数据选择器MUX2的控制端接模式选择信号Cordicjnode,所述第二数据选择器MUX2的输出端接所述第一选择加法器ADDl的第三输入端、第二选择加法器ADD2的第三输入端、第三选择加法器ADD3的第三输入端。
[0039]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第二数据选择器MUX2输出为所述第一数据选择器MUXl的输出,即为第一角度citaO ;当所述模式选择信号Cordicjnode为第二取值(0)时,所述第二数据选择器MUX2输出为第一常量x0。
[0040]所述第一选择加法器ADDl的第一输入端接第一常量x0,所述第一选择加法器ADDl的第二输入端接第二常量y0,所述第一选择加法器ADDl的第三输入端接所述第二数据选择器MUX2的输出端,所述第一选择加法器ADDl的输出端接所述第一寄存器Regl的输入端;所述第一寄存器Regl的输出端作为所述初始层的第一输出端。
[0041]具体的,当所述模式选择信号Cordic_mode为第一取值(1)时,所述第一选择加法器ADDl接收到的输入信号为(x0, yO, citaO [O]);当所述模式选择信号Cordic_mode为第二取值(O )时,所述第一选择加法器ADDI接收到的输入信号为(x0,yO,xO [O])。
[0042]所述第一选择加法器ADDl的输出信号经过所述第一寄存器Regl寄存后,输出第一初始输出信号χ1。
[0043]所述第二选择加法器ADD2的第一输入端接第二常量y0,所述第二选择加法器ADD2的第二输入端接第一常量x0,所述第二选择加法器ADD2的第三输入端接所述第二数据选择器MUX2的输出端,所述第二选择加法器ADD2的输出端接所述第二寄存器Reg2的输入端;所述第二寄存器Reg2的输出端作为所述初始层的第二输出端。
[0044]具体的,当所述模式选择信号Cordic_mode为第一取值(1)时,所述第二选择加法器ADD2接收到的输入信号为(yO, x0, citaO [0]);当所述模式选择信号Cordic_mode为第二取值(0)时,所述第二选择加法器ADD2接收到的输入信号为(y0,x0, x0[0])。
[0045]所述第二选择加法器ADD2的输出信号经过所述第二寄存器Reg2寄存后,输出第二初始输出信号y1。
[0046]所述第三选择加法器ADD3的第一输入端接所述第一数据选择器MUXl的输出端,所述第三选择加法器ADD3的第二输入端接第三角度artanO,所述第三选择加法器ADD3的第三输入端接所述第二数据选择器MUX2的输出端,所述第三选择加法器ADD3的输出端接所述第三寄存器Reg3的输入端;所述第三寄存器Reg3的输出端作为所述初始层的第三输出端。
[0047]具体的,当所述模式选择信号Cordic_mode为第一取值(1)时,所述第三选择加法器ADD3接收到的输入信号为(citaO, artanO, citaO [0]);当所述模式选择信号Cordic_mode为第二取值(0)时,所述第三选择加法器ADD3接收到的输入信号为(citaO, artanO,x0[0])。
[0048]所述第三选择加法器ADD3的输出信号经过所述第三寄存器Reg3寄存后,输出第三初始输出信号cital。
[0049]下面对迭代层的具体结构进行详细介绍,可以结合附图1所示。
[0050]需要说明的是,所述迭代层可以包括至少一个,换言之,可以包括η个迭代层,所述η为自然数。
[0051]所述至少一个迭代层结构相同,下面首先以第1个迭代层为例进行结构说明。
[0052]所述第1个迭代层包括:第一移位器S1、第二移位器S2、第三数据选择器MUX3、第四选择加法器ADD4、第五选择加法器ADD5、第六选择加法器ADD6、第四寄存器Reg4、第五寄存器Reg5、第六寄存器Reg6。
[0053]其中,所述第三数据选择器MUX3的第一输入端接所述初始层的第一输出端(即为第一初始输出信号xl),所述第三数据选择器MUX3的第二输入端接所述初始层的第三输出端(即为第三初始输出信号cital ),所述第三数据选择器MUX3的控制端接模式选择信号Cordicjnode,所述第三数据选择器MUX3的输出端接所述第四选择加法器ADD4的第三输入端、第五选择加法器ADD5的第三输入端、以及第六选择加法器ADD6的第三输入端。
[0054]具体的,当所述模式选择信号Cordic_mode为第一取值(1)时,所述第三数据选择器MUX3输出为所述第三初始输出信号cital ;当所述模式选择信号Cordicjnode为第二取值(O)时,所述第三数据选择器MUX3输出为所述第一初始输出信号xl。
[0055]所述第一移位器SI的输入端接所述初始层的第二输出端,所述第一移位器SI的输出端接所述第四选择加法器ADD4的第二输入端。
[0056]其中,所述第一移位器SI用于接收所述第二初始输出信号yl,对所述第二初始输出信号yl进行移位处理后,输出第一移位信号yl ’。具体的,所述移位处理可以为对所述第二初始输出信号yl的所有比特位右移一位。
[0057]所述第二移位器S2的输入端接所述初始层的第一输出端,所述第二移位器S2的输出端接所述第五选择加法器ADD5的第二输入端。
[0058]其中,所述第二移位器S2用于接收所述第一初始输出信号xl,对所述第一初始输出信号xl进行移位处理后,输出第二移位信号xl ’。具体的,所述移位处理可以为对所述第一初始输出信号xl的所有比特位右移一位。
[0059]所述第四选择加法器ADD4的第一输入端接所述初始层的第一输出端(即为第一初始输出信号xl),所述第四选择加法器ADD4的第二输入端接所述第二移位器S2的输出端,所述第四选择加法器ADD4的第三输入端接所述第三数据选择器MUX3的输出端,所述第四选择加法器ADD4的输出端接所述第四寄存器Reg4的输入端;所述第四寄存器Reg4的输出端作为所述第I个迭代层的第一输出端。
[0060]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第四选择加法器ADD4接收到的输入信号为(xl, yl ' , cital [O]);当所述模式选择信号Cordic_mode为第二取值(O)时,所述第四选择加法器ADD4接收到的输入信号为(xl,yl丨,xl[0])。
[0061]所述第四选择加法器ADD4的输出信号经过所述第四寄存器Reg4寄存后,输出第I个迭代层的第一迭代输出信号x2。
[0062]所述第五选择加法器ADD5的第一输入端接所述初始层的第二输出端(即为第二初始输出信号yl),所述第五选择加法器ADD5的第二输入端接所述第一移位器SI的输出端,所述第五选择加法器ADD5的第三输入端接所述第三数据选择器MUX3的输出端,所述第五选择加法器ADD5的输出端接所述第五寄存器Reg5的输入端;所述第五寄存器Reg5的输出端作为所述第I个迭代层的第二输出端。
[0063]具体的,当所述模式选择信号Cordicjnode为第一取值(I)时,所述第五选择加法器ADD5接收到的输入信号为(yl, xl ' , cital [O]);当所述模式选择信号Cordic_mode为第二取值(O)时,所述第五选择加法器ADD5接收到的输入信号为(yl,xl丨,xl[0])。
[0064]所述第五选择加法器ADD5的输出信号经过所述第五寄存器Reg5寄存后,输出第I个迭代层的第二迭代输出信号12。
[0065]所述第六选择加法器ADD6的第一输入端接所述初始层的第三输出端(即为第三初始输出信号cital ),所述第六选择加法器ADD6的第二输入端接所述第四角度,所述第六选择加法器ADD6的第三输入端接所述第三数据选择器MUX3的输出端,所述第六选择加法器ADD6的输出端接所述第六寄存器Reg6的输入端;所述第六寄存器Reg6的输出端作为所述第I个迭代层的第三输出端。
[0066]进一步需要说明的是,对于第I个迭代层,所述第六选择加法器ADD6的第二输入端接所述第四角度为artanl。[0067]由此使得,对于第I个迭代层,当所述模式选择信号Cordicjnode为第一取值(I)时,所述第六选择加法器ADD6接收到的输入信号为(cital, artanl, cital [O]);当所述模式选择信号Cordicjnode为第二取值(O)时,所述第六选择加法器ADD6接收到的输入信号为(cital, artanl, xl[O])。
[0068]所述第六选择加法器ADD6的输出信号经过所述第六寄存器Reg6寄存后,输出第I个迭代层的第三迭代输出信号citan2。
[0069]接着,介绍第2个迭代层的具体结构,同样的,所述第2个迭代层可以包括:第一移位器S1、第二移位器S2、第三数据选择器MUX3、第四选择加法器ADD4、第五选择加法器ADD5、第六选择加法器ADD6、第四寄存器Reg4、第五寄存器Reg5、第六寄存器Reg6。
[0070]其中,所述第三数据选择器MUX3的第一输入端接所述第I个迭代层的第一输出端(即为第I个迭代层的第一迭代输出信号x2),所述第三数据选择器MUX3的第二输入端接所述第I个迭代层的第三输出端(即为第I个迭代层的第三初始输出信号cita2),所述第三数据选择器MUX3的控制端接模式选择信号Cordicjnode,所述第三数据选择器MUX3的输出端接所述第四选择加法器ADD4的第三输入端、第五选择加法器ADD5的第三输入端、以及第六选择加法器ADD6的第三输入端。
[0071]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第三数据选择器MUX3输出为所述第I个迭代层的第三迭代输出信号cita2 ;当所述模式选择信号Cordic_mode为第二取值(0)时,所述第三数据选择器MUX3输出为所述第I个迭代层的第一迭代输出信号x2。
[0072]所述第一移位器SI的输入端接所述第I个迭代层的第二输出端,所述第一移位器SI的输出端接所述第四选择加法器ADD4的第二输入端。
[0073]其中,所述第一移位器SI用于接收所述第I个迭代层的第二迭代输出信号y2,对所述第二迭代输出信号y2进行移位处理后,输出第一移位信号y2 '。具体的,所述移位处理可以为对所述第二迭代输出信号y2的所有比特位右移一位。
[0074]所述第二移位器S2的输入端接所述I个迭代层的第一输出端,所述第二移位器S2的输出端接所述第五选择加法器ADD5的第二输入端。
[0075]其中,所述第二移位器S2用于接收所述第I个迭代层的第一迭代输出信号x2,对所述第一迭代输出信号x2进行移位处理后,输出第二移位信号xl丨。具体的,所述移位处理可以为对所述第一迭代输出信号x2的所有比特位右移一位。
[0076]所述第四选择加法器ADD4的第一输入端接所述I个迭代层的第一输出端,所述第四选择加法器ADD4的第二输入端接所述第二移位器S2的输出端,所述第四选择加法器ADD4的第三输入端接所述第三数据选择器MUX3的输出端,所述第四选择加法器ADD4的输出端接所述第四寄存器Reg4的输入端;所述第四寄存器Reg4的输出端作为所述第2个迭代层的第一输出端。
[0077]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第四选择加法器ADD4接收到的输入信号为(x2, y2 ' , cita2[0]);当所述模式选择信号Cordic_mode为第二取值(0)时,所述第四选择加法器ADD4接收到的输入信号为(x2,y2丨,x2[0])。
[0078]所述第四选择加法器ADD4的输出信号经过所述第四寄存器Reg4寄存后,输出第2个迭代层的第一迭代输出信号x3。[0079]所述第五选择加法器ADD5的第一输入端接所述I个迭代层的第二输出端,所述第五选择加法器ADD5的第二输入端接所述第一移位器SI的输出端,所述第五选择加法器ADD5的第三输入端接所述第三数据选择器MUX3的输出端,所述第五选择加法器ADD5的输出端接所述第五寄存器Reg5的输入端;所述第五寄存器Reg5的输出端作为所述第2个迭代层的第二输出端。
[0080]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第五选择加法器ADD5接收到的输入信号为(y2, x2 ' , cita2 [O]);当所述模式选择信号Cordic_mode为第二取值(O)时,所述第五选择加法器ADD5接收到的输入信号为(y2,x2丨,x2[0])。
[0081]所述第五选择加法器ADD5的输出信号经过所述第五寄存器Reg5寄存后,输出第2个迭代层的第二迭代输出信号y3。
[0082]所述第六选择加法器ADD6的第一输入端接所述I个迭代层的第三输出端,所述第六选择加法器ADD6的第二输入端接所述第四角度,所述第六选择加法器ADD6的第三输入端接所述第三数据选择器MUX3的输出端,所述第六选择加法器ADD6的输出端接所述第六寄存器Reg6的输入端;所述第六寄存器Reg6的输出端作为所述第2个迭代层的第三输出端。
[0083]进一步需要说明的是,对于第2个迭代层,所述第六选择加法器ADD6的第二输入端接所述第四角度为artan2。
[0084]由此使得,对于第2个迭代层,当所述模式选择信号Cordicjnode为第一取值(I)时,所述第六选择加法器ADD6接收到的输入信号为(cita2, artan2, cita2 [O]);当所述模式选择信号Cordicjnode为第二取值(O)时,所述第六选择加法器ADD6接收到的输入信号为(cita2,artan2, x2[O])。
[0085]所述第六选择加法器ADD6的输出信号经过所述第六寄存器Reg6寄存后,输出第2个迭代层的第三迭代输出信号cita3。
[0086]以此类推,对于第i个迭代层,其中,i为大于等于I小于等于η的自然数。
[0087]所述第i个迭代层可以包括:第一移位器S1、第二移位器S2、第三数据选择器MUX3、第四选择加法器ADD4、第五选择加法器ADD5、第六选择加法器ADD6、第四寄存器Reg4、第五寄存器Reg5、第六寄存器Reg6。
[0088]其中,所述第三数据选择器MUX3的第一输入端接上一层的第一输出端,所述第三数据选择器MUX3的第二输入端接所述上一层的第三输出端,所述第三数据选择器MUX3的控制端接模式选择信号Cordicjnode,所述第三数据选择器MUX3的输出端接所述第四选择加法器ADD4的第三输入端、第五选择加法器ADD5的第三输入端、以及第六选择加法器ADD6的第三输入端。
[0089]需要说明的是,当所述i=l时,所述第i个迭代层即为第I个迭代层,此时,所述第I个迭代层的上一层为初始层。例如,所述第三数据选择器MUX3的第一输入端接收到的上一层的第一输出端即为所述初始层的第一输出端,即为接收所述第一初始输出信号。
[0090]当所述i > I时,所述第i个迭代层的上一层依然为迭代层,则,所述第三数据选择器MUX3的第一输入端接收到的上一层的第一输出端即为所述第1-Ι个迭代层的第一输出端,即为接收上一层的第一迭代输出信号。
[0091]本发明实施例中,下面出现的上一层均与上述相同,不再进行详细阐述。[0092]具体的,当所述模式选择信号Cordicjnode为第一取值(I)时,所述第三数据选择器MUX3输出为所述上一层的第三输出端的输出信号;当所述模式选择信号Cordic_mode为第二取值(O)时,所述第三数据选择器MUX3输出为所述上一层的第一输出端的输出信号。
[0093]所述第一移位器SI的输入端接所述上一层的第二输出端,所述第一移位器SI的输出端接所述第四选择加法器ADD4的第二输入端。
[0094]其中,所述第一移位器SI用于接收所述上一层的第二输出端的输出信号,进行移位处理后,输出第一移位信号。
[0095]所述第二移位器S2的输入端接所述上一层的第一输出端,所述第二移位器S2的输出端接所述第五选择加法器ADD5的第二输入端。
[0096]其中,所述第二移位器S2用于接收所述上一层的第一输出端的输出信号,进行移位处理后,输出第二移位信号。
[0097]所述第四选择加法器ADD4的第一输入端接所述上一层的第一输出端,所述第四选择加法器ADD4的第二输入端接所述第二移位器S2的输出端,所述第四选择加法器ADD4的第三输入端接所述第三数据选择器MUX3的输出端,所述第四选择加法器ADD4的输出端接所述第四寄存器Reg4的输入端;所述第四寄存器Reg4的输出端作为所述第i个迭代层的第一输出端。
[0098]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第四选择加法器ADD4接收到的输入信号为(xi, yi 1 , citai [O]);当所述模式选择信号Cordic_mode为第二取值(O)时,所述第四选择加法器ADD4接收到的输入信号为(xi,yi丨,xi[0])。
[0099]所述第四选择加法器ADD4的输出信号经过所述第四寄存器Reg4寄存后,输出所述第i个迭代层的第一迭代输出信号x(i+l)。
[0100]需要说明的是,当所述迭代层包括η个时,第i个迭代层的第一迭代输出信号即为xi+Ι,其中i为大于等于I小于等于η的自然数。
[0101]例如,第I个迭代层的第一迭代输出信号即为χ2,第2个迭代层的第一迭代输出信号即为x3,第η个迭代层的第一迭代输出信号即为χ(η+1),等等。
[0102]所述第五选择加法器ADD5的第一输入端接所述上一层的第二输出端,所述第五选择加法器ADD5的第二输入端接所述第一移位器SI的输出端,所述第五选择加法器ADD5的第三输入端接所述第三数据选择器MUX3的输出端,所述第五选择加法器ADD5的输出端接所述第五寄存器Reg5的输入端;所述第五寄存器Reg5的输出端作为所述第i个迭代层的第二输出端。
[0103]具体的,当所述模式选择信号Cordic_mode为第一取值(I)时,所述第五选择加法器ADD5接收到的输入信号为(yi, xi 1 , citai [O]);当所述模式选择信号Cordic_mode为第二取值(O)时,所述第五选择加法器ADD5接收到的输入信号为(yi,xi丨,xi[0])。
[0104]所述第五选择加法器ADD5的输出信号经过所述第五寄存器Reg5寄存后,输出第i个迭代层的第二迭代输出信号y(i+l)。
[0105]同样的,当所述迭代层包括η个时,第i个迭代层的第二迭代输出信号即为y (i+1),其中i为大于等于I小于等于η的自然数。
[0106]例如,第I个迭代层的第二迭代输出信号即为y2,第2个迭代层的第二迭代输出信号即为y3,第η个迭代层的第二迭代输出信号即为y (n+1),等等。[0107]所述第六选择加法器ADD6的第一输入端接所述上一层的第三输出端,所述第六选择加法器ADD6的第二输入端接所述第四角度,所述第六选择加法器ADD6的第三输入端接所述第三数据选择器MUX3的输出端,所述第六选择加法器ADD6的输出端接所述第六寄存器Reg6的输入端;所述第六寄存器Reg6的输出端作为所述迭代层的第三输出端。
[0108]同样的,当所述迭代层包括η个时,第i个迭代层的第三迭代输出信号即为cita(i+l),其中i为大于等于I小于等于η的自然数。
[0109]例如,第I个迭代层的第三迭代输出信号即为cita2,第2个迭代层的第二迭代输出信号即为cita3,第η个迭代层的第三迭代输出信号即为cita (n+1),等等。
[0110]进一步需要说明的是,对于第i个迭代层,所述第六选择加法器ADD6的第二输入端接所述第四角度为artani。例如,第I个迭代层的第六选择加法器ADD6的第二输入端接收到的第四角度为artanl ;第2个迭代层的第六选择加法器ADD6的第二输入端接收到的第四角度为artan2 ;第η个迭代层的第六选择加法器ADD6的第二输入端接收到的第四角度为 artanrio
[0111]由此使得,对于第i个迭代层,当所述模式选择信号Cordicjnode为第一取值(I)时,所述第六选择加法器ADD6接收到的输入信号为(citai, artani, citai [O]);当所述模式选择信号Cordicjnode为第二取值(0)时,所述第六选择加法器ADD6接收到的输入信号为(citai, artani, xi[0])。
[0112]所述第六选择加法器ADD6的输出信号经过所述第六寄存器Reg6寄存后,输出第i个迭代层的第三迭代输出信号citai。
[0113]本发明实施例所述的CORDIC处理器具有模式选择功能,当所述模式选择信号Cordicjnode为第一取值时,所述处理器能够实现坐标旋转功能,将初始输入信号旋转第一角度citaO,得到旋转后的输出信号;当所述模式选择信号Cordicjnode为第二取值时,所述处理器实现求解arctan的功能。
[0114]具体的,当所述CORDIC处理器实现坐标旋转功能时,取第η个迭代层的第一迭代输出信号和第二迭代输出信号作为总的输出结果。此时,输入信号为所述第一常量x0和第二常量yO构成的复数,即为x0+iy0,以及第一角度citaO。其输出结果即为由第η个迭代层的第一迭代输出信号x(n+l)和第二迭代输出信号y(n+l)构成的复数,即为X(n+1)+iy (n+1)。其中,所述 x(n+1)+iy (n+1)是由 x0+iy0 旋转第一角度 citaO 得到的。
[0115]当所述CORDIC处理器实现求解arctan功能时,取第η个迭代层的第三迭代输出结果作为总的输出结果。此时,输入信号为所述第一常量x0和第二常量y0,其输出结果为第η个迭代层的第三迭代输出信号cita (n+1)。其中,所述cita (n+1) =arctan (y0/x0)。
[0116]由此可见,本发明实施例所述的CORDIC处理器能够实现模式选择功能,可以根据选择的模式分别实现坐标旋转的功能和求解arctan角度的功能。与现有的单一功能的处理器相比,本发明实施例所述的CORDIC处理器能够有效的减少对系统资源的需求,且能够有效降低系统的功耗。
[0117]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0119]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0120]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0121]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种坐标旋转数字处理器,其特征在于,包括初始层和至少一个迭代层; 所述初始层包括:第一数据选择器、第二数据选择器、第一选择加法器、第二选择加法器、第三选择加法器、第一寄存器、第二寄存器、第三寄存器; 其中,所述第一数据选择器的第一输入端接第一角度,其第二输入端接第二角度,其控制端接模式选择信号; 所述第二数据选择器的第一输入端接所述第一数据选择器的输出端,其第二输入端接第一常量,其控制端接模式选择信号; 所述第一选择加法器的第一输入端接第一常量,其第二输入端接第二常量,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第一寄存器的输入端;所述第一寄存器的输出端作为所述初始层的第一输出端; 所述第二选择加法器的第一输入端接第二常量,其第二输入端接第一常量,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第二寄存器的输入端;所述第二寄存器的输出端作为所述初始层的第二输出端; 所述第三选择加法器的第一输入端接所述第一数据选择器的输出端,其第二输入端接第三角度,其第三输入端接所述第二数据选择器的输出端,其输出端接所述第三寄存器的输入端;所述第三寄存器的输出端作为所述初始层的第三输出端; 第i个迭代层包括:第一移位器、第二移位器、第三数据选择器、第四选择加法器、第五选择加法器、第六选择加法器、第四寄存器、第五寄存器、第六寄存器; 其中,所述第三数据选择器的第一输入端接上一层的第一输出端,其第二输入端接所述上一层的第三输出端,其控制端接模式选择信号; 所述第一移位器的输入端接所述上一层的第二输出端,其输出端接所述第四选择加法器的第二输入端;所述第二移位器的输入端接所述上一层的第一输出端,其输出端接所述第五选择加法器的第二输入端; 所述第四选择加法器的第一输入端接所述上一层的第一输出端,其第二输入端接所述第二移位器的输出端,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第四寄存器的输入端;所述第四寄存器的输出端作为所述第i个迭代层的第一输出端; 所述第五选择加法器的第一输入端接所述上一层的第二输出端,其第二输入端接所述第一移位器的输出端,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第五寄存器的输入端;所述第五寄存器的输出端作为所述第i个迭代层的第二输出端; 所述第六选择加法器的第一输入端接所述上一层的第三输出端,其第二输入端接所述第四角度,其第三输入端接所述第三数据选择器的输出端,其输出端接所述第六寄存器的输入端;所述第六寄存器的输出端作为所述第i个迭代层的第三输出端。
2.根据权利要求1所述的坐标旋转数字处理器,其特征在于, 当所述模式选择信号为第一取值时,所述处理器实现坐标旋转功能,将初始输入信号旋转所述第一角度后,得到旋转后的输出信号; 其中,所述初始输入信号为xO+iyO,xO为所述第一常量,yO为所述第二常量;所述输出信号为x(n+l)+iy(n+l),x(n+l)为最后一个迭代层的第一输出信号,y (n+1)为最后一个迭代层的第二输出信号; 当所述模式选择信号为第二取值时,所述处理器实现求解arctan的功能;其中,cita(n+l)=arctan (yO/xO), cita(n+l)为最后一个迭代层的第三输出信号。
3.根据权利要求1或2所述的坐标旋转数字处理器,其特征在于,当所述模式选择信号为第一取值时,所述第一数据选择器输出为所述第一角度;当所述模式选择信号为第二取值时,所述第一数据选择器输出为所述第二角度。
4.根据权利要求3所述的坐标旋转数字处理器,其特征在于,当所述模式选择信号为第一取值时,所述第二数据选择器输出为所述第一数据选择器的输出;当所述模式选择信号为第二取值时,所述第二数据选择器输出为第一常量。
5.根据权利要求1或2所述的坐标旋转数字处理器,其特征在于,当所述模式选择信号为第一取值时,所述第三数据选择器输出为所述上一层的第三输出端的输出信号;当所述模式选择信 号为第二取值时,所述第三数据选择器输出为所述上一层的第一输出端的输出信号。
【文档编号】G06F7/544GK103713877SQ201310722234
【公开日】2014年4月9日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】余建华, 张仰辉, 邹世平 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1