基于用CPLD實(shí)現FIR數字濾波器的設計

發(fā)布時(shí)間:2010-8-19 10:31    發(fā)布者:lavida
關(guān)鍵詞: CPLD , FIR , 數字濾波器
當前,無(wú)論在軍事還是民用方面,對于數字信號處理的實(shí)時(shí)性、快速性的要求越來(lái)越高?删幊踢壿嬈骷≒LD)由于在速度和集成度的飛速提高,越來(lái)越多的電子系統采用可編程邏輯器件來(lái)實(shí)現數字濾波。  

Altera公司的FLEX10K是工業(yè)界第一個(gè)嵌入式的PLD,具有高密度、低成本、低功率等優(yōu)點(diǎn)。器件的主要結構特點(diǎn)是除主要的邏輯陣列塊(LAB)之外,首次采用了嵌入陣列塊(EAB)。每個(gè)陣列塊包含8個(gè)邏輯單元(LE)和一個(gè)局部互連。一個(gè)LE又由四輸入查找表(LUT)、一個(gè)可編程寄存器和專(zhuān)用的載運和級聯(lián)功能的信號通道所組成。  

在FLEX10K器件中,把每一組邏輯單元(8個(gè)LE)組成一個(gè)邏輯陣列塊(LAB),所有的邏輯陣列塊(LAB)排成行和列。在一行里還包含一個(gè)單一的EAB。多個(gè)LAB和多個(gè)EAB采用快速通道互相連接。  

嵌入式陣列塊(EAB)是FLEX10K系列器件在結構設計上的一個(gè)重要部件。它是一個(gè)輸入端口和輸出端口都帶有寄存器的一種靈活的RAM塊,嵌入陣列塊(EAB)組成的規模和靈活性對比較多的內存是適宜的。功能包括乘法器、向量的標準和誤差矯正電路等。在應用中,這些功能又能夠聯(lián)合完成數字濾波器和微控制器的功能。  

采用可編程的帶有只讀平臺的嵌入陣列塊(EAB)在配置期間可執行邏輯功能并建立一個(gè)大的查找表(LUT),在這個(gè)查找表里用查找的結果執行組合邏輯函數,而不用計算它們。顯然,用這種組合邏輯函數執行比通常在邏輯里應用算法執行要快,而且專(zhuān)用EAB容易應用,并且快速提供可能預測的延遲。  

本文介紹了應用Altera 公司的FLEX10K系列CPLD快速完成卷積的方法實(shí)現有限沖激響應(FIR)濾波器的設計。  

查表法實(shí)現卷積運算方法  

有限沖激響應(FIR)濾波器的基本結構如是一個(gè)分節的延時(shí)線(xiàn),把每一節的輸出加權累加,得到濾波器的輸出。數學(xué)上表示為:  


  
結構如圖1所示。它由用一條均勻間隔抽頭的延遲線(xiàn)上對抽頭信號進(jìn)行加權求和構成。  


  
根據上式,可以看出FIR數字濾波器涉及到大量的卷積運算,使用常規硬件實(shí)現時(shí)會(huì )占用大量的資源。通過(guò)充分利用FLEX10K系列芯片所具有的查表結構,將卷積運算轉化為查表移位求和來(lái)實(shí)現。例如:對于式  

y = [ x(1) h(1) ]+[ x(2) h(2) ]+[ x(3) h(3) ] + [ x(4) h(4) ] (1)  

假設x和h 都是無(wú)符號整型二進(jìn)制數,寬度兩位,取值兩位如下:  

h(1)= 01,h(2)= 11 ,h (3)= 10, h(4)= 11  

x(1)= 11,x(2)= 00, x (3)= 10, x(4)= 01  

從圖2可以看到式(1)運算的實(shí)現。中間數據p1(n)中的4個(gè)數據實(shí)際上是乘數x(n)的最低位比特與h(n)相乘的結果,并且該值不是0就是h(n)。進(jìn)一步考慮,中間數據p1和p2的值,既“100”t3.gif (8144 字節)和“011” 是由不同的h(n)之和構成,而對h(n)的選擇是由乘數x(n)的相同位的比特決定的。例如上圖x(n)的最低位為1001,則p1的值為h(1) + h(4);其高位為1010,則p1的值為 h (1) + h(3)。因此利用Altera公司FLEX器件中的查找表(LUT)結構,預先將h(n)的各種組合存入查找表,則上例中的原需4次乘法和3次加法的卷積運算轉化為1次加法。圖3顯示了用查找表實(shí)現該例的結構。  


  
用查表法實(shí)現卷積運算時(shí),有并行和串行兩種結構。圖3中為并行結構,其中兩個(gè)LUT是完全相同的。在并行結構中,LUT的數量根據x(n)的數據寬度決定。一位對應一個(gè)LUT,這樣速度達到最大,在FLEX10K的結構中提供了兩條專(zhuān)用數據通道,即進(jìn)位鏈和級聯(lián)鏈,通過(guò)級聯(lián)鏈相鄰的LUT可以用來(lái)并行計算函數的各個(gè)部分。  

利用FLEX10K芯片實(shí)現FIR數字濾波器  

FELEX10K系列芯片具有查找表結構,利用其實(shí)現采用全局并行的FIR數字濾波器,也即將輸入x(n) 經(jīng)過(guò)不同的延遲后同時(shí)進(jìn)行處理。  

FIR數字濾波器的層次結構圖如圖4所示:  


  
控制器模塊(contr)的作用是產(chǎn)生控制信號對延遲、并串轉換、抽頭系數、移位相加模塊進(jìn)行控制,以使它們按一定的形式組合在一起實(shí)現濾波器功能?刂破髂K在接收到A/D轉換結束信號后,依次產(chǎn)生移位寄存器使能信號、并行到串行轉換的裝入信號、移位相加的裝入信號、加減控制信號和濾波結果輸出信號等各種控制信號,使上述各個(gè)模塊按照一定的時(shí)序進(jìn)行操作,從而完成濾波功能。時(shí)延環(huán)節模塊(shift-reg)的作用為使A/D轉換后的數據通過(guò)不同的觸發(fā)器,進(jìn)而產(chǎn)生不同的延遲。并/串轉換模塊(p-s-ff)的作用是將通過(guò)時(shí)延模塊產(chǎn)生的不同延遲分別同時(shí)轉換為查找表的串行地址,提供給抽頭系數模塊。抽頭系數模塊(sub-rom)將抽頭系數的各種組合固化在ROM中。它的地址輸入端接收并/串轉換模塊的串行輸出,然后查表得到卷積的中間數據。移位相加模塊通過(guò)將中間數據移位相加而實(shí)現兩個(gè)數相乘的功能。
本文地址:http://selenalain.com/thread-22303-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页