资源描述:
《基于fpga的功率均衡ip核设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
学校代码:10255学号:2161287基于FPGA的功率均衡IP核设计与实现THEPOWERBALANCEDOFIPCOREDESIGNANDIMPLEMENTATIONBASEDONFPGA学科专业:电子与通信工程论文作者:顾奕文指导老师:范红答辩日期:2018年5月24日I 基于FPGA的功率均衡IP核设计与实现摘要软件无线电(SDR,SoftwareDefinedRadio)技术是利用软件工具进行编程,硬件来实现的一项通信工程技术,随着信息技术快速发展,外部模拟信号趋于转化为数字信号进行处理,也在快速推动通信行业的发展。传统无线电是专门采用硬件实现的通信工具,由于作用范围比较专一且不灵话,造成各通信行业间存在许多不同的标准及各个系统之间不能共同匹配同时硬件设备更新起来困难,不利于设备与时俱进。在地铁、隧道、偏远郊区等区域,对于广播信号有一定抑制作用,甚至存在盲区。因此需要对每个通道的广播信号进行功率均衡,再经过放大器处理,从而有利于各地区信号的优化发射。针对接收到的广播射频信号,搭建软件无线电系统,对广播信号各个通道的功率进行一定范围的优化。本系统先进行自动增益控制,对广播信号进行手动增益调节,更好地解决以前传统的AGC(AutomaticGenerationControl)控制系统的不足。本文分别从频域II 以及时域二种方法对广播信号功率均衡进行分析。一种是采用构建256点的FFTIP核来进行频域信号的功率均衡;另一种是根据FPGA并行处理能力,采用多路FIRIP核带通滤波器进行滤波,然后通过时域重叠的方法进行功率均衡。对二种方法的延时性比较,分析并选择实现功率均衡最优的方法,以此来改善广播数字信号的传输质量。本项目对于增加广播信号在各个地方的覆盖率,具有很强的实践意义。本文搭建了一个由ADI公司生产的AD9361捷变射频收发器与Xilinx公司的ZedBoard开发板组成的软件无线电系统平台。对于接收的广播射频信号,分别从频域及时域进行分析。利用MATLAB软件进行参数设计,采用Vivado软件设计IP核封装,并且进行波形仿真设计。实验表明FFTIP核时延为2440ns;多路FIR带通滤波器IP核时延为1500ns。运用FFT方法延时太长,所以更倾向于采用时域重叠的方法进行功率均衡。使用搭建的软件无线电平台,对广播信号采取下变频技术下降到零中频,变为数字基带信号,经过频谱分析仪IIO-Oscilloscope读取实验结果。各通道信号功率均衡以及上变频技术后,经过天线TX端发射出去。本文的软件无线电系统较传统的自动增益控制电路而言,具备强大的灵活性和可编程性。对于其它应用的软件无线电系统设计与实现,比如像接收的电视信号,进行更换电视台功率有大有小,就需要进行功率均衡设计也具有一定的参考价值。关键词:软件无线电,带通滤波器,AD9361,IP核,FFTIII THEPOWERBALANCEDOFIPCOREDESIGNANDIMPLEMENTATIONBASEDONFPGAABSTRACTSDR(SoftwareDefinedRadio)technologyisacommunicationengineeringtechnologythatusessoftwaretoolsforprogrammingandhardwaretoimplement.Withtherapiddevelopmentofinformationtechnology,theexternalanalogsignalslowlytendstobedigitized,anditisalsorapidlypromotingcommunication,andindustrydevelopment.Thetraditionalradiocircuitisacommunicationinformationtoolspeciallyimplementedinhardware.Becausethescopeofactionisrelativelyspecificandinflexible,manydifferentstandardsexistinvariouscommunicationindustriesandthesystemscannotbematchedwitheachother.Atthesametime,itisdifficulttoupdatethehardwaredevices.Notconducivetokeepingupwiththetimes.Inareassuchassubways,tunnels,andremotesuburbs,thereisacertaindegreeofinhibitionofbroadcastsignalsorthereisablindspot.Therefore,itisnecessarytoperformpowerequalizationonthedigitalintermediatefrequencysignalsofeachchannelsoastoachieveoptimizedtransmissionofsignalsinvariousregions.ForthereceivedbroadcastRFsignals,asoftwareradiosystemissetuptooptimizethepowerofeachchannelofthebroadcastsignalinacertainrange.Inthispaper,automaticgaincontrolisfirstperformed.Becausetheautomaticgaincontrolsystemadoptedhasprogrammablecapability,manualgainadjustmentofthebroadcastsignalcanbettersolvethedeficienciesoftheconventionalAGC(AutomaticGenerationControl)controlsystem.BecausethebroadcastIFdigitalsignalrequiresreal-timeprocessing,thedelayofthedesignmethodneedstobecompared.Inthispaper,thepowerbalanceofbroadcastsignalisstudiedfromtwoaspectsoffrequencydomainandtimedomain.Oneistousea256-pointFFTIPcoretopowerbalancethesignalinthefrequencydomain.Anothermethodusesmulti-channelFIRIPband-passfiltersforfilteringIV accordingtotheFPGAparallelprocessingcapability,andthenpassesthetime-domainoverlappingmethod.Powerbalance.Tocomparethedelaysofthetwomethods,analyzeandselectthemethodtoachievetheoptimalpowerbalance,inordertoimprovethetransmissionqualityofbroadcastdigitalsignalsandincreasethecoverageofbroadcastsignalsinvariousplaces,whichhasstrongpracticalsignificance.ThispaperbuildsasoftwareradiosystemplatformfortheAD9361agileRFtransceivermanufacturedbyADIandtheZedBoarddevelopmentboardfromXilinx.ForthereceivedbroadcastRFsignals,therearetwokindsofdesignideas,whichareanalyzedfromthefrequencydomainandthetimedomain.UsingMATLABsoftwareforparameterdesign,usingVivadosoftwaretodesigntheIPcorepackage,andwaveformsimulationdesign.ThedelayoftheFFTIPcoreis2440ns,andthedelayoftheIPcoreofthemulti-channelFIRband-passfilteris1500ns.Ifthedelayistoolong,thesignalwillbelostandthesignalwillbediscontinuous.Therefore,thetime-domainoverlapmethodismorepreferredforpowerequalization..Usingthebuiltsoftwareradioplatform,thedown-conversiontechnologyofthebroadcastsignalwasreducedtozero-IFandconvertedtoadigitalbasebandsignal.TheexperimentalresultswerereadbythespectrumanalyzerIIO-Oscilloscope.thepowerbalanceofeachchannelfrequencypointisperformed.Afterbeingupconverted,itistransmittedthroughtheantennaTXend.Thesoftwareradiosystemofthisarticlehasmoreflexibilityandprogrammabilitythanthetraditionalautomaticgaincontrolcircuit.Forotherapplicationsofsoftwareradiosystemdesignandimplementation,hasacertainreferencevalue.Guyiwen(ElectronicandCommunicationEngineering)SupervisedbyFanHongKEYWORDS:Software-definedradio,Bandpassfilter,AD9361,IPCORE,FFTV 基于FPGA的功率均衡IP核设计与实现目录摘要.....................................................................................................................................................IIABSTRACT.......................................................................................................................................IV第一章绪论........................................................................................................................................11.1研究背景和意义.......................................................................................................................11.2软件无线电的介绍...................................................................................................................21.2.1软件无线电的定义.............................................................................................................................21.2.2软件无线电的结构和发展.................................................................................................................31.3国内外研究现状.......................................................................................................................41.3.1国外研究现状.....................................................................................................................................41.3.2国内研究现状.....................................................................................................................................51.4本文主要研究内容...................................................................................................................6第二章中频数字信号接收及发送理论.............................................................................................82.1中频信号接收原理...................................................................................................................82.2数字信号采样定理...................................................................................................................92.2.1奈奎斯特采样....................................................................................................................................92.2.2带通采样原理...................................................................................................................................112.3数字滤波器.............................................................................................................................122.3.1FIR滤波器.......................................................................................................................................132.3.2HB滤波器........................................................................................................................................132.3.3采样率抽取滤波...............................................................................................................................152.4数字变频技术.........................................................................................................................172.5ZYNQZedBoard板卡.............................................................................................................192.6本章小结.................................................................................................................................21第三章RF捷变收发器及系统搭建.................................................................................................223.1AD9361射频捷变收发器.......................................................................................................223.2AD9361内部滤波器...............................................................................................................233.3AD9361模块工作基本原理...................................................................................................253.3.1频率合成器......................................................................................................................................263.3.2接收器与发射器..............................................................................................................................263.4AD9361系统搭建...................................................................................................................273.5本章小结.................................................................................................................................28第四章功率均衡及自动增益控制技术...........................................................................................294.1功率均衡设计框架.................................................................................................................294.1.1FFT功率均衡设计...........................................................................................................................304.1.2时域重叠功率均衡设计...................................................................................................................314.2自动增益控制技术..................................................................................................................32VI 基于FPGA的功率均衡IP核设计与实现4.3AGC实验及分析.....................................................................................................................344.4本章小结.................................................................................................................................37第五章多通道功率均衡IP核设计.................................................................................................395.1系统IP核配置.......................................................................................................................395.2BIN文件设计..........................................................................................................................425.3FFTIP核设计.........................................................................................................................475.4多路带通滤波器的FIRIP核设计.........................................................................................505.5本章小结.................................................................................................................................56第六章多通道功率均衡实现..........................................................................................................576.1低通滤波设计..........................................................................................................................576.2IP核封装设计.........................................................................................................................596.2.1FIRIP核封装...................................................................................................................................596.2.2IP核均衡系统搭建..........................................................................................................................626.3功率均衡实验及结果..............................................................................................................656.3.1频域功率均衡实现...........................................................................................................................656.3.2时域功率均衡实现...........................................................................................................................666.4本章小结.................................................................................................................................69第七章总结与展望..........................................................................................................................717.1本文工作与总结.....................................................................................................................717.2展望.........................................................................................................................................72参考文献............................................................................................................................................73攻读硕士学位期间参加的项目、发表的论文情况........................................................................76致谢....................................................................................................................................................77附录....................................................................................................................................................78VII 基于FPGA的功率均衡IP核设计与实现第一章绪论1.1研究背景和意义当前关于处理国内的广播数字基带信号的研究领域,已经随着软件无线电行[1]业的迅猛发展,信号的传输获得了一些改善与优化。软件无线电的应用研究需要进行不断创新,抑制噪声,提升信噪比。对于接收到的各个频段的广播信号,由于功率不一样,不便于做信号的功率放大。在一些信号被削弱的地方,如地铁,隧道等,对信号功率发射有一定的抑制作用,将导致有些信号可能收不到,有些信号又因为过度增大,超出其功率的最大功率范围使之收不到数字基带信号。随着生活水平的提高,用户对于信号的接收质量要求也越来越苛刻,所以本文需要对各个信道进行一个合理化的均衡,从而达到各个通道最佳接收效果。目前国内的各类无线电信号,功率高低不同,各个通道的功率也就有高有低,就使得多通道的功率均衡成为迫切需要解决的问题。对于各通道不等的信号功率,也就不能通过放大器同时进行放大,使得有些信号经过过度放大超过信号功率可能的动态范围,不利于信号进行优化处理;各通道信号功率太小则信号的信噪比不强。因此需要对接收到各通道信号进行可能的优化均衡。对于卫星通信,移动通信,无线通信,微波射频,蓝牙传输,雷达探测通信,无线WIFI等相关领域的研究均有一定的促进意义。对于射频前端接收到的信号,因为射频接收机的接收性能以及外界因素干扰,直接会导致通信信号的信噪比的降低以及对接收质量产生不良影响。需要设计合适的参数进行相关的调节,控制信号的功率在一定的范围内。由于信号的实时性,所以需要设计一个的硬件控制电路系统。在软件实现方面,设计一定功能的IP核,通过系统布局进行编译算法实现。本文是以上海市广播各个通道的信号为例,设计广播信号的接收与发送机。为避免外部环境的造成干扰,那么最好采取自动增益控制技术对信号功率进行优化调节。该技术随着软件无线电在近些年的飞速发展,已经能够广泛运用到各个研究领域。本文综合分析软件无线电的相关技术和原理框架,根据项目需求的功能采用软硬件协同设计。随着软件无线电器件AD9361射频收发器的快速发展,使得模拟的射频信号变为数字信号进行处理成为可能。该捷变器性能较强,那么根据性能和成本分析,选择了较为合适的软件无线电平台,采用的是ADI公司的AD9361芯片与Xilinx公司的ZYNQ7000系列中ZedBoard处理器组合而成的软件无线电平台设计思路,从而完成SDR平台的搭建。1 基于FPGA的功率均衡IP核设计与实现现如今人们物质生活的大幅度得到改善,人们在地铁或者隧道中也在接收广播信号。对广播数字信号的功率进行均衡,能够让每一个频段的广播信号都能够进行每个频段进行放大和减少,保证各频段的广播信号进行高质量和稳定的传输与接收。本文通过VIVADO开发软件进行IP核设计,然后利用ZYNQ7000系列的ZedBoard开发板进行调试,保证能够让广播信号实现各通道功率均衡化,使得技术人员对广播信号能够更好地接收与等处理。FPGA是并行结构,因此对于项目进展来说,可以充分利用FPGA并行多路的快速处理能力。本文采取对不规则的各频段广播信号功率进行有效的滤波和均衡处理,然后分别从时域和频域二个方面,进行研究和分析及测试,对于均衡后的数字信号后期经过放大器进行处理后,发射优质的模拟信号有一定的研究意义,可以广泛应用各个无线通信领域。本文的内容是根据上海东方明珠传输有限公司和东华大学签订的合作项目“无线射频数字信号自适应处理器”而来的。本项目主要想解决的是优化广播调频信号的功率及其质量,使其达到更好的信号覆盖。设计使用AD9361射频捷变器接收调频的广播信号,通过IIO-Oscilloscope频谱分析软件,进行观察各个广播调频信号,将射频信号转换为数字信号进行处理。经过FPGA的IP设计处理后,按照项目需求进行发射出来,实现各个通道射频信号进行更广泛的传播。相比于传统的通信中继系统,采用的是模拟型电路进行的信号功率改善,只能够对固定的某个频段进行大幅地增幅或者缩减,不利于多个通道进行有效的均衡。本文设计的软件无线电系统具有更好的适应性,及其多变性,方便用户自己进行修改及其改善信道的功率传输,对各类信道均衡化输出发展具有一定的参考价值。1.2软件无线电的介绍软件无线电技术,是针对当时军工无线硬件设备电台单一,又兵种太多,导致不能够很好的交流。美国的Joseph在1992年提出了这一概念,以利于更好地[2]实现各个兵种之间的无线通信的交流,也在很多通信系统中得到了广泛的应用,它实际上就是从原来的固定通信到移动通信,然后模数转换通信的第三次改革而[3]形成的一种靠软件编译,硬件实现的一项新型电子通信技术。目前对于该项技术,还处在慢慢发展阶段,还需要更加进一步做研究与分析。1.2.1软件无线电的定义[4]软件定义的无线电,在如今也称之为软件无线电(SDR,SoftwareDefinedRadio),利用软件来实现的一项通信技术。对于整个系统来说,其本身具有高度2 基于FPGA的功率均衡IP核设计与实现的灵活性和开放性,一旦搭建成功后,在可接受的成本下,可以很方便的给每个用户进行使用,加之容易实施执行。有时候基本上不需要修改硬件,只需要对软件模块参数及系数稍微的进行修改一下或者升级一下软件即可。它的应用比较广泛。在当今日益盛行的信息化发展的时代,例如像雷达、航空、地铁、移动通信、民用、军工研发等多个领域均有涉及。软件无线电是以计算机信息技术为核心的通信系统软硬件研发平台,通过软[4]件编译仿真测试来实施多种不一样的通信功能的一项无线电研发技术。跟以前的硬件无线电通信方式完全不同,能够广泛应用各个通信领域,软件无线电是利用软件开发套件来实现各种通信功能,使需求设备的交互收发功能不再太依靠受[5]制于硬件行业的发展。相比较传统的系统而言,研发成本低廉了太多。技术人员仅需要将每个单独作用的IP模块加载进去总的IP布局中,生成相关数据流让硬件平台实现即可。通过软件编译控制实现许多的通信功能,不单单是靠取硬件,而是软硬结合进行通信功能的实施,比传统的技术更加先进,使得更快的推进各[6]个国内通信行业的进步。1.2.2软件无线电的结构和发展SDR的设计是将射频接收信号模块A/D及D/A转换器尽量去接近天线接收端,从而更容易接收模拟信号。将无线电平台的一些想要实现的工作,在一个开源性、模块化、通用性强的硬件平台上,尽可能多的用软件来实现和控制数字信[7]号的处理与其内部的运算。软件无线电现如今已经成为了移动通信中的关键部分,本文将会建立起一个具有A/D-FPGA-D/A模型的通用的及开放型系统平台,软件无线电平台硬件实物搭建,如图1.1所示。图1.1软件无线电平台实物3 基于FPGA的功率均衡IP核设计与实现整体无线电系统流程,如图1.2所示。天线发送模块数模转换数字上变频FPGA接收模块模数转换数字下变频图1.2软件无线电平台结构伴随各种通信行业的技术发展,传统电路中是采取功能较具有针对性的硬件去实现的通信设备。由于功能针对性强,且不易变化,导致各个通信系统准则和系统之间不能共同匹配,同时更新起来又很艰难,不利于与时俱进,难以跟上时代步伐,对通信行业发展具有阻碍;软件无线电技术则不太相同,可以很方便地去解决这些麻烦,本身可以将不同无线电系统整合在同一个硬件平台框架上。利[8]用软件设计套件实现各种各样的协议编写,充分发挥出软件极其强的可编程性。当前特别多的平台都是依靠于可编程的硬件环境来实现项目功能需求,像可编程门阵列及嵌入式DSP。当然对于现如今这样的硬件平台即使能满足目前高速广播通信对DSP功能及快速的要求,但是编程测试起来还是相对比较复杂的,所以需要不断进步、探索和创新。对于一个相当不错的SDR系统而言,可取之处在于它的技术是由许多技术组合而成的。就比如射频/微波技术、智能天线、数字信号的处理、软件设计、信息传输、信息安全技术等共同组合而成。通过定制各种硬件实现系统功能,尽可能地依靠软件编程、仿真进行检测系统的功能是否正确。搭建一个开放、通用及适合项目要求的无线电系统平台,并且还具备有可重构、灵活多变和多模块化的特点。用户可以根据各个模块进行拼接、修改、更新升级,最后组合成一个完整的软件系统。1.3国内外研究现状1.3.1国外研究现状目前国外的研究状况是为了可以发展到各个国家的国际高度互通交际,美国等西方国家已经在积极的探索研发新产品,不断升级软件应用。软件无线电具有更好的兼容性及可修改性,以此在未来更好的运用在民用方面、军事方面、移动[9]通信、雷达探测、网络互连通信、智能交通、物联网等。在西方国家的一些大型项目中,将软件无线电技术应用到多模多频,融合大多数模拟体制到可进行编程的手机中,能够让其内部自动连接,检测到不同的网4 基于FPGA的功率均衡IP核设计与实现络。不同的软件体系采用适应不同的标准,形成多样化的各类基站,具有高度的灵巧性。为推动着通信行业的发展,SDR技术起到至关重要的作用和影响。在2018年世界移动通信大会(MobileWorldCongress称MWC)中,已经在TCL通讯5G软件终端中频段达到3.5Ghz,开源软件在3.5Ghz频段上,以80Mhz带宽进行演示,实现了5G的主要功能。这个演示环境是亚欧国家最经典的配置环境,无疑是对5G终端产品的研发获得了突飞猛进的进展。相比于当前的4G网络,具有更低的延时,远程高速宽带进行接入、瞬时连接内容、快速访问主页。相信很快TCL通讯就会合作各个子公司管理人员及运营商,不久就会推出新型[10-12]软件无线电的5G产品。关于国外信号的各个通道均衡方面,国外也取得了一定优化发展。如以美国为首的各个西方国家研制了基于电感电容分立元件的自适应滤波器器件。西方国家早期就研究成功了多路信道复用系统,对多通道的信道均衡有一定推进作用。因为国外资源器件丰富,工艺等相关材料先进,接收机性能较强,所以国内信道[13-14]均衡技术研究相对国外要落后不少。1.3.2国内研究现状目前国内的研究现状是传统的技术不能使用于新的各类场合,不具备很强大的兼容性,研发成本也极高。很多研发成果都是固定的,例如像调制方式、波形结构、通信协议。当前应将先进的现代通信关键技术与计算机技术、微电子、内置天线、射频和微波等相关技术融合在一起,需要一定的综合水准。[15]对于SDR的研究,国内还是处在发展阶段,还需要不断的对基带信号进行优化高效的实时处理与软件更新。在近几年,软件行业是比较盛行,更新换代也比较快。从以前的2G网络,到现如今的4G网络,甚至是6GHZ的频段和毫米波频率范围,以及即将到来的5G无线电基站RF(RadioFrequency射频)技术促进了软件无线电的迅猛发展。国内现在根据软件无限电技术的延伸,提出了[16-17]RFMEMS(Micro-Electro-MechanicalSystem,微机电系统)。从技术上来说,包括:第一,由微型机械研发,可变的电容、电感和谐振器共同合并成的一些基础结构单元层面结构;第二,是经由移相器,各类滤波器VCO(Voltage[18]ControlledOscillator,电压控制振荡器)、压控振荡器,部件共同形成的层面;第三,由接收与发射组件,单片机的应用接收,变波束的雷达,相控阵的天线共同组成的应用的层面;最后通过软件无线电进行系统集成硬件后,通过进行编译,升级各类不同的组件,来更新软件无线电系统。片上集成子系统是软件无线电系统器件发展的趋势,一方面由于无线通信系统中具有差异,使得不同系统之间互5 基于FPGA的功率均衡IP核设计与实现相连接,需要灵活多兼容的通信系统去实现,同时依靠软件编程和系统更新升级。另一方面,对于卫星通信而言,由于软件无线电的开放性和灵巧性,可以更好地解决卫星通信设备管理起来比较复杂,更换换代周期长,没办法跟进时代快速发展的步伐。运用软件这个可升级的特点,恰恰就弥补了其中的不足,导致时代不[19]断的在进步,有利于各种通信行业的快速发展。关于各个通道信号的均衡方面,国内对于信号功率均衡、频谱检测、自适应滤波进行了相关研究。国内的成都电子科技大学及华东电子工程研究所对各类信号多通道功率处理也有做过一些研究,像雷达的多通道自适应滤波器设计,当中就有提到设计滤波器对雷达信号进行自适应均衡;另外对多通道广播处理技术进行了研究,针对功率峰值通过DSP处理器件对音频信号进行一定的优化处理。近期国内也对各类微波通信、移动通信、5G、WIFI蓝牙、车联网信道均衡等领域,进行相关的宽带滤波器自适应调节处理,提出了模拟信号转化为数字信号的多信道均衡解决方案。目前国内对于信道均衡技术,还不是太成熟,因此对提高各个信道的信噪比质量、降低错误率、信道均衡的精确度方面进行深入的理论与实践研究,使得各类多通道信号进行更优地传输。本文采用的是ADI公司提供得AD9361的RF射频捷变收发器,进行接收和发送广播射频数字基带信号,对接收的信号做数字下变频处理到零中频,经过各种FIR带通滤波器,让FPGA处理信号完成后,经过数字上变频信号进行发射出去。1.4本文主要研究内容本论文主要研究的是基于AD9361射频捷变收发器以及ZYNQ7000系列ZedBoard开发板的功率均衡IP核的设计及实现。本文通过软件Vivado设计套件IP核来实现各个广播频段的功率均衡,并在频谱分析仪上能够读取优化后的效果。本文的大致安排是这样的。第一章绪论的主要内容是项目的背景及意义,需要完成的内容,然后介绍了软件无线电的由来及其定义,并且对目前国内外软件无线电的大致发展现状及其认识做一个简要的描述。第二章本章节就是对广播中频数字信号的接收及其发送的原理进行分析与介绍。介绍了广播信号的中频数字信号接收原理、采样原理、数字滤波器、FIR低通滤波带通滤波分析、数字下变频、数字上变频等技术,并且对软件无线电平台所采用的开发板ZedBoard做了一些比较详细的介绍和了解,对于后面章节设6 基于FPGA的功率均衡IP核设计与实现计IP提供参数上的计算。第三章本章介绍双发及双射的AD9361射频捷变收发器,介绍对广播数字信号所处信道进行采样,并且进行AD/DA转换,把不需要的带外信号和噪声降低及滤除。选用AD-FMComms3-EBZ开发板,该开发板能够有更加宽广的软件运行平台,并且有着更加高效的双通道板,有利于用户能够更方便地检测收到的广播信号。此外对AD9361软件无线电平台系统进行了SD卡分区及搭建。第四章本章介绍广播射频信号经AD9361转换为下变频数字信号之后,进行各大通道的功率均衡提出简要的介绍及其项目工程IP启动及其设计思路,并介绍了传统的自动增益控制与现如今本论文采用的自动增益控制做了比较,并且提出了功率均衡的二种设计框架,以及功率均衡的设计流程。第五章本章重点介绍芯片ARM跟FPGA的数据流接口设计,采用AXI数据流总线接口进行数据传输。介绍系统级芯片的IP核搭建配置,需要启动的各个文件,FFTIP核设计,FIR多路带通滤波器的IP核设计,采用MATLAB软件进行模拟广播信号的频域及时域方面的仿真分析,对比二种思路的相关延时时间,仿真数据表明,FFT运算延时大不利于数据的实时处理。第六章本章重点介绍低通滤波器设计,IP核带通滤波器例化、封装,分别从时域及频域二种思路的功率均衡设计与实现,让广播数字信号能够得到优化,减少不稳定因素的干扰,并对各个通道信号进行功率均衡化IP核的设计及实现,设计不同的二路带通信号进行信号的峰值均衡,并在IIO-Oscilloscope频谱分析仪上可以看到结果。第七章本章对论文进行总结,总结本文做的一些主要设计及测试工作。提出了对广播数字基带信号功率后期需要改进的地方,以及对未来软件无线电的发展和更新的一些想法和展望。本文对未来研究信号设计相关滤波器有一定的借鉴作用。7 基于FPGA的功率均衡IP核设计与实现第二章中频数字信号接收及发送理论本文设计的中频带通数字信号采样是根据用户所需的数字信号,进行多通道的带通滤波,设置适当的频带宽度,运用合适的带通滤波器,进行各个信道的采样。对采样的数字中频信号进行数字信号处理,更好地兼容需求信号,从而获得到高质量的中频数字信号。如果中频数字信号频率很低,则可能发生镜像干扰,使得信号选择性变得不太好,因此放大器需要保证是稳定的,同时要保证放大倍数,采样率又不能过高。因此还是要适中选择采样率,处理广播数字基带信号。随着现代硬件可编程技术的快速发展,将射频信号转换为中频数字信号进行[20]带通滤波整形,进而使达到功率均衡成为可能。2.1中频信号接收原理作为软件无线电技术的一部分,接收到的射频信号经过A/D转换之后,需要进行大量的数字信号处理。由于受到天线接收质量,以及硬件设备的幅值范围限制等的影响,使得数字信号处理器以及射频采样率最大范围受到限制,或者达不到理想要求,如何充分发挥软件无线电系统的优势,需要技术人员不断努力创新。本文采用的中频信号接收框架如图2.1所示。射频前端乘法多级抽取滤波整形滤波混频器本振频率器sin(WcN)I()n中频D(n)放AD9361振荡控制器FPGA大器cos(WcN)Q()n乘法多级抽取滤波整形滤波器图2.1中频信号接收框架本文采用的是针对天线接收到的射频信号,进行滤波,考虑到采样率过高,不利于处理器进行快速处理。AD9361射频捷变收发器对接收到的广播射频模拟信号进行采样,利用AGC技术,进行自动增益及校准,并将其模拟信号变成为8 基于FPGA的功率均衡IP核设计与实现易于处理的数字信号。对于接收到的数字信号,分为I、Q两路数据流信号,那么接着在Vivado系统套件上对IP核进行设计,拼接合成,实现项目需求相应的各个功能,生成比特流,最后验证实现的功能。2.2数字信号采样定理2.2.1奈奎斯特采样对于一个数字信号,其中带宽限制在(0,wm)要保证其进行线性不失真的传输,并能够重建原信号,要以最少二倍原信号带宽采样,即ws>=2wm进行采样如下图2.2所示。设采样为一个单位冲激响应,其中的采样就为它们相乘的过程,如公式(2-1)所示。ft()ft()()t(2-1)sT奈奎斯特采样过程,如图2.2所示。ft()乘法器ft()ft()()tsTT()t(tnT)图2.2奈奎斯特采样过程设广播信号f(t)的傅里叶变换为F(jw),(最高频率wm)。S(t)为单位脉冲响应。采样原理过程如图2.3所示。由图2.3可知只需要把采样的角频率作为不小于2wm来进行滤波器滤波,就能够将原始信号f(t),进行滤波无失真还原处理。9 基于FPGA的功率均衡IP核设计与实现图2.3采样原理示意图单位脉冲响应为公式(2-2)所示。Anjnwt()tes(2-2)Tn2采样角频率如公式(2-3)所示,公式(2-4)An为脉冲响应的幅值。2w(2-3)sT22AF{()}t(2-4)nTT公式(2-5)为脉冲响应的傅里叶变换。采样过程如公式(2-6)所示。2ws()w(wnws)ws(wnws)(2-5)T11Fjws()Fjw()*ws()wFjw(jwns)(2-6)2Tn2T(2-7)wwsmws=2wm(2-8)由f(t)的傅里叶变换为F(jw),当ws>=2wm时,Fs(jw)才不会发生频谱混叠,信号f(t)可由Fs(jw)通过低通(理想)滤波器恢复还原初始中频数字信号,并且10 基于FPGA的功率均衡IP核设计与实现完成重建,奈氏采样间隔如公式(2-7)所示。最小奈奎斯特采样速率如公式(2-8)所示。奈奎斯特采样定理是模拟信号转化为数字信号最基础的理论,可以让离散的[21]采样值来替代连续的模拟广播信号,是AD/DA广播信号转换的基础,数模转换为后期FPGA做数字信号方面的处理发挥了关键作用,有利于技术开发人员针对模拟信号做处理,再将需要的广播数字射频基带信号进行功率增益放大,并发射出去。2.2.2带通采样原理对于一个数字基带信号,其中带宽限制在(0,wm)相当于其中频谱分布在(0,fm)。为保证其进行线性不失真的传输,可以用奈奎斯特采样定理,通常不需要极高的采样率进行采样,而且也很难以2wm的角频率进行采样,所以使用带通滤波器进行采样。如带宽信号f(t),通带频率为(fl,fm),且(flin_altvoltage0_RX_LO_frequency浏览当前射频带宽:root@analog:/sys/bus/iio/devices/iio:device1#catin_voltage_rf_bandwidth设定射频带宽是22MHz:root@analog:/sys/bus/iio/devices/iio:device1#echo22000000>in_voltage_rf_ba-ndwidth浏览目前的采样频率:root@analog:/sys/bus/iio/devices/iio:device1#catin_voltage_sampling_frenque-ncy设定的采样频率是44MHz:root@analog:/sys/bus/iio/devices/iio:device1#echo44000000>in_voltage_sam-pling_frequency启动好系统后,设计所需的三个系数。频谱分析仪上能够进行检测频段内各个信号的发射及接收情况,系统搭建将在第五章介绍。开启IIO-Oscilloscope,从频谱仪上可看到的广播信号频域波形如图4.6所示。35 基于FPGA的功率均衡IP核设计与实现图4.6广播信号频域波形从频谱分析仪上可以看出,广播信号的功率大小不一,88.4MHz到95.9MHz广播信号功率较强,P0到P10功率峰值范围是-29.31到-40.10dBFS,因此需要对其做一些均衡优化处理。对软件无线电系统进行手动增益控制,增益db不能太大,容易造成超出动态范围导致出现干扰,引发信号失真,太低则动态增益效果不明显。系统默认增益54db,这里采用增益为70db,70db增益效果较为明显,对整个频段的信号功率均衡有一定的优化。手动配置设计自动增益方式,否则将无法修改增益值。root@analog:/sys/bus/iio/devices/iio:device1#echomanual>in_voltage0_gain_c-ontrol_mode浏览目前的增益值:root@analog:/sys/bus/iio/devices/iio:device1#catin_voltage0_hardwaregain修改目前的增益值为70dbroot@analog:/sys/bus/iio/devices/iio:device1#echo70>in_voltage0_hardware-gain手动进行增益调整过后,广播信号的频谱波形,如图4.7所示。36 基于FPGA的功率均衡IP核设计与实现图4.7增益70db的广播信号频谱波形从图4.7中可以看出,增益过后,P0到P10的峰值功率范围缩减为-34.55到-39.12dBFS。相对于未经过AGC调节来说,有了一定的增益效果对各个信道有一定的优化。传统AGC不能实现对各通道功率分别控制,AGC具有自动校准的功能。随时反馈检测信号的功率强度,进行自动衰减或增益,并且具有实时性。AGC可以实现整个频段的功率基本上范围变化不大,对广播信号有一定的优化调节作用,在一定程度上缩小了功率范围。对于每单个信道的均衡,要求还是需要经过设计多个IP核进行有效的均衡处理,在后面章节将会详述。AGC系统对于功率高低不一的数字信号,有一定的改善,对未来处理高低不一的数字信号具有巨大的推动作用。4.4本章小结本章节对本文所采用的两种思路框架进行了汇总,对于采集到的广播信号,可以从时域或者频域两方面来考虑。一方面对AD9361收到的时域信号,进行多通道的FIR带通滤波器IP核设计,另外一方面从频域的方面来分析,把时域数字信号做FFT快速傅里叶变换,转移到频域进行功率的均衡。还介绍了传统的自动增益系统及其等效框图,以及与本文所用的AGC自动增益进行了对比,对比可知。本文采用的AGC结构更加灵活,校准率高,错误率相对比较少,方便37 基于FPGA的功率均衡IP核设计与实现广播数字基带信号的接收与发射,能够使得广播信号的整个功率控制在一定的范围内。AGC不能实现多个通道有效的功率均衡,所以需要多通道的功率均衡化,还需要后期做一定的优化处理。38 基于FPGA的功率均衡IP核设计与实现第五章多通道功率均衡IP核设计5.1系统IP核配置本节主要是PL端的IP核设计,利用Verilog语言设计AXIIP核打开Vivado2016.2,不同版本资源不一样,可能导致无法从SD卡中启动。建立一个空白的工程,选择版本2016.2的hdl文档,手动调用IP。输入TCL指令,cd打开所在文件的IP库,用source命令打开相应的IP核,一个一个IP核的输入,因为后期需要添加处理的IP核,所以需要进行手动的添加每个IP核,进行手动添加需要的IP核,以用来后续的修改,先手动添加AXI总核:axi_ad9361axi_clkgenaxi_dmacaxi_hdmi_txaxi_spdif_txaxi_i2s_adiutil_axis_fifoutil_axis_reasizeutil_clkdivutil_cpackutil_upackutil_rfifoutil_wfifoutil_tdd_syncutil_i2s_mixer添加好IP核后,如图5.1所示,按enter即可,加载AD9361的IP核,共加载十几个需要的IP核,且保证资源source的是_IP.tcl的形式,不然会出现问题,对这些IP核进行一个系统的核相连。cd命令打开projects,打开项目hdl-hdl_2016_r2文件夹中fmcomms2(该射频AD9361类与fmcomms3基本保持一致)类里的zed,指定项目工程,在TCL指令中输入source./zed/project.tcl。如图5.3所示,按enter确认加载。39 基于FPGA的功率均衡IP核设计与实现图5.1AD9361IP核图5.2AXI_CLKIP核通过输入TCL脚本依次加载实现系统功能的十几个IP核,保证每个IP核都调用,加载Project文档,AXI项目工程IP核如图5.3所示。图5.3AXI项目工程IP核加载成功后,对所有AXI总框架IP核进行依次地调用,AXI总框架IP核如图5.4所示。40 基于FPGA的功率均衡IP核设计与实现图5.4AXI总框架IP核打开所有的功能IP核,进行布局布线,生成BIT文件,即可完成项目前期搭建所需要的要求,如图5.5所示。搭建好AD9361模块与ZedBoard的整个AXIIP的系统框架,大概需要半小时左右,系统布局如图5.5所示。从图5.5中绿色打勾的部分可以看出仿真和实现均已经取得成功,表示系统的框架已经搭建成功,Generatebitstream生成了bit文件。ExportHardware导出bit文件,勾选包含bit流文件,导出bit文件如图5.6所示。需要注意的是这是生成工程项目文件,另外还需要加入项目需求设计的FIR/FFTIP核,用来实现系统功能。关于IP核设计部分将在后面几节讲述,最后软件编译系统工程生成BIT流,通过SDK(Softwaredevelopmentkit,软件开发套件)合成BIN文件,通过AD9361上变频技术处理后发射出去。41 基于FPGA的功率均衡IP核设计与实现图5.5系统布局图5.6导出bit文件5.2BIN文件设计搭建系统完成后观察上海地区的广播信号,由5.1节可知,系统布局完成后即可生成bit流。ExportHardware导出bit流,然后LaunchSDK,指定开启路径在本地文件夹中,与bit文件导出的本地路径保持一致,开启软件开发工具SDK如图5.7所示。42 基于FPGA的功率均衡IP核设计与实现图5.7开启SDK生成好的bit流进行打包,需要三个文件:一个是zynq_fsbl.elf;一个是系统system_top.bit;一个是u-boot_zed.elf文件,三个合成为BOOT.bin文件。这个BIN文件就是硬件环境下所需的工程文件。u-boot_zed.elf文件跟板卡型号有关系,本文使用的ZedBoard开发板,其采用的u-boot_zed.elf文件是其相对应的zynq-zed-adv7511-ad9361-fmcomms2-3的u-boot_zed.elf。在SD卡中解压并进行调试,然后将这个文件夹下的设备树文件devicetre.dtb拷贝出来,放在BOOT分区。SD卡要保持工作状态,需要有对应版本对应的ulmage、devicetree.dtb、BOOT.bin三个文件。另外,如果有需要网络,还需要修改IP地址。新建应用工程文件夹,建立zynq_fsbl启动文件,点击file/new/Applicationproject,输入zynq_fsbl,开始创建开启zynq的第一步,创建zynq_fsbl文件,如图5.8所示。43 基于FPGA的功率均衡IP核设计与实现图5.8创建zynq_fsbl文件每一个bit文件对应的各个启动项包不一样,需要进行导入SDK进行配置。选择NEXT后,注意确认选择zynq_fsbl类型,Finish即可完成zynq_fsbl启动文件的配置,可以看到zynq_fsbl.elf出现在Debug的文件夹下,完成配置zynq_fsbl文件,如图5.9所示。44 基于FPGA的功率均衡IP核设计与实现图5.9完成配置zynq_fsbl文件对生成的工程文档bit流进行包装合成,进入SDK中xilinxTOOLs/GreateBOOTimage。对于硬件环路镜像生成,需要注意的是加载顺序不能够出错,一旦顺序出错,可能会导致无法启动SD卡镜像,一定要按照如下进行加载:1.加载zynq_fsbl.elf文件;2.加载system_top.bit文件;3.加载u-boot_zed.elf文件。其中的u-boot_zed.elf文件,可通过SD卡镜像里的zed板卡配套压缩包进行解压到桌面,加载文件路径,CreateImage创建镜像文件。生成BOOT文件完成后,得到的BIN文档进行拷贝。把BOOT.bin拷进SD卡的BOOT分区当中,即可开启ADI-linaro-ubuntu系统,在开启系统时需要确保硬件设备已经搭建好。由于软件编译生成BIT文件需要耗费大量时间,对于IP核设计,需要进行仿真模拟,保证后期拷入SD卡进行测试时能够更准确地进行功率均衡。合成BOOT文件,如图5.10所示。45 基于FPGA的功率均衡IP核设计与实现图5.10合成BOOT文件SD卡各个需求文件都集齐以后,上电如果ZedBoard板卡显示蓝光,说明系统开启成功。ZedBoard与AD9361系统搭建软件无线电系统平台实物,如图5.11所示。46 基于FPGA的功率均衡IP核设计与实现图5.11软件无线电系统平台实物5.3FFTIP核设计当广播数字中继信号在接收和发送时,信号功率大小不一致,且变化大,那么可以从频域的角度着手,FFT(FastFourierTransform,FFT),离散傅里叶变换的一种加速计算算法,可以通过多次乘加器,大大削减运算量降低功耗,一般可分为时域抽取法及频率抽取法二种类型,对于接收到的FIFO模块传送的数据流,可以知道是离散信号,可以运用快速傅里叶变换到频域进行功率均衡,最后进行发射出去。本文自定义封装FFTIP核,采用频率抽取法(Decimation-in-Fr-equency),基-2FFT运算,按奇数偶分解,封装成IP软核,然后加入到系统布局中。首先对广播信号频率进行下变频处理器之后,利用MATLAB进行模拟输入原信号,频率为f1=700000Hz,f2=900000Hz,f3=1700000Hz的sin混合信号进行256点的FFT模拟仿真原信号求得原信号的256点FFT变换的幅度谱仿真波形,如下图5.12所示。47 基于FPGA的功率均衡IP核设计与实现图5.12原信号的时域图做256点FFT变换原信号经过256点的FFT变换取得频谱图,进而用MATLAB进而求得功率谱与频率之间的关系,如图5.13所示。图5.13原信号的功率谱图对软件利用编写Verilog语言,进行设计256点的FFTIP核设计,把设计好的FFTIP核封装成IP核,对其输入信号做256点FFT变换输入一些数字信号值做傅立叶变换,然后通过移位操作来求得平均功率,实现功率均衡。设计256点的FFT的IP核进行对输入信号的功率均衡,建立一个.txt文件,由于广播时域信号下变频之后,收到的都是原信号的数字信号,取值为1813081124121072480121815216270134..,对接收到的原信号的一些数值进行FFT变换之后,采取单信道256点FFT,进行频域采样,FFTIP核的仿真如图5.14所示。48 基于FPGA的功率均衡IP核设计与实现图5.14FFTIP核的仿真仿真图形可以看出clk代表输入时钟,xn_re代表输入信号的数字信号,xk_re代表输出信号的数字信号,可知该设计IP核FFT从频域上处理,实时处理的话,延时时间非常大,延时时间为2420ns。当dv=2420ns时,开始有输出信号,因为dv代表的是输出数据的有效信号,当输出端口xk_re,xk_im存在有效数据时变高。对FFTIP核进行自定义封装,导入到系统布局中,那么软件对时域数字信号进行FFT变换后,得出频率数字信号,对功率信号进行移位操作,求得平均功率,最后求得频域信号的功率均衡。为方便直观分析,把软件中经过功率均衡后处理的数字信号,通过软件生成输出文件.txt文件导入强大的图形分析工具MATLAB中求得功率均衡,如图5.15所示。图5.15软件导出信号功率均衡图对比图5.13可知,基本满足原信号的功率均衡。由于该设计的IP核FFT延时的时间太长,延时2440ns,故该方法不是太适合作为广播信号的及时处理,对广播信号实时处理效果并不太好,可能会导致信号跟不上,造成信号丢失而影49 基于FPGA的功率均衡IP核设计与实现[43]响信号传递可靠性。考虑到FPGA具有超强并行处理的能力,所以本文将重点是来采取另外一种从时域的角度来处理接收到的数字信号,利用时域重叠的方法,采取构建多路IP核FIR带通来进行功率均衡将在下节介绍。5.4多路带通滤波器的FIRIP核设计用MATLAB对输入的频率f1=700000Hz,f2=900000Hz,f3=1700000Hz的sin混合信号进行仿真原信号没有滤波前时域信号,如图5.11所示。(1)广播信号下变频后,中心频率为0.3Mhz,0.5Mhz,0.7Mhz,设计三个带通滤波器的增益响应,如图5.16(a),(b),(c)所示。图5.16(a)0.3Mhz的增益响应图5.16(b)0.5Mhz的增益响应50 基于FPGA的功率均衡IP核设计与实现图5.16(c)0.7Mhz的增益响应(2)信号通过一个采样频率为2200000Hz,带宽为200kHz,由于广播信号经过下变频处理后,中心频率频点较低,设计中心频率为0.3MHz,0.5MHz,0.7MHz的各种带通滤波器,信号经过设计的带通滤波器之后的时域信号,如图5.17(a),(b),(c)所示。图5.17(a)0.3Mhz滤波后的时域图图5.17(b)0.5Mhz滤波后的时域图51 基于FPGA的功率均衡IP核设计与实现图5.17(c)0.7Mhz滤波后的时域图(3)可以用MATLAB对输入信号每一路中心频率(0.3Mhz,0.5Mhz,0.7Mhz)信号进行时域均衡,根据配置不一样的衰减db,经过加法器,以达到均衡功率的目的,如图5.17所示。图5.18每一路信号时域均衡对收到的下变频后的每一路时域信号,进行时域均衡,最后利用积分达到功率均衡。通过对广播时域信号建立多个带通滤波器,设置不同的中心频率利用乘法加法器来进行多路的广播时域信号均衡后,再采用积分器进行求得功率均衡,以此来完成整个功率信号的均衡。在Vivado上进行仿真验证,首先做一个输入的文档命名data_input.txt.文档,那么原信号的一些数值为1813081124121072480121815216270134..的16进制,因Linux下面$readmemh添加绝对路径,那么设置数值为16[44-46]进制,然后进行MATLAB匹配滤波器的系数的设置,FIR数字滤波器设计方法类型主要有三种:Window法,频率采样法和等波纹函数设计方法,为了使广播信号的精确度更高,失真度较小,实时处理强,采用窗函数设计的方法,一定要注意的是精度太高了,那么阶数也会变的很高,导致所占资源也会不少,需要根据实际情况取设计需要的滤波器系数,要做到功率均衡就要设置不同的衰减52 基于FPGA的功率均衡IP核设计与实现db系数。接收的广播原信号下变频之后,以中心频率0.7MHz为例,其他的中心频率同理可设置,那么采样频率Fs=2200000Hz,Rs=0.01的阻带衰减,带通,带阻设计为600000620000780000800000,基于Kaiserord窗函数设计带通滤波器,在MATLAB中利用命令函数FDATOOL调出滤波器,并设置选定好一个带通滤波器,用来生成所需的滤波系数,该滤波器系数用来被Vivado设计FIR的IP核系数的文档,如图5.19所示。图5.190.7Mhz滤波器系数生成设计好多个滤波器之后进行滤波器系数的生成,这里的数据采用的是MATLAB生成的C语言,调用部分输入数据为x,用MATLAB进行数字验证如图5.20所示。53 基于FPGA的功率均衡IP核设计与实现图5.20MATLAB数字验证用Vivado设计IP核FIR的带通滤波器,那么采用MATLAB生成的FIR带通滤波器匹配系数daitong.Coe文件进行设计输入数据,然后输入data_input.txt的数据。成功设计了其中的中心频率为0.7M的FIR带通滤波器的IP核设计,如图5.21所示。根据ADC最高采样速率,系统回路布局的工作时钟为61.44MHz,NumberofChannels设计的是单信道,NumberofPaths设计数量为1条,各单通道时分复用,InputSamplingFrequency代表的是单信道输入频率。ClockFrequency设置的是工作系统时钟。输入一个数据需要的时钟数61.44/61.44=1。插值倍数为1,则输出的频率=61.44*1=61.44MHz。配置单个通道,如图5.21所示。图5.21配置0.7Mhz滤波器系数输入滤波器系数,即可对IP核进行设计,这里的IP核参数选择单通道,对54 基于FPGA的功率均衡IP核设计与实现其接收信号进行仿真滤波,如图5.22所示。图5.22FIR带通滤波器IP设计仿真图5.22的Vivado仿真波形可以中看出延时时间为1500ns,s_axis_data_tdata输入信号的数值是取了原输入信号的有限个16进制的数1813081124121072480121815216270134..,m_axis_data_tdata输出的数值301,2800,...跟MATLAB仿真的数值基本上一致,所以说实现带通滤波器的效果,基本完成了带通的FIR的IP核设计,那么把该中心频率的带通进行IP核的自定义封装,连入系统布局中。根据滤波器特性以及FPGA具有超强并行处理的能力,那么再同理设计另外一个带通滤波器,处理时间相当于处理一路信号的时间,大大节省了FPGA进行信号处理的时间,由此可以设计多个这样的带通滤波器,同理带通带阻设计为200000220000380000400000(中心频率0.3Mhz)的IP核FIR,以及带通带阻设计为400000420000580000600000(中心频率0.5Mhz)的IP核FIR,设计不同的衰减db,对收到的下变频后的每一路时域数字信号经过乘法累加,达到时域均衡,然后通过积分器得到信号功率均衡。从图5.22中看出m_axis_data_tdata输出信号的延时时间为1500ns,而由图5.14可知IP核FFT设计的信号延时时间为2420ns,相比较与IP核FFT的延时时间比较短,所以采用多路FIR带通滤波器IP核来设计对输入的广播信号进行功率均衡是最优的办法。对原输入时域信号输出时域信号的功率均衡后利用Vivado软件生成文件data_output.txt导入软件MATLAB中得到功率均衡的信号,如图5.23所示。55 基于FPGA的功率均衡IP核设计与实现图5.23Vivado导出的功率均衡图通过建立仿真分析可得,对于二种功率均衡的处理方法,建立多路带通滤波器IP核FIR的延时时间要明显小于利用IP核FFT做频域方面来功率均衡的延时时间,所以处理广播信号应该选择多路IP核FIR带通滤波器来实现功率均衡更为有优势,采用牺牲更多的硬件资源为代价换取性能和时间上的优化,比传统的[47]AGC自动增益控制系统要更加的具有灵活性,使得以后对广播数字信号的实时处理性更加的快速,高效。5.5本章小结本章节主要介绍PL端的系统IP核配置,利用AXI总线进行各种IP核的调用及配置。设计BIN文件,设计FFTIP核与各种不同频段的带通滤波FIRIP核,封装求得各个通道的功率均衡化。利用MATLAB模拟广播数字基带信号,并设计滤波器的参数。利用设计套件生成仿真波形,对IP核进行测试,执行逻辑仿真。对接收的数据进行均衡后,导出MATLAB,保证接收的信号的准确性。采用频谱分析仪分析采集到的广播数字信号数据进行系统功能验证。56 基于FPGA的功率均衡IP核设计与实现第六章多通道功率均衡实现6.1低通滤波设计为更好的去除其他频段通道影响,可以采用频谱仪设计低通滤波器滤除高频分量。采用ADI公司的AD9361FilterWizard16.10插件作为设计工具。以采用最大采样数据率61.44MHz进行采样数据,Data数据采样速率至少要是最大截止频率Fstop的二倍以上,不然设计将不能成功。设计一个以最大通过频率Fpass为20.48MHz,Fstop=25.6MHz,的低通滤波器。滤除干扰的超出范围的噪音信号,即滤掉大于21Mhz的外部信号,有便于观察广播射频信号。根据上海地区的广播频段大致范围为87.5-107.9MHz,那么经过AD361数字下变频之后,也就是降低采样频率,频段范围变成在0-21MHz左右的广播数字信号。设计FIR低通滤波器系数,如下图6.1所示。图6.1FIR低通滤波器设计FIR低通滤波器,以及接收与发送端后,可以在该插件中导出频谱分析仪IIO-Oscilloscope所需要的ftr文件;接下来可以载入参数进行频谱分析仪的分析。对于广播数字基带信号,可以设置参数,如图6.2所示。57 基于FPGA的功率均衡IP核设计与实现图6.2频谱分析仪广播频道参数设计根据奈奎斯特采样定理,采样率取信号射频波段的二倍,且广播波段87.5-107.9MHz左右,107.9-87.5=20.4MHz设计的RF射频带宽为22MHz。二倍的采样率为44MHz,最低接收频率设为87.4MHz,接收和发送设计相同。为保证广播信号准确性,DDS(DirectDigitalSynthesizer,直接数字式频率合成器)模式不需要开启。频谱分析仪广播频道参数设计如图6.2所示。这样便可观察到广播数字基带信号。对于频谱仪接收到的广播信号,对其进行低通滤波,方便了解初始的广播信号,针对广播信号功率做均衡化处理。加载低通滤波器ftr12后,执行enable模式,启动低通滤波器,频谱分析仪观测广播信号,如图6.3所示。58 基于FPGA的功率均衡IP核设计与实现图6.3原始广播信号经过低通滤波后从图6.3中可以观察到上海地区的广播信号的功率不是很均衡,需要设计IP核实现各通道功率均衡。对各通道广播信号功率进行一定增益调整,使广播信号功率均衡输出。设计好IP核需要进行封装后接入系统布局中。接下来将介绍自定义封装FIRIP核进行广播数字信号滤波,根据衰减db、各通道中心频率的功率不一致及平均功率来进行功率均衡。6.2IP核封装设计6.2.1FIRIP核封装硬件工程由系统框架生成BIT流需花费大量的时间,一般要跑几十分钟,有[48-50]时甚至需要将近二小时。先通过MATLAB进行理论分析,然后进行滤波器的IP核设计封装,接入系统硬件搭建环境。打开Vivado2016.2,新建FIR工程,选择ZedBoardZYNQEvaluationanddevelopmentkit类型,选择xc7z020clg484-1开发器件,开始设计各个通道的IP核。建立资源文件夹为FIR,输入Verilog语言所需的控制使能来进行控制各个滤波器开启与关闭。设计的Verilog采样代码,如图6.4所示。59 基于FPGA的功率均衡IP核设计与实现图6.4采样控制代码例化一个带通滤波代码,如图6.5所示。图6.5例化代码采样周期设置为每8个数据一个时钟循环,考虑设计多个带通滤波器。滤波器采样频率不宜设计太高,会消耗大量硬件DSP逻辑资源。时钟频率设计为61.44MHz。因为AD9361的芯片对应的输出分频时钟是61.44MHz,采样不能太高会资源不足,采用设计缩小八倍设计,61.44/7.68=8,每8个时钟周期输出一个数据。图6.6FIR带通滤波参数设计60 基于FPGA的功率均衡IP核设计与实现由于滤波器采样率高则对应阶数高,为了尽量节省内部逻辑资源,需要采取尽量小的采样频率,保证系统稳定,采样频率又不宜过低,因此需要要选择合适的采样率,否则系统会提示错误。设计滤波器参数,如图6.6所示。图6.7FIR带通滤波设计框架输入数据位数经FIFO模块输出后为16位,根据结构可知是关于零点对称型结构,输出16位与后面的util_cpackIP核解压缩出四条I、Q通道16位比特数据相连接,设置FIR框架,如图6.7所示。图6.8集成FIR带通滤波器61 基于FPGA的功率均衡IP核设计与实现成功例化好之后,进行封装IP核。因为没有额外添加引脚,所以不需要对原ADI公司的各类引脚进行修改,即设备树文件不做修改。集成FIR带通滤波器如图6.8所示。最后进入tools工具栏进行GreatandPackageIP,将例化好的FIRIP核进行打包操作处理,并完成封装。FIR封装成功如图6.9所示。图6.9FIR封装成功IP核封装成功后,即可在系统工程文件夹中调用已完成封装的源目录文件。按照相同的方法设计多个FIR滤波器,进行系数设置。例化封装后,不同通道修改相关中心频率的系数形成项目所需要求功能的所有IP核。在系统布局中,进行调用IP核,然后进行布局布线,调用AXI核进行连线,把需要的所有IP核加入到系统布局中。6.2.2IP核均衡系统搭建将各个通道的FIR带通滤波IP核;FFTIP核全部放入系统布局的总文件下,封装好IP核。在util_wfifoIP核与util_cpack中加入多路带通滤波器FIRIP核等各个需要的功能IP,并由控制开启口decimator(抽取器)SliceIP连接AD9361模块的GPIO口。封装好的IP连入系统布局中,decimSliceIP的Din端口连接up_adc_gpio_out,另外一端连接各个带通FIR滤波器的decim控制接口。编译并生成BIT流,打包成BIN文件。对于接收信号的测试可以通过Debug的模式来控制,选择器件AD9361读模62 基于FPGA的功率均衡IP核设计与实现式cf9361,选择AXI总线调制方式,decim控制连接的端口采用连接的是up_adc_gpio_out输出,进入该模式read模式输入成0xBC十进制为188,32位线性操作,这是GPIO口进行cf9361输入,当write为1时,启动FIR滤波器进行滤波,各路中心频率采取不同的衰减db,导致功率将有一定改变。对于较大的功率,采取多衰减;对于较小的功率,采取衰减少一点。通过封装加法器进行多路累加实现,多路通道的均衡化输出。图6.10FIR带通滤波器AXI接口控制通过IIO-Oscilloscope频谱分析仪进行分析,开启频谱分析仪各路带通滤波器,如图6.10所示。当进入如图6.10模式下,source选项必须选择AXI_CORE模式,write为0x1进行开启各个带通滤波器,为0x2或者0则关闭所有带通滤波器滤波。频谱分析仪界面具有灵活可控性,方便进行信号的对比及调节。axi_9361IP核接口,有四个输入输出,IQ两路信号,属于对称结构,AD9361IP核,如图6.11所示。63 基于FPGA的功率均衡IP核设计与实现图6.11AD9361IP核从图6.11中可以看到IP核AD9361是双发双射的模型结构,并由valid引脚口进行有效值的控制,enable引脚确保对应的路径使能接收。每一路滤波器的使64 基于FPGA的功率均衡IP核设计与实现能信号均连接AD9361模块的各个接收与发射模块,生成BIT流文件。再通过zynq_fsbl.elf、system.bit、uboot-zed.elf文档三个文件依次添加,生成硬件环境SD卡BOOT分区中需要的BOOT.bin文件,把BIN文件复制到SD卡中完成硬件环境的调试工作,启动无线电系统。6.3功率均衡实验及结果6.3.1频域功率均衡实现采用频谱分析仪接收广播数字信号的频谱图,在未加入FFTIP核时,原始的广播数字频域信号,如图6.12所示。图6.12未处理的频域广播信号加入FFTIP核封装进入到系统布局后,进行布局布线,编译生成bit流。图6.13所示为加入FFTIP核后广播信号的各个通道波形,可以观察到基本上达到广播数字信号功率均衡。这种均衡方法延时比较严重,导致广播信号丢失数据,不利于广播信号的实时处理。65 基于FPGA的功率均衡IP核设计与实现图6.13FFT处理后的广播信号均衡6.3.2时域功率均衡实现经过FFTIP核运算量大,且延时时间太长,不宜于对广播信号做实时处理,失真度较大。采取设计多路带通滤波器IP核,使得每一条带通滤波器的通道达到功率均衡。通过频谱仪查看时域图形,未加多路FIR带通滤波器处理的广播数字时域信号波形,如图6.14所示。为直观分析,这里图像表示采用的是时域的线性lines表示,可以观察到高低不同的线性变化。66 基于FPGA的功率均衡IP核设计与实现图6.14未处理的时域广播信号FIR带通滤波器IP核加入到系统布局中,使得每路通道时域信号功率均衡,处理后的时域均衡的广播信号如图6.15所示。图6.15处理后的时域均衡的广播信号67 基于FPGA的功率均衡IP核设计与实现为方便能够直观的分析广播信号的功率,加入二个不同中心频率的带通滤波器时,其中第一个带通系数通带阻带为【7.8488.28.36】,第二个为【6.8477.27.36】分二个频段所得信号,第三个带通系数通带阻带为【11.841212.212.36】,第四个为【12.841313.213.36】。通频带宽度单位为MHz,分为二个频段所得信号。其中采样频率均为44MHz,开启AXIdecimSliceIP核中的带通滤波器开关,设置写入为1,可以观察到信道频段内p0与p1的频段的功率基本一致,如图6.16所示。图6.16(a)两个带通处理的时域均衡的广播信号由图6.16(a)可知,对中心频率不一致的二个通道做了功率均衡处理,p0代表的是广播中心频率为95.4MHz其功率值为-33.44dBFS;p1代表的是广播中心频率为94.3MHz其功率值为-33.49dBFS。广播信号横轴对应的是零中频信号单位为MHz,纵坐标单位为-dBFS。68 基于FPGA的功率均衡IP核设计与实现图6.16(b)另外两个带通处理的时域均衡的广播信号由图6.16(b)对其另外二个信道做了均衡处理。p0代表的是广播中心频率为99.4MHz其功率值为-33.38dBFS;p1代表的是广播中心频率为98.4MHz其功率值为-33.66dBFS。对于广播信号的功率均衡,采取多个带通均衡进行叠加,以此来达到整个广播信道各个信道的均衡化输出,再通过AD9361的TX端传输发射出去。由图6.16看出滤波器效果较好,满足各信道功率均衡化要求。6.4本章小结本章节先利用内部的滤波器设计套件AD9361FilterWizard16.10设计低通滤波器生成ftr文件,加载到系统环境中,通过频谱分析仪观测波形。对于广播数字信号能够明显看出大于频段内的广播信号下降的效果。在硬件电路方面,设计了各种自定义IP核的软核封装,分别从时域和频域二种思路对广播数字下变频信号进行信号的功率均衡。搭建IP核均衡系统的搭建,加入滤波器decimIP核进行控制数据流,通过频谱分析仪IIO-Oscilloscope配置与分析。对多通道的广播数字信号进行功率均衡化并输出信号,保证发射各个通道的广播数字信号实现功率均衡。对于均衡处理后的广播数字基带信号,再经过DAC数模直接转换和上变频,以及AGC自动控制进行TX端发射出去。经过功率均衡的各通道信号69 基于FPGA的功率均衡IP核设计与实现大大缩减了广播射频信号的功率动态范围,使得后期基站能够更好地进行整体增益或者缩小,保证了信号的高效传输及低噪声的处理发射。与传统的利用模拟电路进行控制增益相比,本文设计的软件无线电系统的接收与发射更具有灵活性及可编程性,并且处理信号性能更优,而且可进行升级。70 基于FPGA的功率均衡IP核设计与实现第七章总结与展望7.1本文工作与总结软件无线电未来发展趋势日趋明朗,对硬件逻辑资源的要求也会越来越高。对于接收到的广播信号设计与发射的精度也越来越高,那需要噪声更小,且动态范围功率变化不大的数字基带信号。这样方便用户进行一些基站覆盖不到的地方能够接收信号,保证广播信号的高质量传输。在本项目设计中,对广播信号功率进行预处理后,建立了一个以AD9361射频模块为收发的软件无线电广播数字基带传输系统。对功率不均衡的数字基带信号做了一些系统优化,保证信号能够通过AXI总线和GPIO口发射功率均衡的各个通道信号。使广播信号能够全面覆盖。对未来收发机需要着重改善的问题,做了一些研究,为数字基带信号的处理提供了设计思路。1.本文研究了当前国内外的软件无线电技术,中频数字中继系统的发展以及数字滤波器设计,分析了传统的自动增益电路,根据项目需要,以及国内外射频信号接收后需要处理的一些问题。2.本文采用AD9361+ZYNQZedBoard的软件无线电架构体系,完成系统的搭建和设计,对于广播数字基带信号,进行了信号处理,并结合当前广播信号存在的一些问题,提出了二种解决思路。一种思路从频域方面,对数据采集到的离散数据做FFT快速傅利叶变换,把其转为频域的数字信号,然后进行移位运算。求得所需的平均功率后,与平均功率相对比,尽量的靠近平均功率,使得频域功率均衡化。经过DAC进行数字上变频后传成模拟信号,通过天线端进行发射,这样也就保证了信号均衡化的输出。对于广播数字信号,另一种设计思路是考虑到FFT变换延时时间比较长,从多通道入手,根据多个频点来进行滤波器设计。设计多个规则不一的带通滤波,对于中心频率不一致,采用乘法累加的操作。对广播数字基带信号进行功率均衡,对应不同的中心频率,采用设计不一样的滤波器系数。利用强大的MATLAB工具,生成相对合适的.COE文件;例化给每个不同FIR带通滤波器。采用Verilog代码设计、仿真、测试、封装生成所需的FIR自定义软核。接入系统框架中,进行布局布线,生成BIT流文件并导出,最后与zynq_fsbl.elf、u-boot_zed.elf文件打包形成BIN文件,这样系统的硬件环境就搭建完成。硬件搭建完成,把BOOT.bin文件复制到Linux系统的BOOT分区下,保证BOOT分区下的版本镜像ulmage、devicetree.dtb一致,启动软件无线电的均衡化系统。71 基于FPGA的功率均衡IP核设计与实现3.本文完成了对广播信号各个通道的收发功能实现,通过对嵌入式系统的开发设计,对接收到的广播数字基带信号进行一定的优化,分别从时域以及频域分析了数字基带信号的功率,完成了各个FIR带通滤波器IP核和FFTIP核的相关设计。由于FFT运算延时较长,不适合实时处理,所以设计多路带通进行均衡。以两路中心频点的带通滤波器为例,设计了两个不同中心频点的滤波进行双通道均衡,封装好各类IP,加入到软件无线电的系统框架中。进行布局布线,成功搭建无线电系统。通过TX端的射频天线进行发射,有利于后期基站技术人员对于各个通道的广播信号进行整个频段的增益。使广播信号可以更加高效的发射给用户,而尽可能地减少噪声,对广播数字中频信号处理具有一定的推动作用。7.2展望软件无线电的发展,近年来一直都比较热门,也就意味着未来会有更大容量的处理器芯片,其内部逻辑资源更强,能够设计更加高阶及精确度更高的各类滤波器,对系统的噪声可以做到更进一步减小。对系统接收的信号功率均衡度更高,能够有更加多的逻辑资源器件,使广播信号的性能方面能够更优质,数字信号的动态可调控范围更加平均化。对于以后在5G无线宽带、车联网、物联网、移动通信、频谱检测、多通道信道均衡领域设计各类滤波器,对频谱检测与实现高精度均衡,也有一定的积极促进作用。对于接收机发射可以实现多个通道并行,希望未来能够开发出合适的硬件搭建平台,实现大众化,尽可能降低器件成本。传输功率均衡的广播数字信号,使得信号接发机能够大众化。未来日常能够听到更加优质的广播各个通道信号,大规模地提高广播信号的信噪比,使各通道信号的输出功率能够基本上一致,增强各类信号传输质量。72 基于FPGA的功率均衡IP核设计与实现参考文献[1]郜泽,基于AD9361的软件无线电硬件平台设计与实现[D].成都:电子科技大学,2015:21-25.[2]张孝龙,基于FPGA的软件无线电上下变频技术的研究与设计[D].南京:南京邮电大学,2013:34-37.[3]陆迎光,软件无线电理论研究及中频软件无线电接收机子系统分析[D].上海:东华大学,2004:67-69.[4]陈卓,基于FPGA的软件无线DDC设计[D].成都:成都理工大学,2008:12-15.[5]饶玲俐.基于GUNradio和RTLSDR软件无线电的广播解调接收[D].武汉:华中科技大学,2015:45-48.[6]王立冬,软件无线电理论研究与软件无线电侦察接收机设计[D].沈阳:东北大学,2006:9-13[7]韩韬,软件无线电数字下边频的研究及系统仿真[D].吉林:吉林大学,2006:4-8.[8]白武齐,基于软件无线电的硬件设计与调试[D].西安:西安电子科技大学,2008:36-39.[9]马敏,中频软件无线电接收机解决方案[D].武汉:武汉理工大学,2013:9-15.[10]郭晓宇,基于FPGA的FIR数字滤波器的研究与分析[D].武汉:武汉大学,2004:680-689.[11]ShaoyongGuo,SujieShao,XuesongQiu,HuiYang.CrossStratumResourcesProtectioninFog-Computing-basedRadiooverFiberNetworksfor5GServices[J].OpticalFiberTechnology,2017.[12]IWayanMustika,RadioQomsrrullah,Selo.PerformanceevaluationofMIMO-OFDMsystemusingquadratureamplitudemodulationbasedonSDRplatform[J].IEEE,16October,2017.[13]AhmedKamaleldin,AhmedMohamed,AhmedNagy,etc.Designguidelinesforthehigh-speeddynamicpartialreconfigurationbasedsoftwaredefinedradioimplementationsonXilinxZynqFPGA[J].IEEE,2017.[14]TPitchaiah,PSowmya,PVSridevi.ASICrealizationofFIRdigitalfilters—Acomparisionstudyofpower,areaanddelayforvariousarchitecures[J].10thIEEE,2015:22-23.[16]RNivin,JSheebaRani,PVidhya.DesignandhardwareimplementationofreconfigurablenanosatellitecommunicationsystemusingFPGAbasedSDRforFM/FSKdemodulationandBPSKmodulation[J].10thIEEE,2016:1-6.[17]AliAlGhouwaye,YvesLouet.FPGAimplementationofareconfigurablefftformulti-standardsystemsinsoftwareradiocontext[J].IEEETransactionsonConsumerElectronics(Volume:55,Issue:2,May2009).[18]UmarFarooq,MuhammadSaleem,HabibullahJamal.DesignMethodologyofFIRFilteringIPCoresfordspbasedSystems[J].9thInternationalMultitopicConference,IEEEINMIC73 基于FPGA的功率均衡IP核设计与实现2005:1-5.[19]陶玉柱,胡建旺,崔佩璋.软件无线电技术综述[J].通信技术.2011,2:805-807.[20]丁鹏仁,基于ZYNQ的软件无线电平台设计与实现[D].北京:北京邮电大学报,2015:46-49.[21]刘彦刚,一种基于FPGA的软件无线电平台设计与实现[D].成都:电子科技大学,2016.1:243-246.[22]LengJianWei,XuQiongQiong.Realizationof1024pointsfastFouriertransformbasedonFPGAIPcore[J].EI,1996,12:26-29.[23]DengZhilong,LiuLiyan,JingRuijun,JiLitao.DopplervelocimetrysystemdesignandFPGArealization[J].EI,2014.3:15-16.[24]杨勋.软件无线电中上下变频技术的设计与实现[D].西安:西安电子科技大学,2007:13-15.[25]DaSilva,AlexandreIngles,Pereira,FabioDacencio.Anbased-FPGAdynamicpowermanagementtechniqueforwirelesssensornetwork[J].EI,2014:21-22.[26]Martínez,JJavier,Toledo,FJavier,Garrigós,FJavier.FPGAimplementationofanarea-timeefficientFIRfiltercoreusingaself-clockedapproach[J].EI,2005,7:124-126.[27]FrickVincent,Dadouche,Foudil,Berviller,AdjustableNyquist-rateSystemforSingle-BitSigma-DeltaADCwithAlternativeFIRArchitectur[J].EI,2016,7:116-121.[28]Farooq,Umar,Saleem,Muhammad,Jamal,Habibullah.DesignmethodologyofFIRfilteringIPcoresfordspbasedsystems[J].EI,2005(36):2612-2616.[29]邱鑫垚.基于ZYNQ的软件无线电平台的设计与实现[D].哈尔滨工业大学.2016,6:135-137.[30]Baklouti,Mouna,AbidMohamed,MarquetPhilippe.IPbasedconfigurableSIMDmassivelyparallelSoC[J].EI,2010.10:5-6.[31]LiShizhuan,OuJun,WuQingxiu.AfastFFTIPcoredesignbasedonparallelcomputing[J].EI,2011.7:11-12.[32]WangS.Y,ZhouR,NiuLH.DesignandrealizationoftheFFTprocessorbasedonFPGAIPcore[J].EI,2008.5:16-17.[33]曹爱玲,基于soc的数字中频信号的功率均衡处理[D].上海:东华大学,2015.[34]费丹,熊磊,吴建强.基于软件无线电的无线信道仿真仪设计与实现[J].仪器仪表学报,2013,4:77-81.[35]陈镜,曹芳菊.基于IP核的滤波器复用模块的设计与实现[J].无线电工程与设计.2010,3:271-276.[36]NejedlyPetr,PlesingerFilip,HalamekJosef.ASignalPlantlibraryforGPU-acceleratedFFT74 基于FPGA的功率均衡IP核设计与实现andFIRfiltering[J].EI,2017.8:34-36.[37]ZhuRui,Yadama,Vikram.IsolationandCharacterizationofCelluloseMicro/NanofibrilsfromDouglasFir[J].EI,2017.3:21-23.[38]AlamSyed,Asad,GustafssonOscar.Implementationoftime-multiplexedsparseperiodicFIRfiltersforFRMonFPGAs[J].EI,2011.1:6-8.[39]唐俊,基于SoC的无线调频广播数字中继系统的设计与研究[D].上海:东华大学,2016.[40]喻庆华,司锡才,冯策,甘桂兰.基于IP核的FIR滤波器在数字正交变换中的应用[J].视频应用工程.2009,10:98-101:99-103.[41]王紫婷,郭海丽.基于Matlab/Simulink的数字滤波器IP核的设计与实现[J].兰州交通大学学报.2008,4:73-75.[42]Aranda,LuisAlberto,Reviriego,Pedro,etc.AComparisonofDualModularRedundancyandConcurrentErrorDetectioninFiniteImpulseResponse(FIR)FiltersImplementedinSRAM-basedFPGAsthroughFaultInjection[J].EI,2008.5:16-17.[43]ZengGuigen,RenJiangzhe.DesignandimplementationofconfigurableFFT/IFFTsoft-corebasedonFPGA[J].2012,7:11-12.[44]余琳,黄光明,基于FPGA的FIR滤波器性能研[J].电子设计工程,2011:55-57.[45]赵颖,刘祖深.基于FPGA-IPCore的64阶滤波器的设计[J].国外电子测量技术.2013,6:63-64.[46]FoxTW,Carreira,ATurner,LE.Thedesignoflow-powerfixed-pointFIRdifferentiatorIPblocks[J].EI,2003,11:21-24.[47]张俊涛,付芳琪,曹梦娜.基于VivadoHLS的FFTIP核设计与实现[J].电子器件,2016:89-93.[48]Frick,Vincent,Dadouche,Foudil,Berviller,Hervé.AdjustableNyquist-rateSystemforSingle-BitSigma-DeltaADCwithAlternativeFIRArchitecture[J].EI,2016:234-245.[49]BoghossianB,VelastinS.I.EfficientParallelizationofPolyphaseArbitraryResamplingFIRFiltersforHigh-SpeedApplications[J].EI,2016,32(9):261-264.[50]郭勇,杨欢.基于IP核FIR滤波器的设计与FPGA实现[J].无线电工程.2016:320-332.75 基于FPGA的功率均衡IP核设计与实现攻读硕士学位期间参加的项目、发表的论文情况一、参与项目无线射频数字信号自适应处理器,上海东方明珠传输有限公司和上海东华大学签订的合作开发项目。2017.9-2018.5二、发表与已录用论文顾奕文,范红,严杰,倪林,肖敏,基于FPGA的功率均衡IP设计方法研究,计算机与数字工程已录用。MinXiao,HongFan,HaiquanMa,YiwenGu,Researchonmultispectralimagecompression,2017,ChineseAutomationCongress(CAC),IEEEConferences三、申请专利已受理发明专利一种指纹识别IC交通卡及其服务系统,范红,马海全,石健,顾奕文,肖敏,许武军,受理号:201610848124.4一种便携式方法及设置,范红,肖敏,顾奕文,温佳静,张爱平,夏天,受理号:201810434532.476 基于FPGA的功率均衡IP核设计与实现致谢本次论文的编写是在范红老师,倪林老师,严杰工程师的共同指导下完成的。范红老师是一个极其优秀的指导老师,非常耐心的指导在项目论文种种存在的一些问题,及指导相关意见。十分感谢老师这二年来对学习和生活上的关心与帮助,在学习和生活中,遇到麻烦,老师也能及时的排忧解难。基本上是每周二开一次组会会议,交流一下,这周的安排及下一周的相关打算,对项目的研究也是细致入微,倪林老师是该项目的负责老师,在项目的设计与实现的过程中提供了许多的宝贵意见,热心的回答各种遇到的困惑。同时也要感谢严杰老师,严杰老师是高级工程师,也非常耐心对项目进行支持和教导,解答各种疑惑,让我对项目的操作流程及所需的软硬件有所认识,对项目帮助很多。多次在公司做实验,严老师也是依靠他的经验和知识帮我解决了不少比较头痛的问题,在此非常的感谢老师的教诲。接触到该项目二年来,碰到一些问题觉得无法下手的时候,范老师总是鼓励我不要灰心,好好加油努力,非常理解和包容,感到很庆幸,认识一位这么出色的导师,是很好的运气。还要感谢室友在宿舍对项目的帮忙和支持,在搭建系统的时候,提出了许多看法,并且教会了许多的软件方面的应用,受益匪浅。另外感谢自己的父母,不辞辛苦让自己来学校刻苦钻研,使得自己有机会能够学到那么多好的教育资源,心中满怀感激之情,非常感谢父母的养育之恩。最后感谢在百忙中,能够前来参与审查论文的各个老师,及参与答辩的各个评审老师。77 基于FPGA的功率均衡IP核设计与实现附录1.HB滤波器:模块代码:fs=16e3;n=0:10238;x=sin(2*pi*1e3/fs*n);b=firhalfband(18,0.00245,'dev');impz(b);h=mfilt.firdecim(2,b)figurey_fi=filter(h,x);x=double(x);y=double(y_fi);y=y/max(abs(y));stem(n(1:44)/fs,x(1:44),'r');xlabel('time(s)');ylabel('inputsignal');holdonfigurestem(n(1:2:44)/fs,y(5:26),'filled');xlabel('time(s)');ylabel('signalvalue');2.单个FIR滤波器:模块代码:moduleFIR(inputaclk,inputs_axis_data_tvalid,outputs_axis_data_tready,input[15:0]channel_0,inputdecimate,outputm_axis_data_tvalid,output[15:0]m_axis_data_tdata);wire[15:0]s_axis_data_tdata;wirem_axis_data_tvalid_s;wire[15:0]m_axis_data_tdata_s;assigns_axis_data_tdata={channel_0};assignm_axis_data_tvalid=(decimate==1'b1)?m_axis_data_tvalid_s:s_axis_data_tvalid;assignm_axis_data_tdata=(decimate==1'b1)?{m_axis_data_tdata_s[14:0],1'b0}:{channel_0};78 基于FPGA的功率均衡IP核设计与实现fir_decimdecimator(.aclk(aclk),.s_axis_data_tvalid(s_axis_data_tvalid),.s_axis_data_tready(s_axis_data_tready),.s_axis_data_tdata(s_axis_data_tdata),.m_axis_data_tvalid(m_axis_data_tvalid_s),.m_axis_data_tdata(m_axis_data_tdata_s));endmoduleAD9361IP:模块代码:moduleaxi_ad9361#(//parametersparameterID=0,parameterMODE_1R1T=0,parameterDEVICE_TYPE=0,parameterTDD_DISABLE=0,parameterCMOS_OR_LVDS_N=0,parameterADC_DATAPATH_DISABLE=0,parameterADC_USERPORTS_DISABLE=0,parameterADC_DATAFORMAT_DISABLE=0,parameterADC_DCFILTER_DISABLE=0,parameterADC_IQCORRECTION_DISABLE=0,parameterDAC_IODELAY_ENABLE=0,parameterDAC_DATAPATH_DISABLE=0,parameterDAC_DDS_DISABLE=0,parameterDAC_USERPORTS_DISABLE=0,parameterDAC_IQCORRECTION_DISABLE=0,parameterIO_DELAY_GROUP="dev_if_delay_group")(//physicalinterface(receive-lvds)inputrx_clk_in_p,inputrx_clk_in_n,inputrx_frame_in_p,inputrx_frame_in_n,input[5:0]rx_data_in_p,input[5:0]rx_data_in_n,//physicalinterface(receive-cmos)inputrx_clk_in,inputrx_frame_in,79 基于FPGA的功率均衡IP核设计与实现input[11:0]rx_data_in,//physicalinterface(transmit-lvds)outputtx_clk_out_p,outputtx_clk_out_n,outputtx_frame_out_p,outputtx_frame_out_n,output[5:0]tx_data_out_p,output[5:0]tx_data_out_n,//physicalinterface(transmit-cmos)outputtx_clk_out,outputtx_frame_out,output[11:0]tx_data_out,//ensmcontroloutputenable,outputtxnrx,//transmitmaster/slaveinputdac_sync_in,outputdac_sync_out,//tddsyncinputtdd_sync,outputtdd_sync_cntr,//delayclockinputdelay_clk,//masterinterfaceoutputl_clk,inputclk,outputrst,//dmainterfaceoutputadc_enable_i0,outputadc_valid_i0,output[15:0]adc_data_i0,outputadc_enable_q0,outputadc_valid_q0,output[15:0]adc_data_q0,outputadc_enable_i1,outputadc_valid_i1,output[15:0]adc_data_i1,outputadc_enable_q1,outputadc_valid_q1,80 基于FPGA的功率均衡IP核设计与实现output[15:0]adc_data_q1,inputadc_dovf,inputadc_dunf,outputadc_r1_mode,outputdac_enable_i0,outputdac_valid_i0,input[15:0]dac_data_i0,outputdac_enable_q0,outputdac_valid_q0,input[15:0]dac_data_q0,outputdac_enable_i1,outputdac_valid_i1,input[15:0]dac_data_i1,outputdac_enable_q1,outputdac_valid_q1,input[15:0]dac_data_q1,inputdac_dovf,inputdac_dunf,outputdac_r1_mode,//axiinterfaceinputs_axi_aclk,inputs_axi_aresetn,inputs_axi_awvalid,input[31:0]s_axi_awaddr,input[2:0]s_axi_awprot,outputs_axi_awready,inputs_axi_wvalid,input[31:0]s_axi_wdata,input[3:0]s_axi_wstrb,outputs_axi_wready,outputs_axi_bvalid,output[1:0]s_axi_bresp,inputs_axi_bready,inputs_axi_arvalid,input[31:0]s_axi_araddr,input[2:0]s_axi_arprot,outputs_axi_arready,outputs_axi_rvalid,output[31:0]s_axi_rdata,81 基于FPGA的功率均衡IP核设计与实现output[1:0]s_axi_rresp,inputs_axi_rready,//gpioinputup_enable,inputup_txnrx,input[31:0]up_dac_gpio_in,output[31:0]up_dac_gpio_out,input[31:0]up_adc_gpio_in,output[31:0]up_adc_gpio_out);//derivedparameterslocalparamADC_USERPORTS_DISABLE_INT=(ADC_DATAPATH_DISABLE==1)?1:ADC_USERPORTS_DISABLE;localparamADC_DATAFORMAT_DISABLE_INT=(ADC_DATAPATH_DISABLE==1)?1:ADC_DATAFORMAT_DISABLE;localparamADC_DCFILTER_DISABLE_INT=(ADC_DATAPATH_DISABLE==1)?1:ADC_DCFILTER_DISABLE;localparamADC_IQCORRECTION_DISABLE_INT=(ADC_DATAPATH_DISABLE==1)?1:ADC_IQCORRECTION_DISABLE;localparamDAC_DDS_DISABLE_INT=(DAC_DATAPATH_DISABLE==1)?1:DAC_DDS_DISABLE;localparamDAC_USERPORTS_DISABLE_INT=(DAC_DATAPATH_DISABLE==1)?1:DAC_USERPORTS_DISABLE;localparamDAC_DELAYCNTRL_DISABLE_INT=(DAC_IODELAY_ENABLE==1)?0:1;localparamDAC_IQCORRECTION_DISABLE_INT=(DAC_DATAPATH_DISABLE==1)?1:DAC_IQCORRECTION_DISABLE;//internalregistersregadc_valid_i0_int='d0;regadc_valid_q0_int='d0;regadc_valid_i1_int='d0;regadc_valid_q1_int='d0;reg[15:0]adc_data_i0_int='d0;reg[15:0]adc_data_q0_int='d0;reg[15:0]adc_data_i1_int='d0;reg[15:0]adc_data_q1_int='d0;regdac_valid_i0_int='d0;regdac_valid_q0_int='d0;regdac_valid_i1_int='d0;regdac_valid_q1_int='d0;regup_wack='d0;regup_rack='d0;reg[31:0]up_rdata='d0;//internalclocksandresetswireup_clk;wireup_rstn;82 基于FPGA的功率均衡IP核设计与实现wiremmcm_rst;wiredelay_rst;//internalsignalswireadc_ddr_edgesel_s;wireadc_valid_s;wireadc_valid_i0_s;wireadc_valid_q0_s;wireadc_valid_i1_s;wireadc_valid_q1_s;wire[15:0]adc_data_i0_s;wire[15:0]adc_data_q0_s;wire[15:0]adc_data_i1_s;wire[15:0]adc_data_q1_s;wire[47:0]adc_data_s;wireadc_status_s;wiredac_clksel_s;wiredac_valid_s;wire[47:0]dac_data_s;wiredac_valid_i0_s;wiredac_valid_q0_s;wiredac_valid_i1_s;wiredac_valid_q1_s;wiredac_data_i0_s;wiredac_data_q0_s;wiredac_data_i1_s;wiredac_data_q1_s;wire[12:0]up_adc_dld_s;wire[64:0]up_adc_dwdata_s;wire[64:0]up_adc_drdata_s;wire[15:0]up_dac_dld_s;wire[79:0]up_dac_dwdata_s;wire[79:0]up_dac_drdata_s;wiredelay_locked_s;wireup_wreq_s;wire[13:0]up_waddr_s;wire[31:0]up_wdata_s;wireup_wack_rx_s;wireup_wack_tx_s;wireup_rreq_s;83 基于FPGA的功率均衡IP核设计与实现wire[13:0]up_raddr_s;wire[31:0]up_rdata_rx_s;wireup_rack_rx_s;wire[31:0]up_rdata_tx_s;wireup_rack_tx_s;wireup_wack_tdd_s;wireup_rack_tdd_s;wire[31:0]up_rdata_tdd_s;wiretdd_enable_s;wiretdd_txnrx_s;wiretdd_mode_s;wiretdd_tx_valid_s;wiretdd_rx_valid_s;wiretdd_rx_vco_en_s;wiretdd_tx_vco_en_s;wiretdd_rx_rf_en_s;wiretdd_tx_rf_en_s;wire[7:0]tdd_status_s;wireup_drp_sel;wireup_drp_wr;wire[11:0]up_drp_addr;wire[31:0]up_drp_wdata;wire[31:0]up_drp_rdata;wireup_drp_ready;wireup_drp_locked;//signalnamechangesassignup_clk=s_axi_aclk;assignup_rstn=s_axi_aresetn;//processorreadinterfacealways@(negedgeup_rstnorposedgeup_clk)beginif(up_rstn==0)beginup_wack<='d0;up_rack<='d0;up_rdata<='d0;endelsebeginup_wack<=up_wack_rx_s|up_wack_tx_s|up_wack_tdd_s;up_rack<=up_rack_rx_s|up_rack_tx_s|up_rack_tdd_s;up_rdata<=up_rdata_rx_s|up_rdata_tx_s|up_rdata_tdd_s;end84 基于FPGA的功率均衡IP核设计与实现end//deviceinterfacegenerateif(CMOS_OR_LVDS_N==1)beginassigntx_clk_out_p=1'd0;assigntx_clk_out_n=1'd1;assigntx_frame_out_p=1'd0;assigntx_frame_out_n=1'd0;assigntx_data_out_p=6'h00;assigntx_data_out_n=6'h3f;assignup_drp_rdata=32'd0;assignup_drp_ready=1'd0;assignup_drp_locked=1'd1;axi_ad9361_cmos_if#(.DEVICE_TYPE(DEVICE_TYPE),.DAC_IODELAY_ENABLE(DAC_IODELAY_ENABLE),.IO_DELAY_GROUP(IO_DELAY_GROUP))i_dev_if(.rx_clk_in(rx_clk_in),.rx_frame_in(rx_frame_in),.rx_data_in(rx_data_in),.tx_clk_out(tx_clk_out),.tx_frame_out(tx_frame_out),.tx_data_out(tx_data_out),.enable(enable),.txnrx(txnrx),.rst(rst),.clk(clk),.l_clk(l_clk),.adc_valid(adc_valid_s),.adc_data(adc_data_s),.adc_status(adc_status_s),.adc_r1_mode(adc_r1_mode),.adc_ddr_edgesel(adc_ddr_edgesel_s),.dac_valid(dac_valid_s),.dac_data(dac_data_s),.dac_clksel(dac_clksel_s),.dac_r1_mode(dac_r1_mode),.tdd_enable(tdd_enable_s),85 基于FPGA的功率均衡IP核设计与实现.tdd_txnrx(tdd_txnrx_s),.tdd_mode(tdd_mode_s),.mmcm_rst(mmcm_rst),.up_clk(up_clk),.up_enable(up_enable),.up_txnrx(up_txnrx),.up_adc_dld(up_adc_dld_s),.up_adc_dwdata(up_adc_dwdata_s),.up_adc_drdata(up_adc_drdata_s),.up_dac_dld(up_dac_dld_s),.up_dac_dwdata(up_dac_dwdata_s),.up_dac_drdata(up_dac_drdata_s),.delay_clk(delay_clk),.delay_rst(delay_rst),.delay_locked(delay_locked_s));endendgenerategenerateif(CMOS_OR_LVDS_N==0)beginassigntx_clk_out=1'd0;assigntx_frame_out=1'd0;assigntx_data_out=12'd0;assignup_adc_drdata_s[64:35]=30'd0;assignup_dac_drdata_s[79:50]=30'd0;axi_ad9361_lvds_if#(.DEVICE_TYPE(DEVICE_TYPE),.DAC_IODELAY_ENABLE(DAC_IODELAY_ENABLE),.IO_DELAY_GROUP(IO_DELAY_GROUP))i_dev_if(.rx_clk_in_p(rx_clk_in_p),.rx_clk_in_n(rx_clk_in_n),.rx_frame_in_p(rx_frame_in_p),.rx_frame_in_n(rx_frame_in_n),.rx_data_in_p(rx_data_in_p),.rx_data_in_n(rx_data_in_n),.tx_clk_out_p(tx_clk_out_p),.tx_clk_out_n(tx_clk_out_n),.tx_frame_out_p(tx_frame_out_p),.tx_frame_out_n(tx_frame_out_n),86 基于FPGA的功率均衡IP核设计与实现.tx_data_out_p(tx_data_out_p),.tx_data_out_n(tx_data_out_n),.enable(enable),.txnrx(txnrx),.rst(rst),.clk(clk),.l_clk(l_clk),.adc_valid(adc_valid_s),.adc_data(adc_data_s),.adc_status(adc_status_s),.adc_r1_mode(adc_r1_mode),.adc_ddr_edgesel(adc_ddr_edgesel_s),.dac_valid(dac_valid_s),.dac_data(dac_data_s),.dac_clksel(dac_clksel_s),.dac_r1_mode(dac_r1_mode),.tdd_enable(tdd_enable_s),.tdd_txnrx(tdd_txnrx_s),.tdd_mode(tdd_mode_s),.mmcm_rst(mmcm_rst),.up_clk(up_clk),.up_enable(up_enable),.up_txnrx(up_txnrx),.up_adc_dld(up_adc_dld_s[6:0]),.up_adc_dwdata(up_adc_dwdata_s[34:0]),.up_adc_drdata(up_adc_drdata_s[34:0]),.up_dac_dld(up_dac_dld_s[9:0]),.up_dac_dwdata(up_dac_dwdata_s[49:0]),.up_dac_drdata(up_dac_drdata_s[49:0]),.delay_clk(delay_clk),.delay_rst(delay_rst),.delay_locked(delay_locked_s),.up_drp_sel(up_drp_sel),.up_drp_wr(up_drp_wr),.up_drp_addr(up_drp_addr),.up_drp_wdata(up_drp_wdata),.up_drp_rdata(up_drp_rdata),.up_drp_ready(up_drp_ready),.up_drp_locked(up_drp_locked));87 基于FPGA的功率均衡IP核设计与实现endendgenerateassignadc_valid_i0=adc_valid_i0_int;assignadc_valid_q0=adc_valid_q0_int;assignadc_valid_i1=adc_valid_i1_int;assignadc_valid_q1=adc_valid_q1_int;always@(posedgeclk)beginadc_valid_i0_int<=tdd_rx_valid_s&adc_valid_i0_s;adc_valid_q0_int<=tdd_rx_valid_s&adc_valid_q0_s;adc_valid_i1_int<=tdd_rx_valid_s&adc_valid_i1_s;adc_valid_q1_int<=tdd_rx_valid_s&adc_valid_q1_s;endassignadc_data_i0=adc_data_i0_int;assignadc_data_q0=adc_data_q0_int;assignadc_data_i1=adc_data_i1_int;assignadc_data_q1=adc_data_q1_int;always@(posedgeclk)beginadc_data_i0_int<=adc_data_i0_s;adc_data_q0_int<=adc_data_q0_s;adc_data_i1_int<=adc_data_i1_s;adc_data_q1_int<=adc_data_q1_s;endassigndac_valid_i0=dac_valid_i0_int;assigndac_valid_q0=dac_valid_q0_int;assigndac_valid_i1=dac_valid_i1_int;assigndac_valid_q1=dac_valid_q1_int;always@(posedgeclk)begindac_valid_i0_int<=tdd_tx_valid_s&dac_valid_i0_s;dac_valid_q0_int<=tdd_tx_valid_s&dac_valid_q0_s;dac_valid_i1_int<=tdd_tx_valid_s&dac_valid_i1_s;dac_valid_q1_int<=tdd_tx_valid_s&dac_valid_q1_s;end//tddgenerateif(TDD_DISABLE==1)beginassigntdd_enable_s=1'b0;assigntdd_txnrx_s=1'b0;assigntdd_txnrx_s=1'b0;assigntdd_mode_s=1'b0;88 基于FPGA的功率均衡IP核设计与实现assigntdd_rx_vco_en_s=1'b0;assigntdd_tx_vco_en_s=1'b0;assigntdd_rx_rf_en_s=1'b0;assigntdd_tx_rf_en_s=1'b0;assigntdd_status_s=8'd0;assigntdd_sync_cntr=1'b0;assigntdd_tx_valid_s=1'b1;assigntdd_rx_valid_s=1'b1;assignup_wack_tdd_s=1'b0;assignup_rack_tdd_s=1'b0;assignup_rdata_tdd_s=32'b0;endendgenerategenerateif(TDD_DISABLE==0)beginaxi_ad9361_tdd_if#(.LEVEL_OR_PULSE_N(1))i_tdd_if(.clk(clk),.rst(rst),.tdd_rx_vco_en(tdd_rx_vco_en_s),.tdd_tx_vco_en(tdd_tx_vco_en_s),.tdd_rx_rf_en(tdd_rx_rf_en_s),.tdd_tx_rf_en(tdd_tx_rf_en_s),.ad9361_txnrx(tdd_txnrx_s),.ad9361_enable(tdd_enable_s),.ad9361_tdd_status(tdd_status_s));axi_ad9361_tddi_tdd(.clk(clk),.rst(rst),.tdd_rx_vco_en(tdd_rx_vco_en_s),.tdd_tx_vco_en(tdd_tx_vco_en_s),.tdd_rx_rf_en(tdd_rx_rf_en_s),.tdd_tx_rf_en(tdd_tx_rf_en_s),.tdd_enabled(tdd_mode_s),.tdd_status(tdd_status_s),.tdd_sync(tdd_sync),.tdd_sync_cntr(tdd_sync_cntr),.tdd_tx_valid(tdd_tx_valid_s),.tdd_rx_valid(tdd_rx_valid_s),.up_rstn(up_rstn),89 基于FPGA的功率均衡IP核设计与实现.up_clk(up_clk),.up_wreq(up_wreq_s),.up_waddr(up_waddr_s),.up_wdata(up_wdata_s),.up_wack(up_wack_tdd_s),.up_rreq(up_rreq_s),.up_raddr(up_raddr_s),.up_rdata(up_rdata_tdd_s),.up_rack(up_rack_tdd_s));endendgenerate//receiveaxi_ad9361_rx#(.ID(ID),.MODE_1R1T(MODE_1R1T),.USERPORTS_DISABLE(ADC_USERPORTS_DISABLE_INT),.DATAFORMAT_DISABLE(ADC_DATAFORMAT_DISABLE_INT),.DCFILTER_DISABLE(ADC_DCFILTER_DISABLE_INT),.IQCORRECTION_DISABLE(ADC_IQCORRECTION_DISABLE_INT))i_rx(.mmcm_rst(mmcm_rst),.adc_rst(rst),.adc_clk(clk),.adc_valid(adc_valid_s),.adc_data(adc_data_s),.adc_status(adc_status_s),.adc_r1_mode(adc_r1_mode),.adc_ddr_edgesel(adc_ddr_edgesel_s),.dac_data(dac_data_s),.up_dld(up_adc_dld_s),.up_dwdata(up_adc_dwdata_s),.up_drdata(up_adc_drdata_s),.delay_clk(delay_clk),.delay_rst(delay_rst),.delay_locked(delay_locked_s),.adc_enable_i0(adc_enable_i0),.adc_valid_i0(adc_valid_i0_s),.adc_data_i0(adc_data_i0_s),.adc_enable_q0(adc_enable_q0),90 基于FPGA的功率均衡IP核设计与实现.adc_valid_q0(adc_valid_q0_s),.adc_data_q0(adc_data_q0_s),.adc_enable_i1(adc_enable_i1),.adc_valid_i1(adc_valid_i1_s),.adc_data_i1(adc_data_i1_s),.adc_enable_q1(adc_enable_q1),.adc_valid_q1(adc_valid_q1_s),.adc_data_q1(adc_data_q1_s),.adc_dovf(adc_dovf),.adc_dunf(adc_dunf),.up_adc_gpio_in(up_adc_gpio_in),.up_adc_gpio_out(up_adc_gpio_out),.up_rstn(up_rstn),.up_clk(up_clk),.up_wreq(up_wreq_s),.up_waddr(up_waddr_s),.up_wdata(up_wdata_s),.up_wack(up_wack_rx_s),.up_rreq(up_rreq_s),.up_raddr(up_raddr_s),.up_rdata(up_rdata_rx_s),.up_rack(up_rack_rx_s),.up_drp_sel(up_drp_sel),.up_drp_wr(up_drp_wr),.up_drp_addr(up_drp_addr),.up_drp_wdata(up_drp_wdata),.up_drp_rdata(up_drp_rdata),.up_drp_ready(up_drp_ready),.up_drp_locked(up_drp_locked));//transmitaxi_ad9361_tx#(.ID(ID),.MODE_1R1T(MODE_1R1T),.DDS_DISABLE(DAC_DDS_DISABLE_INT),.USERPORTS_DISABLE(DAC_USERPORTS_DISABLE_INT),.DELAYCNTRL_DISABLE(DAC_DELAYCNTRL_DISABLE_INT),.IQCORRECTION_DISABLE(DAC_IQCORRECTION_DISABLE_INT))i_tx(.dac_clk(clk),91 基于FPGA的功率均衡IP核设计与实现.dac_valid(dac_valid_s),.dac_data(dac_data_s),.dac_clksel(dac_clksel_s),.dac_r1_mode(dac_r1_mode),.adc_data(adc_data_s),.up_dld(up_dac_dld_s),.up_dwdata(up_dac_dwdata_s),.up_drdata(up_dac_drdata_s),.delay_clk(delay_clk),.delay_rst(),.delay_locked(delay_locked_s),.dac_sync_in(dac_sync_in),.dac_sync_out(dac_sync_out),.dac_enable_i0(dac_enable_i0),.dac_valid_i0(dac_valid_i0_s),.dac_data_i0(dac_data_i0),.dac_enable_q0(dac_enable_q0),.dac_valid_q0(dac_valid_q0_s),.dac_data_q0(dac_data_q0),.dac_enable_i1(dac_enable_i1),.dac_valid_i1(dac_valid_i1_s),.dac_data_i1(dac_data_i1),.dac_enable_q1(dac_enable_q1),.dac_valid_q1(dac_valid_q1_s),.dac_data_q1(dac_data_q1),.dac_dovf(dac_dovf),.dac_dunf(dac_dunf),.up_dac_gpio_in(up_dac_gpio_in),.up_dac_gpio_out(up_dac_gpio_out),.up_rstn(up_rstn),.up_clk(up_clk),.up_wreq(up_wreq_s),.up_waddr(up_waddr_s),.up_wdata(up_wdata_s),.up_wack(up_wack_tx_s),.up_rreq(up_rreq_s),.up_raddr(up_raddr_s),.up_rdata(up_rdata_tx_s),.up_rack(up_rack_tx_s));92 基于FPGA的功率均衡IP核设计与实现//axiinterfaceup_axii_up_axi(.up_rstn(up_rstn),.up_clk(up_clk),.up_axi_awvalid(s_axi_awvalid),.up_axi_awaddr(s_axi_awaddr),.up_axi_awready(s_axi_awready),.up_axi_wvalid(s_axi_wvalid),.up_axi_wdata(s_axi_wdata),.up_axi_wstrb(s_axi_wstrb),.up_axi_wready(s_axi_wready),.up_axi_bvalid(s_axi_bvalid),.up_axi_bresp(s_axi_bresp),.up_axi_bready(s_axi_bready),.up_axi_arvalid(s_axi_arvalid),.up_axi_araddr(s_axi_araddr),.up_axi_arready(s_axi_arready),.up_axi_rvalid(s_axi_rvalid),.up_axi_rresp(s_axi_rresp),.up_axi_rdata(s_axi_rdata),.up_axi_rready(s_axi_rready),.up_wreq(up_wreq_s),.up_waddr(up_waddr_s),.up_wdata(up_wdata_s),.up_wack(up_wack),.up_rreq(up_rreq_s),.up_raddr(up_raddr_s),.up_rdata(up_rdata),.up_rack(up_rack));endmoduleFFTIP:模块代码:modulefftt;//wireovflo;//Inputsregstart;regfwd_inv;regclk;regscale_sch_we;93 基于FPGA的功率均衡IP核设计与实现regfwd_inv_we;reg[7:0]scale_sch;reg[15:0]xn_re;reg[15:0]xn_im;//Outputswirerfd;wiredv;wiredone;wirebusy;wireedone;wire[15:0]xk_im;wire[3:0]xn_index;wire[15:0]xk_re;wire[3:0]xk_index;wireovflo;//InstantiatetheUnitUnderTest(UUT)fftuut(.rfd(rfd),.start(start),.fwd_inv(fwd_inv),.dv(dv),.done(done),.clk(clk),.busy(busy),.scale_sch_we(scale_sch_we),.fwd_inv_we(fwd_inv_we),.edone(edone),.ovflo(ovflo),.xn_re(xn_re),.xk_im(xk_im),.xn_index(xn_index),.scale_sch(scale_sch),.xk_re(xk_re),.xn_im(xn_im),.xk_index(xk_index));initialbegin//InitializeInputsstart=1;94 基于FPGA的功率均衡IP核设计与实现fwd_inv=1;clk=0;scale_sch_we=1;scale_sch=8'b01010101;fwd_inv_we=1;xn_re=0;xn_im=0;num=0;//Wait100nsforglobalresettofinish#200;endalwaysbegin#20clk<=1;#20clk<=0;endreg[4:0]num;always@(posedgeclk)beginif(rfd)beginnum<=num+1'b1;case(num)4'd0:xn_re<=1;4'd1:xn_re<=8;4'd2:xn_re<=1;4'd3:xn_re<=3;4'd4:xn_re<=0;4'd5:xn_re<=8;4'd6:xn_re<=1;4'd7:xn_re<=1;4'd8:xn_re<=2;4'd9:xn_re<=4;4'd10:xn_re<=1;4'd11:xn_re<=2;4'd12:xn_re<=1;4'd13:xn_re<=0;4'd14:xn_re<=7;95 基于FPGA的功率均衡IP核设计与实现4'd15:xn_re<=2;4'd16:xn_re<=1;4'd17:xn_re<=8;4'd18:xn_re<=1;4'd19:xn_re<=3;4'd20:xn_re<=0;4'd21:xn_re<=8;4'd22:xn_re<=1;4'd23:xn_re<=1;4'd24:xn_re<=2;4'd25:xn_re<=4;4'd26:xn_re<=1;4'd27:xn_re<=2;4'd28:xn_re<=1;4'd29:xn_re<=0;4'd30:xn_re<=7;4'd31:xn_re<=2;default:;endcaseendendendmodule96