亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AltiVec的高效FIR濾波器優(yōu)化設(shè)計

        2014-09-26 03:47:38杜亞琦周建英
        電子設(shè)計工程 2014年1期
        關(guān)鍵詞:指令設(shè)計

        杜亞琦,周建英

        (1. 通信信息控制和安全技術(shù)重點實驗室 浙江 嘉興314033;2.中國電子科技集團(tuán)公司第三十六研究所 浙江 嘉興314033)

        FIR濾波器由于優(yōu)良的線性相位特性以及其靈活、快速、穩(wěn)定的特點,在多個領(lǐng)域都得到了廣泛的應(yīng)用。在圖像處理等領(lǐng)域中,對于數(shù)據(jù)傳輸速度和穩(wěn)定性的要求越來越高,導(dǎo)致其對FIR濾波器的運(yùn)算速度和穩(wěn)定性的要求也越來越高。根據(jù)了解,目前高速的FIR濾波器設(shè)計大部分是基于FPGA平臺的,但是這種硬件平臺雖然速度較快,但是其穩(wěn)定性和精確度不高以及受環(huán)境影響較大,靈活性也較差。而DSP平臺雖然穩(wěn)定性和靈活性好,但是運(yùn)算速度和實時性較差。鑒于這些特點,本文采用了在PowerPC硬件平臺上,利用AltiVec向量加速技術(shù)提高運(yùn)算速度以適應(yīng)實時性的要求。

        1 AltiVec技術(shù)簡介

        AltiVec技術(shù)是由美國APPLE公司、美國 IBM公司與美國 Motorola公司在 PowerPC G4系列微處理器中添加的多媒體處理指令集。AhiVec技術(shù)是對PowerPC指令集體系結(jié)構(gòu)的擴(kuò)展,其目的是提高PowerPC的向量處理能力以提供對多媒體處理的支持[1]。AltiVec技術(shù)能夠通過運(yùn)行一個指令處理多組數(shù)據(jù),這種形式被稱作SIMD并行處理。利用AltiVec的指令集可以顯著提高復(fù)雜信號處理和大數(shù)據(jù)量運(yùn)算的效率。AltiVec技術(shù)本身是一項通用技術(shù),具有廣泛的應(yīng)用,只要數(shù)據(jù)是可并行處理的就可應(yīng)用AltiVec技術(shù)。

        該技術(shù)采用128位的數(shù)據(jù)寬度,所以提供了一個新的寄存器文件,包含32個128位的面向向量處理的寄存器。其128位數(shù)據(jù)寬度可分為16個字節(jié)、8個半字、4個字以及4個單精度浮點數(shù)。AltiVec技術(shù)增加了包括算術(shù)運(yùn)算指令(整數(shù)或單精度浮點數(shù)乘積,加和等)、邏輯運(yùn)算指令和內(nèi)存操作指令在內(nèi)的162條指令。除內(nèi)存操作指令可以操作內(nèi)存以外,其他指令的所有源操作數(shù)只可以是寄存器。指令根據(jù)它們?nèi)绾翁幚硎噶繑?shù)據(jù)而分屬兩個組:元素內(nèi)部操作和元素間操作。元素內(nèi)部操作是從源寄存器的相同位置或地點獲取元素,然后并行地處理它們,最后把結(jié)果放到目標(biāo)寄存器的相同位置。元素間操作是從源寄存器中不同的位置獲取元素,然后進(jìn)行處理,最后把結(jié)果輸出到目標(biāo)寄存器的不同位置。改序指令和它的變異都執(zhí)行元素間操作。

        2 FIR濾波器的基本構(gòu)造原理

        假設(shè)一個N階FIR濾波器的單位沖激響應(yīng)序列為h(n)(n= 0 ,1,2,···,N- 1),輸入信號為x(n),則FIR濾波器方程為:

        y(n)為輸出信號[2]。對式(1)進(jìn)行Z變換,整理可得FIR濾波器的傳遞函數(shù)為:

        在設(shè)計數(shù)字濾波器時,通常采用MATLAB來進(jìn)行輔助設(shè)計和仿真,本文采用FDATool設(shè)計法設(shè)計一個FIR低通濾波器。FDATool(filter design & analysis tool)是MATLAB信號處理工具箱里專用的濾波器設(shè)計和分析工具,為濾波器設(shè)計提供了一個交互式的設(shè)計環(huán)境,用戶可以根據(jù)對復(fù)制和零極點圖的設(shè)置,設(shè)計幾乎所有基本的常規(guī)濾波器,用來顯示濾波器的各種特性;下半部分為參數(shù)設(shè)定區(qū),用來設(shè)定濾波器的各種參數(shù),包括濾波器的類型、設(shè)計方法、階數(shù)、頻率等。設(shè)計方法選擇布萊克曼窗,根據(jù)設(shè)計需要的參數(shù)計算出濾波器的結(jié)束、過度帶寬等,在FDATool界面上填好各種設(shè)計參數(shù)即可[3]。

        3 FIR濾波器的軟件實現(xiàn)

        以簡單的串行結(jié)構(gòu)為例,在軟件實現(xiàn)中,F(xiàn)IR濾波器是將待濾波的數(shù)據(jù)序列與濾波系數(shù)序列相乘后再相加運(yùn)算,同時要模仿FIR結(jié)構(gòu)中的延遲線將數(shù)據(jù)在存儲器中滑動。在以往的通用器件進(jìn)行此類乘加運(yùn)算時,都會耗費大量的CPU資源和時間。在PowerPC平臺上,AltiVec向量加速技術(shù)的特殊指令集包含乘法和加法的并行加速處理指令,這些指令的應(yīng)用極大的提高了這些數(shù)學(xué)運(yùn)算的計算速度[3]。

        在實現(xiàn)N階FIR濾波器時,常規(guī)的流程是:首先在數(shù)據(jù)存儲區(qū)開辟 個單元的緩沖區(qū),存放延遲移位后最新的 個采用值,計算每一個輸出值,都需要讀取這 個采樣值并進(jìn)行 次乘法和累加,每讀完一個樣值后,都將此樣值向后移動,讀完最后一個樣值后,最后的樣值被推出緩沖區(qū),起始端又加入新的采樣值。將之前計算出的濾波器系數(shù)存放在一個緩存區(qū)中,與開辟出的采用值進(jìn)行運(yùn)算。這種常規(guī)的流程每計算出一個輸出值,都需要 次乘法和 次的加法。如果采用AltiVec向量加速技術(shù),利用vec_madd和vec_sums指令和vec_add指令來將其中計算量最大的乘加運(yùn)算進(jìn)行加速,每個128位的向量單元可以一次裝載16個不同的數(shù),向量與向量間的每一個元素都進(jìn)行運(yùn)算,結(jié)果保存在一個向量相應(yīng)的元素中,這樣的一次運(yùn)算與常規(guī)的一次運(yùn)算所花費的時間是一樣的,所以在完成相同的任務(wù)的情況下,向量運(yùn)算單元比常規(guī)運(yùn)算要快得多[3,5]。FIR濾波器的輸出計算轉(zhuǎn)換成運(yùn)用AltiVec向量加速技術(shù)首先要對表達(dá)式進(jìn)行數(shù)學(xué)變換,轉(zhuǎn)換成可以方便用向量單元并行處理的方式。具體轉(zhuǎn)換的原理圖如圖1所示。

        假設(shè)N為4的倍數(shù)(如果不是,可以用添加零向量的方式補(bǔ)充),具體步驟如下:

        1)設(shè)某時刻N(yùn)個采用值向量為An= {a1,a2,a3,··,aN},濾波器系數(shù)為向量B= {b1,b2,b3, ···,bN},輸出為y(n)(n= 0 , 1, 2, 3 · ··) ;

        2)定義一個中間變量vet_temp = vector float{0.0, 0.0 , 0.0,0.0};

        3)利用vec_madd指令計算出An于 對應(yīng)元素的乘積與vet_temp的和,并將得到的值再賦給vet_temp。

        圖1 AltiVec加速濾波器設(shè)計原理Fig. 1 The design principle of AltiVec accelerating filter

        4)重復(fù)3)的步驟,直至做完N個采樣值為止,得到最后一個vet_temp,用vec_sums指令將vet_temp的4個元素加起來就得到了n時刻的輸出y(n)。

        主要部分的實現(xiàn)代碼為:

        另外,當(dāng)對向量數(shù)據(jù)進(jìn)行操作時,還必須注意對齊的問題。Altivec要求我們從某個緩沖區(qū)中將數(shù)據(jù)裝入向量類型的變量的時候,緩沖區(qū)的地址必須是16位對齊的,否則裝入的數(shù)據(jù)將會出錯,而且系統(tǒng)不會報告錯誤。不過,系統(tǒng)提供了一系列的指令來解決這個問題,例如Altivec指令vec_ld。

        4 實驗結(jié)果及分析

        應(yīng)用AltiVec向量加速技術(shù)后,每次可以計算4個元素的乘法以及跟前面4個相乘的結(jié)果相加的運(yùn)算,而常規(guī)的算法每次只能運(yùn)算一個元素的乘法或者一次加法,運(yùn)算效率比原來可以成倍的增加。為了驗證前面所設(shè)計的AltiVec并行優(yōu)化設(shè)計的加速效果,我們在真實的硬件平臺上做了驗證試驗。試驗平臺是PowerPC 8641D系列[5-6]。MPC8641處理器家族建立在Power體系技術(shù)之上,集合一個或兩個e600核,滿足了網(wǎng)絡(luò),存儲,無線設(shè)施,以及一般的嵌入式應(yīng)用的系統(tǒng)邏輯需求。

        我們在此平臺上,分別對常規(guī)的C語言模式的代碼和運(yùn)用了AltiVec向量加速后的代碼的運(yùn)算數(shù)據(jù)量與運(yùn)算時間的關(guān)系進(jìn)行了測試,如圖2所示。在圖中可以看出,運(yùn)算數(shù)據(jù)量小的時候,運(yùn)用AltiVec技術(shù)優(yōu)化的算法的效率比常規(guī)運(yùn)算的效率提高不是很明顯,這主要因為:首先,AltiVec技術(shù)的指令只能夠處理寄存器間的運(yùn)算,所以同常規(guī)算法相比要多出從存儲器讀入數(shù)據(jù)到寄存器和寫寄存器中數(shù)據(jù)到存儲器的指令;其次,考慮到AltiVec技術(shù)是16字節(jié)地址對齊的,程序在進(jìn)行差分運(yùn)算時,需要使用vec_ld函數(shù)來完成差分?jǐn)?shù)據(jù)的裝載,因此會多出相應(yīng)時間;再次,AltiVec技術(shù)采用向量并行處理,一次運(yùn)算4個數(shù)據(jù),而對于數(shù)據(jù)總量不為4的整數(shù)倍的情況,程序中還要加入余數(shù)部分的處理代碼。而隨著運(yùn)算數(shù)據(jù)量的增大,運(yùn)用AltiVec技術(shù)優(yōu)化的算法的優(yōu)越性就大大的體現(xiàn)了出來,所以在大數(shù)據(jù)量FIR濾波器的信號處理系統(tǒng)中,AltiVec技術(shù)則發(fā)揮了重要的作用。

        圖2 優(yōu)化前后性能比較Fig. 2 Performance comparison before and after optimization

        5 結(jié) 論

        本文研究了利用AltiVec向量加速技術(shù)對FIR濾波器設(shè)計進(jìn)行了優(yōu)化,并結(jié)合了基于PowerPC 8641D平臺的實驗系統(tǒng)對優(yōu)化算法的運(yùn)算時間進(jìn)行了實驗。實驗表明,這種優(yōu)化算法較之常規(guī)的算法,運(yùn)算所耗時間隨著數(shù)據(jù)量的增大,顯著的減小,運(yùn)算效率明顯提高。對于并行結(jié)構(gòu)的FIR濾波器,這種優(yōu)化算法同樣適用。而且這對利用AltiVec技術(shù)研究更加復(fù)雜的信號處理算法奠定了基礎(chǔ)。

        [1]Mark Slater.Vector Processing in the Motorola PowerPC 7400[Z].

        [2]黃全振,李泉溪,陳中偉.基于TMS320C54X的FIR濾波器的系統(tǒng)設(shè)計及應(yīng)用[J].河南理工大學(xué)學(xué)報,2008,27(3):314-318.

        HUANG Quan-zhen,LI Quan-xi,CHEN Zhong-wei.The design and application of FIR filter based on TMS320C54X[J].Journal of Henan Polytechnic University,2008,27(3):314-318.

        [3]Freescale. AltiVec Technology Programming Interface Manual[Z].

        [4]趙秀玲,張利,武玉強(qiáng).MATLAB輔助DSP實現(xiàn)FIR數(shù)字濾波器[J].現(xiàn)代電子技術(shù),2007(9):38-40.

        ZHAO Xiu-ling,ZHANF Li,WU Yu-qiang.Matlab Aia DSP in Approaching FIR Digital Filter[J].Modern Electronics Technique,2007(9):38-40.

        [5]黃小平.基于AltiVec技術(shù)的向量處理單元的結(jié)構(gòu)研究[D].西安:西北工業(yè)大學(xué), 2006.

        [6]馬琳. PowerPC體系結(jié)構(gòu)增加向量處理能力[J].今日電子,1998(10):7.

        MA Lin. The ability of vector processing technology is increased by PowerPC processor[J]. Electronic Products China,1998(10):7.

        猜你喜歡
        指令設(shè)計
        聽我指令:大催眠術(shù)
        何為設(shè)計的守護(hù)之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        一種基于滑窗的余度指令判別算法
        99噜噜噜在线播放| 国产精品国产三级国产在线观| 美国又粗又长久久性黄大片| 日韩人妖视频一区二区| 色偷偷偷久久伊人大杳蕉| 国产精品美女| 精品人妻一区二区久久| 久久免费看的少妇一级特黄片| 国产优质av一区二区三区 | 老太婆性杂交视频| 99香蕉国产精品偷在线观看| 精品国产亚洲一区二区在线3d| 亚洲天堂av另类在线播放 | 亚洲日韩精品一区二区三区| 亚洲av无码成人黄网站在线观看| 欧美日韩国产乱了伦| 91盗摄偷拍一区二区三区| 真实国产精品vr专区| 无码欧亚熟妇人妻AV在线外遇| 久久免费网站91色网站| 偷拍视频网址一区二区| 亚洲国产欧美日韩欧美特级| 欧洲午夜视频| 国产啪啪视频在线观看| 精品国产免费一区二区久久 | 欧美日韩国产码高清综合人成| 少妇AV射精精品蜜桃专区| 蜜臀av一区二区三区精品| 午夜影视免费| 伊人色综合视频一区二区三区| 久久99精品久久久久九色| 五月激情四射开心久久久| 男女啪动最猛动态图| 亚洲区小说区图片区| 熟女人妻一区二区中文字幕| 狠狠躁夜夜躁人人爽超碰97香蕉| 欧美第一黄网免费网站| 中文无码免费在线| 久久99天堂av亚洲av| 夜先锋av资源网站| 456亚洲人成在线播放网站|