張國義 ,王 越 ,王 卓 ,韓 琪
(1.西北工業(yè)大學(xué) 現(xiàn)代設(shè)計與集成制造技術(shù)教育部重點實驗室,陜西 西安 710072;2.61683 部隊,北京 100094;3.北京神州數(shù)碼思特奇信息技術(shù)股份有限公司,北京 100085;4.北京航天發(fā)射技術(shù)研究所,北京 100076)
無線傳感器網(wǎng)絡(luò) WSN (Wireless Sensor Network)具有快速布置、網(wǎng)絡(luò)自組織和系統(tǒng)容錯的特點,這使它成為C4ISRT所希望的感知技術(shù),也使WSN成為對戰(zhàn)場進行監(jiān)測一個好手段。美國國防部高級規(guī)劃署(DARPA)多年前就啟動了 Sensor IT(Sensor Information Technology)計劃,其目的就是將不同類型的傳感器、可重編程的通用處理器和低成本無線通信技術(shù)組合起來,自主建立一個廉價的大規(guī)模高密度的網(wǎng)絡(luò)系統(tǒng)。本文基于遠程火箭布撒的傳感器子彈應(yīng)用要求,研究了基于FPGA的傳感器節(jié)點。
WSN體系結(jié)構(gòu)如圖1所示,通常包括傳感器節(jié)點、匯聚節(jié)點、外部網(wǎng)絡(luò)和用戶界面。采集傳感器節(jié)點部署在感知區(qū)域內(nèi)部或附近,能夠通過組織構(gòu)成網(wǎng)絡(luò),傳感器節(jié)點將采集到的數(shù)據(jù)經(jīng)過單跳路由傳輸?shù)絺鞲衅鞴?jié)點,再由傳感器節(jié)點通過外部網(wǎng)絡(luò)傳送到處理中心進行集中處理[1-5]。
某傳感器節(jié)點中頻接收機以中頻70 MHz、帶寬10 MHz的BPSK調(diào)制信號作為處理對象,實現(xiàn)對中頻接收信號的數(shù)字化、下變頻、解調(diào)并輸出。其硬件平臺是A/D采樣模塊、數(shù)字下變頻器模塊、數(shù)字信號處理模塊。首先是對中頻信號進行數(shù)字化,這個工作由A/D轉(zhuǎn)換模塊來完成,方案選擇的是ADI公司的A/D芯片AD9236[6-7],本系統(tǒng)采用Gray-Chip公司的寬帶數(shù)字下變頻器GC1012B對中頻A/D采樣后的數(shù)字信號進行下變頻[8]處理,F(xiàn)PGA作為數(shù)字信號處理模塊完成數(shù)據(jù)解調(diào)和A/D采樣控制功能。本方案對數(shù)字下變頻算法的FPGA實現(xiàn)也做了研究,這樣就為FPGA單獨實現(xiàn)下變頻打下基礎(chǔ),使整個方案更加靈活和開放。
圖1 WSN體系結(jié)構(gòu)
由于傳感器節(jié)點接收的信號是WSN采集節(jié)點的數(shù)據(jù),其帶寬遠大于一般采集節(jié)點接收機,中頻載波為70 MHz。
某傳感器節(jié)點中頻接收機的硬件構(gòu)成圖如圖2所示。
圖2 傳感器節(jié)點中頻接收機的硬件構(gòu)成圖
根據(jù)軟件無線電實現(xiàn)思想的不同,硬件平臺可以有兩種方案選擇。
(1)如圖2所示,某傳感器節(jié)點中頻數(shù)字化接收機分為模擬部分和數(shù)字部分。ADC模塊在完成A/D變換后以12 bit的二進制補碼方式并行輸出。A/D采樣后的數(shù)字信號由硬件實現(xiàn)數(shù)字下變頻:數(shù)據(jù)傳送到FPGA后直接送至專用芯片GC1012B,由GC1012B實現(xiàn)數(shù)字下變頻。GC1012B完成數(shù)字下變頻后的輸出為I、Q兩路16 bit并行數(shù)據(jù),將I、Q路返回FPGA進行解調(diào)同步處理,再由串口輸出基帶信號。在調(diào)試中,每個模塊輸出的信號都可通過FPGA以8 bit并行方式傳送數(shù)據(jù)至主機,再由主機利用MATLAB分析軟件進行頻譜和信號的分析。整個中頻接收機由同一個晶振提供時鐘,從而實現(xiàn)采樣輸出信號和數(shù)字下變頻輸入信號的同步。該方案相對簡單實用、采樣率高、運行穩(wěn)定。
(2)在FPGA中用軟件實現(xiàn)數(shù)字下變頻,模擬信號經(jīng)過A/D變換后的數(shù)據(jù)傳送至FPGA,由FPGA實現(xiàn)數(shù)字下變頻及解調(diào)功能,處理出來的基帶信號由串口輸出。
方案(2)比方案(1)復(fù)雜、采樣率更低,但軟件化的程度更高,通用性和靈活性更好,具有更好的前景,具有研究的價值。本文將討論基于FPGA的數(shù)字下變頻算法。
本方案的A/D模塊選用ADI公司的AD9236芯片作為A/D轉(zhuǎn)換模塊,其外圍電路用AD8138做差分信號放大器。
在DDC模塊中,其主要部分是Gray-Chip公司的寬帶中頻數(shù)字下變頻器GC1012B,能將輸入頻率為0~100 MHz、帶寬為0~50 MHz的數(shù)字信號下變頻為零中頻的基帶信號,在完成數(shù)字下變頻后還可以通過內(nèi)部的抽取器降低采樣頻率。GC1012B工作時由FPGA作為控制器來讀寫控制字。
本系統(tǒng)的FPGA芯片既作為控制器,又作為數(shù)字信號處理器,主機通過JTAG口把程序下載到FPGA芯片上以完成對GC1012B的控制和數(shù)據(jù)解調(diào)的功能。FPGA選用Altera公司的CycloneⅡEP2C5芯片。
模數(shù)轉(zhuǎn)換模塊主要由驅(qū)動放大器、A/D轉(zhuǎn)換器和時鐘電路三部分組成,此外,還可以加上RAM和抗混疊濾波器。系統(tǒng)選用ADI公司的AD9236轉(zhuǎn)換芯片,AD9236是12 bit的單片式模數(shù)轉(zhuǎn)換器,其片內(nèi)含有采樣保持電路。AD9236采樣速率可達到105 MHz,其模擬帶寬達500 MHz,它在整個工作頻率范圍內(nèi)都具有較好的動態(tài)性能指標。AD9236模擬輸入+5 V電源供電,輸出為3.3 V CMOS/TTL電平,片內(nèi)含基準源。為了滿足其采樣要求,輸入的模擬信號和采樣時鐘采用差分輸入。AD9236輸出碼為12 bit并行輸出的二進制補碼形式。
圖3為系統(tǒng)的A/D模塊的電路圖。輸入的中頻模擬信號經(jīng)過AD8138放大,在變?yōu)椴罘中盘柡髠鬏斨罙D9236的差分輸入端,在差分時鐘的驅(qū)動下,AD9236把輸入的模擬量變?yōu)閿?shù)字量,并以12 bit二進制補碼的形式輸出。為避免互相干擾,分別用兩個電源模塊為時鐘電路和模擬電路供電。
圖3 A/D模塊電路圖
隨著電子設(shè)計自動化(EDA)和芯片技術(shù)的發(fā)展,設(shè)計者可以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言來表達系統(tǒng)設(shè)計,以計算機開發(fā)系統(tǒng)作為FPGA/DSP系統(tǒng)設(shè)計的工具,自動完成數(shù)字化集成電路的設(shè)計。采用自頂向下的設(shè)計方法,即把系統(tǒng)高級抽象的初始功能定義分解成具體的低一級的子功能模塊,分解過程一直到設(shè)計可以用簡單電路實現(xiàn)的功能模塊組成為止。
傳感器節(jié)點中頻接收機中采用專用芯片GC1012B來實現(xiàn)數(shù)字下變頻的功能,其優(yōu)點是集成度高,應(yīng)用方便,但是其不夠靈活的缺點并不符合理想的軟件無線電系統(tǒng)。因此,研究在FPGA中用軟件的方法實現(xiàn)下變頻是必要的。FPGA芯片具有大規(guī)模的內(nèi)部邏輯陣列和豐富的連線資源,適合作數(shù)字信號處理系統(tǒng)。但是在FPGA中缺乏實現(xiàn)乘加運算的有效結(jié)構(gòu),而數(shù)字下變頻算法中的乘加算法需要大量的濾波器。因此FPGA長期以來一直用于系統(tǒng)邏輯或時序控制中,較少有在信號處理方面的應(yīng)用。
數(shù)字下變頻原理圖如圖4所示。系統(tǒng)實現(xiàn)數(shù)字下變頻的模型和上文介紹過的單通道軟件無線電接收機數(shù)學(xué)模型在原理上其實是一樣的,本文討論了FPGA實現(xiàn)數(shù)字下變頻具體的組成部分。
圖5 數(shù)字下變頻原理圖
從圖4可以看出,數(shù)字下變頻(DDC)可以分為兩部分:數(shù)控振蕩器(NCO)受控產(chǎn)生本振信號 cos(ωcm)、sin(ωcm)在混頻器里和輸入信號相乘;低通濾波器和抽取器(D),抽取器起到降低碼速率作用,可以減輕后續(xù)數(shù)據(jù)處理的壓力。此外,由于需要提供本地的載波相位ωc,需要用于載波同步的數(shù)字鎖相環(huán)(DPLL)從輸入的信號中提取ωc。
圖5 數(shù)字下變頻的頻譜示意圖
圖5為數(shù)字下變頻過程中信號頻譜變化。假設(shè)帶通信號中頻為 70 MHz,帶寬為 10 MHz,其頻譜如圖 5(a)所示,使用帶通信號的解析信號即:Z(t)=x(t)+H[x(t)]畫頻譜,H[x(t)]是 x(t)的 Hilbert變換。通過采樣頻率為40 MHz的 A/D采樣后,帶通信號頻譜如 5(b)所示,帶通信號中心頻率分別出現(xiàn)在…,-90 MHz,-70 MHz,…,30 MHz,70 MHz…,頻譜以 40 MHz為周期重復(fù)出現(xiàn)?;祛l之后頻譜如 5(c)所示,其中,有用的頻譜被搬移到 0中頻。 圖 5(d)中的低通濾波器用來濾除 I(n)、Q(n)頻譜分量之外的信號,這樣低通濾波器的通帶截止頻譜應(yīng)該為 I(n)和 Q(n)頻譜分量中對應(yīng)的最高頻率,即 5 MHz,但是濾波器的阻帶截止頻率應(yīng)小于信道間隔的一半,所以取10 MHz。在-20 MHz~20 MHz范圍之內(nèi)的數(shù)字下變頻后的信號在-5 MHz~5 MHz上有譜線,如圖5(e)所示,可見整個頻譜以40 MHz為周期重復(fù)。
FPGA實現(xiàn)數(shù)字下變頻原理圖如圖6所示。采樣信號分成兩路,一路由鎖相環(huán)(costas環(huán))提取調(diào)制信號的載波相位ωc后,再提供給數(shù)控振蕩器控制產(chǎn)生本地余弦信號;另一路信號直接傳送到乘法器,和本地余弦信號進行混頻?;祛l后的信號經(jīng)過低通濾波器濾波后,再送到抽取器以降低碼速率,最后以二進制碼形式輸出。其算法流程圖如圖7所示,A/D采樣后輸入數(shù)據(jù)是以二進制補碼的形式表示的,在經(jīng)過二進制和十進制程序轉(zhuǎn)換后變?yōu)檎麛?shù)分兩路分別進行處理。其中一路在數(shù)據(jù)轉(zhuǎn)換完成之后(rdyl=1)即進入混頻器;另一路信號進入鎖相環(huán)去提取本地載波,本地載波就是數(shù)控振蕩器的輸入相位。數(shù)控振蕩器的輸入為10 bit二進制無符號數(shù)(相位),其輸出數(shù)據(jù)為二進制補碼(正弦值)的查找表,即數(shù)控振蕩器兩端都要進行數(shù)據(jù)的轉(zhuǎn)換,將轉(zhuǎn)換結(jié)果送入混頻器。兩路數(shù)據(jù)信號rdy1和rdy2都進入判決器,如果rdy1和rdy2同時為1,則表明兩路數(shù)據(jù)都準備好了,這時混頻開始。
圖6 FPGA數(shù)字下變頻框圖
在混頻完成之后是濾波過程,同樣,濾波器也帶有rdy信號,在濾波完成后將 rdy置1,數(shù)據(jù)再被送入抽取器中,最終數(shù)據(jù)轉(zhuǎn)換成8 bit二進制輸出。
系統(tǒng)設(shè)計中用MATLAB程序產(chǎn)生仿真信號源并仿真數(shù)字下變頻的算法,根據(jù)輸出信號的頻譜來仿真算法是否能完成數(shù)字下變頻的功能,系統(tǒng)采用BPSK調(diào)制信號來進行信號仿真[6]。
BPSK調(diào)制信號:
(1)輸入帶寬為 10 MHz,載頻為 70 MHz的 BPSK調(diào)制信號,取信號幅度為128并疊加高斯白噪聲,在經(jīng)過采樣頻率為40 MHz的采樣之后,信號頻譜的仿真結(jié)果如圖8所示,其中的橫坐標經(jīng)過采樣頻率40 MHz的歸一化,所以圖8中的0.5代表20 MHz,對比圖 5(b),可知其中心頻率是一樣的均在 10 MHz、-10 MHz處。
(2)混頻過程之后的信號。將BPSK調(diào)制的被采樣信號與頻率為10 MHz、經(jīng)過40 MHz采樣的余弦波混頻之后,其中 I路的信號頻譜仿真結(jié)果見圖 8(b)所示可以看出,其頻譜被搬移到了0、20 MHz、-20 MHz位置,與圖5(c)相對應(yīng)。由于載波信號正好是 128×cos70/40·2π·m=128×cosπ/2·m,BPSK 調(diào)制信號并與正弦信號混頻后總是等于0,即Q路信號頻譜為噪聲與正弦信號混頻后的頻譜,圖中即可不畫了。
(3)濾波過程之后的信號。I路的混頻后信號再通過5 MHz通帶截止頻率,阻帶截止頻率10 MHz的22階的低通濾波器濾波后,信號頻譜的仿真結(jié)果如圖 8(c)所示,可以看到,除基帶信號外的-20 MHz和20 MHz的信號已經(jīng)被濾波器濾掉,這樣就只剩下帶寬為10 MHz基帶信號,與圖 5(e)相對應(yīng)。
可以看出,BPSK調(diào)制信號數(shù)字下變頻的信號頻譜變化過程都與圖5一樣,說明數(shù)字下變頻算法的設(shè)計符合前面的數(shù)學(xué)模型,可以正確完成信號數(shù)字下變頻的功能。
本文中的傳感器節(jié)點中頻接收機是為了滿足區(qū)域偵查通信的需要,工作在2.4 GHz自由頻段,中頻工作在70 MHz,數(shù)據(jù)采用RS編碼和BPSK調(diào)制方式。在實驗室環(huán)境中,對本文設(shè)計的傳感器節(jié)點中頻接收機的功能進行驗證,結(jié)果表明,該接收機能夠?qū)崿F(xiàn)對載波頻率的快速跟蹤和鎖定,對于碼速率不大于2 Mb/s,信號強度動態(tài)范圍在-8 dBm~+16 dBm范圍內(nèi)的信號,可以實現(xiàn)誤碼率接近理想BER曲線(實際測量曲線偏離理想曲線3 dB以內(nèi))的解碼。因此,該傳感器節(jié)點中頻接收機滿足設(shè)計指標。
[1]楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[2]BAESE U M.數(shù)字信號處理的 FPGA實現(xiàn)[M].劉凌,胡永生,等譯.北京:清華大學(xué)出版社,2003.
[3]鄭繼禹,林基明.同步理論與技術(shù)[M].北京:電子工業(yè)出版社,2003.
[4]黃英,李景文,劉敏.軟件無線電技術(shù)在傳感器節(jié)點中頻接收機中的應(yīng)用[J].無線電,2004,30:18-20.
[5]畢占坤,吳伶錫.FIR數(shù)字濾波器分布式算法的原理及FPGA 實現(xiàn)[J].電子技術(shù)應(yīng)用,2004,30(7):61-62,66.
[6]BURACCHINIE.The software radio concept[J].IEEE Communication Magazing,2000,38(9):138-143.
[7]AnalogDevices.AD9236 data, 12-bit, 80 MSPS/105 MSPSanalog A/D Converter[Z].2002.
[8]Texas Instruments.GC1012B data,3.3 V digital turner chip[Z].2002.
[9]陳懷深.MAILAB及其在理工課程中的應(yīng)用指南 [M].西安:西安電子科技大學(xué)出版社,2000.