亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA并行+拆分查找表分布式高階FIR的設(shè)計(jì)與實(shí)現(xiàn)

        2021-07-05 07:34:26柴乾隆
        測(cè)控技術(shù) 2021年6期
        關(guān)鍵詞:結(jié)構(gòu)系統(tǒng)設(shè)計(jì)

        柴乾隆

        (航空工業(yè)蘭州萬里航空機(jī)電有限責(zé)任公司 航空機(jī)電研究院,甘肅 蘭州 730070)

        濾波器主要用于頻率選擇和運(yùn)算處理,以起到濾除噪聲和分離信號(hào)的作用。根據(jù)濾波器系統(tǒng)輸入、輸出信號(hào)的處理方式,可分為模擬濾波器和數(shù)字濾波器兩種。模擬濾波器在設(shè)計(jì)時(shí)可通過查詢大量圖表予以實(shí)現(xiàn),簡捷明了,但因相位的非線性,其應(yīng)用受到了很大的限制。而數(shù)字濾波器因其相位線性度高,幅度特性[1-3]任意可變,而被廣泛應(yīng)用于語音和圖像處理、HDTV、模式識(shí)別、譜分析等領(lǐng)域。單位抽樣響應(yīng)的長度直接影響著有限長單位沖激響應(yīng)(Finite Impulse Response,FIR)數(shù)字濾波器的穩(wěn)定性,當(dāng)抽樣響應(yīng)的長度有限時(shí),系統(tǒng)的極點(diǎn)均在原點(diǎn)處,因此FIR濾波器是一個(gè)穩(wěn)定的線性系統(tǒng)。同時(shí),快速傅里葉變換(Fast Fourier Transfor,FFT)能夠在很大程度上提高FIR濾波器的運(yùn)算速率[4],以有助于FIR濾波器對(duì)信號(hào)的有效過濾。

        大多數(shù)傳統(tǒng)的FIR濾波器都是采用TI公司的TMS320CXX系列數(shù)字信號(hào)處理器(DSP)芯片[5]來實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。根據(jù)輸入序列的乘累加[6]編寫軟件,以硬件為平臺(tái),結(jié)合軟件算法,實(shí)現(xiàn)濾波器的設(shè)計(jì)。但DSP芯片的馮·諾依曼體系架構(gòu)使得數(shù)據(jù)的處理速度和容量都受到了限制,而FPGA因其豐富的連線資源和龐大的邏輯陣列,為實(shí)現(xiàn)并行度極高的FIR濾波器搭建了高效的運(yùn)作平臺(tái),同時(shí)具有優(yōu)良的可擴(kuò)展性。通過采用分布式算法,F(xiàn)IR濾波器可以克服濾波器階數(shù)對(duì)運(yùn)算速率的影響,使兩者不呈正相關(guān)性。因此,分布式算法可廣泛應(yīng)用于高階FIR濾波器的設(shè)計(jì)。

        傳統(tǒng)分布式算法大多數(shù)采用串行處理輸入序列的數(shù)據(jù),獲取輸出序列值。采用傳統(tǒng)分布式算法易于實(shí)現(xiàn)低階濾波器,而高階濾波器的實(shí)現(xiàn)則較為困難。目前,利用分布式算法實(shí)現(xiàn)的高階FIR濾波器,大多數(shù)都采用串行分布式結(jié)構(gòu)、并行分布式結(jié)構(gòu)或拆分查找表結(jié)構(gòu)。3種分布式結(jié)構(gòu)在存儲(chǔ)器占用和時(shí)鐘周期利用方面都各有優(yōu)缺點(diǎn),因此對(duì)3種結(jié)構(gòu)的算法進(jìn)行整合,可有效提高存儲(chǔ)占用和時(shí)鐘周期利用,有效化解了兩者之間的矛盾。

        本文以國產(chǎn)FPGA為硬件平臺(tái),綜合利用各算法的優(yōu)勢(shì),提出了一種基于FPGA并行+拆分查找表分布式結(jié)構(gòu)高階FIR的設(shè)計(jì)與實(shí)現(xiàn),以中國電科58所的JS1032系列FPGA為核心器件,利用100%國產(chǎn)化元器件搭建硬件電路,比較研究了3種分布式算法,對(duì)FIR濾波器進(jìn)行了硬件實(shí)現(xiàn)和軟件仿真,同時(shí)利用惠普網(wǎng)絡(luò)分析儀對(duì)所設(shè)計(jì)的FIR濾波器進(jìn)行了幅頻特性的測(cè)試,驗(yàn)證了該算法的有效性和實(shí)時(shí)性。

        1 FIR濾波器傳統(tǒng)算法及其改進(jìn)

        1.1 FIR濾波器概念與方法介紹

        線性時(shí)不變性[7]是FIR濾波器最大的系統(tǒng)特征,N階FIR數(shù)字濾波器的輸入序列x(n)與單位沖激響應(yīng)h(n)經(jīng)卷積運(yùn)算可得輸出序列y(n):

        (1)

        FIR濾波器典型的設(shè)計(jì)結(jié)構(gòu)主要由延時(shí)單元、乘法器、抽頭系數(shù)、加法器等部分組成,F(xiàn)IR濾波器典型的設(shè)計(jì)結(jié)構(gòu)如圖1所示。輸入樣本x(n)通過緩沖區(qū)實(shí)現(xiàn)Z-1延時(shí),并在數(shù)據(jù)寄存器中,開設(shè)n個(gè)用于存放最新輸入樣本的滑窗。最新的數(shù)據(jù)采樣乘以抽頭系數(shù),得到的乘積再與上一次的加法器結(jié)果進(jìn)行求和,依次遞進(jìn)運(yùn)算,改變抽頭數(shù)目和抽頭系數(shù)可獲得不同幅頻特性的FIR濾波器。

        圖1 FIR濾波器典型的設(shè)計(jì)結(jié)構(gòu)

        龐大的乘法和加法運(yùn)算非常消耗FPGA的資源,同時(shí)FPGA的設(shè)計(jì)效率和邏輯單元的占用量都非常高,因而使用傳統(tǒng)方法實(shí)現(xiàn)FIR濾波器,濾波器的階數(shù)很難提高,因此必須對(duì)經(jīng)典實(shí)現(xiàn)方法進(jìn)行優(yōu)化改進(jìn)。

        1.2 分布式算法

        分布式算法[8]是Croisier于1973年提出的,但由于計(jì)算資源的客觀限制,發(fā)展較為緩慢,直到FPGA的出現(xiàn),才使得分布式算法得到了廣泛應(yīng)用。

        分布式算法通過將n個(gè)數(shù)據(jù)的相同序號(hào)的位在移位寄存器中進(jìn)行操作,在查找表中獲取相應(yīng)的部分積,然后通過二次冪加權(quán)對(duì)已獲取的部分積進(jìn)行累加,完成加法運(yùn)算后,獲得最終結(jié)果。而傳統(tǒng)經(jīng)典算法的乘法運(yùn)算和加法運(yùn)算是分離的,是在完成所有乘積之后,再對(duì)乘積結(jié)果進(jìn)行累加。分布式算法與傳統(tǒng)算法相比,實(shí)現(xiàn)濾波器設(shè)計(jì)的硬件電路規(guī)模大為減小,并以流水線式的處理模式,使得計(jì)算速度大幅提高。FPGA因其能高速完成移位和加法運(yùn)算使得分布式算法的應(yīng)用更為廣泛[9],也拓寬了FPGA芯片的應(yīng)用領(lǐng)域。為了便于分析,將濾波器輸出序列的表達(dá)式改為

        (2)

        假設(shè)h(n)均為常數(shù),x(n)是變量,無符號(hào)數(shù)x(n)的表達(dá)式為

        (3)

        式中,n為第n個(gè)采樣值;b為x(n)的第b位。則y(n)可以表示為

        (4)

        變換求和次序,重新求和得:

        y(n)=h(0)[xB-1(0)×2B-1+xB-2(0)×2B-2+

        x0(0)×20]+h(1)[xB-1(1)×2B-1+xB-2(1)×2B-2+

        x0(1)×20]+…+h(N-1)[xB-1(N-1)×2B-1+

        xB-2(N-1)×2B-2+x0(N-1)×20]

        =h(0)xB-1(0)+h(1)xB-1(1)+…+

        h(N-1)xB-1(N-1)]2B-1+…+[h(0)x0(0)+

        h(1)x0(1)+…+h(N-1)x0(N-1)]20

        (5)

        化簡成如下形式:

        (6)

        式中,xb(n)為第n個(gè)數(shù)據(jù)的第b位。x(n)為取值[0,1]的有限位數(shù)據(jù)。分布式算法的原理框圖如圖2所示。

        圖2 分布式算法原理框圖

        求得濾波器系數(shù)后,根據(jù)濾波器輸入數(shù)據(jù)位寬,對(duì)系數(shù)進(jìn)行合適的放大,在實(shí)現(xiàn)過程中對(duì)累加值進(jìn)行右移,得到系統(tǒng)的輸出結(jié)果。

        1.3 并行+拆分查找表分布式結(jié)構(gòu)

        分布式算法以序列運(yùn)算處理的方式劃分,可分為串行分布式結(jié)構(gòu)、并行分布式結(jié)構(gòu)和拆分查找表結(jié)構(gòu)。

        串行分布式結(jié)構(gòu)需要大量的ROM進(jìn)行尋址,同時(shí)一次運(yùn)算需要多個(gè)時(shí)鐘周期,使得成本和存儲(chǔ)時(shí)間都急劇增加。當(dāng)FIR濾波器的階數(shù)很高時(shí),使用串行分布式結(jié)構(gòu)很難實(shí)現(xiàn)。例如,設(shè)計(jì)一個(gè)階數(shù)為64、位寬12的FIR濾波器,需要12×264bit的存儲(chǔ)空間,而FPGA根本沒法提供高達(dá)12 Gbit的內(nèi)部存儲(chǔ)空間。

        拆分查找表結(jié)構(gòu)相較串行分布式結(jié)構(gòu)而言,很大程度上減小了存儲(chǔ)器的數(shù)量,但拆分查找表結(jié)構(gòu)和串行分布式結(jié)構(gòu)同樣需要很多個(gè)時(shí)鐘周期來實(shí)現(xiàn)乘加運(yùn)算。輸入數(shù)據(jù)的位寬決定了串行分布式結(jié)構(gòu)和拆分查找表結(jié)構(gòu)兩種算法實(shí)現(xiàn)FIR濾波器輸出速率的快慢,每輸入一個(gè)數(shù)據(jù),輸出一定要延遲相應(yīng)位寬個(gè)數(shù)的周期,才能輸出一個(gè)數(shù)據(jù),極大地影響了數(shù)據(jù)處理速度。

        并行分布式結(jié)構(gòu)在同一周期內(nèi)同時(shí)尋址已存入ROM表的輸入數(shù)據(jù),占用的存儲(chǔ)器資源也較多,但與串行分布式結(jié)構(gòu)相比較,其占用的存儲(chǔ)器資源個(gè)數(shù)少之又少,同時(shí)在處理高速信號(hào)時(shí),并行分布式結(jié)構(gòu)以其較高的數(shù)據(jù)吞吐率顯現(xiàn)出很大的優(yōu)勢(shì)。

        根據(jù)以上對(duì)3種分布式算法優(yōu)缺點(diǎn)的分析說明,串行分布式結(jié)構(gòu)、拆分查找表結(jié)構(gòu)和并行分布式結(jié)構(gòu)在占用存儲(chǔ)器資源和時(shí)鐘周期方面的對(duì)比如表1所示。

        表1 3種分布式算法的對(duì)比

        為了克服3種分布式結(jié)構(gòu)在存儲(chǔ)器占用和時(shí)鐘周期利用方面的矛盾,對(duì)并行結(jié)構(gòu)和拆分查找表結(jié)構(gòu)進(jìn)行了整合,使得輸入數(shù)據(jù)在同一周期同時(shí)進(jìn)行取值,提高運(yùn)算速率,并將查找表拆分成若干個(gè)小的查找表,減小存儲(chǔ)器的占用,提出并行+拆分查找表結(jié)構(gòu)的分布式算法。并行+拆分查找表分布式結(jié)構(gòu)如圖3所示。下面舉例說明并行+拆分查找表結(jié)構(gòu)的分布式算法在計(jì)算規(guī)模和時(shí)鐘周期數(shù)兩個(gè)方面的優(yōu)勢(shì)。例如本文256階的FIR濾波器使用傳統(tǒng)模式查找表,位寬達(dá)2256,通過拆分查找表,其規(guī)??山禐?6×216=1048576,并在一周期內(nèi)對(duì)輸入數(shù)據(jù)同時(shí)進(jìn)行尋址,一方面提升了系統(tǒng)的運(yùn)算效率,另一方面減小了系統(tǒng)的設(shè)計(jì)規(guī)模。

        圖3 并行+拆分查找表分布式結(jié)構(gòu)

        2 并行+拆分查找表分布式算法的實(shí)現(xiàn)

        2.1 硬件設(shè)計(jì)

        FIR濾波器的實(shí)現(xiàn)需建立在一定的硬件平臺(tái)基礎(chǔ)上,其硬件電路系統(tǒng)框圖如圖4所示。在本文的硬件電路中,時(shí)序信號(hào)和控制信號(hào)是由FPGA來完成,同時(shí)FPGA處理FIR濾波器系統(tǒng)的輸入數(shù)據(jù),是實(shí)現(xiàn)系統(tǒng)要求的核心器件。FPGA的配置是通過STM32來完成的。每次系統(tǒng)通電后,STM32將事先存入到只讀存儲(chǔ)器HWD24C256中的配置文件下載到FPGA 中,下載完畢后,F(xiàn)PGA便開始工作。若需要修改濾波器的參數(shù),只需存入不同的配置文件,而無須改動(dòng)硬件電路,增強(qiáng)了硬件電路的通用性。采用STM32芯片自身的A/D口,其轉(zhuǎn)化精度為12位,分辨率高,轉(zhuǎn)換速率最大可達(dá)1 MHz。

        圖4 硬件電路系統(tǒng)框圖

        信號(hào)輸入后,根據(jù)信號(hào)幅度的控制要求,對(duì)信號(hào)進(jìn)行適應(yīng)性放大,并傳輸給A/D轉(zhuǎn)換器進(jìn)行采樣轉(zhuǎn)換,之后送到FPGA進(jìn)行運(yùn)算處理;FPGA完成對(duì)數(shù)據(jù)的處理之后,將結(jié)果進(jìn)行D/A變換,轉(zhuǎn)換成模擬信號(hào)后,再經(jīng)過運(yùn)放調(diào)整,最后輸出系統(tǒng)信號(hào)。

        因美國對(duì)華大規(guī)模的芯片禁購,很多進(jìn)口原器件已無法使用。本系統(tǒng)所選器件均為國產(chǎn),元器件國產(chǎn)化數(shù)量比、規(guī)格比、費(fèi)用比均為100%,系統(tǒng)主要元器件如表2所示。

        表2 主要元器件表

        2.2 FPGA程序架構(gòu)

        并行+拆分查找表分布式算法在FPGA上的實(shí)現(xiàn)基本可以劃分為三大功能模塊:輸入輸出控制部分、查找表(Look-Up-Table)部分和累和部分。FPGA程序的系統(tǒng)架構(gòu)如圖5所示。

        圖5 FPGA程序的系統(tǒng)架構(gòu)

        其中,輸入輸出控制部分負(fù)責(zé)完成系統(tǒng)數(shù)據(jù)的采集并將濾波運(yùn)算處理的數(shù)據(jù)輸出給后級(jí)數(shù)模轉(zhuǎn)換電路;查找表(Look-Up-Table)部分用于獲取計(jì)算輸出序列過程中的部分積;累和部分是對(duì)通過查找表所得的部分積進(jìn)行加法運(yùn)算。完成以上三部分的內(nèi)容后,即可進(jìn)行后續(xù)電路的處理,最終得到系統(tǒng)的輸出信號(hào)。

        2.3 確定濾波器系數(shù)

        利用Matlab軟件中的可視化仿真工具Simulink可以求得FIR濾波器的抽頭系數(shù)[10],本文FIR濾波器所需系數(shù)如表3所示。因FPGA只能處理定點(diǎn)數(shù)的乘法,而Matlab生成的系數(shù)是分布在[-1,1]區(qū)間的浮點(diǎn)數(shù),因此需要將所得的濾波器系數(shù)同乘以1024,才能在FPGA中參與運(yùn)算處理。

        表3 FIR濾波器系數(shù)

        2.4 輸入與輸出

        輸入輸出控制部分主要用于模擬信號(hào)的采集,完成運(yùn)算處理后,輸出處理信號(hào)用于后級(jí)進(jìn)行D/A轉(zhuǎn)換。另一方面,系統(tǒng)所需的時(shí)序信號(hào)也是由輸入輸出控制部分來實(shí)現(xiàn)的,通過時(shí)序控制輸入數(shù)據(jù),依次存入數(shù)據(jù)緩存區(qū),以待進(jìn)行查表。

        2.5 查找表(Look-Up-Table)

        查找表部分主要用于對(duì)處理后的輸入數(shù)據(jù)通過查表快速獲得部分積結(jié)果。其中一個(gè)查找表的具體內(nèi)容如表4所示,其他查找表可根據(jù)表4同理推出。

        2.6 累和

        累和部分對(duì)通過查找表獲得的部分積進(jìn)行相加,相加時(shí)一定要根據(jù)式(6)進(jìn)行二次冪加權(quán),才能得到系統(tǒng)的內(nèi)積結(jié)果y(n)。獲取內(nèi)積y(n)后,就可以輸出到后級(jí)電路進(jìn)行D/A轉(zhuǎn)換,進(jìn)一步獲取系統(tǒng)輸出信號(hào)。

        表4 查找表

        3 FIR濾波器的理論仿真

        FDATOOL[11](Filter Design & Analysis Tool)是Matlab軟件的Simulink中各種濾波器的專用設(shè)計(jì)與分析工具。FDATOOL可以設(shè)計(jì)實(shí)現(xiàn)各種常規(guī)濾波器,并可將各種算法體現(xiàn)在設(shè)計(jì)過程中。FDATOOL操作簡單,方便靈活。在使用FDATOOL工具設(shè)計(jì)FIR濾波器時(shí),濾波器類型、階數(shù)、截止頻率、窗函數(shù)的選擇是其關(guān)鍵所在。其中,窗函數(shù)可根據(jù)設(shè)計(jì)需求實(shí)現(xiàn)對(duì)信號(hào)的截?cái)?,減少系統(tǒng)能量的泄露,其中Hamming窗、Blackman窗和Hanning窗最為常見。本文FIR濾波器在FDATOOL中的設(shè)計(jì)參數(shù)如表5所示。

        表5 參數(shù)表

        本設(shè)計(jì)中FIR濾波器的輸入數(shù)據(jù)為12位有符號(hào)二進(jìn)制數(shù),在Matlab中利用Blackman窗計(jì)算FIR濾波器的濾波系數(shù),設(shè)置采樣率和截止頻率分別為5 MHz和0.5 MHz。根據(jù)既定參數(shù)要求,通過Matlab的理論仿真,實(shí)現(xiàn)所需的高階FIR濾波器,其幅頻特性如圖6所示。

        圖6 幅頻特性(Matlab)

        4 實(shí)測(cè)結(jié)果

        采用中國電科58所JS1032系列FPGA器件,在QuartusⅡ開發(fā)軟件下完成并行+拆分查找表分布式FIR濾波器的仿真,其過程包括軟件編程、程序的編譯、調(diào)試,并利用網(wǎng)絡(luò)分析儀HP3577A對(duì)FIR濾波器進(jìn)行幅頻特性的測(cè)試。網(wǎng)絡(luò)分析儀測(cè)試所得的幅頻特性如圖7所示,可知高階FIR濾波器的截止頻率為0.508 MHz,與原定的設(shè)計(jì)要求0.5 MHz相比,誤差很小。通過比較Matlab理論仿真與硬件電路實(shí)現(xiàn)的結(jié)果可知,利用硬件所設(shè)計(jì)的高階FIR濾波器的幅頻響應(yīng)與Matlab理論仿真的結(jié)果高度吻合,誤差僅為0.008 MHz。

        圖7 幅頻特性(網(wǎng)絡(luò)分析儀)

        5 結(jié)束語

        由于FIR濾波器傳統(tǒng)實(shí)現(xiàn)方法存在局限性,通過對(duì)3種分布式算法進(jìn)行比較,提出了一種基于FPGA并行+拆分查找表分布式結(jié)構(gòu)高階FIR濾波器的實(shí)現(xiàn)方法,并且利用中國電科58所JS1032系列FPGA及其他所選國產(chǎn)元器件設(shè)計(jì)實(shí)現(xiàn)了高階FIR濾波器的硬件電路。通過軟件Matlab仿真和硬件實(shí)測(cè),表明基于FPGA并行+拆分查找表分布式結(jié)構(gòu)實(shí)現(xiàn)的高階FIR濾波器誤差極小,運(yùn)算速率快,硬件資源占用少,并可根據(jù)實(shí)際情況調(diào)整FIR濾波器的階數(shù),可使其廣泛應(yīng)用于很多領(lǐng)域。

        猜你喜歡
        結(jié)構(gòu)系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        論結(jié)構(gòu)
        中華詩詞(2019年7期)2019-11-25 01:43:04
        瞞天過?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        論《日出》的結(jié)構(gòu)
        国产山东熟女48嗷嗷叫| 女女同恋一区二区在线观看| 国产美女精品视频线免费播放软件| 欧妇女乱妇女乱视频| 欧美一区二区午夜福利在线yw| av免费一区在线播放| 东京热日本av在线观看| 亚洲国产av玩弄放荡人妇系列| 国产国拍亚洲精品mv在线观看| 五月激情狠狠开心五月| 亚洲国产精品久久久婷婷| 中文字幕亚洲综合久久菠萝蜜| 无码一区二区三区老色鬼| 亚洲欧洲综合有码无码| 亚洲av天堂一区二区| 胸大美女又黄的网站| 成人免费毛片内射美女-百度| 国产成人亚洲综合小说区| 狼人精品剧情av在线观看| 精品成在人线av无码免费看| 五月天激情小说| av网站影片在线观看| 日韩不卡的av二三四区| 亚洲avav天堂av在线网爱情| 中文人妻无码一区二区三区信息| 国产av午夜精品一区二区入口| 国产精品免费一区二区三区四区| 亚洲av无码1区2区久久| 国产成社区在线视频观看| 亚洲自拍偷拍一区二区三区| 国产熟妇另类久久久久| 最新国产三级| 琪琪av一区二区三区| 欧美精品欧美人与动人物牲交| 亚洲中文字幕无码mv| 国产精品美女久久久久浪潮AVⅤ| 精品人妻一区二区三区视频| 亚洲а∨精品天堂在线| 久久青草国产精品一区| 日韩精品免费视频久久| 亚洲国产av玩弄放荡人妇|