基于CORDIC矩陣奇異值分解的FPGA實(shí)現(xiàn)
發(fā)布時(shí)間:2021-04-09 15:57
在矩陣的奇異值分解(singular value decomposition,SVD)過程中,隨著矩陣維數(shù)的增加,SVD的計(jì)算量呈指數(shù)型增長,從而降低了算法運(yùn)行的實(shí)時(shí)性。針對這個(gè)問題,基于Hestenes-Jacobi數(shù)值計(jì)算方法,提出了一種改進(jìn)的基于坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)(coordinate rotation digital computer,CORDIC)的邏輯設(shè)計(jì),該邏輯設(shè)計(jì)采用并行的全流水線設(shè)計(jì)思想,能夠提高Jacobi平面旋轉(zhuǎn)變換的運(yùn)行速度,進(jìn)而加快任意維矩陣奇異值分解的計(jì)算速度。分析了基于Hestenes-Jacobi方法的SVD的數(shù)值計(jì)算過程,介紹了CORDIC算法的基本原理,并具體說明了基于CORDIC算法的Jacobi平面旋轉(zhuǎn)模塊的設(shè)計(jì),利用Verilog語言實(shí)現(xiàn)設(shè)計(jì)并驗(yàn)證,在現(xiàn)場可編程門陣列(field-programmable gate array,FPGA)上運(yùn)行該邏輯設(shè)計(jì)單元,與Matlab軟件的運(yùn)行結(jié)果進(jìn)行對比。實(shí)驗(yàn)測試結(jié)果表明,該結(jié)構(gòu)能夠減少計(jì)算時(shí)間,適應(yīng)高速數(shù)據(jù)處理的要求。
【文章來源】:重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版). 2020,32(03)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
平面旋轉(zhuǎn)變換
具體的奇異值分解實(shí)現(xiàn)電路的頂層設(shè)計(jì)如圖2,圖2中的COM_Top模塊為奇異值分解的Hestenes-Jacobi正交化變換單元,實(shí)現(xiàn)列對向量的正交化運(yùn)算過程,本例設(shè)計(jì)了4個(gè)COM_Top模塊,進(jìn)行并行運(yùn)算。電路采用2個(gè)雙端口RAM單元,分別用于存儲(chǔ)左奇異向量 和右奇異向量,Addr單元即對應(yīng)算法1中Addr函數(shù),并行讀取矩陣A的列向量,輸出作為RAM單元的地址。Converge模塊為收斂判決模塊,用于判斷運(yùn)算是否達(dá)到預(yù)期的收斂精度。Norm模塊為歸一化模塊,用于對正交變換后的矩陣進(jìn)行歸一化,依次輸出奇異值。狀態(tài)機(jī)作為控制單元,提供同步和控制信號(hào),在整個(gè)分解過程中每個(gè)模塊執(zhí)行不同的任務(wù)。Hestenes-Jacobi方法的核心思想是實(shí)現(xiàn)一系列的列向量對的正交化變換。因此,本文主要是在對COM_Top模塊以及其子模塊的具體實(shí)現(xiàn)進(jìn)行改進(jìn)。因此,下面針對COM_Top的具體設(shè)計(jì)進(jìn)行說明。COM_Top模塊由3個(gè)部分組成:向量乘積運(yùn)算模塊,旋轉(zhuǎn)角度運(yùn)算模塊以及旋轉(zhuǎn)變換運(yùn)算模塊,如圖3。
Hestenes-Jacobi方法的核心思想是實(shí)現(xiàn)一系列的列向量對的正交化變換。因此,本文主要是在對COM_Top模塊以及其子模塊的具體實(shí)現(xiàn)進(jìn)行改進(jìn)。因此,下面針對COM_Top的具體設(shè)計(jì)進(jìn)行說明。COM_Top模塊由3個(gè)部分組成:向量乘積運(yùn)算模塊,旋轉(zhuǎn)角度運(yùn)算模塊以及旋轉(zhuǎn)變換運(yùn)算模塊,如圖3。COM_Top模塊的運(yùn)算過程如下:當(dāng)初始矩陣數(shù)據(jù)存入雙口RAM中完畢后,數(shù)據(jù)在狀態(tài)機(jī)的控制下進(jìn)入向量乘積運(yùn)算運(yùn)算單元,計(jì)算求得2個(gè)列向量的內(nèi)積值,將向量的內(nèi)積值輸出至旋轉(zhuǎn)角度運(yùn)算單元。根據(jù)(8)式可知,旋轉(zhuǎn)變換矩陣的三角函數(shù)角度值可通過向量的3個(gè)內(nèi)積值計(jì)算得到。在計(jì)算得到角度值θ后,直接將角度值以及需要正交化的列向量送入旋轉(zhuǎn)變換運(yùn)算單元進(jìn)行正交化。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA數(shù)字PLL諧振頻率的跟蹤研究[J]. 余成波,張林,龍曦. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)). 2019(04)
[2]基于分塊和NSCT-SVD的彩色圖像數(shù)字水印算法[J]. 張倩倩,詹永照,林涵陽. 江蘇大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(05)
[3]基于改進(jìn)的MCA和K-SVD的圖像稀疏表示去噪算法[J]. 鄧翔宇,劉增力. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版). 2016(04)
碩士論文
[1]基于FPGA的矩陣奇異值分解加速方案的設(shè)計(jì)與實(shí)現(xiàn)[D]. 馬亞峰.北京交通大學(xué) 2017
[2]基于GPU平臺(tái)的SVD并行計(jì)算研究與實(shí)現(xiàn)[D]. 唐吉卓.電子科技大學(xué) 2014
[3]并行JACOBI方法求解矩陣奇異值的研究[D]. 郭強(qiáng).蘇州大學(xué) 2011
本文編號(hào):3127904
【文章來源】:重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版). 2020,32(03)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
平面旋轉(zhuǎn)變換
具體的奇異值分解實(shí)現(xiàn)電路的頂層設(shè)計(jì)如圖2,圖2中的COM_Top模塊為奇異值分解的Hestenes-Jacobi正交化變換單元,實(shí)現(xiàn)列對向量的正交化運(yùn)算過程,本例設(shè)計(jì)了4個(gè)COM_Top模塊,進(jìn)行并行運(yùn)算。電路采用2個(gè)雙端口RAM單元,分別用于存儲(chǔ)左奇異向量 和右奇異向量,Addr單元即對應(yīng)算法1中Addr函數(shù),并行讀取矩陣A的列向量,輸出作為RAM單元的地址。Converge模塊為收斂判決模塊,用于判斷運(yùn)算是否達(dá)到預(yù)期的收斂精度。Norm模塊為歸一化模塊,用于對正交變換后的矩陣進(jìn)行歸一化,依次輸出奇異值。狀態(tài)機(jī)作為控制單元,提供同步和控制信號(hào),在整個(gè)分解過程中每個(gè)模塊執(zhí)行不同的任務(wù)。Hestenes-Jacobi方法的核心思想是實(shí)現(xiàn)一系列的列向量對的正交化變換。因此,本文主要是在對COM_Top模塊以及其子模塊的具體實(shí)現(xiàn)進(jìn)行改進(jìn)。因此,下面針對COM_Top的具體設(shè)計(jì)進(jìn)行說明。COM_Top模塊由3個(gè)部分組成:向量乘積運(yùn)算模塊,旋轉(zhuǎn)角度運(yùn)算模塊以及旋轉(zhuǎn)變換運(yùn)算模塊,如圖3。
Hestenes-Jacobi方法的核心思想是實(shí)現(xiàn)一系列的列向量對的正交化變換。因此,本文主要是在對COM_Top模塊以及其子模塊的具體實(shí)現(xiàn)進(jìn)行改進(jìn)。因此,下面針對COM_Top的具體設(shè)計(jì)進(jìn)行說明。COM_Top模塊由3個(gè)部分組成:向量乘積運(yùn)算模塊,旋轉(zhuǎn)角度運(yùn)算模塊以及旋轉(zhuǎn)變換運(yùn)算模塊,如圖3。COM_Top模塊的運(yùn)算過程如下:當(dāng)初始矩陣數(shù)據(jù)存入雙口RAM中完畢后,數(shù)據(jù)在狀態(tài)機(jī)的控制下進(jìn)入向量乘積運(yùn)算運(yùn)算單元,計(jì)算求得2個(gè)列向量的內(nèi)積值,將向量的內(nèi)積值輸出至旋轉(zhuǎn)角度運(yùn)算單元。根據(jù)(8)式可知,旋轉(zhuǎn)變換矩陣的三角函數(shù)角度值可通過向量的3個(gè)內(nèi)積值計(jì)算得到。在計(jì)算得到角度值θ后,直接將角度值以及需要正交化的列向量送入旋轉(zhuǎn)變換運(yùn)算單元進(jìn)行正交化。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA數(shù)字PLL諧振頻率的跟蹤研究[J]. 余成波,張林,龍曦. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)). 2019(04)
[2]基于分塊和NSCT-SVD的彩色圖像數(shù)字水印算法[J]. 張倩倩,詹永照,林涵陽. 江蘇大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(05)
[3]基于改進(jìn)的MCA和K-SVD的圖像稀疏表示去噪算法[J]. 鄧翔宇,劉增力. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版). 2016(04)
碩士論文
[1]基于FPGA的矩陣奇異值分解加速方案的設(shè)計(jì)與實(shí)現(xiàn)[D]. 馬亞峰.北京交通大學(xué) 2017
[2]基于GPU平臺(tái)的SVD并行計(jì)算研究與實(shí)現(xiàn)[D]. 唐吉卓.電子科技大學(xué) 2014
[3]并行JACOBI方法求解矩陣奇異值的研究[D]. 郭強(qiáng).蘇州大學(xué) 2011
本文編號(hào):3127904
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3127904.html
最近更新
教材專著