基于FPGA的復(fù)數(shù)矩陣求逆設(shè)計(jì)
發(fā)布時(shí)間:2022-01-20 07:29
針對(duì)MWC系統(tǒng)中OMP算法所涉及的最小二乘問(wèn)題,通過(guò)偽逆公式轉(zhuǎn)換將問(wèn)題轉(zhuǎn)變?yōu)榍蠼鈔維共軛對(duì)稱復(fù)數(shù)矩陣的逆,在FPGA平臺(tái)上設(shè)計(jì)基于改進(jìn)型Cholesky分解法的復(fù)矩陣分解模塊、下三角矩陣求逆的運(yùn)算模塊以及最終三角矩陣乘法的子模塊,通過(guò)邏輯資源消耗表及時(shí)序分析結(jié)果算出其運(yùn)算時(shí)間,并通過(guò)ModelSim仿真驗(yàn)證該模塊的正確性,并且與MATLAB運(yùn)算結(jié)果進(jìn)行比對(duì)。
【文章來(lái)源】:現(xiàn)代計(jì)算機(jī). 2020,(15)
【文章頁(yè)數(shù)】:5 頁(yè)
【部分圖文】:
圖3 分解時(shí)序圖
求逆時(shí)序圖
圖1為分解模塊框圖,該模塊的主要運(yùn)算單元為3個(gè)復(fù)數(shù)浮點(diǎn)數(shù)乘法器,一組減法器(分別計(jì)算實(shí)部虛部)和一個(gè)浮點(diǎn)數(shù)除法器(用于計(jì)算倒數(shù)),三組RAM用于存儲(chǔ)迭代運(yùn)算過(guò)程中的中間變量,RAM_L存儲(chǔ)計(jì)算所得的L矩陣的下三角元素,而RAM_C則是存儲(chǔ)對(duì)角矩陣D的逆矩陣元素。三個(gè)Sel為數(shù)據(jù)選擇器,分別用于選擇乘法器、減法器、除法器的輸入數(shù)據(jù)以及將輸出數(shù)據(jù)寫入到對(duì)應(yīng)RAM的地址控制操作,根據(jù)所得的迭代順序,三個(gè)乘法器用于并行計(jì)算同列標(biāo)的中間變量值gi,jl*k,j(i,k>j)以及L矩陣元素,減法器則是將計(jì)算所得的中間變量進(jìn)行累減操作,求得下一列的G矩陣元素,新一列的G矩陣元素根據(jù)行標(biāo)大小進(jìn)行有序計(jì)算,當(dāng)求得第一個(gè)元素即gj,j后,倒數(shù)模塊啟動(dòng),除法器一端輸入固定參數(shù)(1f80000)16,即十進(jìn)制1,作為被除數(shù),另一端則輸入gj,j進(jìn)行倒數(shù)計(jì)算。為了方便地址控制,便于后續(xù)更高維矩陣的分解計(jì)算,將每次計(jì)算的時(shí)鐘周期設(shè)置為35個(gè),保證浮點(diǎn)數(shù)乘除減法模塊的運(yùn)算正確性,以4維復(fù)數(shù)矩陣為例,列數(shù)為1的中間變量元素有6個(gè),3個(gè)復(fù)數(shù)乘法器用2個(gè)計(jì)算時(shí)鐘即可求得,行標(biāo)小的元素先進(jìn)行計(jì)算,之后啟動(dòng)累減模塊,根據(jù)減法次數(shù)消耗相應(yīng)的計(jì)算時(shí)鐘,對(duì)角倒數(shù)操作則是在減法器求第二個(gè)gi,j時(shí)并行進(jìn)行,新的對(duì)角倒數(shù)求得即可進(jìn)行新一列的L矩陣元素計(jì)算,此過(guò)程只涉及到乘法,此時(shí)啟動(dòng)乘法器,根據(jù)減法器求得的元素順序進(jìn)行下三角及中間變量計(jì)算,以此類推,由于只使用一組減法器,時(shí)鐘消耗主要在于減法計(jì)算次數(shù)。分解后L矩陣輸入到下三角求逆模塊,根據(jù)遞推公式,該模塊只涉及到乘加計(jì)算,因此結(jié)構(gòu)較為簡(jiǎn)單,只需單個(gè)復(fù)數(shù)乘法器和一組加法器同時(shí)計(jì)算實(shí)部虛部即可,圖2為模塊圖。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的Cholesky分解矩陣求逆[J]. 陳曉東,李世平,何國(guó)強(qiáng). 現(xiàn)代雷達(dá). 2019(10)
[2]下三角矩陣求逆算法的FPGA實(shí)現(xiàn)[J]. 胥凌燕,申敏. 山西電子技術(shù). 2007(06)
碩士論文
[1]基于FPGA的矩陣求逆IP核設(shè)計(jì)技術(shù)及其實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[D]. 王禹.浙江大學(xué) 2016
本文編號(hào):3598419
【文章來(lái)源】:現(xiàn)代計(jì)算機(jī). 2020,(15)
【文章頁(yè)數(shù)】:5 頁(yè)
【部分圖文】:
圖3 分解時(shí)序圖
求逆時(shí)序圖
圖1為分解模塊框圖,該模塊的主要運(yùn)算單元為3個(gè)復(fù)數(shù)浮點(diǎn)數(shù)乘法器,一組減法器(分別計(jì)算實(shí)部虛部)和一個(gè)浮點(diǎn)數(shù)除法器(用于計(jì)算倒數(shù)),三組RAM用于存儲(chǔ)迭代運(yùn)算過(guò)程中的中間變量,RAM_L存儲(chǔ)計(jì)算所得的L矩陣的下三角元素,而RAM_C則是存儲(chǔ)對(duì)角矩陣D的逆矩陣元素。三個(gè)Sel為數(shù)據(jù)選擇器,分別用于選擇乘法器、減法器、除法器的輸入數(shù)據(jù)以及將輸出數(shù)據(jù)寫入到對(duì)應(yīng)RAM的地址控制操作,根據(jù)所得的迭代順序,三個(gè)乘法器用于并行計(jì)算同列標(biāo)的中間變量值gi,jl*k,j(i,k>j)以及L矩陣元素,減法器則是將計(jì)算所得的中間變量進(jìn)行累減操作,求得下一列的G矩陣元素,新一列的G矩陣元素根據(jù)行標(biāo)大小進(jìn)行有序計(jì)算,當(dāng)求得第一個(gè)元素即gj,j后,倒數(shù)模塊啟動(dòng),除法器一端輸入固定參數(shù)(1f80000)16,即十進(jìn)制1,作為被除數(shù),另一端則輸入gj,j進(jìn)行倒數(shù)計(jì)算。為了方便地址控制,便于后續(xù)更高維矩陣的分解計(jì)算,將每次計(jì)算的時(shí)鐘周期設(shè)置為35個(gè),保證浮點(diǎn)數(shù)乘除減法模塊的運(yùn)算正確性,以4維復(fù)數(shù)矩陣為例,列數(shù)為1的中間變量元素有6個(gè),3個(gè)復(fù)數(shù)乘法器用2個(gè)計(jì)算時(shí)鐘即可求得,行標(biāo)小的元素先進(jìn)行計(jì)算,之后啟動(dòng)累減模塊,根據(jù)減法次數(shù)消耗相應(yīng)的計(jì)算時(shí)鐘,對(duì)角倒數(shù)操作則是在減法器求第二個(gè)gi,j時(shí)并行進(jìn)行,新的對(duì)角倒數(shù)求得即可進(jìn)行新一列的L矩陣元素計(jì)算,此過(guò)程只涉及到乘法,此時(shí)啟動(dòng)乘法器,根據(jù)減法器求得的元素順序進(jìn)行下三角及中間變量計(jì)算,以此類推,由于只使用一組減法器,時(shí)鐘消耗主要在于減法計(jì)算次數(shù)。分解后L矩陣輸入到下三角求逆模塊,根據(jù)遞推公式,該模塊只涉及到乘加計(jì)算,因此結(jié)構(gòu)較為簡(jiǎn)單,只需單個(gè)復(fù)數(shù)乘法器和一組加法器同時(shí)計(jì)算實(shí)部虛部即可,圖2為模塊圖。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的Cholesky分解矩陣求逆[J]. 陳曉東,李世平,何國(guó)強(qiáng). 現(xiàn)代雷達(dá). 2019(10)
[2]下三角矩陣求逆算法的FPGA實(shí)現(xiàn)[J]. 胥凌燕,申敏. 山西電子技術(shù). 2007(06)
碩士論文
[1]基于FPGA的矩陣求逆IP核設(shè)計(jì)技術(shù)及其實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[D]. 王禹.浙江大學(xué) 2016
本文編號(hào):3598419
本文鏈接:http://sikaile.net/kejilunwen/yysx/3598419.html
最近更新
教材專著