當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]0 引言 傳統(tǒng)數(shù)字濾波器硬件的實(shí)現(xiàn)主要采用專用集成電路(ASIC)和數(shù)字信號處理器(DSP)來實(shí)現(xiàn)。FPGA內(nèi)部的功能塊中采用了SRAM的查找表(lo-ok up table,LUT)結(jié)構(gòu),這種結(jié)構(gòu)特別適用于并行處理結(jié)構(gòu),相對于傳統(tǒng)方法來

0 引言

傳統(tǒng)數(shù)字濾波器硬件的實(shí)現(xiàn)主要采用專用集成電路(ASIC)和數(shù)字信號處理器(DSP)來實(shí)現(xiàn)。FPGA內(nèi)部的功能塊中采用了SRAM的查找表(lo-ok up table,LUT)結(jié)構(gòu),這種結(jié)構(gòu)特別適用于并行處理結(jié)構(gòu),相對于傳統(tǒng)方法來說,其并行度和擴(kuò)展性都很好,它逐漸成為構(gòu)造可編程高性能算法結(jié)構(gòu)的新選擇。

分布式算法是一種適合FPGA設(shè)計(jì)的乘加運(yùn)算,由于FPGA中硬件乘法器資源有限,直接應(yīng)運(yùn)乘法會消耗大量的資源。本文利用了豐富的存儲器資源進(jìn)行查找表運(yùn)算,設(shè)計(jì)了一種基于分布式算法低通FIR濾波器;利用線性相位FIR濾波器的對稱性減小了硬件規(guī)模;利用分割查找表的方法減小了存儲空間;采用并行分布式算法結(jié)構(gòu)和流水線技術(shù)提高了濾波器的速度,在FPGA上實(shí)現(xiàn)了該濾波器。

1 分布式的濾波器算法

FIR濾波器突出的特點(diǎn)是單位取樣響應(yīng)h(n)僅有有限個非零值。對于一個N階的FIR濾波器形式如下:

在許多數(shù)字信號處理應(yīng)用領(lǐng)域中,在技術(shù)上是不需要通用的乘法算法的。對于本系統(tǒng)可以通過Matlab中的fdatool工具根據(jù)設(shè)計(jì)要求設(shè)計(jì)出濾波器的系統(tǒng)函數(shù)h(n),那么乘積項(xiàng)h(k)×x(n-k)就變成了2個常數(shù)的乘法。無符號數(shù)的分布式算法和有符號數(shù)的分布式算法是分布式算法在FIR濾波器中的2種典型算法。

1.1 無符號數(shù)的分布式算法設(shè)計(jì)
由于FPGA為并行處理結(jié)構(gòu),所以假設(shè)x(n-k)數(shù)據(jù)寬度為L b,則由式(1)可表示為:

由式(1)、式(2)可以得到:

假設(shè):

則式(1)可以表示為:


1.2 有符號數(shù)的分布式算法設(shè)計(jì)

對于有符號數(shù)的補(bǔ)碼表示為:

則由式(5),式(1)可得:

[!--empirenews.page--]

2 分布式的濾波器的軟件實(shí)現(xiàn)

從式(5)和式(7)可以看出,利用分布式算法實(shí)現(xiàn)一個N項(xiàng)乘積和,關(guān)鍵是如何實(shí)現(xiàn)式(4)中乘積項(xiàng)及各乘積項(xiàng)之和。

在FPGA中可以預(yù)先設(shè)定一個N位輸入的查找表來實(shí)現(xiàn)部分乘積項(xiàng),即預(yù)先設(shè)定N階濾波系統(tǒng)查找表,實(shí)現(xiàn)向量x(i)={x0(i),x1(i),x2(i),…,xN-1(i))到p(i)的一個映射。由于查找表的地址空間與階數(shù)成指數(shù)關(guān)系(2N),完全用查找表來實(shí)現(xiàn)部分乘積項(xiàng)需要容量很大的存儲器,這就需要占用巨大的資源,而且功耗增加、速度降低。因此為了減小設(shè)計(jì)規(guī)模,可以將一個大的查找表分為幾個較小的查找表來實(shí)現(xiàn)。例如,本系統(tǒng)采用的8階FIR濾波器,則用一個查找表來實(shí)現(xiàn)需要256(28)位地址空間的ROM,將8階FIR濾波器分成兩個4階FIR濾波器實(shí)現(xiàn),只需要2個16(24)位地址空間的ROM,這樣大大地降低了設(shè)計(jì)規(guī)模和資源使用量。把輸入x(i)作為地址,分為高四位和低四位地址進(jìn)行查找。表1給出了8階濾波系統(tǒng)的低四位地址x(i)與p(i)的映射關(guān)系。

本系統(tǒng)中濾波器系統(tǒng)函數(shù)采用Matlab中的fdatool工具,并根據(jù)設(shè)計(jì)要求采用了kaiser窗設(shè)計(jì)出濾波器的系統(tǒng)函數(shù)h(n),其采樣頻率為500 kHz,通頻帶帶寬為100 Hz。設(shè)計(jì)的低通濾波器如圖1所示。若需實(shí)現(xiàn)高通或帶通濾波器,只需在設(shè)計(jì)時利用高通或帶通濾波器代替低通濾波器即可。

利用Verilog硬件描述語言設(shè)計(jì)本系統(tǒng)軟件,系統(tǒng)主要分為以下4個部分。包括頂層文件、A/D采樣、算法實(shí)現(xiàn)和D/A轉(zhuǎn)換。系統(tǒng)總體結(jié)構(gòu)如圖2所示。

由于FPGA頻率為100 MHz,采用的DAC0809轉(zhuǎn)換頻率必須小于1 MHz,所以在頂層文件對系統(tǒng)時鐘進(jìn)行200分頻,提供外圍所需時鐘。然后對各模塊進(jìn)行例化,使之成為完整的系統(tǒng)。

對A/D采樣輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿時啟動A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到完成A/D轉(zhuǎn)換,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。CLK為時鐘輸入信號線。由頂層文件的分頻時鐘提供500 kHz時鐘,對信號進(jìn)行采集。

算法主體的實(shí)現(xiàn)主要由以下幾個部分組成:數(shù)據(jù)接收存儲、數(shù)據(jù)選擇器、2個存儲器、加法和控制部分。

數(shù)據(jù)接收是在每個時鐘下降沿時檢測轉(zhuǎn)換完成信號,如果完成,則存入對應(yīng)的存儲器中,對于N階的系統(tǒng),就需要存儲N個數(shù)據(jù)等待處理。然后利用數(shù)據(jù)選擇器依次選擇各個數(shù)據(jù),對數(shù)據(jù)的每一位進(jìn)行檢測和提取,組成算法中所需要的數(shù)據(jù)。在控制信號的作用下利用累加器對數(shù)據(jù)疊加、移位處理即可實(shí)現(xiàn)。

最后,F(xiàn)PGA向DAC0832的數(shù)據(jù)輸入口(D10~D17)輸送數(shù)據(jù)。提供DAC0832數(shù)據(jù)鎖存允許控制信號ILE,高電平有效。提供DAC0832控制信號(CS:片選信號;Xfer:數(shù)據(jù)傳輸控制信號;WRl、WR2:DAC寄存器寫選通信號),低電平有效。

[!--empirenews.page--]

3 仿真實(shí)驗(yàn)、工況信號測試實(shí)驗(yàn)

基于分布式算法低通FIR濾波器選用xilinx公司的virrex-Ⅱpro器件,在isel0.1下進(jìn)行設(shè)計(jì)。利用modelsim 6.5對濾波器進(jìn)行仿真。系統(tǒng)采用頻率為500 kHz的分頻時鐘,在FPGA中產(chǎn)生一個高頻方波和一個低頻鋸齒波信號,并對兩個信號進(jìn)行疊加。疊加后的信號作為輸入,對應(yīng)圖中DIN,經(jīng)過系統(tǒng)處理后輸出結(jié)果對應(yīng)圖中RESULT,仿真結(jié)果如圖3所示。

由圖3中可以看出,本系統(tǒng)存在相位偏移和濾波后依然存在雜波信號的缺點(diǎn),相位偏移主要是由濾波處理滯后于輸入引起的,比較穩(wěn)定且偏移較小,一般情況下可以忽略;雜波信號由系統(tǒng)階數(shù)較低和系數(shù)量化誤差引起的。實(shí)際應(yīng)用中可根據(jù)情況選擇適當(dāng)階數(shù)的濾波器和提高采樣頻率予以解決。

工況信號測試實(shí)驗(yàn)。由信號發(fā)生器同時產(chǎn)生一個50 Hz低頻信號和一個5 kHz高頻信號,然后對兩個信號進(jìn)行疊加,作為被測的工況信號。被測的工況信號經(jīng)過A/D轉(zhuǎn)換、濾波處理、D/A轉(zhuǎn)換,然后在示波器中顯示,如圖4所示。輸出波形中過濾掉了高頻信號部分,同時低頻信號能夠通過該濾波器。由圖4中可以看出,濾波處理后與實(shí)際信號還存在一定的誤差。誤差主要是由于算法中采用了低階濾波器、系數(shù)量化誤差、器件精度低等原因所致,該誤差可以控制在允許范圍,還可以通過選擇高精度的器件和增加濾波器的階數(shù)得以提高。


4 結(jié)語

實(shí)驗(yàn)結(jié)果表明,基于分布式算法低通FIR濾波器的優(yōu)點(diǎn)是工作可靠,濾波精度較高,且具有占用資源少,運(yùn)算速度快。在資源允許的條件下可根據(jù)實(shí)際應(yīng)用任意確定濾波器的字長和階數(shù),在高速數(shù)字信號處理領(lǐng)域可以得到很好的應(yīng)用。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(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)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(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 手機(jī) 衛(wèi)星通信

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

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

北京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ù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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