本發(fā)明涉及l(fā)te接收系統(tǒng)中復(fù)數(shù)矩陣乘法處理領(lǐng)域,尤其涉及一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法及系統(tǒng)。
背景技術(shù):
現(xiàn)場(chǎng)可編程門(mén)陣列fpga芯片在許多領(lǐng)域均有廣泛的應(yīng)用,fpga內(nèi)部不僅包含邏輯單元(查找表/觸發(fā)器)、存儲(chǔ)單元(bram)、乘加單元(mac)等一系列常規(guī)資源,還包括dsp、乘法器等復(fù)雜計(jì)算單元。隨著fpga芯片的不斷升級(jí),fpga的功能越來(lái)越強(qiáng)大,因此新型fpga完全勝任復(fù)雜計(jì)算工作。
近年來(lái)無(wú)線(xiàn)通信技術(shù)取得了飛速的發(fā)展,從最早的1g網(wǎng)絡(luò)到如今已經(jīng)投入使用的lte4g網(wǎng)絡(luò),對(duì)信號(hào)的快速處理提出了越來(lái)越高的要求。另外,由于多輸入多輸出系統(tǒng)mimo技術(shù)的廣泛應(yīng)用,使得通信系統(tǒng)中的計(jì)算越來(lái)越復(fù)雜,復(fù)數(shù)矩陣乘法越來(lái)越普遍,如lte上行基帶處理中的mmse濾波、均衡處理等。在這種情況下,使用fpga進(jìn)行無(wú)線(xiàn)信號(hào)的處理,能同時(shí)兼顧實(shí)時(shí)性與準(zhǔn)確性。
目前基于fpga實(shí)現(xiàn)矩陣乘法一般有兩種方式:一是使用浮點(diǎn)進(jìn)行計(jì)算,這種方式計(jì)算效率跟復(fù)雜度都很高,效率低下;二是使用定點(diǎn)進(jìn)行計(jì)算,這種方式由于將浮點(diǎn)轉(zhuǎn)換為定點(diǎn),因此能極大的提高計(jì)算的效率。
通過(guò)查閱文獻(xiàn)發(fā)現(xiàn),目前提出的關(guān)于定點(diǎn)矩陣的乘法,平臺(tái)落后,控制復(fù)雜,方法不夠靈活等,不能很好的利用fpga器件自帶器件達(dá)到節(jié)省資源的目的。如徐云雯等人的基于fpga的通用矩陣定點(diǎn)乘法器及其計(jì)算方法,其核心計(jì)算模塊定點(diǎn)乘法器中采用xilinxvirtex-4芯片中得dsp48硬核搭建。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法及系統(tǒng),通過(guò)采用串行流水線(xiàn)結(jié)構(gòu),既節(jié)省加法器,不浪費(fèi)多余布局布線(xiàn)資源,而且統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法。
第一方面,本發(fā)明提供一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法,所述方法包括:
接收mmse濾波數(shù)據(jù),所述mmse濾波數(shù)據(jù)包括待進(jìn)行乘法運(yùn)算的第一復(fù)數(shù)矩陣和第二復(fù)數(shù)矩陣,所述第一復(fù)數(shù)矩陣為m×k階,所述第二復(fù)數(shù)矩陣為k×n階;
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n),相應(yīng)地:
其中,m表示第m+1行,其取值范圍為m=0至m-1,n表示第n+1列,其取值范圍為n=0至n-1,k表示所述第一復(fù)數(shù)矩陣中的第k+1列,還表示所述第二復(fù)數(shù)矩陣中的第k+1行,其取值范圍為k=0至k-1;arm,k為am,k的實(shí)部,aim,k為am,k的虛部,所述am,k為第一復(fù)數(shù)矩陣中第m+1行,第k+1列的數(shù);brk,n為bk,n的實(shí)部,bik,n為bk,n的虛部,所述bk,n為第二復(fù)數(shù)矩陣中第k+1行,第n+1列的數(shù);
根據(jù)所述第一參數(shù)comm(m,n),所述第二參數(shù)real(m,n)和所述第三參數(shù)imag(m,n),獲取實(shí)部cr(m,n),虛部ci(m,n),相應(yīng)地:
其中,cr(m,n)為c(m,n)的實(shí)部,ci(m,n)為c(m,n)的虛部,所述 c(m,n)為第三復(fù)數(shù)矩陣中第m+1行,第n+1列的數(shù),所述第三復(fù)數(shù)矩陣為所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣的乘積,所述第三復(fù)數(shù)矩陣為m×n階;
根據(jù)所述實(shí)部cr(m,n),虛部ci(m,n),獲取第三復(fù)數(shù)矩陣,并將所述第三復(fù)數(shù)矩陣輸出。
優(yōu)選地,所述根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),包括:
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、brk,n、bik,n;
根據(jù)所述arm,k、brk,n、bik,n,獲取mcout(k),相應(yīng)地:
mcout(k)=arm,k×(brk,n+bik,n)+mcout(k-1),
當(dāng)k=k-1時(shí),獲取第一參數(shù)comm(m,n),相應(yīng)地:
comm(m,n)=mcout(k-1)。
優(yōu)選地,所述根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第二參數(shù)real(m,n),包括:
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、bik,n;
根據(jù)所述arm,k、aim,k、bik,n,獲取lcout(k),相應(yīng)地:
lcout(k)=(arm,k+aim,k)×bik,n+lcout(k-1),
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=lcout(k-1)。
優(yōu)選地,所述根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第三參數(shù)imag(i,j),包括:
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、brk,n;
根據(jù)所述arm,k、aim,k、brk,n,獲取gcout(k),相應(yīng)地:
gcout(k)=(arm,k-aim,k)×brk,n+gcout(k-1);
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=gcout(k-1)。
第二方面,本發(fā)明提供一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的系統(tǒng),其特征在于,所述系統(tǒng)包括:
接收單元,用于接收mmse濾波數(shù)據(jù),所述mmse濾波數(shù)據(jù)包括待進(jìn)行乘法運(yùn)算的第一復(fù)數(shù)矩陣和第二復(fù)數(shù)矩陣,所述第一復(fù)數(shù)矩陣為m×k階,所述第二復(fù)數(shù)矩陣為k×n階;
第一處理單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n),相應(yīng)地:
其中,m表示第m+1行,其取值范圍為m=0至m-1,n表示第n+1列,其取值范圍為n=0至n-1,k表示所述第一復(fù)數(shù)矩陣中的第k+1列,還表示所述第二復(fù)數(shù)矩陣中的第k+1行,其取值范圍為k=0至k-1;arm,k為am,k的實(shí)部,aim,k為am,k的虛部,所述am,k為第一復(fù)數(shù)矩陣中第m+1行,第k+1列的數(shù);brk,n為bk,n的實(shí)部,bik,n為bk,n的虛部,所述bk,n為第二復(fù)數(shù)矩陣中第k+1行,第n+1列的數(shù);
第二處理單元,用于根據(jù)所述第一參數(shù)comm(m,n),所述第二參數(shù)real(m,n)和所述第三參數(shù)imag(m,n),獲取實(shí)部cr(m,n),虛部ci(m,n),相應(yīng)地:
其中,cr(m,n)為c(m,n)的實(shí)部,ci(m,n)為c(m,n)的虛部,所述c(m,n)為第三復(fù)數(shù)矩陣中第m+1行,第n+1列的數(shù),所述第三復(fù)數(shù)矩陣為所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣的乘積,所述第三復(fù)數(shù)矩陣為m×n階;
輸出單元,用于根據(jù)所述實(shí)部cr(m,n),虛部ci(m,n),獲取第三復(fù)數(shù)矩陣,并將所述第三復(fù)數(shù)矩陣輸出。
優(yōu)選地,所述第一處理單元包括:
第一計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n);
第二計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第二參數(shù)real(m,n);
第三計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第三參數(shù)imag(m,n)。
優(yōu)選地,所述第一計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、brk,n、bik,n;
根據(jù)所述arm,k、brk,n、bik,n,獲取mcout(k),相應(yīng)地:
mcout(k)=arm,k×(brk,n+bik,n)+mcout(k-1),
當(dāng)k=k-1時(shí),獲取第一參數(shù)comm(m,n),相應(yīng)地:
comm(m,n)=mcout(k-1)。
優(yōu)選地,所述第二計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、bik,n;
根據(jù)所述arm,k、aim,k、bik,n,獲取lcout(k),相應(yīng)地:
lcout(k)=(arm,k+aim,k)×bik,n+lcout(k-1),
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=lcout(k-1)。
優(yōu)選地,所述第三計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、brk,n;
根據(jù)所述arm,k、aim,k、brk,n,獲取gcout(k),相應(yīng)地:
gcout(k)=(arm,k-aim,k)×brk,n+gcout(k-1);
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=gcout(k-1)。
由上述技術(shù)方案可知,本發(fā)明提供一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法及系統(tǒng),接收包括待進(jìn)行復(fù)數(shù)矩陣乘法運(yùn)算的mmse濾波數(shù)據(jù),將所述復(fù)數(shù)矩陣進(jìn)行拆分后,通過(guò)加法器級(jí)聯(lián)的方 式計(jì)算。本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
附圖說(shuō)明
為了更清楚地說(shuō)明本公開(kāi)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本公開(kāi)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法的流程示意圖;
圖2為本發(fā)明一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明一實(shí)施例提供的獲取第一參數(shù)comm(m,n)的示意圖;
圖4為本發(fā)明一實(shí)施例提供的獲取第二參數(shù)real(m,n)的示意圖;
圖5為本發(fā)明一實(shí)施例提供的獲取第三參數(shù)imag(m,n)的示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
圖1示出了本發(fā)明一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法的流程示意圖,如圖1所示,本實(shí)施例的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法,包括:
s11、接收mmse濾波數(shù)據(jù),所述mmse濾波數(shù)據(jù)包括待進(jìn)行乘法運(yùn)算的第一復(fù)數(shù)矩陣和第二復(fù)數(shù)矩陣。
可以理解的是,由于mimo技術(shù)的廣泛應(yīng)用,使得通信系統(tǒng)中的計(jì)算越來(lái)越復(fù)雜,復(fù)數(shù)矩陣乘法越來(lái)越普遍,如lte上行基帶處理中 的mmse濾波、均衡處理等。
其中,所述第一復(fù)數(shù)矩陣為m×k階,所述第二復(fù)數(shù)矩陣為k×n階。
s12、根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n)。
在本實(shí)施例中,第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n)對(duì)應(yīng)的公式如下:
其中,m表示第m+1行,其取值范圍為m=0至m-1,n表示第n+1列,其取值范圍為n=0至n-1,k表示所述第一復(fù)數(shù)矩陣中的第k+1列,還表示所述第二復(fù)數(shù)矩陣中的第k+1行,其取值范圍為k=0至k-1;arm,k為am,k的實(shí)部,aim,k為am,k的虛部,所述am,k為第一復(fù)數(shù)矩陣中第m+1行,第k+1列的數(shù);brk,n為bk,n的實(shí)部,bik,n為bk,n的虛部,所述bk,n為第二復(fù)數(shù)矩陣中第k+1行,第n+1列的數(shù)。
s13、根據(jù)所述第一參數(shù)comm(m,n),所述第二參數(shù)real(m,n)和所述第三參數(shù)imag(m,n),獲取實(shí)部cr(m,n),虛部ci(m,n)。
在本實(shí)施例中,實(shí)部cr(m,n),虛部ci(m,n)對(duì)應(yīng)的公式如下:
其中,cr(m,n)為c(m,n)的實(shí)部,ci(m,n)為c(m,n)的虛部,所述c(m,n)為第三復(fù)數(shù)矩陣中第m+1行,第n+1列的數(shù),所述第三復(fù)數(shù)矩陣為所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣的乘積,所述第三復(fù)數(shù)矩陣為m×n階。
s14、根據(jù)所述實(shí)部cr(m,n),虛部ci(m,n),獲取第三復(fù)數(shù)矩陣, 并將所述第三復(fù)數(shù)矩陣輸出。
本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
在本發(fā)明另一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的方法中,上述的步驟s12還包括圖1中未示出的步驟s121-s123:
s12、根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n)。
s121、根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n)。
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、brk,n、bik,n;
根據(jù)所述arm,k、brk,n、bik,n,獲取mcout(k),相應(yīng)地:
mcout(k)=arm,k×(brk,n+bik,n)+mcout(k-1),
當(dāng)k=k-1時(shí),獲取第一參數(shù)comm(m,n),相應(yīng)地:
comm(m,n)=mcout(k-1)。
s122、根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第二參數(shù)real(m,n)。
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、bik,n;
根據(jù)所述arm,k、aim,k、bik,n,獲取lcout(k),相應(yīng)地:
lcout(k)=(arm,k+aim,k)×bik,n+lcout(k-1),
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=lcout(k-1)。
s123、根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第三參數(shù)imag(i,j)。
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、brk,n;
根據(jù)所述arm,k、aim,k、brk,n,獲取gcout(k),相應(yīng)地:
gcout(k)=(arm,k-aim,k)×brk,n+gcout(k-1);
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=gcout(k-1)。
本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
圖2示出了本發(fā)明一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,本實(shí)施例的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的系統(tǒng)20,包括:
接收單元21,用于接收mmse濾波數(shù)據(jù),所述mmse濾波數(shù)據(jù)包括待進(jìn)行乘法運(yùn)算的第一復(fù)數(shù)矩陣和第二復(fù)數(shù)矩陣。
其中,所述第一復(fù)數(shù)矩陣為m×k階,所述第二復(fù)數(shù)矩陣為k×n階。
第一處理單元22,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n)。
在本實(shí)施例中,第一參數(shù)comm(m,n),第二參數(shù)real(m,n),第三參數(shù)imag(m,n)對(duì)應(yīng)的公式如下:
其中,m表示第m+1行,其取值范圍為m=0至m-1,n表示第n+1列,其取值范圍為n=0至n-1,k表示所述第一復(fù)數(shù)矩陣中的第k+1列,還表示所述第二復(fù)數(shù)矩陣中的第k+1行,其取值范圍為k=0至k-1;arm,k為am,k的實(shí)部,aim,k為am,k的虛部,所述am,k為第一復(fù)數(shù)矩陣中第m+1行,第k+1列的數(shù);brk,n為bk,n的實(shí)部,bik,n為bk,n的虛部,所述bk,n為第二復(fù)數(shù)矩陣中第k+1行,第n+1列的數(shù)。
第二處理單元23,用于根據(jù)所述第一參數(shù)comm(m,n),所述第二參數(shù)real(m,n)和所述第三參數(shù)imag(m,n),獲取實(shí)部cr(m,n),虛部ci(m,n)。
在本實(shí)施例中,實(shí)部cr(m,n),虛部ci(m,n)對(duì)應(yīng)的公式如下:
其中,cr(m,n)為c(m,n)的實(shí)部,ci(m,n)為c(m,n)的虛部,所述c(m,n)為第三復(fù)數(shù)矩陣中第m+1行,第n+1列的數(shù),所述第三復(fù)數(shù)矩陣為所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣的乘積,所述第三復(fù)數(shù)矩陣為m×n階。
輸出單元24,用于根據(jù)所述實(shí)部cr(m,n),虛部ci(m,n),獲取第三復(fù)數(shù)矩陣,并將所述第三復(fù)數(shù)矩陣輸出。
本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
在本發(fā)明另一實(shí)施例提供的一種lte接收系統(tǒng)中fpga處理復(fù)數(shù)矩陣乘法的系統(tǒng)中,上述的第一處理單元22還包括圖2中未示出的結(jié)構(gòu):
第一計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第一參數(shù)comm(m,n)。
其中,第一計(jì)算單元通過(guò)fpga由加法器、乘法器和寄存器構(gòu)成。具體來(lái)說(shuō),包括k個(gè)輸入端串聯(lián)的第一加法器,所述第一加法器的另一輸入端與第一模塊相連,所述第一模塊用于根據(jù)所述arm,k、brk,n、bik,n,獲取第一中間量mcout(k)=arm,k×(brk,n+bik,n),所述第一計(jì)算單元輸出第一參數(shù)comm(m,n),其中,
第二計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣, 獲取第二參數(shù)real(m,n)。
其中,第二計(jì)算單元通過(guò)fpga由加法器、乘法器和寄存器構(gòu)成。具體來(lái)說(shuō),包括k個(gè)輸入端串聯(lián)的第二加法器,所述第二加法器的另一輸入端與第二模塊相連,所述第二模塊用于根據(jù)所述arm,k、aim,k、bik,n,獲取第二中間量lcout(k)=(arm,k+aim,k)×bik,n,所述第二計(jì)算單元輸出第二參數(shù)real(m,n),其中,
第三計(jì)算單元,用于根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取第三參數(shù)imag(m,n)。
其中,第三計(jì)算單元通過(guò)fpga由加法器、乘法器和寄存器構(gòu)成。具體來(lái)說(shuō),包括k個(gè)輸入端串聯(lián)的第三加法器,所述第三加法器的另一輸入端與第三模塊相連,所述第三模塊用于根據(jù)所述arm,k、aim,k、brk,n,獲取第三中間量gcout(k)=(arm,k-aim,k)×brk,n,所述第三計(jì)算單元輸出第三參數(shù)mag(m,n),其中,
優(yōu)選地,所述第一計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、brk,n、bik,n;
根據(jù)所述arm,k、brk,n、bik,n,獲取mcout(k),相應(yīng)地:
mcout(k)=arm,k×(brk,n+bik,n)+mcout(k-1),
當(dāng)k=k-1時(shí),獲取第一參數(shù)comm(m,n),相應(yīng)地:
comm(m,n)=mcout(k-1)。
優(yōu)選地,所述第二計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、bik,n;
根據(jù)所述arm,k、aim,k、bik,n,獲取lcout(k),相應(yīng)地:
lcout(k)=(arm,k+aim,k)×bik,n+lcout(k-1),
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=lcout(k-1)。
優(yōu)選地,所述第三計(jì)算單元,具體用于,
根據(jù)所述第一復(fù)數(shù)矩陣和所述第二復(fù)數(shù)矩陣,獲取arm,k、aim,k、brk,n;
根據(jù)所述arm,k、aim,k、brk,n,獲取gcout(k),相應(yīng)地:
gcout(k)=(arm,k-aim,k)×brk,n+gcout(k-1);
當(dāng)k=k-1時(shí),獲取第二參數(shù)real(m,n),相應(yīng)地:
real(m,n)=gcout(k-1)。
本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
在本發(fā)明的一個(gè)具體實(shí)施例中,假設(shè)第一復(fù)數(shù)矩陣為2×8階,采用fpga中的dsp48e1級(jí)聯(lián)方式,計(jì)算comm(0,0),real(0,0),imag(0,0)。
可以理解的是,若第一復(fù)數(shù)矩陣為2×8階,則m=2,k=8。計(jì)算comm(0,0),則m=0,n=0。由上述可知:
具體來(lái)說(shuō),mcout(k)=arm,k×(brk,n+bik,n)+mcout(k-1),其中,k的取值范圍為0-7。由上述可知:
mcout(0)=ar0,0×(br0,0+bi0,0)
mcout(1)=ar0,1×(br1,0+bi1,0)+mcout(0)
mcout(2)=ar0,2×(br2,0+bi2,0)+mcout(1)
……
mcout(7)=ar0,7×(br7,0+bi7,0)+mcout(6)
如圖3所示,將brk,0、bik,0通過(guò)加法器進(jìn)行加法運(yùn)算后的輸出結(jié)果與ar0,k進(jìn)行乘法運(yùn)算,獲取每一層級(jí)的mcout(k),其中,k的取值范圍為 0-7。將每一層級(jí)的mcout(k)通過(guò)加法器級(jí)聯(lián)進(jìn)行加法運(yùn)算,獲取當(dāng)k=7時(shí)的mcout(7)。此時(shí),momm(0,0)=mcout(7)。
進(jìn)一步的,為了保障復(fù)數(shù)矩陣乘法計(jì)算的時(shí)序性,每一層級(jí)的mcout(k)在計(jì)算前應(yīng)當(dāng)經(jīng)歷一定的延時(shí),等待mcout(k-1)的計(jì)算完成。優(yōu)選地,在ar0,k、brk,0、bik,0的輸入端設(shè)定k個(gè)寄存器進(jìn)行延時(shí)。
如圖4、圖5所示,real(0,0),imag(0,0)的計(jì)算步驟與comm(0,0)相同,此處不再贅述。
由上述可知:
故可求得:
c(0,0)=cr(0,0)+j×ci(0,0),
由此,求得第三復(fù)數(shù)矩陣的第1行,第1列的數(shù),最終求得第三復(fù)數(shù)矩陣。
本發(fā)明不僅節(jié)省加法器資源,而且流水線(xiàn)的方式使復(fù)雜計(jì)算變得簡(jiǎn)便可控。本發(fā)明還能節(jié)省布局布線(xiàn)資源,統(tǒng)一簡(jiǎn)單,可以搭建任意級(jí)數(shù)的矩陣乘法,在大工程編譯時(shí),會(huì)起到十分關(guān)鍵的作用。
本領(lǐng)域普通技術(shù)人員可以理解:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明權(quán)利要求所限定的范圍。