一种基于FPGA实现频偏跟踪的方法技术

技术编号:37864462 阅读:15 留言:0更新日期:2023-06-15 20:54
本发明专利技术公开了一种基于FPGA实现频偏跟踪的方法,涉及卫星通信信号处理技术领域,将接收IQ数据解析出相位和幅度;将相位存入1024 RAM,利用幅度进行TDMA信号提取和过滤后,从RAM读出相位存入65536深度RAM,存满时,先计算前256点中心位置

【技术实现步骤摘要】
一种基于FPGA实现频偏跟踪的方法


[0001]本专利技术涉及卫星通信信号处理
,具体的说,是一种基于FPGA实现频偏跟踪的方法。

技术介绍

[0002]在卫星通信系统中,信号处理部分通常通过现场可编程门阵列FPGA去实现各种功能,由于各种外部环境及硬件系统引入频率偏移,并且随着外部环境和时间的不断变化,所引入的频率偏移也随之变化,迫切需要一种能够实现基于FPGA频偏跟踪的方法。

技术实现思路

[0003]本专利技术的目的在于提供一种基于FPGA实现频偏跟踪的方法,能够对外部环境及通信系统引入的频率偏移进行快速、实时跟踪,以便于后续系统模块进行实时修正。
[0004]本专利技术通过下述技术方案解决上述问题:一种基于FPGA实现频偏跟踪的方法,包括:步骤S100、将接收的同向正交IQ数据解析出相位数据和幅度数据;步骤S200、将相位数据存入1024深度随机存储器RAM,每1024个幅度数据求和并判断求和结果是否大于输出门限值,若大于,则输出该1024个幅度数据对应的1024个相位数据至65536深度RAM,否则,删除该1024个幅度数据对应的1024个相位数据;步骤S300、当65536深度RAM中存满时,执行:步骤S310、从65536深度RAM中取出前256个相位数据,用于计算256个点的离散傅里叶变换DFT,以第k1=0的DFT点为中心,计算该DFT点附近
±
M1个点的幅度值,k1∈{0~255},找到这些点的最大幅度值对应的k1值,将k1乘以16得到第二级DFT计算的初始位置;步骤S320、从65536深度RAM中取出前4096个相位数据,接收第二级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k2值,k2∈{0~4095},即为第二频偏,将k2乘以16得到第三级DFT计算的初始位置;步骤S330、从65536深度RAM中取出65536个相位数据,接收所述第三级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k3值,即为相对于65536个相位数据的频偏位置,k3∈{0~65535}。
[0005]本专利技术通过逐级查找的方式以极少量的计算量快速计算出频率偏移,提高了计算速度,并节约更多FPGA资源,同时达到实时跟踪频偏的效果。
[0006]所述步骤S100具体包括:例化坐标旋转数字计算器CORDIC IP核,输入32比特bit的IQ数据,输出16bit幅度值和16bit相位,相位为

1到1的值,其中高1bit为符号位,中2bit为整数位,低13bit为小数位。
[0007]所述随机存储器RAM宽度为16bit。
[0008]所述步骤S310中计算幅度值的方法包括:步骤A、分别例化存储余弦cos数值和正弦sin数值的只读存储器ROM,将cos(0~2π)
和sin(0~2π)的值分别乘以1024并存入各自ROM;步骤B、利用相位计算N个点M阶DFT,化简DFT计算公式:
ꢀꢀ
(1)
ꢀꢀꢀꢀ
(2)由式(1)(2)得到: (3)M阶DFT:
ꢀꢀ
(4)化简后得到:(5)其中:表示DFT变换的第个点,∈{0~N

1};N为DFT点个数;为幅度;M为阶数;为相角;为输入的第个IQ数据;为第个相角;为虚部;步骤C、由公式(5)可知,通过幅度和相位能够算出M阶频谱,的值作为ROM的读地址,读出余弦cos和正弦sin的ROM表中的值分别累加计算,然后分别平方后相加得到第k个点的DFT的幅度值。
[0009]所述M1=8或M1=16。
[0010]本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术通过分3级逐级查找的方式以少量的计算量快速计算出频率偏移,提高了计算速度,并节约更多FPGA资源,同时达到实时跟踪频偏的效果。
附图说明
[0011]图1为本专利技术的流程图;图2为本专利技术中由相位计算幅度值的流程图。
具体实施方式
[0012]下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。
[0013]实施例1:
[0014]结合图1所示,一种基于FPGA实现频偏跟踪的方法,包括:步骤S100、信号数据幅度相位提取:首先利用Xilinx CORDIC(Coordination Rotation Digital Computer坐标旋转数字计算器) IP核的Translate(旋转)模式将IQ(同向正交)数据转为相位数据和幅度数据,相位用于后续DFT(Discrete Fourier Transformation,离散傅里叶变换)计算,幅度用于TDMA (Time Division Multiple Access,时分多址)信号提取及过滤;IP核为知识产权核;步骤S200、时分多址TDMA信号过滤:将相位数据存入1024深度、宽度为16bit的随
机存储器RAM,每1024个幅度数据求和并判断求和结果是否大于输出门限值,若大于,则输出该1024个幅度数据对应的1024个相位数据至65536深度RAM,否则,删除该1024个幅度数据对应的1024个相位数据;步骤S300、当65536深度RAM中存满时,执行:步骤S310、256点离散傅里叶变换(Discrete Fourier Transform)DFT计算:从65536深度RAM中取出前256个相位数据,用于计算256个点的离散傅里叶变换DFT,以第k1=0的DFT点为中心,计算该DFT点附近
±
M1个点的幅度值,k1∈{0~255},找到这些点的最大幅度值对应的k1值,即第一频偏位置,将k1乘以16得到第二级DFT计算的初始位置;M1取8或16等;步骤S320、4096点DFT计算:从65536深度RAM中取出前4096个相位数据,接收第二级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k2值,k2∈{0~4095},即为第二频偏位置,将k2乘以16得到第三级DFT计算的初始位置;步骤S330、65536点DFT计算:从65536深度RAM中取出65536个相位数据,接收所述第三级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k3值,即为相对于65536个相位数据的频偏位置,k3∈{0~65535}。
[0015]所述步骤S100具体包括:例化中文名称CORDIC IP核,输入32比特bit的IQ数据,输出16bit幅度值和16bit相位,相位为

1到1的值,其中高1bit为符号位,中2bit为整数位,低13bit为小数位。
[0016]实施例2:在实施例1的基础上,结合图2所示,所述步骤S310中计算幅度值的方法包括:步骤A、例化存储余弦cos数值的只读存储器Cos_ROM、例化存储正弦sin数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA实现频偏跟踪的方法,其特征在于,包括:步骤S100、将接收的同向正交IQ数据解析出相位数据和幅度数据;步骤S200、将相位数据存入1024深度随机存储器RAM,每1024个幅度数据求和并判断求和结果是否大于输出门限值,若大于,则输出该1024个幅度数据对应的1024个相位数据至65536深度RAM,否则,删除该1024个幅度数据对应的1024个相位数据;步骤S300、当65536深度RAM中存满时,执行:步骤S310、从65536深度RAM中取出前256个相位数据,用于计算256个点的离散傅里叶变换DFT,以第k1=0的DFT点为中心,计算该DFT点附近
±
M1个点的幅度值,k1∈{0~255},找到这些点的最大幅度值对应的k1值,将k1乘以16得到第二级DFT计算的初始位置;步骤S320、从65536深度RAM中取出前4096个相位数据,接收第二级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k2值,k2∈{0~4095},即为第二频偏,将k2乘以16得到第三级DFT计算的初始位置;步骤S330、从65536深度RAM中取出65536个相位数据,接收所述第三级DFT计算的初始位置,计算其附近
±
M1个点的幅度值,找到这些点的最大幅度值对应的k3值,即为相对于65536个相位数据的频偏位置,k3∈{0~65535}。2.根据权利要求1所述的一种基于F...

【专利技术属性】
技术研发人员:龚珊汪峰于合龙宗明黄增泽
申请(专利权)人:成都戎星科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1