www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]摘要:FIR數(shù)字濾波器以其良好的線性相位特性被廣泛使用,屬于數(shù)字信號處理的基本模塊之一。FPGA具有的靈活的可編程邏輯可以方便地實現(xiàn)高速數(shù)字信號處理。為了提高實時數(shù)字信號處理的速度,利用FPGA芯片內(nèi)部的ROM實現(xiàn)

摘要:FIR數(shù)字濾波器以其良好的線性相位特性被廣泛使用,屬于數(shù)字信號處理的基本模塊之一。FPGA具有的靈活的可編程邏輯可以方便地實現(xiàn)高速數(shù)字信號處理。為了提高實時數(shù)字信號處理的速度,利用FPGA芯片內(nèi)部的ROM實現(xiàn)一種查找表結(jié)構(gòu)的FIR數(shù)字濾波器。并用MATAB對實驗結(jié)果進行仿真和分析,證明了設(shè)計的可行性。
關(guān)鍵詞:有限沖擊響應(yīng)濾波器;硬件描述語言;查找表;現(xiàn)場可編程門陣列

0 引言
    數(shù)字濾波器是數(shù)字信號處理的重要組成部分,其作用是從接收信號中提取出需要的信息同時抑制干擾,由于FIR濾波器的沖擊響應(yīng)是有限長的,因而有可能做成具有嚴(yán)格線性相位的。通常用以下兩種方法來實現(xiàn)數(shù)字濾波器:一是把濾波器所要完成的運算編成程序并讓計算機執(zhí)行,也就是采用計算機軟件實現(xiàn);另一種是設(shè)計專用的數(shù)字硬件、專用的數(shù)字信號處理器或采用通用的數(shù)字信號處理器來實現(xiàn)。
    常用的實時數(shù)字信號處理的器件有可編程的數(shù)字信號處理(DSP)芯片、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)等。在工程實踐中,往往要求對信號處理要有高速性、實時性和靈活性,而已有的一些軟件和硬件實現(xiàn)方式則難以同時達到這幾方面的要求。隨著電子信息技術(shù)的快速發(fā)展,很多信號處理器件開始用FPGA來取代傳統(tǒng)的實現(xiàn)方法。與傳統(tǒng)的實現(xiàn)方法相比,F(xiàn)PGA的顯著優(yōu)點是它的并行處理特性,可以顯著提高濾波器的數(shù)據(jù)吞吐率。
    隨著可編程邏輯器件和EDA技術(shù)的發(fā)展,使用FPGA來實現(xiàn)數(shù)字信號處理,既具有實時性,又兼顧了一定的靈活性。FPGA具有的靈活的可編程邏輯可以方便地實現(xiàn)高速數(shù)字信號處理,突破了并行處理、流水級數(shù)的限制,有效地利用了片上資源,加上反復(fù)的可編程能力,越來越受到國內(nèi)外從事數(shù)字信號處理的研究者的青睞。

1 FIR濾波器的結(jié)構(gòu)特點
    數(shù)字濾波器通常分為有限沖擊響應(yīng)(FIR)和無限沖擊響應(yīng)(IIR)兩大類。FIR濾波器由以下幾個特點:
    (1)系統(tǒng)的單位沖擊響應(yīng)h(n)在有限個n值處不為零;
    (2)系統(tǒng)函數(shù)H(Z)在|Z|>0處收斂,在|Z|>0處只有零點,有限z平面只有零點,而全部極點都在z=0處(因果系統(tǒng));
    (3)結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,但有些結(jié)構(gòu)(例如抽樣頻率結(jié)構(gòu))也包含有反饋的部分;
    設(shè)FIR濾波器的單位沖擊響應(yīng)h(n)為一個N點序列,0≤n≤N-1,則濾波器的系統(tǒng)函數(shù)為:
   
    就是說它有N-1階極點在z=0處,有個N-1零點位于有限z平面的任何位置。
    FIR濾波器有以下幾種基本結(jié)構(gòu):橫截型(卷積型、直接型);級聯(lián)型;頻率抽樣型。這里,我們主要討論直接型FIR濾波器的實現(xiàn)。
    式(1)的系統(tǒng)的差分方程表達式為:
    
    很明顯,這就是線性移不變系統(tǒng)的卷積和公式,也是x(n)的延時鏈的橫向結(jié)構(gòu)。

2 FPGA概述及特點
    FPGA即現(xiàn)場可編程門陣列,是20世紀(jì)90年代發(fā)展起來的。大部分FPGA采用基于SRAM的查找表(look up table,LUT)結(jié)構(gòu),也有一些軍品和宇航級FPGA采用FLASH或者反熔絲工藝的查找表結(jié)構(gòu)以提高可靠性。它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物,具有更高的集成度,更強的邏輯實現(xiàn)能力和更好的設(shè)計靈活性。FPGA由許多獨立的可編程邏輯模塊組成,用戶可以通過編程將這些模塊連接起來實現(xiàn)不同的設(shè)計。FPGA器件的產(chǎn)生將半定制的門陣列電路的優(yōu)點和可編程邏輯器件的用戶可編程特性結(jié)合在一起。既解決了定制電路的不足,又克服了原有可編程邏輯器件門電路數(shù)量有限的缺點。
    FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(InputOutput Block)和內(nèi)部連線(Interconnect)三個部分。FPGA的基本特點如下。
    (1)采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到可用的芯片;
    (2)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳資源;
    (3)FPGA可做其他全定制或半定制ASIC電路的中試樣片;
    (4)FPGA是ASIC電路中設(shè)計周期最短,開發(fā)費用最低,風(fēng)險最小的器件之一。
    (5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
    可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高集成度、可靠性的最佳選擇之一。隨著集成度密度的不斷提高,F(xiàn)PGA器件幾乎可以實現(xiàn)所有的數(shù)字電路功能。目前,器件集成度已經(jīng)達到了數(shù)百萬門數(shù)量級,工作頻率可達300MHz以上。一般可在幾個小時或幾天內(nèi)完成一個設(shè)計,并可隨時修改。這加速了產(chǎn)品設(shè)計開發(fā)的進程,免去了昂貴的ASIC(專用集成電路(器件半導(dǎo)體生產(chǎn)工藝費用及投資風(fēng)險,因此,F(xiàn)PGA技術(shù)已經(jīng)成為電子工程師不可缺少的好幫手。

3 查找表結(jié)構(gòu)的FIR算法
    LUT本質(zhì)上是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個具有4位地址線的16×1的RAM。當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路的所有結(jié)果,并把結(jié)果寫到RAM中,當(dāng)輸入一個信號進行運算就等于輸入一個地址,找出對應(yīng)的內(nèi)容,然后輸出。
    由式(2)可見FIR濾波器系統(tǒng)函數(shù)是一種卷積的運算形式。如果用FPGA直接實現(xiàn)則計算速度很慢且占用大量的LE(邏輯單元),達不到系統(tǒng)對實時性的要求,于是想到能否將上述卷積運算轉(zhuǎn)化成加減運算。
    分布式算法(distributed arithmetic,DA)早在1973年就已經(jīng)被Croisier提出來了,但是直到FPGA出現(xiàn)以后,才被廣泛應(yīng)用在FPGA中計算乘積和。
    設(shè)FIR濾波器的階數(shù)為N,輸入數(shù)據(jù)x(n)的位寬為k,則x(n)可表示為:
   
    也就是說:我們可以把每個輸入數(shù)據(jù)的每一位的值分別與相應(yīng)的FIR系數(shù)相乘(因為x(n)為數(shù)字信號,每個輸入數(shù)據(jù)的每一位的值都為0或1,所以與h(n)相乘的結(jié)果非0即為h(n))然后再相加,然后再把所有位的相加值錯位相加,可得到卷積的結(jié)果從而實現(xiàn)了將卷積運算轉(zhuǎn)換成加法運算。
    這樣我們就可以針對N階FIR濾波器的系數(shù)預(yù)先建立一個2的N次方的一個存儲表,將系數(shù)和存放在對應(yīng)的存儲單元中。進行卷積運算時把輸入數(shù)據(jù)的每一位組合成地址碼,通過地址查找到相應(yīng)的系數(shù)和,然后把所有位數(shù)的系數(shù)和移位相加即可完成卷積運算。通過查表的方式可以大大減少求和的次數(shù),提高運算速度。

4 設(shè)計思路及步驟
4.1 FPGA系統(tǒng)設(shè)計的方法
    用FPGA實現(xiàn)數(shù)字系統(tǒng)設(shè)計一般可分成以下幾個步驟:設(shè)計輸入、功能仿真、編譯綜合生成網(wǎng)表文件、設(shè)計實現(xiàn)、時序仿真、下載到芯片進行硬件驗證。在每一步檢查到的錯誤或缺陷都可以返回到上一層進行修改。
    隨著數(shù)字系統(tǒng)規(guī)模的不斷增大,其復(fù)雜度也隨之增大。層次化設(shè)計將系統(tǒng)逐層分為較小的、規(guī)??煽刂频哪K,是控制數(shù)字系統(tǒng)設(shè)計復(fù)雜度的一種有效方法。
    層次化設(shè)計中有兩個重要的核心思想,即模塊化和原件重用。模塊化是指將系統(tǒng)劃分為幾個子模塊,而這些子模塊又分別劃分為更小的模塊,直至不可再分。每個模塊都可以看成是上一層模塊的一個元件。原件重用是指同一個原件可以被不同的實體調(diào)用,或者被同一個實體多次調(diào)用。這樣不但大大減輕了設(shè)計者的工作量,而且使程序結(jié)構(gòu)更加優(yōu)化,具有更好的可讀性。
4. 2 設(shè)計實例的參數(shù)選取及生成
    MATLAB的信號處理工具箱中包括許多可用于設(shè)計FIR數(shù)字濾波器的M文件。根據(jù)要設(shè)計的濾波器的參數(shù)、通帶截止頻率、阻帶截止頻率、采樣頻率、通帶或阻帶波紋要求等參數(shù),可以利用MATLAB中的數(shù)字信號處理工具箱生成濾波器的系數(shù)。
    在設(shè)計中,采用16階FIR,輸入數(shù)據(jù)寬12位,濾波器系數(shù)以及由這些系數(shù)演算出的ROM的初始化數(shù)據(jù)文件*.mif文件可以通過MATLAB計算生成。
    因為是16階的FIR,這樣就需要65536個ROM單元來實現(xiàn),ROM單元的位寬采用16位。利用器件中的ROM建立這樣的查找表,首先要將ROM的初始化數(shù)據(jù)寫到*.mif文件中,然后在Ouartsus II中將其指向?qū)?yīng)的ROM設(shè)計模塊。
    當(dāng)FIR的階數(shù)增大時,ROM的存儲量是以2的倍數(shù)增長的,因此采用一個ROM快分時查找表的方法來降低對ROM存儲容量的要求。
4.3 模塊化設(shè)計
    用原理圖和VHDL相結(jié)合的輸入方式,分模塊進行設(shè)計,項層模塊采用圖形化輸入,在Quartsus II中進行設(shè)計輸入。
    系統(tǒng)由控制模塊、輸入數(shù)據(jù)移位模塊、地址發(fā)生模塊、存儲器模塊、運算模塊等組成。下面介紹每一模塊的基本功能。
    (1)控制模塊的作用是產(chǎn)生一系列的控制信號,對上述各種模塊進行精確的控制??刂颇K在收到A/D轉(zhuǎn)換結(jié)束信號后,依次產(chǎn)生移位寄存器使能信號、并行到串行轉(zhuǎn)換的裝入信號、移位相加的裝入信號、加減控制信號和濾波器結(jié)果輸出信號等控制信號。使上述各個模塊按照一定的時序進行操作,最終完成濾波功能。該模塊采用VHDL的描述方式比較方便。
    (2)輸入數(shù)據(jù)移位模塊的主要功能是使A/D轉(zhuǎn)換后的數(shù)據(jù)通過不同的觸發(fā)器,從而產(chǎn)生不同的延遲,以便取出輸入數(shù)據(jù)不同位置上的數(shù)值,來構(gòu)成ROM的地址。
    (3)地址發(fā)生器模塊的主要功能是將通過輸入數(shù)據(jù)移位模塊的不同延遲分別轉(zhuǎn)換為查找表的串行地址,提供給存儲器模塊。根據(jù)結(jié)構(gòu)化的程序設(shè)計思想,本模塊可由12個單通道并、串轉(zhuǎn)換模塊組成。
    (4)存儲器模塊是這種查找表結(jié)構(gòu)FIR的核心。FPGA中ROM模塊的設(shè)計可以通過Quartsus II軟件中的Mega Wizard向?qū)砩伞?br />     (5)運算模塊主要功能是將ROM的輸出數(shù)據(jù)在此進行移位相加。這里實現(xiàn)的主要是加法和減法運算,運算速度很快。
    最后的項層模塊采用圖形化輸入,這樣可以使設(shè)計思路更加清晰,也符合自上而下的FPGA主流設(shè)計方法。

5 仿真驗證
    為了驗證設(shè)計的正確性,必須對設(shè)計進行全面充分的功能仿真和時序仿真,功能仿真一般用Mentor公司的Modelsim來進行,時序仿真使用QuartusII軟件。Altera公司提供的QuartusII軟件除了具有強大的編譯綜合功能之外,還提供了一定的波形(時序)仿真功能。因其輸入和輸出都是以波形的形式給出的,雖然看起來如同邏輯分析儀的輸出形式,比較直觀,但是難以對隨機信號進行輸入;隨機信號的輸出也難以分析,這就給我們的驗證工作帶來了很大的障礙。下面我們利用MATLAB與QuartusII實現(xiàn)聯(lián)合仿真。
5.1 產(chǎn)生向量仿真文件
    在MATLB中生成OuartusII仿真所需的輸入文件*.vec。QuartusII仿真文件有兩種格式,即*.vwf格式和*.vec格式。前者是在Quart-usII中通過波形編輯器生成的。當(dāng)方針輸入數(shù)據(jù)復(fù)雜時,用波形輸入的方法難以勝任,特別是在數(shù)字信號處理領(lǐng)域,大多數(shù)仿真輸入數(shù)據(jù)要疊加噪聲,采用波形輸入方式是不現(xiàn)實的。后者是按一定格式要求的文本文件輸入方式,可以利用任何文本編輯器產(chǎn)生,只要符合對仿真文件的格式要求即可。
    這里的仿真輸入數(shù)據(jù)是在兩個不同頻率上的正弦波,頻率分別為23Hz、58Hz。把這兩個信號疊加在一起作為輸入信號,用MATLAB軟件生成仿真所需的vec文件。FIR濾波器的截止頻率為40Hz。
    在對仿真參數(shù)進行設(shè)置時,將仿真向量文件指向由MATLAB生成的文件,即可將MATLAB中生成的仿真信號導(dǎo)入之中進行仿真了。
5.2 驗證輸出結(jié)果
    用QuartusII軟件中的選項將仿真向量文件指向由MTLAB生成的*.vec文件,進行仿真。
    將仿真結(jié)束后生成的波形文件,另存為*.tbl格式文件,以數(shù)據(jù)文件輸入的方式將此*.tbl文件中的仿真輸出信號的數(shù)值導(dǎo)入至MATLAB中,并進行頻譜分析驗證FIR數(shù)字濾波器設(shè)計的正確與否,并分析其性能優(yōu)劣。


    圖1是輸入信號的時域和頻域圖形,以及經(jīng)過理想的低通濾波后得到的結(jié)果。低通濾波用MATLAB實現(xiàn)??梢钥闯鼋?jīng)過濾波后,23Hz的頻率成分被保留下來,而58Hz的頻率成分被濾掉。圖2是同一輸入信號的時域和頻域圖形,以及經(jīng)過FPGA實現(xiàn)的FIR數(shù)字濾波器低通濾波后的結(jié)果。

6 結(jié)束語
    從這兩幅圖中,我們可以看到用FPGA實現(xiàn)的FIR濾波器,得到了和理論上濾波相似的結(jié)果,證明了設(shè)計的可行性及正確性。如果需要不同的濾波器,我們只要改變輸入到ROM中的初始化文件數(shù)據(jù)即可。

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

前不久,新思科技已經(jīng)正式對Ansys完成了整個收購。一家是IP和IC設(shè)計方面?zhèn)鹘y(tǒng)三強之一,一家是仿真與分析領(lǐng)域的老牌技術(shù)專家。雙方的結(jié)合也是呼應(yīng)整個技術(shù)潮流,為客戶提供從硅片到系統(tǒng)的完整解決方案。而且,借助Ansys的強...

關(guān)鍵字: Synopsis 新思科技 Ansys 仿真 汽車 AI

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(yōu)點,被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進入體內(nèi),并對體內(nèi)器官或結(jié)構(gòu)進行直接觀察和對疾病進行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運用單片機和FPGA芯片作為主控制器件 , 單片機接收從PC機上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號和同步的控制信號— 數(shù)據(jù)、時鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機 FPGA LED顯示屏

在異構(gòu)計算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時鐘頻率下實現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在當(dāng)今高度 自動化的工業(yè)生產(chǎn)中 ,搬運機械手應(yīng)用廣泛 ?,F(xiàn)對搬運機械手液壓系統(tǒng)展開研究 ,詳細(xì)闡述其結(jié)構(gòu)組 成、工作流程與基本原理 ,并基于Fluidsim仿真設(shè)計系統(tǒng)的液壓和電氣回路 ,設(shè)置仿真參數(shù)并進行仿真分析 。結(jié)...

關(guān)鍵字: Fluidsim 搬運機械手 仿真 液壓系統(tǒng)

在全球FPGA市場被Xilinx(AMD)與Intel壟斷的格局下,國產(chǎn)FPGA廠商高云半導(dǎo)體通過構(gòu)建自主IP核生態(tài)與智能時序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

針對現(xiàn)有靜電放電測試方法 ,提出了一種基于末端裝置變形的六軸機器人模型用于靜電放電測試 。用兩種方法對模型進行了正、逆運動學(xué)分析,通過實例驗證了旋量方法計算的優(yōu)勢,為后續(xù)進行靜電放電測試自動化控制提供了理論基礎(chǔ)。

關(guān)鍵字: 機器人 正運動學(xué) 逆運動學(xué) 變形 仿真 旋量
關(guān)閉