分布式算法(distributed arithmetic,DA)是一種以實(shí)現(xiàn)乘法運(yùn)算為目的的運(yùn)算方法。它與傳統(tǒng)實(shí)現(xiàn)乘法運(yùn)算的不同之處在于:執(zhí)行部分積運(yùn)算的先后順序不同。簡單地說,分布式算法在完成乘加功能時(shí)時(shí)通過將各輸入數(shù)據(jù)每一對應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加形成相應(yīng)部分積,然后再對各部分積進(jìn)行累加形成最終結(jié)果;而傳統(tǒng)算法是等到所以乘積產(chǎn)生之后再進(jìn)行相加來完成乘加運(yùn)算的。與傳統(tǒng)算法相比,分布式算法可以極大地減少硬件電路規(guī)模,很容易實(shí)現(xiàn)流水線處理,提高電路的執(zhí)行速度。
分布式算法(distributed arithmetic,DA)是一項(xiàng)重要的FPGA技術(shù), 被廣泛運(yùn)用于計(jì)算機(jī)的乘法運(yùn)算中。該算法將乘法運(yùn)算轉(zhuǎn)換成加法以及移位運(yùn)算,能夠高速完成大量的乘法運(yùn)算,極大地提高了芯片的使用效率。 為了方便分析,將濾波器表達(dá)式改為:
假設(shè)h(n)都是已知常數(shù),x(n)是變量。無符號(hào)數(shù)x(n)的表達(dá)式為:
式中: 表示第n個(gè)采樣值,b表示x(n)的第b位,則y可以表示為:
變換求和次序,重新求和得:
化簡成如下形式:
式中:xb(n)表示第n個(gè)數(shù)據(jù)的第b位。由于x(n)為有限位數(shù)據(jù),且xb(n)的取值為[0,1],故 有2^N種不同的取值,又因?yàn)橐阎?,所以可以通過查表的方法來實(shí)現(xiàn)f(h(n,xb(n)))。再通過相應(yīng)的二次冪加權(quán)并累加,就可得到內(nèi)積y的結(jié)果。
實(shí)現(xiàn)框圖如下:
圖中a為傳統(tǒng)算法,b為分布式DA算法。
根據(jù)DA算法原理,可以實(shí)現(xiàn)FIR濾波器。濾波器系數(shù)可由matlab求得,然后根據(jù)濾波器輸入數(shù)據(jù)位寬,對系數(shù)進(jìn)行合適的放大,在實(shí)現(xiàn)過程中對累加值進(jìn)行右移,最終得到濾波器的輸出。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21954瀏覽量
613943 -
濾波器
+關(guān)注
關(guān)注
162文章
8065瀏覽量
180967 -
分布式算法
+關(guān)注
關(guān)注
0文章
4瀏覽量
7338
原文標(biāo)題:分布式算法原理
文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
分布式軟件系統(tǒng)
分布式發(fā)電技術(shù)與微型電網(wǎng)
分布式能源系統(tǒng)當(dāng)微型電網(wǎng)技術(shù)應(yīng)用
如何設(shè)計(jì)分布式干擾系統(tǒng)?
如何利用FPGA設(shè)計(jì)無線分布式采集系統(tǒng)?
求一種基于FPGA分布式算法的濾波器設(shè)計(jì)的實(shí)現(xiàn)方案
HDC2021技術(shù)分論壇:分布式軟時(shí)鐘有多重要?
HDC2021技術(shù)分論壇:分布式軟時(shí)鐘有多重要?
常見的分布式供電技術(shù)有哪些?
Hash和存儲(chǔ)過程在分布式數(shù)字認(rèn)證中的應(yīng)用
FIR數(shù)字濾波器分布式算法的原理及FPGA實(shí)現(xiàn)
應(yīng)用分布式算法在FPGA平臺(tái)實(shí)現(xiàn)FIR低通濾波器
FIR數(shù)字濾波器分布式算法的原理及FPGA實(shí)現(xiàn)

一種基于分布式算法的低通FIR濾波器
一文解析分布式電源并網(wǎng)的諧波問題

評論