微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Xilinx FPGA的数字频域干扰抵消器

基于Xilinx FPGA的数字频域干扰抵消器

时间:05-27 来源:互联网 点击:

新值返回到步骤(2)中使用。跳转到步骤(2)进行反复迭代,直至干扰被抵消。

  与传统的时域LMS算法相比,利用频域LMS算法可以降低计算复杂度。假设输入为实信号,滤波器抽头个数为。可以得到,频域LMS和时域LMS的计算复杂度之比为。实际中,干扰在空中传输的时延(即图4-9中E到B点的传输时延)会比反馈信号的时延(即图4-9中E到H点的传输时延)大得多,这时需要较大的抽头个数才能抵消干扰。假设,则频域LMS算法可以比时域LMS算法的速度提高大约16倍。为简化起见,在本文档中取,利用频域LMS算法,在计算量角度大约可以比时域LMS算法快1.5倍。

  四、WCDMA同步算法简介

  对于任何一个系统,要进行正常的运作都必须首先保证系统的同步。WCDMA的小区搜索分为三个阶段,即主同步、辅同步和导频搜索三个阶段。主同步利用PSC码对接收到的主同步信道数据(PSCH)做相关,根据相关峰值的位置确定时隙头。在主同步完成之后,辅同步阶段可以确定帧头位置和当前小区使用的扰码组号。方法是用辅同步码(SSC)去做相关。最后一个阶段是导频搜索,利用已经得到的扰码组号和帧头信息,遍历一个主扰码组所有的8个可能主扰码,分别和导频信道(CPICH)做相关。根据最大的相关值最终确定扰码号。可见,经过WCDMA的三步同步,就可以得到当前小区的主扰码号和帧同步信息。三步同步的流程图如图4所示。

  由于同步模块收到的信号为4采样的,而同步模块内部的搜索过程只需利用单采样的数据,因此先要对过采样的信号进行下采样。另外,为了对发送信号源进行匹配,将接收到的信号首先经过根号升余弦匹配滤波器,然后再下采样到码片速率,如B点所示。

  五、仿真和测试结果

  (1)仿真结果

  首先,经过功率谱密度图(PSD)验证,经过AIC的输出信号PSD曲线和发送信源PSD曲线基本一致。图5给出了信干比为-10db时算法的定点仿真结果。

  具体而言,在没有AIC的情况下,输出信号频谱主瓣内的波动较大,而且主瓣下降db值减小。采用AIC后,输出信号频谱主瓣内的波动基本得以改善,并且下降db值也基本等于原来输入信源的下降db值,表明AIC性能良好。

  其次,通过量化指标EVM进行比较,图6给出了信干比为-10db时的EVM指标,可以看出,AIC算法可有效抵消干扰,改善星座图。

  (2)硬件测试说明

  在硬件实现时,利用的开发平台为Virtex II Board.其中V2P30芯片FPGA具有136个硬核乘法器和块RAM,可满足自适应滤波算法以及大点数的FFT变换需要大量的乘法器和存储器的需求。此外,大量的Slice可实现小区搜索模块以及相关测试平台的建立。

  此外,对于简易的视频测试平台,利用VGA接口完成测试平台,进行最终的测试验证。XUP Virtex II PRO板卡带有高精度的DAC芯片FMS3818,能达到预期目的。软件开发选用了ISE8.2.03i,相应的Chipscope也为8.2版本。

  硬件系统需要实现频域AIC、小区同步搜索、WCDMA信源发生器、测试平台4大模块。其中AIC模块可划分为大点数的FFT变换以及相应的串并、并串转换等主要功能。将设计分为5个大的模块:顶层模块,AIC处理模块,信源发生器,小区搜索以及测试平台。FFT模块利用Xilinx公司的IP Core来完成;串并、并串可以利用块RAM实现;数据处理模块尽可能地使用SRL16结构来实现,以节省资源。

  系统测试按照由部分到整体的思路来完成,首先对各个模块进行单独测试,再将部分模块组合起来完成测试,最后再对整体系统进行测试。这样,可以将错误及早的发现并将其消灭在起步阶段。测试主要依靠ChipScope来完成,利用其采集数据,再把数据导入MATLAB中,和定点仿真、ModelSim输出结果进行比较,完成数据分析,从而确保芯片的运行结果和仿真结果是相同的。在测试中,全部以方波测试平台为基准。

  六、参赛感受

  为了充分准备这个大赛,我们团队中的每个人都付出了很多的精力和时间,以非常专注的态度投入进来。在多次的讨论后,我们一步步地完成了下列步骤:分工、制定项目方案、准备算法原理、建立仿真平台、完成浮点、定点仿真、Verilog HDL代码实现以及最终的测试。其中,算法原理的成功实现是项目的基础,对其进行正确仿真和测试占用了非常多的时间。项目组成员多次讨论WCDMA系统组成、干扰产生机制以及干扰抵消算法本身,逐步将想法转换成系统设计文档,再将系统设计文档变成仿真代码,从仿真代码中衍生出硬件系统实施方案,最终将方案运行在FPGA芯片中。

在整个开发过程中,我们解决了诸多困难,如算法理解、开发工具熟悉以及复杂的系统参数调节等。可以讲,其中任何一个环节出现问题,都可以将团队项目扼杀在摇篮中,但

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top