《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的無線傳感網(wǎng)絡(luò)信道波形整形濾波器
基于FPGA的無線傳感網(wǎng)絡(luò)信道波形整形濾波器
來源:電子技術(shù)應(yīng)用2013年第7期
惠鵬飛,姚仲敏,夏 穎,王艷春
齊齊哈爾大學(xué) 通信與電子工程學(xué)院,黑龍江 齊齊哈爾161006
摘要: 針對(duì)模擬濾波器設(shè)計(jì)靈活性差且不能很好地支持?jǐn)?shù)據(jù)通信的并行和速度等問題,利用Altera公司CycloneII系列中的EP2C35F672C6N芯片完成了基于FPGA的WSN信道波形整形濾波器的設(shè)計(jì)。通過功能創(chuàng)建、計(jì)算查表法系數(shù)、建立內(nèi)存數(shù)據(jù)表、Verilog-HDL編程、Quartus-II平臺(tái)下進(jìn)行FPGA綜合、ModelSim時(shí)序仿真、DE2開發(fā)板下載調(diào)試等過程,實(shí)現(xiàn)了波形整形硬件平臺(tái)通過USB接口與主機(jī)的通信。測(cè)試結(jié)果表明,該波形整形濾波器具有低成本、頻率可擴(kuò)展、即插即用等優(yōu)點(diǎn),使用方便。
中圖分類號(hào): TN713
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)07-0035-03
The waveshaping filter of WSN channel based on FPGA
Hui Pengfei,Yao Zhongmin,Xia Ying,Wang Yanchun
Communication and Electronic Engineering Institute, Qiqihar University, Qiqihar 161006,China
Abstract: For analog filter design has poor flexibility and can not be a good solution to support data parallelism and speed, this paper uses the Altera CycloneII series of EP2C35F672C6N chip to complete the WSN channel pulse shaping filter based on FPGA. Through the function to create the table look-up method, calculation of coefficient, establish memory data table, Veilog-HDL programming, Quartus-II platform under FPGA, ModelSim timing simulation, DE2 development board download debugging process, it realizes the waveshaping hardware platform communicate with mainframe through USB interface. The test results show that the waveshaping filter has advantages of a low cost, scalable frequency, plug and play, etc., and it′s easy to use.
Key words : WSN;FPGA;waveshaping filter;look-up table method;timing simulation

    無線通信、傳感器和微機(jī)電系統(tǒng)(MEMS)等技術(shù)的飛速發(fā)展推動(dòng)了無線傳感器的普及和應(yīng)用。無線傳感器網(wǎng)絡(luò)由大量無線傳感器構(gòu)成,大量節(jié)點(diǎn)協(xié)作和感知,收集和處理網(wǎng)絡(luò)覆蓋領(lǐng)域內(nèi)感知對(duì)象的相關(guān)信息,并且將信息傳送給需要的用戶,具有自組織、容錯(cuò)能力、微型化三大特點(diǎn)[1-2]。盡管無線傳感器網(wǎng)絡(luò)具有很強(qiáng)的自組織性和容錯(cuò)能力,但信道傳輸中也面臨著一些問題,尤其是在復(fù)雜工業(yè)環(huán)境中,無線信號(hào)存在路徑幅度衰減、小尺度衰落、電波極化偏轉(zhuǎn)等現(xiàn)象[3]。因此,對(duì)無線傳感器網(wǎng)絡(luò)信道信號(hào)進(jìn)行整形濾波十分必要。

    其他學(xué)者對(duì)波形整形濾波器的研究與設(shè)計(jì)有很多豐富的案例和先進(jìn)的理論分析,但是在波形濾波器的靈活性、精度、易實(shí)現(xiàn)等方面仍有改進(jìn)的空間。面對(duì)當(dāng)前SoC嵌入式設(shè)計(jì)潮流,如何設(shè)計(jì)一種靈活、便于配置和易于生成IP核的信道波形整形濾波器是一件急需解決的問題。
    本文基于DE2開發(fā)板,利用QuartusII開發(fā)環(huán)境,在Altera公司CycloneII系列EP2C35芯片中,設(shè)計(jì)了WSN信道波形數(shù)字整型濾波器,該設(shè)計(jì)方法原理清晰,設(shè)計(jì)周期短,便于形成IP核以及集成應(yīng)用,具有重要的教學(xué)和科研價(jià)值。
1 波形整形濾波器總體設(shè)計(jì)方案
1.1 基于查表法的波形整形方案

    波形整形濾波器是將輸入數(shù)字序列變?yōu)檩敵雒}沖序列的數(shù)字信號(hào)處理器,是語音與圖像處理、模式識(shí)別和譜分析等應(yīng)用中的一種基本的處理部件。整形濾波器的設(shè)計(jì)方法有多種,如窗函數(shù)設(shè)計(jì)法、頻率取樣法、逼近法、查表法等[4-5]。
    查表法是基于FPGA的DDS技術(shù),可在一片F(xiàn)PGA芯片上實(shí)現(xiàn)信號(hào)源的信號(hào)產(chǎn)生和控制,只要改變存儲(chǔ)波形信息的ROM數(shù)據(jù),就可以靈活地實(shí)現(xiàn)任意波形發(fā)生器[6]。用FPGA實(shí)現(xiàn)DDS比較靈活,可以產(chǎn)生多種調(diào)制方式,本文基于查表法設(shè)計(jì)波形整形濾波器的實(shí)現(xiàn)原理圖如圖1所示。

2.2 波形整形濾波器參數(shù)設(shè)計(jì)
2.2.1 頻率選擇

    基于直接頻率合成技術(shù)的波形整形濾波器,其輸出波形的頻率由兩方面決定:一方面是由頻率控制字(即波形輸出的步長(zhǎng))決定;另一方面是由波形點(diǎn)輸出的固有頻率決定。本文設(shè)定基準(zhǔn)時(shí)鐘頻率為131 kHz,累加器為8 bit,頻率控制字的字長(zhǎng)K=4,經(jīng)計(jì)算輸出波形的頻率fout=2 048 Hz。
2.2.2 初相位選擇
    對(duì)于產(chǎn)生的波形的初相的控制,設(shè)定一個(gè)輸入控制端,通過控制端的不同狀態(tài)給波形添加不同的初相。其原理是對(duì)相頻累加器的初次輸出加上一個(gè)特定的值。在本文中無法實(shí)現(xiàn)初相的任意值設(shè)定,只是設(shè)定了幾個(gè)特定的初相供選擇以驗(yàn)證理論和方法的正確性。
2.2.3 幅度選擇
    設(shè)計(jì)要求中規(guī)定波形的最終輸出幅度值應(yīng)能夠按照1~4倍的大小調(diào)節(jié),故本設(shè)計(jì)在最后輸出前增加了一個(gè)幅度可調(diào)節(jié)部分。將相位幅度轉(zhuǎn)換成功后的值乘上一個(gè)要求的調(diào)幅系數(shù)即為最終的波形輸出。
2.3 原代碼編譯
2.3.1 擴(kuò)頻模塊

    系統(tǒng)由頻譜擴(kuò)展模塊和數(shù)據(jù)波形整形模塊組成。利用擴(kuò)頻模塊對(duì)原來的頻率進(jìn)行編碼,并將編碼后的數(shù)據(jù)進(jìn)行256倍擴(kuò)頻,再按照4倍內(nèi)插根升余弦成型濾波,成形濾波后按4路并行輸出,以滿足并行輸入DA的要求。通過擴(kuò)頻后的信號(hào)波形具有抗截獲性能強(qiáng)、抗多徑干擾能力強(qiáng)、便于實(shí)現(xiàn)多址通信擴(kuò)頻信號(hào)等特性。
    擴(kuò)頻信號(hào)就是將信號(hào)的帶寬擴(kuò)展,使其性能提高,可以提高系統(tǒng)的抗干擾能力。本文采用直接擴(kuò)頻的方式,即使用偽隨機(jī)的碼序列,將波形序列進(jìn)行256倍擴(kuò)頻,從而易于在接收端得到較好性能的波形。擴(kuò)展頻譜模塊原理圖如圖3所示。

    將頂層文件進(jìn)行全編譯仿真之后,在Quartus II的工具欄選擇“Tools”,點(diǎn)擊“Netlist Viewers”下的“RTL Viewer”之后顯示本設(shè)計(jì)的邏輯原理圖,如圖5所示。先通過擴(kuò)頻模塊對(duì)數(shù)據(jù)進(jìn)行內(nèi)插和擴(kuò)頻處理,之后對(duì)數(shù)據(jù)進(jìn)行整形處理,實(shí)現(xiàn)4路平行輸出。

 

 

3 系統(tǒng)功能調(diào)試和仿真
3.1 系統(tǒng)調(diào)試

    根據(jù)方案設(shè)計(jì)的要求,調(diào)試過程共分3大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。電路用FPGA/CPLD實(shí)驗(yàn)箱按模塊調(diào)試,各模塊逐個(gè)調(diào)試通過后再進(jìn)行綜合調(diào)試。
3.1.1 軟件調(diào)試
    本系統(tǒng)的軟件功能強(qiáng)大,采用Verilog語言編寫。先在Quartus II里對(duì)所編的模塊逐一進(jìn)行仿真,排除語法的編寫錯(cuò)誤和設(shè)計(jì)邏輯思維的錯(cuò)誤;當(dāng)仿真完確認(rèn)程序沒問題時(shí),直接下載到FPGA芯片,用FPGA實(shí)驗(yàn)箱進(jìn)行調(diào)試。采取自底向上的調(diào)試方法,即先單獨(dú)調(diào)試好每一個(gè)模塊,然后再連接成一個(gè)完整的系統(tǒng)進(jìn)行調(diào)試。
3.1.2 硬件調(diào)試
    在控制電路的調(diào)試中,對(duì)輸入、輸出進(jìn)行分析,可以知道時(shí)序仿真結(jié)果是否與實(shí)際結(jié)果相符合,以便找出硬件設(shè)計(jì)電路中存在的故障。再調(diào)試D/A轉(zhuǎn)換是否正常。
    為提高電路的抗干擾性能,本文采取了一些抗干擾相關(guān)措施。如接線時(shí)的線要盡量短,減少交叉,每個(gè)芯片的電源與地之間接有去擾電容,數(shù)字與模擬地要分開。實(shí)踐結(jié)果表明,此措施對(duì)于消除個(gè)別引腳上的“毛刺”和高頻噪聲方面都得到了較佳的效果。
    對(duì)于運(yùn)算放大器進(jìn)行選擇時(shí),通常輸出頻率可以達(dá)到上千赫茲,這就要求放大器的帶寬滿足特定要求。所以,在進(jìn)行調(diào)試濾波的電路和進(jìn)行緩沖的輸出電路中,通常都選擇高速、寬帶運(yùn)算放大器。
3.1.3 綜合調(diào)試
    在JTAG模式下,配置數(shù)據(jù)由主機(jī)直接裝載進(jìn)FPGA器件的配置SRAM中,之后只要不掉電FPGA將一直保持配置后的電路功能。在AS模式下,配置數(shù)據(jù)則被裝載到一個(gè)與FPGA相連的配置器件中,之后在加電或重新配置時(shí),這些數(shù)據(jù)可自動(dòng)通過配置器件裝載進(jìn)FPGA,因此FPGA的電路功能可不受掉電影響。這里使用JTAG模式,先確認(rèn)DE2板上的SW19(RUN/PROG)開關(guān)位于RUN位置;然后使用USB線,一端連接到開發(fā)板的J9(BLASTER)口,另一端連接到計(jì)算機(jī)的USB口,開發(fā)板加電。
    測(cè)試時(shí),把一個(gè)被干擾的模擬信號(hào)輸入ACD中,采樣得到的數(shù)據(jù)通過FPGA和USB傳輸?shù)接?jì)算機(jī)上,然后用示波器顯示其時(shí)域和頻域圖形,開發(fā)板上電并與電腦連接。在Quartus II里選擇菜單項(xiàng)“Tools”中的“Programmer”。編程器界面顯示了當(dāng)前檢測(cè)到的編程線纜,對(duì)于DE2板應(yīng)為USB-Blaster。如果未顯示,則點(diǎn)擊“Hardware Setup”按鈕查看并檢查線是否插好。
    配置模式選擇JTAG,然后找到與工程對(duì)應(yīng)的.sof文件(SRAM Object File),在“Program/Configure”一欄打勾。點(diǎn)擊“Start”開始配置。點(diǎn)擊“確定”,完成FPGA器件的配置。此后,切換開關(guān)SW0和改變按鍵KEY0的狀態(tài)可以正確控制LEDG0的亮與滅,說明整個(gè)設(shè)計(jì)過程正確。
3.2 仿真結(jié)果
    將仿真出來的vwf文件轉(zhuǎn)化成Matlab可以讀取的數(shù)據(jù)文件送到Matlab中查看結(jié)果。可以把vwf文件另存為tbl文件,這個(gè)文件的格式很簡(jiǎn)單(功能仿真時(shí)),在Matlab中編寫簡(jiǎn)單的程序就可讀出仿真結(jié)果,反過來也可以在Matlab中生成tbl文件然后轉(zhuǎn)化成vwf文件作為輸入。在Matlab中輸出的結(jié)果如圖6所示。

    本文針對(duì)模擬濾波器設(shè)計(jì)靈活性差且不能兼顧數(shù)據(jù)通信的并行和速度等問題,結(jié)合無線傳感器網(wǎng)絡(luò)信道的特點(diǎn),完成了基于FPGA的無線傳感器網(wǎng)絡(luò)信道波形整形濾波器的設(shè)計(jì)。將要實(shí)現(xiàn)的設(shè)計(jì)進(jìn)行編程與時(shí)序仿真,建立相應(yīng)數(shù)據(jù)的存儲(chǔ)查表,通過對(duì)存儲(chǔ)器中程序的調(diào)用以及對(duì)片選的設(shè)定和ROM中波形的調(diào)用,輸出所想要的波形,實(shí)現(xiàn)了波形整形硬件平臺(tái)通過USB接口與主機(jī)的通信。實(shí)際測(cè)試結(jié)果表明,該波形整形濾波器符合預(yù)期的設(shè)計(jì)目標(biāo),具有低成本、頻率可擴(kuò)展、即插即用等優(yōu)點(diǎn),使用方便。
參考文獻(xiàn)
[1] 楊慶.基于VHDL與CPLD器件的FIR數(shù)字濾波器的設(shè)計(jì)[J].湖北民族學(xué)院學(xué)報(bào),2009,31(2):23-56.
[2] 袁輝.基于FPGA的數(shù)字信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(9):67-69.
[3] 劉鋒,裴紅星,王青三.工業(yè)無線傳感器網(wǎng)絡(luò)信道特征研究[J].鄭州大學(xué)學(xué)報(bào)(理學(xué)版),2011,43(4):39-43.
[4] 喻應(yīng)芝,王愛華,周榮花.基于現(xiàn)場(chǎng)可編程器件的全數(shù)字成形濾波器實(shí)現(xiàn)[J].北京理工大學(xué)學(xué)報(bào),2010,32(4):32-45.
[5] BAKULA C J.Low-power pulse-shaping filter desing using hardware-specific[D].Akron:Master of Science,2010:7-10.
[6] 江健康.基于Verilog HDL的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].微計(jì)算機(jī)信息,2011,21(3):11-34.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。