摘要:频谱分析仪是一种用于检测电信号频谱特性的仪器,广泛应用于通信、雷达和电子产品研发等领域。本文设计了一种基于ZYNQ系列片上系统(SoC)和AD9361的简易频谱分析仪。光谱数据可以通过串口发送到上位机,在上位机中通过MATLAB对数据进行处理和分析。与普通频谱分析仪相比,这种简易频谱分析仪使用方便,体积小,功能扩展非常方便。经测试,该频谱分析仪的带宽为40MHz,其通带范围为LO(本振)-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处理系统)。采用Xilinx 7系列FPGA作为PL可编程逻辑,实现了高灵活性、高性能和强大的配置功能[2]。
AD9361是一款高性能、高度集成的2接收器2发射器RF收发器,具有可编程和宽带宽特性。其工作频率范围为70 MHz ~ 6 GHz,支持的信道带宽为200 kHz ~ 56 MHz。AD9361可以根据用户设置滤波器、本振和增益等参数。满足用户的需求设计[3]。设计了一种基于Xilinx ZYNQ-7000系列的可编程SoC平台。将AD9361板插入平台,利用AD9361收集相应的带宽数据。采集的数据通过XC7Z020的PL部分进行时频转换,然后利用ARM通过串口将频谱分析结果发送到计算机。分析带宽为040 MHz,分辨率为25kHz。
本文设计了基于FFT的频谱分析仪。其中,主要模块包括射频输入与转换模块、频谱分析模块、ZYNQ PS(处理系统)控制模块、串行传输模块和上位机处理模块。其基本结构如图1所示。
图1系统结构
图2 ad 9361接收框图
图3 ZYNQ PL部分的频谱分析模块
其中,各部分的具体功能如下:
RF的输入模块和转换利用AD9361 RF收发器完成,其中AD9361内置的本振(LO)完成RF信号到中频的转换,ADC完成模数转换,后续的抽取滤波器执行下采样。最后得到采样率为60MSPS的I/Q信号,通过FMC接口送到ZedBoard进行进一步处理。
频谱分析模块由ZYNQ SoC的PL部分完成,主要完成频谱分析仪的频谱计算功能,其中射频输入和转换模块的数据信息通过FMC接口接收,经过时序转换、加窗和FFT转换后,通过DMA发送到ZYNQ SoC的PS模块中的存储空间,供PS部分读写。
ZYPS控制模块是整个模块的控制中心,控制射频输入模块和频谱分析模块。其中,AD9361的控制包括调整AD9361的本振(LO)输出、调整输入通道的低通滤波器带宽、调整增益模式和增益以及调整各级的采样速率。频谱分析模块的控制是:调整FFT点数等。PS模块可以读取光谱数据并将光谱数据传输到网络端口通信模块。该模块在Linux系统下完成,移植到ZYNQ PS上。
串行通信模块:通过该模块,可以将频谱数据从频谱分析仪传输到上位机,或者从上位机传输到频谱分析仪。如果需要高传输速率,可以使用网口进行传输。
上位机处理模块:该模块在上位机中进一步处理、显示和完成利用MATLAB工具得到的光谱数据的谱图。
2系统实施
2.1基于AD9361的射频输入和转换模块。AD9361是系统的射频输入和转换模块,主要完成混频、滤波、模数转换和下采样等预处理。处理后的数字信号通过数字接口送到ZedBoard,由ZYNQ的PL部分进行进一步的信号处理。
如图2所示,它是AD9361的接收通道,完成从射频信号到基带信号的部分。基带信号处理包括两个可编程模拟低通滤波器、一个12位ADC和四级数字下变频滤波器。可以省略每个数字下变频滤波器。I/Q的接收通道相同[4]。根据设计要求,有:增益控制方式和增益、本振、低通滤波系数、各部分采样率、FIR滤波系数等。
图4 ad采集的测量数据
图5 PC接收串行输出数据。
图6光谱仪测试结果
本设计中,各部分系数如下:收发方式:采用FDD的收发方式;增益模式:自动增益模式;LO频率设置:给上位机提供相应的界面,可以根据用户设置的要求;
低通滤波器设置:低通滤波器的3dB带宽为40MHz;
ADC采样时钟频率:480MHz;
HB3/DEC3下采样滤波器:2倍抽取,输出数据采样频率为240MHz;Hb下采样滤波器:2倍抽取,输出数据采样频率为120MHz;HB1下采样滤波器:2倍抽取,输出数据的采样频率为60MHz;
表1频谱分析仪的测试数据
RX FIR滤波器设置:跳过这个FIR滤波器,输出数据的采样频率为60MHz;数字接口:采用LVDS传输方式。该设计可以通过配置AD9361的相关寄存器来实现。以下是AD9361的一些主要寄存器。
地址0x003是AD9361的Rx使能和滤波器控制寄存器,用于控制接收通道的使能和数字寄存器的信息。该寄存器应配置为0X9C,因为使用了FDD的单次触发单次接收模式,HB3、HB2和HB1抽取2倍,并且省略了FIR滤波器。
地址0x005是AD9361的RFPLL分频器寄存器。该寄存器的值可以配置为对VCO进行分频,以获得接收通道的LO频率信息。
地址0x012是AD9361的并行端口配置寄存器,可以配置AD9361的数字接口。本设计采用LVDS的双端口模式,因此该寄存器的值设为0x10。地址0x013是AD9361的ENSM模式寄存器,通过配置该寄存器,可以在FDD状态机和TDD状态机之间转换。
本设计采用FDD模式,因此该寄存器的值为0x01。AD9361的VCO频率相关寄存器的地址是0x231~0x235。这组寄存器中设置的VCO值可以是6GHz~12GHz,经过0x005寄存器中设置的值分频后,它将成为AD9361 RX的LO。计算公式为:
此外,ADI公司提供了基于Xilinx SDK的AD9361控制功能,可用于配置AD9361,简化了AD9361的配置流程,提高了工作效率,提高了配置的精度。
zynq PS与AD9361之间的通信
Zyps通过SPI和GPIO接口与AD9361通信。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之前应采用加窗技术。常见的窗口有汉宁窗口、汉明窗口和高斯窗口。本设计采用8192点汉宁窗,减少信号截断带来的频谱泄漏。
FFT模块对输入数据进行FFT或IFFT变换,得到时域数据的频谱信息或频域数据的时域信息。FFT模块的计算点数为8 ~ 8,192,FFT模块使用Xilinx提供的IP核。
ZYNQ PS模块为频谱分析模块提供控制信息,接收AXI DMA传输的频谱数据。Zyps和AXI GPIO通过AXI4协议传输数据,与AXI DMA通过AXI Lite协议控制信号。AXI流协议用于FFT和DMA之间的数据传输。通过AXI协议在DMA和ZYNQ PS HP接口之间传输,可以有很高的吞吐量和性能,但是需要额外的逻辑资源。
zynq与PC的通信为了方便频谱分析仪的频谱分析和控制,设计参考文献[7]采用串口将频谱分析数据发送到PC,频谱分析数据先通过DMA传输到PS的内存中,再通过串口发送到PC。串口传输速率慢,FFT转换不是连续转换。一旦所有转换后的数据通过串行端口发送,将进行下一次转换。
3系统测试
为了方便观察结果,我们在项目中加入了ILA模块,对AD采集的数据进行监控,如图4,Vivado中硬件管理器中捕获的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,当信号源频率与本振频率之差为20 MHz时,绝对误差约为1dB。经过分析,是AD9361内部的模拟低通滤波器降低了信号,因此产生了误差。
4.总结与展望本文设计并实现了一个基于ZedBoard平台和AD9361射频收发器的简易频谱分析仪。频谱分析仪的核心部件是AD9361和ZedBoard,再加上一台计算机,便宜、方便、可靠。成品可以供个人或小团队使用。如果传输速率较高,可以使用ZedBoard的网络端口将频谱分析后的数据传输到PC。
标签:AD9361频谱模块