一種基于改進(jìn)的高基cordic算法的復(fù)數(shù)乘法運(yùn)算單元的制作方法
【專利摘要】本發(fā)明屬于數(shù)字信號處理和集成電路設(shè)計(jì)【技術(shù)領(lǐng)域】,具體涉及一種基于改進(jìn)的高基CORDIC算法的復(fù)數(shù)乘法運(yùn)算單元。本發(fā)明提出的改進(jìn)的高基CORDIC算法,在已有算法的基礎(chǔ)上,進(jìn)一步增加CORDIC運(yùn)算每一級的迭代角度的選擇范圍,在保證精度的同時(shí),減少了所需的迭代次數(shù),從而提高運(yùn)算速度;采用余弦函數(shù)的泰勒級數(shù)展開近似的方法,簡化高基CORDIC算法中模校正因子的乘法操作,使得整個(gè)運(yùn)算過程只存在一個(gè)常數(shù)模校正因子,減小了硬件復(fù)雜度。在復(fù)數(shù)乘法的一個(gè)乘數(shù)是可以事先確定的應(yīng)用場合,可以完全避免通用復(fù)數(shù)乘法器的使用,在乘法運(yùn)算單元的硬件面積和所需要的ROM大小上都具有優(yōu)勢,同時(shí)計(jì)算精度沒有損失。
【專利說明】—種基于改進(jìn)的高基CORDIC算法的復(fù)數(shù)乘法運(yùn)算單元
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)字信號處理和集成電路設(shè)計(jì)【技術(shù)領(lǐng)域】,具體涉及一種基于改進(jìn)的高基CORDIC算法的復(fù)數(shù)乘法運(yùn)算單元。
【背景技術(shù)】
[0002]在數(shù)字信號處理中,許多應(yīng)用場合所需要的復(fù)數(shù)乘法運(yùn)算,其中一個(gè)乘數(shù)是可以事先確定的系數(shù),例如FFT (快速傅里葉變換)中的旋轉(zhuǎn)因子乘法。在FFT處理器中,存儲旋轉(zhuǎn)因子的存儲單元和復(fù)數(shù)乘法運(yùn)算單元占據(jù)了很大的面積。傳統(tǒng)的實(shí)現(xiàn)方案采用通用的復(fù)數(shù)乘法器計(jì)算旋轉(zhuǎn)因子乘法,用存儲器存放旋轉(zhuǎn)因子,硬件實(shí)現(xiàn)的面積比較大。CORDIC (坐標(biāo)旋轉(zhuǎn)計(jì)算機(jī))算法使用簡單的加法和移位操作代替復(fù)雜的復(fù)數(shù)乘法運(yùn)算,與此同時(shí),可以減小存儲旋轉(zhuǎn)因子所需的存儲器的大小,從而降低FFT處理器的硬件規(guī)模。但是,傳統(tǒng)的CORDIC算法需要比較長的迭代周期,不能滿足高速計(jì)算的要求,而高基的CORDIC算法需要額外的硬件開銷來解決模校正因子不是一個(gè)常數(shù)的問題。
【發(fā)明內(nèi)容】
[0003]為了克服通用復(fù)數(shù)乘法器硬件資源消耗大的缺點(diǎn)和已有CORDIC算法的不足,本發(fā)明提出了一種改進(jìn)的高基CORDIC算法及基于改進(jìn)的高基CORDIC算法的復(fù)數(shù)乘法運(yùn)算單
J Li ο
[0004]本發(fā)明提出的改進(jìn)的高基CORDIC算法,具體過程如下:
[0005]設(shè)直角平面上的一個(gè)二維向量逆時(shí)針旋轉(zhuǎn)Θ角度之后得到向量/λ(-ν?,ν?).寫成矩陣形式如式(I)所示:
【權(quán)利要求】
1.一種改進(jìn)的高基CORDIC算法,設(shè)直角平面上的一個(gè)二維向量
逆時(shí)針旋轉(zhuǎn)5角度之后得到向量瓦(?,?),寫成矩陣形式如式(O所示:
2.基于如權(quán)利要求1所述改進(jìn)的高基CORDIC算法的復(fù)數(shù)乘法運(yùn)算單元,其特征在于:由三個(gè)部分構(gòu)成: 第一部分為輸入數(shù)據(jù)的預(yù)處理模塊(101 ),對應(yīng)于算法中的預(yù)選轉(zhuǎn)操作,對輸入數(shù)據(jù)的實(shí)部和虛部進(jìn)行取反和交換;第二部分為⑶RDIC乘法單元的運(yùn)算模塊,包括:初始角度旋轉(zhuǎn)模塊(102),對應(yīng)于算式(2)中初始旋轉(zhuǎn)角度系數(shù)A所在的矩陣乘法,第一級到第六級的CORDIC迭代運(yùn)算模塊(103),對應(yīng)于算式(2)中旋轉(zhuǎn)角度系數(shù)%所在的η級矩陣乘法,以及乘以常數(shù)模校正因子的模校正模塊,對應(yīng)于算式(2)中的乘數(shù); 第三部分為只讀存儲器(105),用以存儲作為控制信號的旋轉(zhuǎn)向量; 所述第一級CORDIC迭代模塊的硬件結(jié)構(gòu),包括:依次連接的一個(gè)二選一數(shù)據(jù)選擇器(201)、三組硬件連線構(gòu)成的移位器(202)、三個(gè)四選一數(shù)據(jù)選擇器(203)、一個(gè)4-2數(shù)據(jù)壓縮器(204)和一個(gè)快速加法器(205);其中: 所述二選一數(shù)據(jù)選擇器(201),用于選擇輸入數(shù)據(jù)或者輸入數(shù)據(jù)取反之后的結(jié)果;所述硬件連線構(gòu)成的移位器(202),分為三組,一組對應(yīng)于算式(4)除巧或九外中的一項(xiàng);同組中的三個(gè)移位器分別實(shí)現(xiàn)算式(4)中£% = ±1、Qj = ±1/2或= +1/4時(shí)對輸入數(shù)的右移操作;所述三個(gè)四選一數(shù)據(jù)選擇器(203),其四個(gè)輸入與同組移位器的三個(gè)輸出以及一個(gè)O輸入相連;= O時(shí)選擇O輸入,= 土I時(shí)選擇移位器組中的第一個(gè)輸出,以ι = ± 時(shí)選擇移位器組中的第二個(gè)輸出,A =±1/4時(shí)選擇移位器組中的第三個(gè)輸出; 所述4-2數(shù)據(jù)壓縮器(204 ),其輸入對應(yīng)于算式(4 )中的四項(xiàng),將經(jīng)過移位之后的數(shù)據(jù)壓縮成為兩路數(shù)據(jù)輸出給快速加法器; 快速加法器(205),將中間結(jié)果相加之后得到最后的輸出; 所述第二和第三級CORDIC迭代模塊的硬件結(jié)構(gòu),包括:依次連接的一個(gè)二選一數(shù)據(jù)選擇器、兩組硬件連線構(gòu)成的移位器、兩個(gè)四選一數(shù)據(jù)選擇器、一個(gè)3-2數(shù)據(jù)壓縮器和一個(gè)快速加法器;其中: 所述二選一數(shù)據(jù)選擇器,用于選擇輸入數(shù)據(jù)或者輸入數(shù)據(jù)取反之后的結(jié)果; 所述硬件連線構(gòu)成的移位器,共分為兩組,一組對應(yīng)于算式(5)除\或乃外中的一項(xiàng);同組中的三個(gè)移位器分別實(shí)現(xiàn)算式(5)中q =±1、巧=±1/2或q =±1/4時(shí)對輸入數(shù)的右移操作; 所述兩個(gè)四選一數(shù)據(jù)選擇器,其四個(gè)輸入與同組移位器的三個(gè)輸出以及一個(gè)O輸入相連;q = O時(shí)選擇O輸入,q = ±1時(shí)選擇移位器組中的第一個(gè)輸出,^ = ±1/2時(shí)選擇移位器組中的第二個(gè)輸出,q =±〗/4時(shí)選擇移位器組中的第三個(gè)輸出; 所述3-2數(shù)據(jù)壓縮器,其輸入對應(yīng)于算式(5 )中的三項(xiàng),將經(jīng)過移位之后的數(shù)據(jù)壓縮成為兩路數(shù)據(jù)輸出給快速加法器; 所述快速加法器,將中間結(jié)果相加之后得到最后的輸出; 所述第四級到第六級CORDIC迭代模塊的硬件結(jié)構(gòu),包括:依次連接的一個(gè)二選一數(shù)據(jù)選擇器、一組硬件連線構(gòu)成的移位器、一個(gè)四選一數(shù)據(jù)選擇器和一個(gè)快速加法器;其中:所述二選一數(shù)據(jù)選擇器,用于選擇輸入數(shù)據(jù)或者輸入數(shù)據(jù)取反之后的結(jié)果; 所述硬件連線構(gòu)成的移位器,一組對應(yīng)于算式(6)除Xi或乃外中的一項(xiàng);同組中的三個(gè)移位器分別實(shí)現(xiàn)算式(6)中巧=±1、$ 二±1/2或q= ±1/4時(shí)對輸入數(shù)的右移操作; 所述四選一數(shù)據(jù)選擇器,其四個(gè)輸入與同組移位器的三個(gè)輸出以及一個(gè)O輸入相連;q =0時(shí)選擇O輸入,q =±1時(shí)選擇移位器組中的第一個(gè)輸出,^ =±1/2時(shí)選擇移位器組中的第二個(gè)輸出,A = ±1/4時(shí)選擇移位器組中的第三個(gè)輸出; 所述快速加法器,將中間結(jié)果相加之后得到最后的輸出。
【文檔編號】G06F7/544GK103488459SQ201310420101
【公開日】2014年1月1日 申請日期:2013年9月13日 優(yōu)先權(quán)日:2013年9月13日
【發(fā)明者】周曉方, 王冬格 申請人:復(fù)旦大學(xué)