发明名称 一种迭代频域抗干扰算法的FPGA实现方法
摘要 本发明提供了一种迭代频域抗干扰算法的FPGA实现方法,将对下变到中频的卫星信号进行AD采样后加窗操作,进行FFT运算后选取合适的门限优化系数,推导出自适应迭代门限,将频域幅值大于门限的频点下陷到门限值,最终进行IFFT变换后合并输出。本发明可以自适应的设定干扰检测门限,具有良好的动态干扰抑制能力,避免了因多次判决而需要占用硬件资源对中间过程数据的存储,充分利用了FPGA时间换取资源的技术,大大减少了对硬件资源的消耗。
申请公布号 CN103199889A 申请公布日期 2013.07.10
申请号 CN201310077058.1 申请日期 2013.03.11
申请人 西北工业大学 发明人 姚如贵;李耿;王伶;张兆林;高凡琪;毕彦博
分类号 H04B1/7097(2011.01)I 主分类号 H04B1/7097(2011.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 1.一种迭代频域抗干扰算法的FPGA实现方法,其特征在于包括下述步骤:(1)将对下变到中频的卫星信号进行AD采样,得到的数据输出为两路,一路进行1/2窗长度延迟,将两路数据分别输入到加窗模块;(2)加窗模块为输入的数据进行加窗操作,窗函数采用广义海明窗,窗长度为L,采用8位数据位宽的量化;加窗操作完成后,数据输入FFT模块;(3)在FFT模块使用一个深度为L的RAM核对输入的数据进行存储,之后读取数据输送到FFT核,进行FFT运算;FFT设置为Pipelined,Streaming I/O模式,工作频率为f<sub>in</sub>,f<sub>in</sub>和AD采样时钟相同,其运算的输出有实部Re和虚部Im两部分,本发明中将这两部分和由实部虚部共同计算出的模值R按照高中低位合并为一路信号,即{Re,Im,R},输送到干扰识别与抑制模块;(4)每个干扰识别与抑制模块的工作过程如下:a.建立两个深度为L=512的双端口RAM核RAM1和RAM2,数据输入选择单元选择RAM1工作,FFT输出的数据以时钟f<sub>in</sub>存储到RAM1中,同时计算出所存数据中模值R的L点累加和<img file="FDA00002902863400011.GIF" wi="283" he="143" />及阈值<img file="FDA00002902863400012.GIF" wi="364" he="124" />K为门限优化系数;b.当RAM1存满后,数据输入选择单元选择RAM2工作,FFT输出的数据存到RAM2中,同时重复步骤a中计算所存数据模值R的L点累加和SUM和阈值TH<sub>1</sub>的工作;c.在RAM2数据存储的过程中,对RAM1中的数据以时钟f<sub>s</sub>进行读取,f<sub>s</sub>=N*f<sub>in</sub>,N为迭代次数;可得,在RAM2数据存储的这一段时间里可以对RAM1中的数据读取3遍;设置一个位宽和RAM1深度相同的flag寄存器,在对RAM1第一遍读取的过程中,将读取到的数据中代表模值的一部分R<sub>j</sub>与TH<sub>1</sub>做比较,j=1,2,3...L,如果大于TH<sub>1</sub>则flag寄存器相应的位置置1,即flag[j-1]=1,SUM=SUM-(R<sub>j</sub>-TH<sub>1</sub>);否则flag[j-1]=0,SUM保持不变;在第一遍读取完毕时刻,通过最新的SUM计算出门限TH<sub>2</sub>,开始对RAM1第二遍读取;将读取的数据R<sub>j</sub>与TH<sub>2</sub>比较,若R<sub>j</sub>大于门限TH<sub>2</sub>,此时查看flag的相应位置是否是1,若是1,则flag相应位置保持不变,SUM=SUM-(TH<sub>1</sub>-TH<sub>2</sub>);否则,flag相应位置置1,SUM=SUM-(R<sub>j</sub>-TH<sub>2</sub>);若R<sub>j</sub>小于门限TH<sub>2</sub>,则flag相应位及SUM都保持不变;在第二遍读取完毕时刻,根据最新的SUM值计算出门限TH<sub>3</sub>,开始第三遍的读取;第三遍到第N-1;遍读取所做的操作与第二遍读取所做的操作相同,直到最后一遍读取数据,即第N遍读取数据,由第N-1遍读取操作可以得到门限值TH<sub>N</sub>,此时若读取的数据R<sub>j</sub>大于TH<sub>N</sub>,则将读取到的实部Re<sub>j</sub>置为TH<sub>N</sub>,虚部Im<sub>j</sub>置为0输出,即Re<sub>j</sub>=TH<sub>N</sub>,Im<sub>j</sub>=0;否则将读取的实部Re<sub>j</sub>和虚部Im<sub>j</sub>数据按原样输出;d.当RAM1的数据判决完毕时,RAM2中的数据也存储结束,此时对RAM2中的数据重复步骤c的工作,对RAM1开始存储新的数据;(5)将干扰识别与抑制模块输出的数据以时钟f<sub>s</sub>输入到IFFT模块,在此模块通过双端口RAM存储并以时钟f<sub>in</sub>读取,完成数据速率的变换;读取到的数据输入IFFT核,进行反变换并输出;(6)将两路IFFT模块的输出直接相加合并,输送给外部接口,抗干扰工作结束。
地址 710072 陕西省西安市友谊西路127号