抗干扰算法实现.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抗干扰算法实现

导航抗干扰实现基于FPGA+DSP的接口功能和抗干扰算法实现流程如图1所示。AD接口与AD转换芯片进行通信,接受将模拟信号转化过来的数字信号,然后经过数字下变频,低通滤波,抽取转换成基带信号。基带信号通过功分器将上支路信号送入数据样本缓存器RAM,交由DSP做算法求出权值W,下支路送入抗干扰滤波器与权值W进行加权求和。滤波器的输出Y经过内插,低通滤波,正交上变频以后将基带信号调制成中频数字信号,最后经过DA接口转换送到DA转换器转换成模拟信号图 1数字下变频数字下变频(Digital Down Coversion,DDC)技术,它将采样率较低的信号送给后续的基带信号处理单元,包括正交混频、低通滤波和抽取器(二次采样) 。数字混频器利用经离散化的单频本振信号与采样后的I、Q两路信号在乘法器中相乘,把宽带频谱搬移至基带,再进行低通滤波、抽取,并由多相滤波器组选出相应的信道。由于信号的频谱呈双边带,混频时采用一对正交乘法器,滤波器采用一对FIR低通滤波器。抽取器对原数字信号中的样本进行抽取,降低采样率,以便满足后续模块中对数据流速率的要求,减轻其运算负担,其原理图如图2所示。图 2数字下变频的主要功能是将数字化的中频信号变至基带,得到正交的I、Q数据流。数字下变频器有两个重要作用:其一是把中频信号变为零中频信号;其二是降低采样率。使采样率降低的变换称为抽取。要进行无失真的抽取,必须在抽取前将信号变换到零中频,再进行低通滤波来防止频率混叠,最后对数字信号进行抽取。将DDC这部分工作交给FPGA芯片完成是合适的,也是可行的,这样具有较强的可行性。权值更新程序设计 在本模块设计当中采用了乒乓操作来保证权值及时,无误的更新。通过“输入数据流选择单元以及“输出数据流选择单元”相互密切配合来实现权值按节拍的切换,使得经过缓冲的数据流毫无停顿地传送给“数据流运算处理模块”来进行运算与处理。权值由DSP的数据线和地址线传送进来并通过权值缓冲模块进行缓存,权值缓冲模块由双端口RAM实现, “输入数据流选择单元”和“输出数据流选择单元”由RAM的使能信号和二选一选择器构成,自适应滤波的权值更新完后,送入运算模块作后续处理。权值更新模块框图如图3所示。图 3每次权值W读取完以后,状态机在最后一个状态产生一个高脉冲信号。表明此次加权动作结束并准备下一次的加权动作。同时权值更新完毕后,DSP使FLAG信号抬高产生一个脉冲信号,表明此时新的权值已经存储完毕。权值更新模块根据这两个信号再通过简单的逻辑运算实现乒乓结构的翻转动作。在下一次加权动作前,新的权值已经切换到位。3、加权上变频部分在本模块设计当中前面一部分为加权设计,后面一部分为内插后的数字上变频设计。其结构框图如图4所示。在加权设计当中,输入X,权值W,输出Y均为IQ两路信号。其中X为经过数字下变频,抽取以后的输入信号,W为DSP更新的权值图 4DSP内计算出的权值是浮点型的,而加权求和是在FPGA内完成的且适合做定点运算。因此有必要把权值W转换成定点数的形式,而在转换的过程中发现36个权值基本上都是小数,若直接转换则会被转换成O,因此在浮点数转换成定点数之前先乘以一个系数,该系数的大小根据精度的要求自己定义,为了后续处理方便一般取,权值转换成定点数后计算。图 5正交数字上变频模块采用的是基于内插的调制模型,其基本数学模型如图5所示。在正交上变频之前先内插n个零点,提高数据速率。内插后频谱会压缩,搬移。因此在内插过后要用数字滤波器对Y(n)进行滤波。当内插因子比较大时,低通滤波器会因为阶数太高而难以实现,此时可以用多级内插来实现。DSP算法实现DSP的基本简单算法如图6所示,采用基于LMS的空时自适应算法来实现权值的求取与更新,并及时的交由FPGA来实现相应应用。图 6首先是START,主要操作有:配置系统寄存器(SYSCON)、程序控制寄存器(SOCTL)、中断控制寄存器(INTCTL),主要定义存储器状态、中断使能等,这些操作在主函数开头实现;从FPGA内读取采集到的数据,通过调用子函数data _read来实现;数据读取完毕后给FLAGO信号一个脉冲周期,告诉FPGA数据读取完,FPGA可以进行下一轮数据的存储,此操作可以通过配置FLAG控制寄存器来实现;将读取完的数据转化为32位浮点数,此后DSP将进行浮点数计算。然后是初始化,主要操作有:将初始值清零,然后计算阻塞矩阵,赋值衰减因子,权向量初始化,空时二维方向归一化等自适应相应参数的计算。再是空时自适应算法迭代计算,权值求出后,将权值的格式由浮点数转变为定点数,需要注意的是计算出的权值基本上都是小数,若直接转化,则会转换成0,因此在浮点数转换成定点数之前先乘以一个系数,一般是为宜。将计算出的权值传送给FPGA进行加权处理,权值的写操作通过调用子

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档