當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:提出采用正則有符號數(shù)字量(CSD)編碼技術(shù)實現(xiàn)FIR濾波器。首先分析了FIR數(shù)字濾波器理論及常用設(shè)計方法的不足,然后介紹了二進制數(shù)的CSD編碼技術(shù)及其特點,給出了其于CSD編碼的定點常系數(shù)FIR濾波器設(shè)計過程,使用

摘要:提出采用正則有符號數(shù)字量(CSD)編碼技術(shù)實現(xiàn)FIR濾波器。首先分析了FIR數(shù)字濾波器理論及常用設(shè)計方法的不足,然后介紹了二進制數(shù)的CSD編碼技術(shù)及其特點,給出了其于CSD編碼的定點常系數(shù)FIR濾波器設(shè)計過程,使用VHDL語言實現(xiàn)了該常系數(shù)濾波器的行為描述。最后在Max+PlusⅡ環(huán)境下進行實驗仿真和驗證,與DA和2C編碼算法比較結(jié)果表明,用CSD編碼技術(shù)實現(xiàn)的濾波器可以有效提高運算速度并降低FPGA芯片的面積占用。
關(guān)鍵詞:CSD編碼;分布式算法;FIR;FPGA;常系數(shù)乘法

0 引言
    在圖像處理、語音識別等數(shù)字信號處理中,數(shù)字濾波器占有重要的地位,其性能對系統(tǒng)有直接的影響。隨著系統(tǒng)在寬帶、高速、實時信號處理上要求的提高,對濾波器的處理速度、性能等也提出更高的要求。目前數(shù)字濾波器的硬件實現(xiàn)方法通常采用專用DSP芯片或FPGA,DSP特有的一些硬件結(jié)構(gòu)和特性使其非常適合作數(shù)字濾波電路,但由于其軟件算法在執(zhí)行時的串行性,限制了它在高速和實時系統(tǒng)中的應(yīng)。FPGA最明顯的優(yōu)勢在于其實現(xiàn)數(shù)字信號處理算法的并行性,可以顯著提高濾波器的數(shù)據(jù)吞吐率,隨著FPGA技術(shù)的不斷發(fā)展,現(xiàn)在的FPGA不僅包含查找表、寄存器、多路復(fù)用器、分布式塊存儲器,而且還嵌入專用的快速加法器、乘法器和輸入/輸出設(shè)備,因而成為高性能數(shù)字信號處理的理想器件。而在FPGA中,數(shù)字濾波器不同的實現(xiàn)方法所消耗的FPGA資源是不同的,且對濾波器的性能影響也有較大差異?;诖耍疚膹腇IR濾波器的系數(shù)考慮,采用CSD編碼,對FIR數(shù)字濾波器進行優(yōu)化設(shè)計。

1 FIR濾波器的基本原理
    一個L階的FIR數(shù)字濾波器的基本系統(tǒng)函數(shù)見式(1):
   
    式中:h(n)表示濾波器的系數(shù);x(i)表示帶有時間延遲的輸入序列,此表達式對應(yīng)的直接型實現(xiàn)結(jié)構(gòu)可用圖1來表示。


    可以看出,F(xiàn)IR濾波器是由一個“抽頭延遲線”加法器和乘法器的集合構(gòu)成的。傳給每個乘法器的操作數(shù)就是一個FIR系數(shù)。對每次采樣x(n)要進行N次連續(xù)的乘法和(N-1)次加法操作,因?qū)嶋H中濾波器的階數(shù)都很高,實現(xiàn)高數(shù)據(jù)吞吐率就需要很多的硬件乘法器,硬件實現(xiàn)時將占用大量的資源,同時也會因此影響濾波器的速度和性能。為了解決這個問題,人們從多個角度尋求優(yōu)化方法。從數(shù)字濾波器表達式看,對它
的優(yōu)化操作,實際最終轉(zhuǎn)換成兩類改進。一類是針對輸入xi的DA操作的改進;另一類是針對系數(shù)hi編碼的操作。

2 DA算法
    分布式算法(Distributed Arithmetic,DA)是為了解決乘法資源問題而提出的經(jīng)典優(yōu)化算法這種算法結(jié)構(gòu),可以有效地將乘法運算轉(zhuǎn)換成基于查找表LUT(Look Up Table)的加法運算,利用查表方法快速得到部分積。
    對于低階而言,由于LUT表地址空間較小,與傳統(tǒng)算法相比,分布式算法可極大地減少硬件電路的規(guī)模,提高電路的執(zhí)行速度。然而當(dāng)FIR濾波器階數(shù)很高時,作為查找表的ROM將很大。階數(shù)每增加1位,ROM容量就增加1倍,這種以2的冪次遞增的資源占用是硬件資源不可接受的。因而在濾波器系數(shù)較高時,為了減小查找表的規(guī)模,常采用一定的方法將大LUT分割為一些小的LUT的方法。如濾波器的多相分解結(jié)構(gòu)、多路復(fù)用器和加法器替代查找表的算法等。

3 CSD編碼算法
    常數(shù)乘法可以通過“移位-加”來完成,而乘數(shù)中“1”的個數(shù)決定了“加”操作的次數(shù),當(dāng)然“1”的個數(shù)越少越好,正則有符號數(shù)字量CSD(Canonic Signed Digit)編碼就可以實現(xiàn)“1”的個數(shù)的最小化。
3.1 CSD編碼
    與傳統(tǒng)的二進制編碼的二值表示法不同,CSD編碼的數(shù)字值域為0,1和-1。-1常表示成1。這種編碼是具有最少非零元素的一種表示法,用CSD編碼表示數(shù)字的形式具有惟一性。在實際硬件電路中可以采用如下原則生成最佳CSD編碼:
    ①從最低有效位開始,用10…0 取代所有大于2的1序列,此外還需要用110 取代1011;
    ②從最高有效位開始,用011代替10 。
    最佳CSD編碼的特點是:
    ①在一個CSD數(shù)據(jù)里,沒有兩個連續(xù)的非零位;
    ②對同一個數(shù)字的CSD編碼是獨一無二的;
    ③是數(shù)字表示法里,所含非零位數(shù)最少,相比于二進制補碼系統(tǒng)平均減少33%的非零項。
    基于CSD編碼,可以將式(1)做以下的變化:
   
   
    從以上式子可看出,應(yīng)用CSD表示法,由于可以降低系數(shù)中非零元素的數(shù)量,因而在運算中能減少加法的次數(shù),有利于提高運算速度和減少資源的占用。
3.2 最佳CSD編碼設(shè)計與結(jié)果
    根據(jù)前面所列舉的最佳CSD編碼方法,用C語言生成最佳CSD編碼,部分偽代碼如下:

    測試實驗數(shù)據(jù)及結(jié)果如圖2所示。在本C語言程序中用X來指代碼,輸入數(shù)據(jù)為16位。



4 實例設(shè)計過程與仿真
4.1 FIR系數(shù)提取
    利用Matlab中Fdatlool設(shè)計一個16階低通FIR濾波器,各項性能指標為:采用頻率fs=48 kHz,截止頻率fstop=12 kHz,通帶寬度fpass=9.6 kHz。系數(shù)數(shù)據(jù)寬度為16位;輸出數(shù)據(jù)寬度是16位。為了便于FIR濾波器的FPGA實現(xiàn),減小誤差,將Fdatlool提取的濾波器的系數(shù)量化取整后為:
   
4.2 系數(shù)的CSD轉(zhuǎn)換
    讀入量化系數(shù),進行CSD轉(zhuǎn)換操作,生成CSD碼,表1是部分量化后的系數(shù)及對應(yīng)的CSD數(shù)。


4.3 FIR濾波器實現(xiàn)結(jié)構(gòu)
    采用轉(zhuǎn)置形式的FIR濾波器結(jié)構(gòu),此結(jié)構(gòu)和直接型結(jié)構(gòu)不同的是,輸入信號X[n]是同時分別和濾波器系數(shù)向量相乘,不需要通過不同的延時單元再和相對應(yīng)的濾波器系數(shù)相乘。這種結(jié)構(gòu)最大的優(yōu)點是工作頻率較高,圖3給出了采用CSD編碼算法的設(shè)計流程圖。


4.4 FPGA實現(xiàn)與仿真
    參照圖3中給出的設(shè)計流程,使用VHDL語言實現(xiàn)了該常系數(shù)濾波器的行為描述,圖4是濾波器的實現(xiàn)頂層圖。FPGA采用AItera公司的EPF 10K40芯片,該芯片最高的單路運行速率為200 MHz。圖5是在Max+PIusⅡ中的仿真結(jié)果。表2給出了EPF10K40的一些資源占用情況。



5 基于FPGA的FIR試驗結(jié)果
    為驗證本文提出的算法的普遍性,以并行DA和2C編碼方式設(shè)計了一系列階數(shù)從16到256階的FIR濾波器,濾波器在Altera公司的開發(fā)軟件Max+PlusⅡ中進行編譯和布局布線,采用的目標器件為EPF10K40芯片,在系統(tǒng)中對3種實現(xiàn)結(jié)構(gòu)進行測試,測試數(shù)據(jù)位寬為8位。通過表3的比較結(jié)果可以看出,使用CSD編碼,資源耗用明顯下降。當(dāng)FIR階數(shù)很高,系數(shù)很復(fù)雜時,CSD編碼的優(yōu)勢會更加顯著。表4給出了N=64時DA算法和CSD算法的具體性能指標,從結(jié)果來看,CSD編碼相對于單純的DA在系統(tǒng)資源和整個系統(tǒng)延遲上有明顯的提高。



6 結(jié)語
    濾波器用VHDL硬件描述語言實現(xiàn),采用Altera公司的EPF10K40芯片,在Max+PlusⅡ中進行了仿真驗證。從結(jié)果來看,文中所提出的CSD編碼算法,具有一定的研究價值和實用價值,CSD編碼在處理序列較多的情況下,在資源占用、速度處理方面的效果尤為明顯。采用CSD編碼方式對FIR濾波器進行優(yōu)化設(shè)計,可減少FIR實現(xiàn)的FPGA資源消耗。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉