国产专区欧美精品,911国产精品,国产精品人人爽人人做我的可爱,欧美午夜影院一区

基于GNU Radio 的230 MHz 多通道主站電臺(tái)的設(shè)計(jì)

2013-11-08 來(lái)源:《電力系統(tǒng)保護(hù)與控制》 字號(hào):

0、引言

230MHz無(wú)線電臺(tái)通信系統(tǒng)在電力負(fù)荷管理系統(tǒng)和用戶用電信息采集系統(tǒng)中有著廣泛的應(yīng)用。然而,隨著無(wú)線通信技術(shù)的發(fā)展,在不同時(shí)期投入應(yīng)用的無(wú)線電臺(tái),雖然基本結(jié)構(gòu)類似,但調(diào)制方式、波形結(jié)構(gòu)、調(diào)制速率都有較大差別,不同的設(shè)備占用不同頻段單獨(dú)組網(wǎng),獨(dú)立運(yùn)行,十分不利于系統(tǒng)的維護(hù),而且,隨著對(duì)高速通信電臺(tái)設(shè)備需求的增加[1],使得通信系統(tǒng)結(jié)構(gòu)更加復(fù)雜。

為了解決上述問(wèn)題,本文基于GNU Radio 系統(tǒng)提出了一種多信道、多傳輸速率、多調(diào)制方式的軟件無(wú)線電多通道主站電臺(tái)的系統(tǒng)結(jié)構(gòu)。該系統(tǒng)在調(diào)制方式上與現(xiàn)有的無(wú)線電臺(tái)設(shè)備全面兼容,覆蓋整個(gè)電力系統(tǒng)230 MHz 全雙工頻段,可以同時(shí)在多個(gè)頻點(diǎn)運(yùn)行,以不同的速率、調(diào)制方式進(jìn)行通信,很好地保證了現(xiàn)有業(yè)務(wù)的正常運(yùn)營(yíng)。此外,基于軟件無(wú)線電的系統(tǒng)具有極強(qiáng)的可配置性,為將來(lái)的業(yè)務(wù)拓展和設(shè)備升級(jí)提供了可靠保障,降低了系統(tǒng)的維護(hù)和升級(jí)成本。

1、230 MHz 無(wú)線通信系統(tǒng)分析

230MHz無(wú)線通信系統(tǒng)由主站電臺(tái)和從站電臺(tái)組成,主站采用全雙工電臺(tái),從站采用半雙工電臺(tái)。無(wú)線電管理委員會(huì)將230 MHz 頻段的15 對(duì)雙頻頻點(diǎn)分配給電力系統(tǒng)專用[2],頻點(diǎn)分配如表1 所示。每個(gè)頻點(diǎn)帶寬為25 kHz,相鄰頻點(diǎn)間隔為50~150 kHz,15 個(gè)接收/發(fā)送頻點(diǎn)總帶寬約為2 MHz,上下行頻率間隔為7 MHz。

目前電力行業(yè)中使用的大部分是模擬調(diào)頻電臺(tái),電臺(tái)內(nèi)增加調(diào)制解調(diào)模塊后進(jìn)行數(shù)據(jù)傳輸。早期的低速電臺(tái)采用FSK,MSK 等調(diào)制方式,傳輸速率為600~2 400 bps;高速電臺(tái)采用GMSK 調(diào)制方式,實(shí)現(xiàn)9 600 bps 的信號(hào)收發(fā)。此外,部分地區(qū)運(yùn)行著230 MHz 頻段的Mobitex 系統(tǒng),它直接采用GMSK 調(diào)制,避免了第二級(jí)FM 調(diào)制對(duì)信道資源的浪費(fèi),僅占用12.5 kHz 的射頻帶寬,實(shí)現(xiàn)了8 kbps數(shù)據(jù)傳輸。

2、GNU Radio 主站電臺(tái)總體設(shè)計(jì)

GNURadio 系統(tǒng)是一種運(yùn)行于通用處理器(GPP)上的開(kāi)放的軟件無(wú)線電平臺(tái),并配以USRP(Universal Software RadioPeripheral)作為硬件射頻前端。GNU(GNU’s Not Unix)是一個(gè)推進(jìn)軟件開(kāi)放源代碼的著名項(xiàng)目,由FSF(Free SoftwareFoundation)提供支持。GNU Radio 運(yùn)行于Linux操作系統(tǒng),其軟件代碼和硬件設(shè)計(jì)完全公開(kāi),其設(shè)計(jì)的核心思想是:基帶信號(hào)處理過(guò)程由通用處理器而不是DSP 實(shí)現(xiàn);基帶信號(hào)通過(guò)USB 2.0 接口與USRP 系統(tǒng)相連,由USRP 上的FPGA 實(shí)現(xiàn)數(shù)字上下變頻,然后通過(guò)AD/DA 芯片與射頻子板連接;覆蓋不同頻段的射頻子板將模擬信號(hào)變換到射頻進(jìn)行信號(hào)收發(fā)。

本文設(shè)計(jì)的多通道主站電臺(tái)系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖1 所示,由基帶信號(hào)處理部分、USRP 主板、230 MHz 射頻子板三個(gè)部分組成。

(1)基帶信號(hào)處理部分

基帶信號(hào)處理部分包括數(shù)據(jù)緩存、編解碼、調(diào)制解調(diào)等模塊。這部分的主要工作是基帶信號(hào)處理模塊和信號(hào)收發(fā)流圖(Flow Graph)的設(shè)計(jì)。此外,可使用WxPython 跨平臺(tái)GUI 工具庫(kù)編寫(xiě)人機(jī)交互界面,采用MySQL 作為數(shù)據(jù)庫(kù)系統(tǒng)。

(2)USRP 主板

USRP主板實(shí)現(xiàn)了信號(hào)的中頻處理,主要為數(shù)字上下變頻操作。板載FPGA 芯片采用了Altera 公司生產(chǎn)的Cyclone 系列芯片EP1C12Q240C8,設(shè)計(jì)開(kāi)發(fā)工具為Quartus II 7.2,各模塊邏輯采用Verilog語(yǔ)言描述。

(3)230 MHz 射頻子板

目前 USRP 配套的全雙工子板沒(méi)有覆蓋到230MHz 頻段,本文根據(jù)USRP 主板與子板連接的接口說(shuō)明,設(shè)計(jì)了收發(fā)頻率覆蓋200~250 MHz 的射頻子板。同時(shí),由于子板輸出功率過(guò)小,發(fā)送信號(hào)需外接至大功率天線設(shè)備輸出。

3、GNU Radio 主站電臺(tái)基帶信號(hào)處理

GNURadio 的基帶信號(hào)處理編程基于C++和Python 腳本語(yǔ)言的混合方式。C++執(zhí)行效率較高,用于編寫(xiě)各種底層信號(hào)處理模塊。Python 是一種新型的腳本語(yǔ)言,用來(lái)編寫(xiě)連接各個(gè)信號(hào)處理模塊的腳本,最終使之成為完整的信號(hào)收發(fā)流圖。

3.1GNU Radio 基帶信號(hào)處理模塊設(shè)計(jì)

GNURadio 提供一個(gè)基帶信號(hào)處理的底層模塊庫(kù),含有100 多種信號(hào)處理模塊,如:濾波器,F(xiàn)FT 變換、調(diào)制解調(diào)器、時(shí)頻同步模塊等[3]。

本系統(tǒng)同時(shí)支持多種無(wú)線通信電臺(tái),而不同電臺(tái)的調(diào)制方式、信號(hào)速率可以不相同。通過(guò)分析可知,電臺(tái)系統(tǒng)中基帶信號(hào)所用的數(shù)字調(diào)制方式如FSK、MSK、GMSK 等均屬于恒包絡(luò)調(diào)制方式,這些信號(hào)都可以通過(guò)FM 調(diào)制器輸出。

下面以 GMSK 調(diào)制模塊為例簡(jiǎn)要說(shuō)明GNURadio 信號(hào)處理模塊的實(shí)現(xiàn)原理及實(shí)現(xiàn)方法。

從 Python 的角度來(lái)講,GNU Radio 提供了一種信號(hào)流圖的抽象,用戶可以方便地使用底層信號(hào)處理模塊連接各種通信模塊,最終組成完整的無(wú)線通信系統(tǒng)。首先從gnuradio 包中導(dǎo)入gr 和modulation_utils 模塊,并在__init__()方法的參數(shù)中定義模塊中每符號(hào)的采樣點(diǎn)個(gè)數(shù)、BT值和程序調(diào)試接口等。定義完這些參數(shù)之后,方法調(diào)用其父類gr_hier_block2 的__init__()方法設(shè)定該模塊的輸入輸出接口類型,本模塊輸入為要傳輸?shù)臄?shù)據(jù)字節(jié),輸出為GMSK 的調(diào)制波形。

GMSK調(diào)制模塊由三個(gè)底層信號(hào)處理模塊構(gòu)成,分別是字節(jié)到NRZ 編碼變換器,高斯濾波器和FM 調(diào)制器(FM 調(diào)制器模塊需自行編寫(xiě),系統(tǒng)提供的FM 調(diào)制器輸出為復(fù)采樣信號(hào),本調(diào)制器輸出為實(shí)采樣信號(hào))。配置好這些模塊之后,調(diào)用connect函數(shù)將這些模塊連接,就形成了新的GMSK 調(diào)制模塊。其結(jié)構(gòu)圖如圖2 所示。其他調(diào)制方式如FSK、MSK 調(diào)制模塊與之十分類似,不再贅述。

通過(guò) Python 語(yǔ)言構(gòu)造信號(hào)處理模塊非常靈活,大幅提高了代碼的復(fù)用度。但由于底層模塊庫(kù)并不完備,在執(zhí)行某些數(shù)據(jù)處理時(shí)還需采用C++語(yǔ)言編寫(xiě)對(duì)應(yīng)的底層模塊,如糾錯(cuò)編碼、多相濾波發(fā)送、多相濾波接收等,編寫(xiě)底層模塊的具體方法可參考文獻(xiàn)[4]。

3.2基帶信號(hào)收發(fā)流圖設(shè)計(jì)

本系統(tǒng)同時(shí)覆蓋了230 MHz 頻段的15 個(gè)雙工頻點(diǎn),如果將這15 個(gè)支路的信號(hào)分別通過(guò)獨(dú)立的載波調(diào)制解調(diào),系統(tǒng)將過(guò)于復(fù)雜。因此,本文采用了信道化收發(fā)機(jī)的系統(tǒng)結(jié)構(gòu),即一部收發(fā)機(jī)同時(shí)處理信道帶寬內(nèi)所有信道上的信號(hào)。

圖 3 是主站電臺(tái)信道化發(fā)射機(jī)基本調(diào)制原理框圖。基帶信號(hào)的處理分為了兩部分工作:

第一步是由N 個(gè)單通道基頻發(fā)射機(jī)產(chǎn)生N 個(gè)基帶數(shù)字信號(hào)。對(duì)于普通數(shù)傳電臺(tái),首先根據(jù)不同的基帶調(diào)制方式(FSK、MSK、GMSK 等)輸出基帶信號(hào),再由FM 基帶正交調(diào)制器進(jìn)行復(fù)合調(diào)制,調(diào)制完成后的基帶信號(hào)數(shù)字譜帶寬為25 kHz。對(duì)于Mobitex 電臺(tái),直接輸出速率為8 kbps 的GMSK 基帶正交信號(hào),數(shù)字譜帶寬為12.5 kHz。

第二步將調(diào)制完成的各路基帶信號(hào)進(jìn)行插值濾波,并分別根據(jù)各路占用的不同頻點(diǎn),用移頻因子ejωk t 搬移到虛頻點(diǎn)ωk(即射頻頻點(diǎn)相差230 MHz的基帶頻點(diǎn))處,最后將所有支路上的信號(hào)整合,得到覆蓋0~2 MHz 的整合基帶信號(hào),其頻譜結(jié)構(gòu)如圖4 所示。在具體實(shí)現(xiàn)時(shí),本文采用了基于多相結(jié)構(gòu)的信道化發(fā)射機(jī)模型以提高計(jì)算效率和實(shí)時(shí)處理能力,實(shí)現(xiàn)細(xì)節(jié)請(qǐng)參閱文獻(xiàn)[5]。

合路器輸出的整合基帶信號(hào)的復(fù)采樣頻率為6 MHz,精度為8 bit,這樣每個(gè)復(fù)采樣點(diǎn)占據(jù)2 個(gè)字節(jié),通過(guò)USB2.0 接口傳輸?shù)経SRP,雙向收發(fā)占用的USB 帶寬為24 MByte/s。在USRP 中,基帶信號(hào)再通過(guò)插值和濾波變換為固定速率的中頻信號(hào)并送到D/A 轉(zhuǎn)換器轉(zhuǎn)換為模擬信號(hào),最后在射頻子板轉(zhuǎn)換為射頻信號(hào)發(fā)射。

4、USRP 主板FPGA 配置

USRP主板上可支持兩路信號(hào)并行收發(fā),結(jié)構(gòu)框圖如圖5 所示,本文中只使用其中一路。FPGA芯片處于USRP 主板中的核心位置,內(nèi)部邏輯通過(guò)Verilog 語(yǔ)言描述。它的主要功能是將ADC 采來(lái)的中頻信號(hào)進(jìn)行數(shù)字下變頻(DDC),并將基帶信號(hào)進(jìn)行插值濾波、速率匹配、輸出到DAC 進(jìn)行數(shù)字上變頻(DUC),同時(shí)還要控制子板信號(hào)收發(fā),適配各路ADC,DAC 與PC 機(jī)之間的數(shù)據(jù)交換。

USRP提供了標(biāo)準(zhǔn)系統(tǒng)的Verilog 代碼供用戶使用,但需要針對(duì)不同的信號(hào)帶寬,信號(hào)精度和外插子板情況對(duì)Verilog 文件進(jìn)行改寫(xiě)并重新編譯后,下載到FPGA 中運(yùn)行。

本系統(tǒng)中,AD采樣輸出的數(shù)據(jù)為兩路12bits、64MSample/s的正交中頻信號(hào),F(xiàn)PGA要首先對(duì)其中有用的信號(hào)進(jìn)行下變頻。

數(shù)字下變頻的第一步是對(duì)信號(hào)進(jìn)行混頻,這部分主要由乘法器和DCO組成。USRP采用坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算(CORDIC)算法生成正弦和余弦信號(hào)[6],與常規(guī)的查表法不同,CORDIC算法不占用存儲(chǔ)器空間,僅使用移位寄存器和加法器就可產(chǎn)生正余弦信號(hào),具有很好的NCO的精度。

數(shù)字下變頻的第二個(gè)環(huán)節(jié)是對(duì)混頻后的信號(hào)進(jìn)行抽取濾波,以便降低軟件解調(diào)的計(jì)算復(fù)雜度。USRP使用了由一個(gè)4級(jí)CIC抽取濾波器和一個(gè)31階半帶濾波器組成的混合濾波器結(jié)構(gòu)。CIC濾波器為整系數(shù)濾波器,濾波時(shí)無(wú)需乘法運(yùn)算,而半帶濾波器有一半系數(shù)為零,這樣在濾波時(shí)大大減少了計(jì)算量[7]。濾波的同時(shí),在CIC濾波器實(shí)現(xiàn)了4倍的數(shù)據(jù)抽取,在半帶濾波器實(shí)現(xiàn)了2倍的數(shù)據(jù)抽取,這樣就得到了帶寬為2MHz的兩路8 bits,8MSample/s的正交基帶信號(hào)。

對(duì)于發(fā)送信號(hào),F(xiàn)PGA將USB傳輸?shù)牡退俾驶鶐盘?hào)進(jìn)行插值并濾波,變換為32 MSample/s的采樣信號(hào)并輸出到DAC單元的數(shù)字上變頻模塊中,最終以兩路14 bits,128 MSample/s的速度轉(zhuǎn)換為模擬信號(hào)。

5、230 MHz 射頻子板的實(shí)現(xiàn)

USRP的子板有很多種規(guī)格,分別針對(duì)了基帶信號(hào)處理、廣播電視接收、移動(dòng)通信信號(hào)處理等領(lǐng)域。但由于在230 MHz 頻段沒(méi)有可用的全雙工子卡,本文根據(jù)USRP 與子卡的接口說(shuō)明,設(shè)計(jì)了針對(duì)230MHz 頻段應(yīng)用的全雙工子卡,實(shí)現(xiàn)信號(hào)收發(fā)。其硬件實(shí)現(xiàn)結(jié)構(gòu)如圖6 所示。

230MHz 子板采用AD8345 和AD8348 分別作為調(diào)制器和解調(diào)器。AD8345 是ANALOG DEVICES公司推出的正交調(diào)制器,其工作頻率為140~1000MHz,在數(shù)字通信系統(tǒng)中可用作中頻調(diào)制器或直接上變頻器。AD8348 是ANALOG DEVICES 公司推出的正交解調(diào)器,其工作頻率為50~1000 MHz,解調(diào)帶寬75 MHz,內(nèi)部集成中頻可變?cè)鲆娣糯笃鳌?/p>

AD8345和AD8348 輸入的本振頻率是兩塊ADF4360-7 鎖相環(huán)輸出的,本振頻率分別為460 MHz和446 MHz。460 MHz 的信號(hào)在ADF4360-7 內(nèi)部二分頻輸出至AD8345,446 MHz 信號(hào)在AD8348 內(nèi)部進(jìn)行二分頻。芯片內(nèi)部VCO 的中心頻率設(shè)為460 MHz,這個(gè)中心振蕩頻率值是由外部電感設(shè)置的,它們之間的對(duì)應(yīng)關(guān)系為:

通過(guò)計(jì)算可得,外部電感的值為3.84 nH。子板系統(tǒng)中晶振輸出的參考頻率為10 MHz,通過(guò)SPI總線控制配置ADF4360中的14 位R 計(jì)數(shù)器值為200,再配置N 計(jì)數(shù)器數(shù)值,就可以以50 kHz 的步長(zhǎng),覆蓋420~500 MHz 的頻率范圍。

此外,由于USRP 的板載電源功率過(guò)小,子板的天線接口只能提供了100MW 的功率輸出,而一般的230MHz 主站電臺(tái)的功率為15 W 左右,因此,還需要在另外加裝高增益的外接天線。

6 結(jié)束語(yǔ)

本文提出了一種基于GNU Radio 的多速率、多種調(diào)制方式、多信道的軟件無(wú)線電主站電臺(tái)的系統(tǒng)結(jié)構(gòu)。該系統(tǒng)基于通用硬件平臺(tái),成本較低,既充分的利用了現(xiàn)有的無(wú)線電臺(tái)資源,實(shí)現(xiàn)多種電臺(tái)的全面兼容,又為將來(lái)的業(yè)務(wù)拓展和設(shè)備升級(jí)提供了保證。該系統(tǒng)使用純軟件的信號(hào)處理具有很大的靈活性,采用高級(jí)語(yǔ)言(C/C++、Python)進(jìn)行系統(tǒng)開(kāi)發(fā),擴(kuò)展性和可移植性強(qiáng),開(kāi)發(fā)周期短,并且隨著CPU 處理能力的不斷提高以及軟件技術(shù)的進(jìn)步,系統(tǒng)性能還有進(jìn)一步提升的空間。

參考文獻(xiàn)

[1]周立巖,孫毅,馮小安. 提高電力負(fù)荷管理系統(tǒng)通信效率的新方法[J]. 電力系統(tǒng)通信,2008,28(128):46-49.ZHOU Li-yan,SUN Yi,F(xiàn)ENG Xiao-an. New MethodofImproving Communication Efficiency in Power LoadManagement System[J].Telecommunications for ElectricPower System,2008,28(128):46-49.
[2]無(wú)管字5 號(hào),民用超短波遙測(cè)遙控?cái)?shù)據(jù)傳輸業(yè)務(wù)頻率劃分[S].Radio AdministrativeBureau No.5 , Frequency Allocations ofCivil Ultrashort Wave Telemetering and Telecontrol Data Trasmit Servies[S].
[3]曹瀚文,王文博. GNU Radio:開(kāi)放的軟件無(wú)線電平臺(tái)[J]. 電信快報(bào),2007(4):31-34.CAO Han-wen,WANG Wen-bo. GNU Radio:OpenSource SDRPlatform[J]. Telecommunication Information,2007(4):31-34.
[4]Blossom E. How to Write a Signal Processing Block[EB/OL]. 2006.
[5]楊小牛,樓才義,徐建良. 軟件無(wú)線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.68-85.YANG Xiao-niu,LOU Cai-yi,XU Jian-liang. Principles andApplications of Software Defined Radio[M].Beijing:Publishing House of ElectronicsIndustry,2001.68-85.
[6]Ray Andraka. A Survey of CORDIC Algorithms for FPGA Based Computers[A]. in: Proceedingsof the 1998 ACM/SIGDA Sixth International Symposium on Field Programmable GateArrays[C]. 1998. 191-200.
[7]徐以濤,沈良,王金龍. FPGA 技術(shù)在軟件無(wú)線電中的應(yīng)用[J]. 電信科學(xué),2001,11:36-39. XU Yi-tao,SHEN Liang,WANG Jin-long. Applicationof FPGA Technology in Software Radio [J]. Telecommunications Science,2001,11:36-39.

主站蜘蛛池模板: 铜川市| 郎溪县| 阜平县| 呈贡县| 五常市| 英山县| 元谋县| 顺义区| 耿马| 屏山县| 龙井市| 屯留县| 三都| 永州市| 邵东县| 晋州市| 大悟县| 竹北市| 旌德县| 沂水县| 通山县| 天峨县| 德昌县| 山西省| 蓝山县| 驻马店市| 靖州| 五寨县| 龙胜| 陇南市| 普兰县| 当雄县| 平远县| 石台县| 龙井市| 保山市| 莲花县| 定兴县| 许昌县| 扎鲁特旗| 四会市|