引言
這篇文章介紹了兩套直接型FIR的匯編代碼實現(xiàn)方案的存儲器需求,及以16-bit整數(shù)精度處理復數(shù)輸入和輸出,復數(shù)或實數(shù)系數(shù)的能力。這些方案提供的方法在節(jié)省存儲器的同時還可以獲得高性能。
總述
下面給出了直接型FIR濾波器的數(shù)學表達式。
該等式是濾波器系數(shù)向量h和(時間)反順序輸入數(shù)據(jù)向量x的內(nèi)積。這也被稱為h和x之間的卷積。
圖1以圖解方式表示了相同的等式。
TigerSHARC 處理器的并行處理
ADSP-TS20x TigerSHARC(R)處理器是高度并行的計算器件,有3種獨特的并行處理類型: * 延遲—2執(zhí)行流水線 * 多個計算單元 * 寬存儲器結構
這三種并行方式相互補充,為獲得高效率,應盡量同時考慮這三種方式。本器件中計算速率和存儲器帶寬以這樣的方式平衡:就是如果忽略三種平衡方式中的一種,將導致次佳性能。
復數(shù)系數(shù)、輸入輸出數(shù)據(jù)的16-bit整數(shù)FIR
介紹
每個內(nèi)核時鐘周期,ADSP-TS20xTigerSHARC處理器都支持兩種復數(shù)乘法(每 個計算塊各一),同時伴隨著同步數(shù)據(jù)傳輸。當然,類似等式1的濾波器計算可通過直接連序的方式實現(xiàn),就是通過使用一個(內(nèi)部)循環(huán)求和,每個迭代在舊的輸入樣本和系數(shù)之間執(zhí)行乘法,并將其加入到最后迭代的輸出中,另一個(外部)循環(huán)通過相同的程序再次生成輸出樣本。然而,使用ADSP-TS20x TigerSHARC處理器的并行功能和內(nèi)部高帶寬,可以獲得更高的性能。
流水線操作和并行資源利用
FIR表達式表明大多數(shù)用于計算輸出y[i]的數(shù)據(jù)和用于計算y[i+1]的數(shù)據(jù)是一樣的。該情況同樣適用于y[i+1]和y[i+2],以次類推。C偽代碼的“外部”循環(huán)執(zhí)行所有計算全部輸出樣本所需的步驟。展開該外部循環(huán),可得到下面三種好處: 1. 不同輸出樣本的計算之間可以再次使用數(shù)據(jù)。 2. MAC 操作可并行實現(xiàn)。 3. 循環(huán)溢出的影響減少。
不要忽視減少循環(huán)開銷,因為這可以減少循環(huán)中執(zhí)行必要條件分支所需的時間,從而提高進行實際計算可用時間的百分比。展開外部循環(huán)4次,可產(chǎn)生由下面的C偽代碼描述的一個運算法則。
數(shù)據(jù)劃分
接口
實數(shù)系數(shù)和復數(shù)輸入/輸出數(shù)據(jù)的16-bit整數(shù)FIR。。。
完整文檔下載請百度云盤:鏈接:http://pan.baidu.com/s/1pKbmwEv 密碼:i2o3
ADI DSP任何問題,可聯(lián)系OP的QQ:5516164,郵箱:sale@openadsp.com
|