[發(fā)明專利]一種基于區(qū)間劃分和CORDIC的三角函數(shù)計算方法及裝置在審
| 申請?zhí)枺?/td> | 201811623843.1 | 申請日: | 2018-12-28 |
| 公開(公告)號: | CN109814836A | 公開(公告)日: | 2019-05-28 |
| 發(fā)明(設計)人: | 劉慶;劉宇;騰友偉;朱衛(wèi)國;逄錦昊;吳恒奎 | 申請(專利權)人: | 中電科儀器儀表有限公司 |
| 主分類號: | G06F7/548 | 分類號: | G06F7/548 |
| 代理公司: | 濟南圣達知識產(chǎn)權代理有限公司 37221 | 代理人: | 黃海麗 |
| 地址: | 266555 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 映射 三角函數(shù) 角度區(qū)間 計算方法及裝置 周期區(qū)間 求解 迭代 迭代計算 計算效率 計算資源 算法執(zhí)行 查找表 減小 存儲 修正 節(jié)約 | ||
本發(fā)明公開了一種基于區(qū)間劃分和CORDIC的三角函數(shù)計算方法及裝置,所述方法包括將周期區(qū)間(0,2π)進行八等分;將區(qū)間(0,π/4)進行2k等分,并獲得每個角度區(qū)間的初始角度;計算每個區(qū)間起始角度的三角函數(shù)值,并進行存儲;接收待求解角度,將所述角度映射到周期區(qū)間(0,2π),得到第一映射角度;將所述第一映射角度映射到區(qū)間(0,π/4),得到第二映射角度;判斷所述第二映射角度在區(qū)間(0,π/4)中所屬的角度區(qū)間;根據(jù)所述角度區(qū)間的起始角度,從第k次迭代開始,基于CODIC算法執(zhí)行三角函數(shù)計算;基于計算結果,修正得到所述待求解角度的三角函數(shù)值。本發(fā)明結合了查找表法和CORDIC迭代計算方法,能夠在減小迭代次數(shù)的同時,提高了計算效率,節(jié)約計算資源。
技術領域
本公開屬于數(shù)字信號處理技術領域,尤其涉及一種基于區(qū)間劃分和CORDIC的三角函數(shù)計算方法及裝置。
背景技術
傳統(tǒng)任意波形發(fā)生器采用直接頻率合成技術(DDS)生成所需頻率的數(shù)字信號,DDS模塊中產(chǎn)生數(shù)字波形的方法有兩種,一種是采用查找表的方法產(chǎn)生不同相位對應的幅度,一種是根據(jù)當前相位直接計算該相位的幅度。采用查找表的方法需要提前將大量波形數(shù)據(jù)進行存儲,當需要某一相位的數(shù)據(jù)時,對存儲的波形進行尋址查找對應幅度,該方法需要的內(nèi)存空間很大,而大容量的ROM存在高功耗、高成本、低可靠性的弊端,且由于累加器的舍位誤差帶來較大的相位雜散。而采用實時計算某相位對應的幅度,可避免查找表方法帶來的弊端,其中CORDIC算法為其常用計算方法。
CORDIC算法最早是由J.Volder提出的,基本算法是通過不斷的坐標變換或角度旋轉使所計算的角度不斷接近待求解的角度,其優(yōu)點在于,該算法只需要簡單的移位、加、減操作即可實現(xiàn)三角函數(shù)等高階函數(shù)的計算,且該算法易于采用流水線結構執(zhí)行。隨后該算法得到更加廣泛的應用,包括QR分解、FFT變換、DCT/IDCT變換、平面坐標和極坐標的轉換、DDS等。自CORDIC算法應用于DDS技術中,數(shù)字波形生成技術擺脫了以往需要過大的ROM空間以及尋址過程的舍位誤差引起的雜散等缺點,其流水線結構利用FPGA容易實現(xiàn),相對于傳統(tǒng)DDS節(jié)約了大量資源。采用CORDIC算法實時計算某一相位的幅度值,對每個尋址到的相位計算一次幅度,無需存儲大量波形數(shù)據(jù),也不需要對波形數(shù)據(jù)舍位截斷,
但傳統(tǒng)算法仍然存在不足,如角度覆蓋范圍受限、循環(huán)迭代次數(shù)過長、計算精度較低,導致計算效率下降,從而越來越無法滿足速度和精度的雙重要求。對于傳統(tǒng)CORDIC算法,其角度計算范圍在-98°到98°范圍內(nèi),對其他角度范圍的計算需要進行角度轉換;計算速度取決于迭代次數(shù),而迭代次數(shù)越多,結果就越精確,每次迭代過程均在前一迭代結束后,利用上一次的結果進行本次迭代,因此迭代次數(shù)在一定程度上限制了計算速度。因此自該算法提出以來,很多對該方法的改進方案也相繼出現(xiàn)。
首先其算法結構從循環(huán)迭代結構改進到流水線迭代結構,使得每次迭代過程分別執(zhí)行,不再進行循環(huán)控制,各級迭代可在一個周期同時工作,系統(tǒng)工作效率得到提高。其次,由于對精度的要求越高,需要的迭代次數(shù)必然增加,硬件的實現(xiàn)結構也越復雜,從而使整個迭代過程的速度降低,解決這一問題,人們從算法本身出發(fā)進行分析、改進。2005年Maharatna基于正弦級數(shù)第一近似定理提出了無縮放增益的SF CORDIC算法,該算法每一步循環(huán)迭代是由初始旋轉角度對應位二進制補碼控制,而不再是由角度數(shù)據(jù)路徑的符號位進行控制,使得不同循環(huán)迭代之間無數(shù)據(jù)依賴,SF CORDIC算法雖然消除了縮放補償邏輯和角度數(shù)據(jù)路徑,但是仍存在循環(huán)迭代次數(shù)過多以及計算精度低等不足。自適應編碼ARC算法在SF CORDIC算法基礎上采用自適應編碼方法縮短了迭代次數(shù)。ARC算法降低了硬件結構的復雜度,但是流水站級數(shù)并沒有得到改進。為了進一步降低ARC算法流水線級數(shù),出現(xiàn)了改進自適應編碼EARC算法。不同改進算法目的均是在硬件結構或迭代方式進行優(yōu)化以提高計算速度和精度,從數(shù)學證明可知CORDIC算法從第(N-log23)/3+1次以后的每次迭代方向可以提前預測,因此,之后的運算不需迭代,而只需要進行移位加減等操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中電科儀器儀表有限公司,未經(jīng)中電科儀器儀表有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811623843.1/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





