摘要:頻譜分析儀是用來檢測電信號頻譜特征的儀器,在通信、雷達以及電子產品研發等領域有著廣泛的應用。本文設計了基于ZYNQ系列SoC(System on chip)和AD9361實現的簡易頻譜分析儀,頻譜數據可以通過串口發送給上位機,并在上位機中通過MATLAB進行數據處理和分析。相比普通頻譜分析儀,該簡易頻譜分析儀使用便捷,體積小,且十分便于功能擴展。經測試,該頻譜分析儀帶寬為40MHz,其通帶范圍為LO(Local Oscillator )-20MHz到LO+20MHz,該頻譜分析儀可以較為準確地分析信號功率范圍為0dBm到-65dBm。
引言頻譜分析儀是用來測量電信號頻譜特征的儀器,主要用于測量相關頻段內的信號頻譜。使用頻譜分析儀,可以觀測到信號在頻域中的分布情況、信號能量及其他頻譜信息。隨著電子通信產業的不斷發展,頻譜分析儀廣泛運用在通信、電子、雷達及電子產品研發等領域,是電子工程師重要的頻域分析工具。隨著對于信號分析的不斷發展,應實現頻譜分析儀與上位機的通信。頻譜分析儀可以通過網口、USB接口及串口向上位機發送數據,在上位機中,MATLAB、GNU radio等多種工具軟件可以被用于處理該數據,擴展了頻譜分析儀的功能[1]。而且傳統的頻譜分析儀價格昂貴,個人和小型團體均無力承受。基于此,本文使用Xilinx ZYNQ系列SoC及AD9361射頻收發機完成了低成本簡易頻譜分析儀的設計與實現。與傳統的頻譜儀相比,該頻譜儀價格低廉、便于攜帶。
1 系統設計
本系統設計采用ZedBoard開發板和AD9361射頻收發機。ZedBoard開發板是Digilent公司基于ZYNQ-7000系列SoC制作的低成本開發板,該開發板的主芯片為ZYNQ系列XC7Z020芯片,該芯片使用兩塊ARM Cortex-A9 MPCore作為處理器(PS Processing System),并采用Xilinx 7系列FPGA作為可編程邏輯部分(PL Programmable Logic),實現了高靈活性、高性能和強大的配置功能[2]。
AD9361是一款高性能、高度集成的2收2發射頻收發機,該收發機具有可編程、寬帶寬等特點,其工作頻率范圍為70MHz~6GHz,支持的通道帶寬為200KHz~56MHz。AD9361可以根據用戶需求設置濾波器、本振、增益等參數,以契合用戶設計[3]。設計主要基于Xilinx ZYNQ-7000系列的可編程SoC平臺,在平臺上插接AD9361板卡,利用AD9361進行對應帶寬數據的采集,采集到的數據經過XC7Z020的PL部分進行時頻轉換,然后利用ARM將頻譜分析結果通過串口發送至計算機。頻譜分析帶寬為0~40MHz,分辨率為25kHz。
本文采用基于快速傅里葉變換(FFT)完成頻譜分析儀的設計。其中,主要模塊包括射頻輸入及轉換模塊、頻譜分析模塊、ZYNQ PS(Processing System)控制模塊、串口傳輸模塊以及上位機處理模塊。其基本結構如圖1所示。
圖1 系統結構
圖2 AD9361接收框圖
圖3 ZYNQ PL 部分的頻譜分析模塊
其中,各部分的具體功能如下:
射頻輸入模塊及轉換,使用AD9361射頻收發機完成搭建,其中,通過AD9361內置的本地振蕩器(LO)完成對射頻信號的射頻到中頻的轉換,通過ADC完成模數轉換,并通過后續的抽取濾波器進行下采樣,最終得到I/Q兩路分別為60MSPS采樣率的信號,通過FMC接口送入ZedBoard,進行下一步處理。
頻譜分析模塊,該模塊使用ZYNQ SoC的PL部分完成,主要完成頻譜分析儀的頻譜計算功能,其中通過FMC接口接收到射頻輸入及轉換模塊的數據信息,對其進行時序轉換、加窗和FFT變換后,通過DMA發送至ZYNQ SoC的PS模塊內的存儲空間中,供PS部分讀寫。
ZYNQ PS控制模塊,該模塊為整個模塊的控制中樞,完成對射頻輸入模塊及頻譜分析模塊的控制。其中,對AD9361的控制為:調節AD9361的本振(LO)的輸出,調節輸入通路低通濾波器的帶寬,調節增益模式及增益大小,調節各級采樣率等。對頻譜分析模塊的控制為:調節計算FFT的點數等。PS模塊可以讀取頻譜數據,并將頻譜數據傳輸給網口通信模塊。該模塊在ZYNQ PS上移植的Linux系統中完成。
串口通信模塊:通過該模塊,可以完成由頻譜分析儀到上位機的頻譜數據的傳輸,也可以由上位機到頻譜分析儀,如果需要高的傳輸速率,可以使用網口進行傳輸。
上位機處理模塊:該模塊在上位機中,通過使用MATLAB工具對所得的頻譜數據進行進一步的處理、顯示和完成頻譜圖。
2 系統實現
2.1 基于AD9361的射頻輸入及轉換模塊AD9361為系統的射頻輸入及轉換模塊,主要對輸入的模擬信號進行混頻、濾波、模數轉換和降采樣等預處理。并將處理完成的數字信號通過數字接口送入ZedBoard,供ZYNQ的PL部分進行進一步的信號處理。
如圖2所示,為AD9361的接收通路,AD9361接收通路完成射頻信號到基帶信號的部分。基帶信號處理包括兩個可編程的模擬低通濾波器,一個12bit ADC,以及4級的數字下變頻濾波器。每個數字下變頻濾波器都可以被略去。其中I/Q兩路的接收通路是相同的[4]。根據設計需求,需要調節的有:增益控制模式及增益、本振大小、低通濾波器系數、各部分采樣率以及FIR濾波器系數等。
圖4 AD采集的數據實測圖
圖5 PC端收到串口輸出數據
圖6 頻譜儀測試結果
在本次設計中,各部分的系數為:收發模式:使用FDD單收單發的收發模式;增益模式:自動增益模式;LO頻率設置:給上位機提供相應接口,可以根據用戶需求進行設置;
低通濾波器設置:低通濾波器3dB帶寬為40MHz;
ADC采樣時鐘頻率:480MHz;
HB3/DEC3下采樣濾波器:進行2倍抽取,輸出數據的采樣頻率為240MHz;HB2下采樣濾波器:進行2倍抽取,輸出數據的采樣頻率為120MHz;HB1下采樣濾波器:進行2倍抽取,輸出數據的采樣頻率為60MHz;
表1 頻譜分析儀測試數據
RX FIR濾波器設置:對該FIR濾波器進行略過,輸出數據的采樣頻率為60MHz;數字接口:采用LVDS傳輸模式。通過對AD9361的相關寄存器進行配置,可以完成對設計的實現,以下對AD9361的一些關鍵寄存器進行介紹。
地址0x003為AD9361的Rx Enable and Filter Control寄存器,該寄存器用于控制接收通路的使能及數字寄存器的信息。由于使用FDD的單發單收模式,且HB3、HB2和HB1皆為2倍抽取,且將FIR濾波器略去,故該寄存器應配置為0X9C。
地址0x005為AD9361的RFPLL Dividers寄存器,可以配置該寄存器的值,對VCO進行分頻,得到接收通路的LO頻率信息。
地址0x012為AD9361的 Parallel Port Configuration寄存器,可以配置AD9361數字接口的方式,本設計中,采用LVDS的雙端口模式,因此,這里設置該寄存器的值為0x10。地址0x013為AD9361的ENSM Mode寄存器,可以通過配置該寄存器AD9361的FDD狀態機和TDD狀態機之間的轉換。
本設計中,采用FDD模式,因此設該寄存器的值為0x01。AD9361的VCO頻率相關寄存器地址為0x231~0x235,該組寄存器設置的VCO值可以為6GHz~12GHz,經過0x005寄存器所設置的值進行分頻后,作為AD9361 RX的LO。其計算公式為:
此外,ADI公司提供了基于Xilinx SDK的AD9361控制函數,可以使用這些函數對AD9361進行配置,這樣可以簡化AD9361的配置過程,提高工作效率,并提高配置的準確性。
2.2 ZYNQ PS與AD9361的通信
ZYNQ PS與AD9361采用SPI和GPIO接口進行通信。ZYNQ內包含兩個SPI控制器,可以工作在主/從模式或多主機模式下。本次設計采用ZYNQ PS中的一組SPI控制器對AD9361的相關寄存器進行讀寫。在ZYNQ上,我們可以通過MIO引出最多54個GPIO引腳,所有的GPIO都可以單獨配置成輸入、輸出以及中斷的功能。本設計中,采用GPIO對AD9361的TXNRX、NABLE以及RESETB引腳進行配置,以達到對AD9361控制的目的。
2.3 基于ZYNQ PL的頻譜分析模塊頻譜分析模塊主要由時序處理模塊、加窗模塊、FFT模塊及DMA模塊完成,FFT的點數由ZYNQ PS部分通過AXI_GPIO模塊控制,圖3為ZYNQ PL頻譜分析部分的框圖。
數字信號輸入為模擬信號,經過射頻輸入及轉換模塊后得到的數字信號,該數字信號的采樣率為60MSPS,由LVDS方式通過FMC接口輸入至該模塊輸入端。
時序處理模塊將PL中相關模塊的時序和AD9361收發機的數字接口時序進行相互轉換,使其頻譜分析模塊可以正常工作。
由于在使用FPGA進行信號處理中,不可能對無限長的信號進行測量和分析,只能對信號進行截斷,并對截斷部分進行周期拓展并進行處理。但這樣得到的信號會發生頻譜泄露現象。為了減小頻譜泄露的影響,需在計算FFT變換之前采用加窗技術,常見的窗有:hanning窗、hamming窗以及Gaussian窗等。本設計采用8192點hanning窗,以減少由于信號截斷所帶來的頻譜泄露現象。
FFT模塊對輸入的數據進行FFT或IFFT變換,得到時域數據的頻譜信息或頻域數據的時域信息。其中FFT模塊的計算點數為8~8192點,FFT模塊使用Xilinx官方提供的IP 核。
ZYNQ PS模塊為頻譜分析模塊提供控制信息,并接收由AXI_DMA傳輸的頻譜數據。ZYNQ PS與AXI_GPIO通過AXI4協議進行數據傳輸,與AXI_DMA通過AXI_Lite協議進行控制信號傳輸。FFT與DMA之間使用AXI_Stream協議進行數據傳輸。DMA與ZYNQ PS HP接口之間通過AXI協議進行傳輸,這樣可以擁有很高的吞吐率和性能,但需要花費額外的邏輯資源。
2.4 ZYNQ與PC通信為了更方便地進行頻譜分析以及對頻譜分析儀的控制,設計參考文獻[7]采用串口方式將得到的頻譜分析數據發送到PC端,頻譜分析首先數據經過DMA傳輸到PS的內存中,然后通過串口將數據發送到PC端。串口速率傳輸較慢,FFT轉換并不是持續轉換,一次轉換數據全部通過串口發送完畢后,再進行下一次轉換。
3 系統測試
為了方便觀察結果,我們在工程中加入了ILA模塊監視AD采集到的數據,如圖4所示,在Vivado中的Hardware Manager中抓取的AD輸入數據,圖5為串口收到對應FFT后的數據。將AD9361的本振設置為1.9GHz,外接信號源設置為1.902GHz,且頻率為-50dBm,得到的頻譜數據經過上位機處理后得出圖6所示的結果,其中MATLAB所計算出來的2MHz的功率值為-49.7101dBm。
表1為利用該頻譜分析儀測試的一些數據,測試時本振設置為1.9GHz。測試結果表明,該頻譜分析儀通帶范圍為LO-20MHz到LO+20MHz,在該通帶范圍內可以較為準確地分析的信號功率為0dBm到-65dBm,平均誤差小于1.5dB。當信號源頻率與LO頻率相差為20MHz時,絕對誤差約為1dB左右。經過分析,是AD9361內部的模擬低通濾波器部分對信號造成了消減,因此產生了誤差。
4 總結與展望論文采用ZedBoard平臺以及AD9361射頻收發機設計并實現了一款簡易頻譜分析儀,該頻譜分析儀核心部件為AD9361和ZedBoard,外加一臺電腦,成本低廉,方便可靠,成品作為個人或小型團隊使用。如果對傳輸速率有更高的要求,可以利用ZedBoard的網口將頻譜分析后的數據傳送到PC端。
-
頻譜分析儀
+關注
關注
16文章
1132瀏覽量
85291 -
AD9361
+關注
關注
8文章
35瀏覽量
37134
原文標題:基于AD9361的簡易頻譜分析儀設計與實現
文章出處:【微信號:gh_f97d2589983b,微信公眾號:高速射頻百花潭】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論