转换运算方法、装置和坐标旋转的数字计算方法、装置的制作方法

文档序号:6576404阅读:191来源:国知局
专利名称:转换运算方法、装置和坐标旋转的数字计算方法、装置的制作方法
技术领域
本发明涉及一种数据处理的方法,尤其涉及的是,实现转换运算近似求值的方法 和装置、以及实现坐标旋转的数字计算方法。
背景技术
坐标旋转的数字计算机技术(Computerrotate digital computer,C0RDIC)是一 种采用简单的移位加减法来实现各种超越函数的计算方法,广泛应用于雷达,无线通信,超 声信号处理中。一共有三种类型的CORDIC实现方法,第一类为圆周模式的C0RDIC,又分为 矢量模式以及旋转模式,用于计算各种正余弦因子,模值相位,坐标旋转变换;第二类为线 性模式C0RDIC,用于计算各种乘除法;第三类为超越模式的C0RDIC,用于计算各种超越函 数,如e函数或对数函数。实际应用中,仅应用其中的一类;或者,分开应用于不同的类型, 即对于每种类型的运算采用对应的CORDIC算法及其旋转因子,角度值,在硬件上即为多套 实现资源,分别实现各种类型的变换。在现有的实现方法中,仅将CORDIC实现于单一的应用,绝大部分是第一类CORDIC 算法的旋转模式求正余弦因子,少数是应用第一类CORDIC算法的矢量模式求来实现直角 坐标到极坐标的变换,参见专利CN1492313,一旦CORDIC模块实现好后,无法应用于其他 种类(如第二类CODIC求除法,第三类CODIC求对数);即使是第一类圆周模式的C0RDIC, 其在矢量模式以及旋转模式之间也无法通用,需要修改硬件结构才能适用于其它类型的迭 代;同样,在通信里的数字上(下)变频以及自动频偏纠正等领域内也存在类似的问题。因此,现有技术还有待于改进和发展。

发明内容
本发明的目的在于提供一种实现转换运算近似求值的方法和装置以及应用该方 法实现坐标旋转的数字计算的方法和装置,该方法和装置能够无需改变硬件结构地应用于 不同类型的转换计算。本发明的技术方案如下—种实现转换运算近似求值的方法,其包括以下步骤S1.判断待计算函数的类 型标识,并查找该类型标识对应的迭代参数;S2.根据所述迭代参数和所述待计算函数的 初始值,对所述待计算函数进行迭代运算。本发明还提供一种实现转换运算近似求值的装置,其包括参数模块,用于根据待 计算函数的类型标识,查找该类型标识对应的迭代参数;与所述参数模块连接的迭代模块, 用于根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。同一构思下,本发明另提供一种实现坐标旋转的数字计算方法,其包括以下步骤 Si.判断待计算函数的类型标识,并查找该类型标识对应的迭代参数;S2.根据所述迭代参 数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。本发明还提供一种坐标旋转的数字计算装置,其包括参数模块,用于根据待计算函数的类型标识,查找该类型标识对应的迭代参数;与所述参数模块连接的迭代模块,用于 根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。本发明所提供的实现转换运算近似求值的方法和装置以及应用该方法实现坐标 旋转的数字计算的方法和装置,根据预设的类型标识选用相应的迭代参数,应用在不同类 型求不同的函数时,只需调整软件配置预设的参数,无需改变硬件结构,仅用一套实现资源 即可实现多种计算类型,实现方法简单、归一化。


图1是本发明中实现转换运算近似求值方法的流程框图;图2是本发明中实现转换运算近似求值方法的流程示意图;图3是超声多普勒频谱分析系统的基本信号处理流程图;图4是本发明中实现转换运算近似求值装置的结构框图;图5是本发明中计数器的时序发生图;图6是本发明中角度索引表的结构示意图;图7是本发明中迭代模块的工作流程图。
具体实施例方式以下结合具体实施方式
和附图对本发明进行具体说明。本发明旨在仅用一套实现资源实现多种计算类型,由上位机软件配置实现类型的 类型标识、迭代次数等迭代参数,根据预设的类型标识选用相应的迭代参数;应用在不同 类型求不同的函数时,只需调整软件配置预设的参数,无需改变硬件结构,将实现方法简单 化、归一化。本发明提供一种实现转换运算近似求值的方法,见图1,包括以下步骤10.判断待计算函数的类型标识,并查找该类型标识对应的迭代参数,迭代参数包 括迭代次数,迭代方向,矢量位移量和角度累加值;20.根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代 运算。见图2,本步骤包括21.按照所述类型标识,设置函数矢量的初始值和角度值的初始值;22.按照迭代方向,对所述矢量进行位移运算并对所述角度值进行加或减运算;23.判断是否达到所述迭代次数,若为否,则输出量为中间过程值,并执行步骤 22。若为是,输出结果。本发明还提供一种实现CORDIC的方法,以下实施方式以CORDIC为例,将三类 CORDIC模式统一起来,将各种模式的迭代参数量化存储于处理器的内部缓存中,根据待计 算函数的类型不同采用相应的参数进行迭代计算,具体步骤如下100.在初始化时,按照上位机软件设置的工作模式,设置矢量值X” Yi和角度值 θ i的初始值;本步骤在不同的类型时,采用相应的步骤如果是第一类圆周CORDIC的旋转模式,即由旋转角度以及初始坐标值,得到最后 的坐标值。首先按照η/2的整数次旋转,使得要旋转的矢量离目标角度差值在(_π/2, η/2)的区间内,将预旋转后的矢量的初始值赋给矢量坐标X” Yi作为初始值,将(_π/2,
5JI /2)区间内的角度差值赋给角度值θ i的初始值,完成第一类圆周CORDIC的旋转模式的 初始化。如果是第一类圆周CORDIC的矢量模式,即由输入的矢量求模值以及矢量和X轴 的夹角,预先判断输入矢量位于哪一象限;如果矢量位于第二象限,首先将矢量反向旋转 η/2到第一象限,将角度值QiW初始值设置为π/2的量化值;如果矢量位于第三现象,首 先将矢量正向旋转η/2到第四象限,将角度值QiW初始值设置为-π/2的量化值,将此 时的矢量坐标值赋给待旋转矢量的初始值;如果矢量位于第一或第四象限,则直接将原值 赋给待旋转矢量的初始值,角度值Qi初始值设为0。如果是第二类线性C0RDIC,直接将初始值以及赋予给矢量X,Y,角度值θ ,的初始 值设为0。200、按照迭代方向(即是加法运算还是减法运算),启动迭代多次移位以及加减 运算;CORDIC的迭代过程可以用下式来表示xi+1 = Xi+mX μ ^yiX δ m> jyi+1 = Y^yiXxiX 5mjiθ i+1 = Oi-PiXami上式中,m是所述类型标识,表示CORDIC类型,m = 1表示第一类圆周模式的 C0RDIC,用于直角坐标和极坐标之间相互变换,m = 0表示第二类线性模式的C0RDIC,用于 乘法或除法,m = -1表示第三超越模式的C0RDIC,用于计算各种超越函数,求对数或指数运 算;μ i是所述迭代方向,表示当前计算应取的符号,取1或-1,由当前的Ji的符号或 角度累加结果Qi的符号决定下次迭代所需的符号。Xi, Yi表示迭代前的矢量值;xi+1,yi+1表示迭代后的矢量值;δ m, i为移位次数,取值为;θ 1表示迭代前的角度值,θ i+1表示迭代后的角度值;α μ表示当前的角度累加值,通常为固定的位数;该量化值为广义意义上的角度, 对于第一类圆周模式的CORDIC来说,角度累加值α 为真实的角度量化值,本实施方式中 的表达式为tan—1 (2力,将其用最大位数32位量化,实际迭代过程中,按照精度设置要求,可 以取较少的位数;对于第二类线性模式C0RDIC,角度累加值α ffl, i为一广义值,本实施方式 中采用一商值的量化因子,其表达式为并将其用最大的位数32位量化;对于第三类超 越模式的C0RDIC,角度累加值^^为超越模式的角度,其表达式为切!!!^口力。同样在实 际需求中,不用如此高的精度,可按照精度设置要求,取较少的位数。在数据Xi, Yi的量化位数范围内,迭代次数越高,输出精度越高,同时输出的延时 越大。每次更改CORDIC的类型时,不需要更改硬件,只要设置硬件工作模式以及即可,可灵 活用于各种特殊函数的实现方式。以下是将本发明应用于超声成像领域中,检测回波的包络以及相位信息。超声换 能器发射超声波到受试者体内,接收从受试者体内返回的超声回波。回波受人体组织以及 血流信息的幅度以及相位调制,图3给出了超声多普勒频谱分析系统的基本信号处理流程。超声回波信号经过波束合成后形成射频回波信号。将射频带通信号频移搬迁到基带,经 低通滤波后得到基带信号,分成两路分量,一路是同相位分量I (In-phase component),另 外一路是正交分量Q (quadrate component)。频域频移即时域调制,相同于用正余弦因子和 输入的射频信号相乘,此时可以采用第一类旋转模式CORDIC利用已知的规一化角频率产 生和采样时钟同步变化的正余弦因子;经过随后壁滤波处理,壁滤波是一个高通滤波,滤除 因为静止或者慢速的组织运动引起的杂波;经过壁滤波处理后,IQ两路分量主要包含红细 胞的运动引起的回波,将滤波后的IQ两路分量自相关后得到血流速度在直角坐标轴上的 分量以及能量值,由血流速度在直角坐标轴上的分量计算极坐标的模值以及相位值,得到 血流的速度以及模值,此步骤也可以采用第一类圆周模式CORDIC实现方法;将血流能量以 及模值,作为分母分子完成除法运算,得到血流的方差,可以采用第二类线性模式CORDIC ; 由于计算出来的血流的能量位数远高于显示器能够区分的灰度值,因此需要对血流能量的 动态范围压缩到显示器支持的灰度范围,即完成对数压缩处理,此步骤可以采用第三类超 越模式的C0RDIC。由此可见,将本发明应用于超声多普勒频谱分析系统,整个处理过程中每 次更改CORDIC的类型时,不需要更改硬件,只要设置硬件工作模式以及即可。本发明还提供一种实现转换运算近似求值的装置,见图4,包括参数模块和迭代模 块,参数模块用于根据待计算函数的类型标识,查找该类型标识对应的迭代参数;迭代模块 与所述参数模块连接,用于根据所述迭代参数和所述待计算函数的初始值,对所述待计算 函数进行迭代运算。所述参数模块又包括计数单元、地址生成单元、角度索引表和初始值 单元,各个单元的功能参见如下说明。(一)计数单元,用于在使能状态下计数到预设的迭代次数并输出计数值。这里的 计数单元是整个装置的协调部分,统一各单元的工作节拍,本实施方式计数单元采用η位 计数器,η值由预设的迭代次数P的最大值来决定。当计数器接收到使能信号以及迭代次 数P后,计数器复位,开始计数并直到P结束,然后维持不变,其时序如图5所示,计数器在 计数过程中输出同步控制信号,并分别用于驱动地址生成单元、初始值单元、迭代模块,作 为这几个部分同步工作的控制信号;同时向地址生成单元输出当前计数值N。( 二)地址生成单元在计数器产生的同步控制信号的驱动下,利用类型标识和当 前计数器输出的计数值N生成用于在角度索引表中查找角度的地址。比如,2比特指示表示 地址,当指示值为0,1,2时分别表示所述类型标识对应的第一类圆周模式的C0RDIC、第二 类线性模式C0RDIC、第三类超越模式的C0RDIC,本实施方式中采用的计算方式是指示值乘 以32加上计数值,将产生的地址送给角度索引表,产生真实的角度累加值。(三)角度索引表与所述地址生成单元连接,角度索引表根据地址生成单元生成 的所述地址查找并输出相应的角度累加值;角度索引表以地址为索引,每个地址对应一个 角度累加值的原值及其补码值。角度索引表如图6所示,地址索引表包括若干区域,每个 区域对应所述类型标识的一个值,本实施方式中分为三部分,第一部分用于存储第一类型 CORDIC的角度表,第二部分用于存储第二类型CORDIC的角度表,第三部分用于存储第三类 型CORDIC的角度表,按照精度要求,最多迭代32次,因此每一类型的表格,只需存储32个 32比特量化的角度。为了将迭代过程中可能的减法运算变为加法运算,实际上每一个地址存储的两个 值共64比特,原值32比特及其对32比特的补码值,同样用32比特表示,如果判断是加法
7运算,加上前一部分,如果判断为减法运算,则加上后一部分的补码值。如果软件设置的迭 代次数P小于32,则每次迭代只需要取出原值或补码值32比特的高P次即可。每次新的数 据到来时,按照地址指示,重新取出地址里的角度值。(四)初始值单元用于在所述同步控制信号的驱动下,按照所述类型标识,设置函 数矢量的初始值和角度值的初始值。如果是第一类圆周CORDIC的旋转模式,即由旋转角度以及初始坐标值,得到最后 的坐标值。首先按照η/2的整数次旋转,使得要旋转的矢量离目标角度差值在(_π/2, η/2)的区间内,将预旋转后的矢量的初始值赋给矢量坐标X,Y作为初始值,将(_π/2, JI /2)区间内的角度差值赋给迭代角度初始值,完成第一类圆周CORDIC的旋转模式的初始 化。如果是第一类圆周CORDIC的矢量模式,即由输入的矢量求模值以及矢量和X轴的夹 角,预先判断输入矢量位于哪一象限,如果矢量位于二,首先将矢量反向旋转η/2到第一 象限,将角度的初始值设置为η/2的量化值,如果矢量位于第三现象,首先将矢量正向向 旋转η /2到第四象限,将角度的初始值设置为- η /2的量化值,将此时的矢量坐标值赋给 待旋转矢量的初始值。如果矢量位于第一或第四象限,则直接将原值赋给待旋转矢量的初 始值,初始角度设为0。如果是第二类线性C0RDIC,直接将初始值以及赋予给矢量X,Y,角 度的初始值设为0。如果是第三类超越模式C0RDIC,常用于对数,开方运算,将原值加上以 及减去同一个值,该值为一个确定的已知量,将加减结果分别赋给矢量X,Y,角度的初始值 设置为0。(五)迭代模块为一串行机,与初始值单元连接,用于在所述同步控制信号的驱动 下,根据迭代次数、迭代类型等参数开始迭代,迭代过程如图7,由计数器决定本次迭代是选 用初始值还是迭代中间过程值当计数值为0时,选用初始值,当计数值不为0时,选用迭代 中间过程值,由迭代过程中迭代矢量的符号以及累加角度的符号决定下一次迭代为加法还 是减法运算,决定下一次是加上表中的正角度还是负角度值。例如第一类CORDIC的旋转模式,当累加角度为正值时,矢量Y加上上一次X的移 位值,矢量X减去上一次Y的移位值,下一次迭代累加角加上角度表中的补码值;当累加角 度为负值时,矢量Y减去上一次X的移位值,矢量X加上一次Y的移位值,下一次迭代累加 角加上角度表中的原码值依此类推;对于第二类线性CORDIC类型,迭代过程中,保持矢量X 值不变,其它类似第一类CORDIC类型;对于第三类C0RDIC,迭代过程同第一类C0RDIC,仅需 使得矢量X的迭代计算的加减法控制等同于矢量Y的加减法计算控制。当规定的迭代次数 完成后,给出输出使能信号,同时等待计数器的复位值到来,进入下一组矢量数据的迭代。本发明还提供一种实现坐标旋转的数字计算装置,其结构与上述实现转换运算近 似求值的装置基本相同。综上,本发明的CORDIC装置以及实现方法适合于所有的CORDIC 类型,由软件来配置工作类型以及迭代次数,灵活性高;当然,本发明还可以应用于通信里 的数字上(下)变频以及自动频偏纠正等领域。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可 以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保 护范围。
8
权利要求
一种实现转换运算近似求值的方法,其特征在于,包括以下步骤S1.判断待计算函数的类型标识,并查找该类型标识对应的迭代参数;S2.根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2包括`521.按照所述类型标识,设置函数矢量的初始值和角度值的初始值;`522.按照迭代方向参数,对所述矢量进行位移运算、并对所述角度值加上或减去角度 累加值;`523.判断是否达到所述迭代次数,若为否,则输出量为中间过程值,并执行步骤S22。
3.根据权利要求2所述的方法,其特征在于,所述迭代方向参数的符号,根据上一次迭 代过程中所述矢量的符号和所述角度累加值的符号确定。
4.根据权利要求3所述的方法,其特征在于,所述步骤S2按照以下通式进行迭代运算xi+1 = Xj+mX U iXyiX 6m iyi+i = Yi+y iXxjX 6m i9 i+l = 9 iX am,i式中,m是所述类型标识;U i是所述迭代方向参数,取1或-1 ;Xi,yi表示迭代前的矢量值;xi+1,yi+1表示迭代后的矢量值^^为移位次数,取值为9 i表示迭代前的角度值;0 i+1表示迭代后的角度值;a ,表示当前的角度累加值,通 常为固定的位数。
5.根据权利要求4所述的方法,其特征在于,所述角度值进行加或减运算是,根据迭代 方向取用所述角度累加值的原码或者补码值。
6.一种实现转换运算近似求值的装置,其特征在于,包括参数模块,用于根据待计算函数的类型标识,查找该类型标识对应的迭代参数; 与所述参数模块连接的迭代模块,用于根据所述迭代参数和所述待计算函数的初始 值,对所述待计算函数进行迭代运算。
7.根据权利要求6所述的装置,其特征在于,所述参数模块包括计数单元,用于在使能状态下计数到预设的迭代次数并输出同步控制信号; 地址生成单元,用于在所述同步控制信号的驱动下,利用所述类型标识和所述计数单 元的当前计数值生成地址;与所述地址生成单元连接的角度索引表,用于根据所述地址查找并输出相应的角度累 加值;与所述迭代模块连接的初始值单元,用于在所述同步控制信号的驱动下,按照所述类 型标识,设置函数矢量的初始值和角度值的初始值。
8.根据权利要求7所述的装置,其特征在于,所述角度索引表以地址为索引,每个地址 对应一个角度累加值的原值及其补码值;所述地址索引表包括若干区域,每个区域对应所述类型标识的一个值。
9.一种实现坐标旋转的数字计算方法,其特征在于,包括以下步骤 判断待计算函数的类型标识,并查找该类型标识对应的迭代参数;根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。
10.根据权利要求9所述的方法,其特征在于,所述角度值进行加或减运算是,根据迭 代方向取用所述角度累加值的原码或者补码值。
11.根据权利要求9所述的方法,其特征在于,圆周模式对应的所述角度累加值是真实的角度量化值; 线性模式对应的所述角度累加值是商值的角度量化值; 超越模式对应的所述角度累加值是超越模式的角度值。
12.根据权利要求9所述的方法,其特征在于,所述迭代运算按照以下通式进行 xi+1 = Xj+mX U iXyiX 6m iyi+i = Yi+y iXxjX 6m i9 i+l = 9 iX am,i式中,m是所述类型标识;U i是所述迭代方向参数,取1或-1 ;Xi,yi表示迭代前的矢量值;xi+1,yi+1表示迭代后的矢量值^^为移位次数,取值为9 i表示迭代前的角度值;0 i+1表示迭代后的角度值;a ,表示当前的角度累加值,通 常为固定的位数。
13.一种实现坐标旋转的数字计算装置,其特征在于,包括参数模块,用于根据待计算函数的类型标识,查找该类型标识对应的迭代参数; 与所述参数模块连接的迭代模块,用于根据所述迭代参数和所述待计算函数的初始 值,对所述待计算函数进行迭代运算。
14.根据权利要求13所述的装置,其特征在于,所述参数模块包括计数单元,用于在使能状态下计数到预设的迭代次数并输出同步控制信号; 地址生成单元,用于在所述同步控制信号的驱动下,利用所述类型标识和所述计数单 元的当前计数值生成地址;与所述地址生成单元连接的角度索引表,用于根据所述地址查找并输出相应的角度累 加值;与所述迭代模块连接的初始值单元,用于在所述同步控制信号的驱动下,按照所述类 型标识,设置函数矢量的初始值和角度值的初始值。
15.根据权利要求14所述的装置,其特征在于,所述角度索引表以地址为索引,每个地 址对应一个角度累加值的原值及其补码值;所述地址索引表包括若干区域,每个区域对应所述类型标识的一个值。
全文摘要
本发明公开了一种转换运算方法、装置和坐标旋转的数字计算方法、装置,其中,实现转换运算近似求值的方法,包括以下步骤判断待计算函数的类型标识,并查找该类型标识对应的迭代参数;根据所述迭代参数和所述待计算函数的初始值,对所述待计算函数进行迭代运算。本发明根据预设的类型标识选用相应的迭代参数,应用在不同类型求不同的函数时,只需调整软件配置预设的参数,无需改变硬件结构,仅用一套实现资源即可实现多种计算类型,实现方法简单、归一化。
文档编号G06F7/544GK101930351SQ20091010818
公开日2010年12月29日 申请日期2009年6月26日 优先权日2009年6月26日
发明者皮兴俊 申请人:深圳迈瑞生物医疗电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1