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