掃描二維碼
隨時隨地手機(jī)看文章
2 基本原理
分布式算法(Distributed Arithmetic,簡稱DA)是一項(xiàng)重要的FPGA技術(shù),廣泛應(yīng)用在計(jì)算乘積和之中。該算法基本原理如下:
一線性時不變網(wǎng)絡(luò)輸出:
設(shè)系數(shù)c[n]是已知常數(shù),x[n]是變量,在有符號DA系統(tǒng)中假設(shè)變量x[n]的表達(dá)式為:
式中xb[n]為x[n]的第b位,而x[n]也就是x的第n次采樣。于是,內(nèi)積y可以表示為:
分布式算法是一種以實(shí)現(xiàn)乘加運(yùn)算為目的的運(yùn)算方法。它與傳統(tǒng)算法實(shí)現(xiàn)乘加運(yùn)算的不同在于執(zhí)行部分積運(yùn)算的先后順序。該算法利用一個查找表(LUT)實(shí)現(xiàn)映射,即用一個2N字寬、預(yù)先編好程序的LUT接收一個N位輸入向量xb=[xb[0]],xb[1],…,xb[N-1]]的映射,經(jīng)查找表的查找后直接輸出部分積。與傳統(tǒng)算法相比,分布式算法可極大的減少硬件電路的規(guī)模,提高電路的執(zhí)行速度。
3 FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)
3.1 FIR濾波器系數(shù)的提取
線性相位FIR濾波器通常采用窗函數(shù)法設(shè)計(jì)。這里采用MATLAB窗函數(shù)進(jìn)行設(shè)計(jì)。窗函數(shù)設(shè)計(jì)的基本思想是要選取某一合適的理想頻率選擇性濾波器,然后將其脈沖響應(yīng)截?cái)喃@得一個線性相位和因果的FIR濾波器。根據(jù)給定的濾波器技術(shù)指標(biāo),選用凱澤(Kaiser)窗設(shè)計(jì),其幅頻特性和相頻特性如圖1所示。
由于從MATLAB算出的系數(shù)h(n)的值是一組浮點(diǎn)數(shù),而FPGA器件只是定點(diǎn)數(shù)計(jì)算,所以要將浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)。為了獲得最佳濾波器系數(shù),轉(zhuǎn)換時需對其進(jìn)行處理,轉(zhuǎn)換后系
3.2 FPGA實(shí)現(xiàn)FIR濾波器
FPGA采用FLEXlOK系列中的EPF10K10 2C84—3器件。EDA 工具使用QuartusⅡ5.1。使用FIR濾波器描述編程,從而實(shí)現(xiàn)FIR濾波器的頂層原理圖,如圖2所示。
4 FIR濾波器實(shí)驗(yàn)電路
完成FIR濾波器程序設(shè)計(jì)后,可將程序編譯時生成的配置文件下載到選用的器件中,配置后的器件就能夠執(zhí)行FIR濾波器的功能。為了驗(yàn)證設(shè)計(jì)的FIR濾波器的實(shí)際濾波效果,設(shè)計(jì)了一個實(shí)驗(yàn)電路,并利用測試儀器,組成了測試系統(tǒng),如圖3所示。該測試系統(tǒng)包含交流信號發(fā)生器、實(shí)驗(yàn)電路和示波器。而實(shí)驗(yàn)電路包括MD轉(zhuǎn)換電路、FIR數(shù)字濾波電路和D/A轉(zhuǎn)換電路,它是整個測試系統(tǒng)的重要部分。
4.1 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路可將模擬信號轉(zhuǎn)換為數(shù)字信號,其電路如圖4所示。該轉(zhuǎn)換電路中選用MAXIM公司的12位逐次逼近式A/D轉(zhuǎn)換器MAXl83,其轉(zhuǎn)換時間為3μs。MAXl83設(shè)置為雙極性工作模式,模擬信號的輸入范圍是±5 V。
交流信號發(fā)生器發(fā)送的信號從連接器進(jìn)入轉(zhuǎn)換電路,經(jīng)運(yùn)算放大器OP07構(gòu)成的反向比例放大電路送至MAXl83的模擬信號輸入端AINl。在一定時序的控制下,完成將模擬信號轉(zhuǎn)換為數(shù)字信號,并將其數(shù)字信號XIN[11..0]輸出。該A/D轉(zhuǎn)換器MAXl83的模擬信號輸入端接入一個單級的RC低通濾波器,它實(shí)際上是一個簡單的抗混疊濾波器。
4.2 D/A轉(zhuǎn)換電路
D/A轉(zhuǎn)換電路可將數(shù)字輸入信號轉(zhuǎn)換為模擬信號,其電路如圖5所示。該電路選用MAXIM公司的電壓輸出型D/A轉(zhuǎn)換器MX7245,其輸出的模擬信號為電壓信號,并具有12位的數(shù)據(jù)輸入端。電路中,MX7245被配置成雙極性工作模式,模擬電壓信號的輸出范嗣為±5 V。在一定時序的控制下,D/A轉(zhuǎn)換器將輸入端接收到的數(shù)字信號YOUT[11..0]轉(zhuǎn)換成模擬信號輸出。在模擬信號的輸出端連接由電阻和電容構(gòu)成的一個低通濾波器,具有平滑濾波的作用。
4.3 FIR數(shù)字濾波電路
圖6給出FIR數(shù)字濾波電路。該電路包括高密度可編程邏輯器件、有源品體振蕩器、10針插座以及多只電阻和按鍵開關(guān)。這里選用的高密度可編程邏輯器件為AIXERA公司FLEXlOK系列的EPF10K20RC240—3。
配置的濾波器設(shè)計(jì)后,利用器件中的剩余資源,即由EPFl0K20RC240—4型FPGA控制A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器的功能。因此RD、ADCS、WR、LDAC、DACS這些引腳就是用于控制A/D轉(zhuǎn)換器電路和D/A轉(zhuǎn)換器電路的輸出引腳。其中,引腳RD、ADCS分別與A/D轉(zhuǎn)換器的引腳RD、CS相連,而引腳WR、LDAC、DACS分別與D/A轉(zhuǎn)換電路的引腳WR、LDAC、CS相連。
5 濾波效果測試
將設(shè)計(jì)的低通濾波器的配置文件下載到器件中進(jìn)行實(shí)際濾波測試,用示波器觀察各個頻率點(diǎn)上輸出信號的幅值大小。由濾波測試結(jié)果可知,該FIR濾波電路完全達(dá)到低通濾波器5 MHz的采樣頻率,1.5 MHz的截止頻率,以及16階的技術(shù)指標(biāo)參數(shù)。圖7為原始波形,圖8為濾波后的波形。
6 結(jié)語
研究了在FPGA中采用分布式算法實(shí)現(xiàn)FIR濾波器的原理和方法,設(shè)計(jì)了FIR濾波器并借助Altera公司的FPGA器件和0uartusⅡ軟件對設(shè)計(jì)方案進(jìn)行仿真驗(yàn)證,測試結(jié)果完全能滿足系統(tǒng)設(shè)計(jì)要求。
摘要:為解決傳統(tǒng)自動化生產(chǎn)線生產(chǎn)效率低、自動化程度低、生產(chǎn)線復(fù)雜等問題,設(shè)計(jì)了一種自動化程度高且簡單的自動化機(jī)械手臂,并根據(jù)設(shè)計(jì)進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)在自動化生產(chǎn)實(shí)踐中取得了較好的效果,提高了生產(chǎn)效率,達(dá)到了...
關(guān)鍵字: 機(jī)械手臂 設(shè)計(jì) 仿真摘要:基于數(shù)字孿生技術(shù),依托Unity引擎開發(fā)虛擬調(diào)試應(yīng)用。通過機(jī)器人工作站實(shí)例進(jìn)行虛擬調(diào)試仿真,基于socket通信,通過三菱PLC對虛擬機(jī)器人工作站進(jìn)行虛擬調(diào)試,檢測工作站結(jié)構(gòu)設(shè)計(jì)的合理性、信號配置和邏輯設(shè)計(jì)的正確性...
關(guān)鍵字: 數(shù)字孿生 虛擬調(diào)試 仿真FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。
關(guān)鍵字: FPGA 科技領(lǐng)域 智能強(qiáng)大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)
關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA本篇是FPGA之旅設(shè)計(jì)的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...
關(guān)鍵字: FPGA DS18B20溫度傳感器