国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

復數(shù)乘法運算的優(yōu)化方法研究與實現(xiàn)

2013-10-21 00:53:46李立珺
電子設(shè)計工程 2013年13期
關(guān)鍵詞:乘法器虛部實部

李立珺

(西安郵電大學 陜西 西安 710121)

隨著通信及信息處理技術(shù)的發(fā)展,現(xiàn)代數(shù)字信號處理的速度要求越來越高,并且,隨著無線傳輸?shù)念l段越來越豐富,無線傳輸?shù)男诺拉h(huán)境越來越差,這就需要大量數(shù)字信號處理算法去消除信道引入的干擾。數(shù)字信號處理中,最為關(guān)鍵、采用最多的運算器件就是乘法器。由于乘法器的實現(xiàn)是耗費資源的,因此在采用邏輯資源實現(xiàn)乘法器以及復數(shù)乘法器的優(yōu)化實現(xiàn)方面,已經(jīng)有很多研究成果[1-4]。針對乘法器和復數(shù)乘法器如何在FPGA 中更有效的使用,在一些專著中給出了一些優(yōu)化方法[5,6],以及兩大FPGA 提供商也給出了一些指導性的文檔[7-9]。前述研究成果其目的在于如何有效利用邏輯資源去實現(xiàn)乘法器或復數(shù)乘法器,前述的專著或指導文檔對于FPGA 中如何節(jié)約乘法器資源也只是基于數(shù)字信號處理的速度比較低,采用時分復用的優(yōu)化方法。在高速數(shù)字信號處理中,最為常用的復數(shù)乘法器以及FIR 濾波器的架構(gòu)如何優(yōu)化,這方面的研究較少。

文中針對最常用的復數(shù)乘法器給出了兩種優(yōu)化實現(xiàn)的架構(gòu),在實現(xiàn)復數(shù)乘法運算時分別可以節(jié)省25%和50%的乘法器資源。并結(jié)合直接型的FIR 濾波器實現(xiàn)架構(gòu)給出了直接型FIR 濾波器的資源優(yōu)化實現(xiàn)架構(gòu)。同時也針對共軛復乘給出了相關(guān)的優(yōu)化方法。本文所給出的優(yōu)化方法,基本可以適用于所有的數(shù)字信號處理電路,尤其對于高速的數(shù)字信號處理,可以在節(jié)省資源的情況下,能夠利用流水線滿足高速信號處理的要求。

1 復數(shù)乘法器基本結(jié)構(gòu)

復數(shù)乘法運算廣泛的用于數(shù)字信號處理的設(shè)計中,假設(shè)有兩個復數(shù)x1=a+bj 和x2=c+dj 相乘,如式(1)所示:

其中,I=ac-bd,Q=ad+bc。其直接實現(xiàn)方法就是分別求出ac、bd、ad 和的乘積,然后分別計算I 和Q 的值,其直接實現(xiàn)架構(gòu)如圖1 所示。由圖1 可以看出,復數(shù)乘法的直接實現(xiàn)占用了4個乘法器,2個加法器。在實際設(shè)計的過程中,乘法器比加法器要耗費更多的資源;并且即使使用FPGA 中的乘法器IP 核來做乘法,其乘法器的IP 核資源也是十分有限的。

如果設(shè)計中所采用的乘法器的運行時鐘頻率不是很高,遠小于FPGA 所能支持的最高速率,可以使用時分復用的方式來節(jié)省乘法器資源。例如,如果要求復數(shù)乘法的運行頻率為25 M,那么我們可以只使用一個乘法器,使其運行在100 MHz 或更高的頻率上,用串行的方式依次計算出、、和的值,然后在利用加法器計算出和的值。但是,如果復數(shù)乘法器的運行時鐘頻率非常高,接近于FPGA 所能支持的最高速率,那我們就要采用其他方法來節(jié)省乘法器資源了。下面給出幾種復數(shù)乘法器的優(yōu)化實現(xiàn)方法。

圖1 復數(shù)乘法的直接實現(xiàn)Fig.1 Direct implementation of complex multiplication

2 使用3個乘法器的復數(shù)乘法優(yōu)化結(jié)構(gòu)

2.1 原理推導

使用3個乘法器的復數(shù)乘法,參考文獻[6]給出了一種方法,即對I=ac-bd 做如下分解:

進一步化簡得到:

由于式(2)中,計算I 的時候,已經(jīng)計算出了bc 和ad 的結(jié)果,因此,只需再用一個加法器,就可以得到Q 的計算結(jié)果。

雖然利用式(2)節(jié)省了一個乘法器,但是,其實現(xiàn)架構(gòu)卻不利于完全采用FPGA 中的乘法器IP 核來實現(xiàn),還必須附加額外的邏輯資源,這樣不利用高速(400 M 以上)的復數(shù)乘法運算,因此還需對其進一步優(yōu)化。注意到,對于式(1)中的I 和Q,還可以作如下分解:

由式(3)和式(4)可以看出,I 和Q 經(jīng)過因式分解之后,雖然還是4個乘積項的形式,但是,其中有一項(a-b)d 是I 和Q 的運算中相同的,因此,可以減少一次乘法運算,只需要使用3個乘法器就可以完成復數(shù)乘法運算。其實現(xiàn)架構(gòu)如圖2所示。圖2 所示的復數(shù)乘法實現(xiàn)架構(gòu)可以完全采用FPGA 中的乘法器IP 核來實現(xiàn),不需要額外的邏輯資源,可以運行在很高的速率上。

2.2 優(yōu)化算法應用于復數(shù)FIR 濾波器

數(shù)字信號處理中,最常用的一類濾波器就是FIR 濾波器,其數(shù)學表達式為

如果h(k)和x(n)都為實數(shù),以N=4為例畫出其基本的實現(xiàn)架構(gòu)如圖3 所示[5,7]。

在通信信號處理中,我們常會碰到h(k)和x(n)為復數(shù)的情況,令h(k)=a(k)+jb(k)以及x(n)=c(n)+jd(n),那么,式(4)可以變換為

圖2 使用3個乘法器的復數(shù)乘法實現(xiàn)Fig.2 Implementation of complex multiplication with 3 multipliers

圖3 FIR 濾波器的實現(xiàn)(N=4)Fig.3 Implementation of FIR filter(N=4)

進一步整理得到

常規(guī)的實現(xiàn)方案是根據(jù)式(6)利用4個圖3 所示的實現(xiàn)架構(gòu),分別計算出式(6)中的4個乘積和項,再利用加法器最終求得y(n)的實部和虛部。

利用式(3)和式(4)的分解方法,可以將式(6)的實部和虛部分別分解為

求出yI1(n)、yI2(n)和yQ2(n)之后,就可以利用式(7)和式(8)計算出yI(n)和yQ(n)的值。可以看出,相比傳統(tǒng)的實現(xiàn)架構(gòu),利用圖4 的優(yōu)化實現(xiàn)架構(gòu)可以節(jié)省N個乘法器,N為FIR濾波器的抽頭數(shù),節(jié)省比例為25%。

2.3 優(yōu)化算法應用于共軛復數(shù)乘法

數(shù)字信號處理中,常常還會遇到的一類復數(shù)乘法就是共軛復數(shù)乘法。假設(shè)有兩個復數(shù)x1=a+bj 和x2=c+dj,其共軛復乘的表達形式為

其中,con j(x2)表示x2的共軛。通常的計算方法是先對x2的虛部d 按照補碼的規(guī)則取反加1,然后再按照下面的表達式相乘。

圖4 復數(shù)FIR 濾波器的優(yōu)化實現(xiàn)Fig.4 Optimized implementation of complex FIR filter

為了省掉對x2的虛部d 取反加1 的步驟,我們可以做適當變通,先將x1的實部和虛部互換,即令

對比式(9)和式(10)可以看到,兩者的實部和虛部是互換的關(guān)系,因此,可以取式(10)的實部作為共軛復乘的虛部,取式(10)的虛部作為共軛復乘的實部,這樣就省去了對x2的虛部取反加1 的步驟。最后,再利用上述復數(shù)乘法器的優(yōu)化方法,得到z=x1×con j(x2)的實部zI和虛部zQ分別為

根據(jù)式(11)和式(12),利用3個乘法器即可實現(xiàn)共軛復乘。

3 使用2個乘法器的復數(shù)乘法優(yōu)化結(jié)構(gòu)

如果復數(shù)的位寬不大,但是,復數(shù)乘法要求的運算速率很高,那么,為了節(jié)省乘法器資源,我們可以僅使用兩個乘法器來實現(xiàn)復數(shù)乘法。依然采用復數(shù)x1=a+bj 和x2=c+dj 相乘來闡述其原理。

假設(shè)復數(shù)實部和虛部的位寬都小于或等于k 比特,乘法器IP 核可以實現(xiàn)的乘法運算的最大位寬為2k 比特,那么我們可以做如下變換。令

進一步,可以得到

式(13)和式(14)相減,得到

式(13)和式(14)相加,得到

利用式(15)可以得到復乘之后的虛部值

由式(16)可以得到

如果a、b、c 和d 的位寬都小于k 比特,那么ac 以及bd乘積的位寬都小于2k 比特,因此,從式(18)中,直接取低位的2k 比特(LSB),就是bd 的乘積,直接取高位的2k 比特就是的乘積,進而可以求得復乘之后的實部值I=ac-bd。上述討論是基于無符號數(shù)而言的,如果a、b、c 和d 都是有符號數(shù),那么可以先將符號提取出來,根據(jù)其符號位計算出結(jié)果的符號位,具體乘法運算都按照無符號數(shù)來處理。具體其實現(xiàn)架構(gòu)如圖5 所示。

圖5 使用2個乘法器實現(xiàn)復數(shù)乘法實現(xiàn)Fig.5 Implementation of complex multiplication with 2 multipliers

4 結(jié)論

傳統(tǒng)的復數(shù)乘法需要占用4個乘法器,文中對此進行了改進,分別給出了使用3個乘法器和2個乘法器的優(yōu)化實現(xiàn)方法,并針對基于FPGA 的實現(xiàn),給出了數(shù)字信號處理中常用的復數(shù)FIR 濾波器和共軛復乘的優(yōu)化實現(xiàn)方法,尤其針對復數(shù)FIR 濾波器的實現(xiàn)而言,能夠節(jié)省25%的乘法器資源,在濾波器的階數(shù)很高的時候,對于實際的工程設(shè)計具有很好的可借鑒性。

[1]Kong M Y,Langiois J M P,Al-Khalili D.Efficient FPGA implementation of complex multipliers using the logarithmic number system[C]//Circuits and Systems,2008.ISCAS 2008.IEEE International Symposium on.IEEE,2008:3154-3157.

[2]Satoh K,Tada J,Tamura Y,et al.Complex multiplier suited for FPGA structure[C]//Proc.ITC-CSCC,2008:341-344.

[3]Berkeman A,Owall V,Torkelson M.A low logic depth complex multiplier[C]//Solid-State Circuits Conference,1998.ESSCIRC'98.Proceedings of the 24th European.IEEE,1998:204-207.

[4]Berkeman A,Owall V,Torkelson M.A low logic depth complex multiplier using distributed arithmetic [J].Solid-State Circuits,IEEE Journal of,2000,35(4):656-659.

[5]何賓.FPGA數(shù)字信號處理實現(xiàn)原理及方法[M].北京:清華大學出版社,2010.

[6]高亞軍.基于FPGA的數(shù)字信號處理[M].北京:電子工業(yè)出版社,2012.

[7]Xilinx,DSP:Designing for Optimal Results[M].Edition 1.0,March,2005.

[8]Xilinx,Virtex-5 FPGA Xtreme DSP Design Considerations[M].User Guide,UG193(v3.5)January 26,2012.

[9]Altera,Implementing Multipliers in FPGA Devices,Application Note 306[M].ver.3.0,2004.

猜你喜歡
乘法器虛部實部
格點量子色動力學數(shù)據(jù)的虛部分布與信號改進*
物理學報(2023年20期)2023-11-16 10:43:34
一種低開銷的近似乘法器設(shè)計
兩類特殊多項式的復根虛部估計
例談復數(shù)應用中的計算兩次方法
基于FPGA的流水線單精度浮點數(shù)乘法器設(shè)計*
淺談正Γ型匹配網(wǎng)絡的設(shè)計
卷宗(2016年8期)2016-11-15 20:56:37
一種基于電渦流和實部互阻抗檢測的金屬溫度監(jiān)測方法
電測與儀表(2016年2期)2016-04-12 00:24:48
溫度對低段工作頻率全固態(tài)中波發(fā)射機天調(diào)網(wǎng)絡阻抗影響與改進
乘法器模塊在FPGA中的實現(xiàn)
20×18位符號定點乘法器的FPGA實現(xiàn)
资兴市| 滨州市| 萨嘎县| 和林格尔县| 吉安县| 托克逊县| 陇川县| 吴旗县| 遂溪县| 桐乡市| 卓尼县| 平潭县| 博客| 宁武县| 永安市| 聂荣县| 成安县| 九台市| 沂水县| 乐至县| 晋城| 桐乡市| 佳木斯市| 梓潼县| 合江县| 德令哈市| 昭通市| 万宁市| 云梦县| 嘉祥县| 延寿县| 宽城| 遂宁市| 顺昌县| 石柱| 乌兰浩特市| 府谷县| 新巴尔虎右旗| 峡江县| 郓城县| 光泽县|