专利名称:一种基于fpga的软件接收机系统及实现方法
一种基于FPGA的软件接收机系统及实现方法技术领域
本发明主要涉及FPGA开发软件System Generator在软件接收机实现中的应用, 适用于实际软件接收机具体的开发调试,具体为一种基于FPGA的软件接收机系统及实现 方法。
背景技术:
软件接收机通过软件实现其信号捕获和跟踪处理,改变了传统接收机结构射频 前端、用于信号处理的专用集成电路(ASIC)和进行位置解算的CPU。用软件替代了中间的 信号处理ASIC电路,与传统的ASIC硬件接收机相比,软件接收机具有开放性、全面可编程 性、和灵活性等特点,在不需要更改硬件的前提下,通过对软件模块的调整和升级就可以满 足不同用户的需要,极大地减少了系统升级所需成本。
FPGA可以通过编写代码来实现复杂逻辑电路,另一方面其内部是由规则的逻辑阵 列所组成,这样就可以开发出适应的专用芯片。最近几年里,FPGA已近成为数字信号处理 系统的核心器件,尤其在数字通信、网络、视频和图像应用领域。如今的FPGA不仅包含查表 法、寄存器、多路复用器、分布式块存储器,而且嵌入了专用的快速加法器、乘法器和输入/ 输出设备。更重要的一点是FPGA具有实现高速并行运算的能力,这就使得FPGA成为高性 能的数字信号处理方面的理想器件,如在数字滤波、快速傅立叶变换等方面,FPGA具有可重 新编程的优点,比ASIC更实用。
System Generator是一款理想的FPGA开发软件,传统C语言等软件开发工程师 对硬件描述语言VHDL或Verilog并不熟悉,而且在硬件描述语言最终要转换成硬件实现的 过程中,这就要求工程师对硬件有一定的了解,System Generator软件的应用可以使上述 问题迎刃而解,为传统C语言等软件工程师提供了一个良好的开发平台。发明内容
本发明的技术解决问题是大大减少了在信号捕获、跟踪模块中传统FPGA开发难 度,加强了模块参数测试的灵活性,降低了模块升级或修改成本。最后用System Generator 构造固定功能的PVT计算模块,完全替代了传统的DSP计算模块。
本发明的技术解决方案为一种基于FPGA的软件接收机系统,由信号捕获模块、 信号跟踪模块、PVT解算模块组成,其中信号捕获模块包括3个FFT模块和一个复数共轭模 块,信号跟踪模块包括PLL模块和DLL模块;第一 FFT模块的输入端接前端输入信号,第二 FFT模块的输入端接本地码输入信号,第二 FFT模块的输出端串接复数共轭模块后与第一 FFT模块的输出端分别接第三FFT模块的输入端,第三FFT模块的输出端分别串接PLL模块 和DLL模块后接PVT解算模块的输入端。
—种基于FPGA的软件接收机系统的实现方法包括以下步骤(1)信号捕获模块,完成输入信号的数据捕获测试;(2)信号跟踪模块,完成对步骤(1)捕获数据的跟踪测试;3(3)PVT解算模块,完成对步骤(2)跟踪测试后的数据的解算测试;(4)利用时钟信号完成信号捕获模块、信号跟踪模块、PVT解算模块的融合。
所述步骤(1)中信号捕获模块采用了 System Generator中库中的FFT模块,设 置的采样点数为102Γ16384,相对应的时钟频率为采样点数倒数的整数倍;复数模块由 System Generator基本模块搭建而成;本地码生成主要采用了 LUT查表法方式。
所述步骤(2)信号跟踪模块中PLL鉴相器采用了 I路 与Q路乘积,在在-30^30°范围内呈线性化;DLL鉴相器主要采用了^(K2-Ly),E和L分别代表早码的相关运算之后积分累加值和迟码相关运算之后的积分累λ 加值;NCO模块主要采用了 LUT查表法来完成,用NCO输入作为偏移地址来进行查表得到对 应的输出;滤波器阶数选择为2 3。
所有步骤(1)至(3)中的数据测试都采用了 Simulink平台中的FromWorkspace模 块,将具体的数组模拟成具体信号来进行测试。
本发明与现有技术相比的优点在于(1)大大降低了 FPGA开发难度,传统现有的技术基本基于底层语言HDL来实现开发的, 但是在信号处理上,难度非常大。System Generator的应用大大减少了开发难度,特别在数 字滤波、快速傅立叶变换、NCO等方面。提高了系统开发效率。
(2)引进了 LUT (查表法)技术,利用地址查询存储空间技术取代传统的数学运算, 大大提高了系统速度,为系统实时性打下了良好基础。
(3)系统开发接近具体的理论模型,System Generator开发搭建的程序模型都是 基于对应的理论模型,而且几乎一样,这样可以很直白地进行系统测试等。
(4)用System Generator构建的PVT计算模块取代了 DSP,实现了计算的并行操 作,提高了运算速度。而且同时可以进行数据存储字节位数设置,大大提高了该计算模块的 灵活性与空间利用率。
图1为本发明系统结构图。
图2为系统的捕获模块结构示意图。
图3为系统PLL模块结构示意图。
图4为系统DLL模块结构示意图。
具体实施方式
本发明的核心思想是采用FPGA开发软件System Generator,按照从简单到复杂, 从底层到上层思路按照理论架构进行系统编程,具体实施方法如下1首先熟悉开发软件System Generator各个自带模块的参数与性能指标,如FFT模 块,延迟模块,输入输出模块等。
2按照理论捕获算法结构用System Generator进行算法实现,用具体的数据进行 测试,采用Simulink平台中的FromWorkspace模块用具体的数组来模拟实际信号,把模块 比作C语言等软件开发中的一个函数来进行数据测试。这样可以对完成模块的对比验证。
3按照理论跟踪算法结构用System Generator进行算法实现,分别完成PLL和DLL 的单独编程,测试主要分为NCO测试,PLL鉴相器测试,DLL鉴相器测试,滤波器测试,测试的 方法也是利用Simulink平台中的FromWorkspace模块将平台中的某一具体数组模拟成实 际信号来测试,类似于C语言中的函数测试。
4用System Generator进行构造具体PVT计算CPU,根据具体的理论公式,来完成 系统的构建,主要完成数学运算功能,可以拟作成简单固定计算功能CPU来测试,也类似与 C语言中的函数测试。同样采用Simulink平台中的FromWorkspace模块来模拟测试。
5最后主要对系统的3个独立模块进行融合处理,包括利用时钟信号协调各个模 块的一致性。最后用实际信号完成最后的测试与分析。
具体方案如下参见图1,本发明一种基于FPGA的软件接收机系统,由信号捕获模块、信号跟踪模块、 PVT解算模块组成,其中信号捕获模块包括3个FFT模块和一个复数共轭模块,信号跟踪模 块包括PLL模块和DLL模块;第一 FFT模块的输入端接前端输入信号,第二 FFT模块的输入 端接本地码输入信号,第二 FFT模块的输出端串接复数共轭模块后与第一 FFT模块的输出 端分别接第三FFT模块的输入端,第三FFT模块的输出端分别串接PLL模块和DLL模块后 接PVT解算模块的输入端。
本发明方法包括如下步骤(1)用System Generator构建捕获算法模块参见图2,输入为前端输出的数字中频信号,本地信号源主要分为本地载波和本地伪随 机码,模块主要由3个FFT模块组成,其中2个完成FFT功能,最后一个完成IFFT功能,FFT 模块是采用Xilinx Blockset中的DSP中的FFT模块,具体采样点数可以设置为8 65536, 根据具体精度需要(同时也取决于前端数据格式)来进行设置,最后用System Generator中 的加减乘基本模块搭建复数乘法模块,具体位数可以自由设置。
(2)用System Generator构建捕获跟踪模块,该方法的具体步骤为(a) PLL (Phase lock loop)设计,参见图3,主要由PLL鉴相器,滤波器,NCO (数控振 荡器)组成。其中PLL鉴相器没有采用精确的Costas鉴相器,采用了 I路与Q路乘积,虽然 鉴相器只有在-30^30°线性化,但是可以在FPGA上容易实现。滤波器可以选择2阶或者3 阶,结果产生对应的相位误差。作为NCO模块的输入。NCO模块主要采用了 LUT (查表法) 来完成。用NCO输入作为偏移地址来进行查表得到对应的输出。
(b)DLL (Delay lock loop)设计,参见图4,该环路分为3路,主要由DLL鉴相器,滤波器,NCO (数控振荡器)组成,其中DLL鉴相器主要采用了,E和L分别代表早2码的相关运算之后积分累加值和迟码相关运算之后的积分累加值,这样有利于FPGA实现, 滤波器与NCO构造与PLL环路设计中类似。其中该环节中3路C/A生成也是通过LUT (查 表法)实现的。
(3)用System Generator构建PVT计算模块,现多数采用DSP来进行PVT计算, 在本发明中,采用了 System Generator自制CPU来完成最后的PVT计算,相应的时钟频率 可以在允许范围内调节,利用FPGA自带的现成乘法器和丰富的存储空间,其中有些乘法环 节采用了并行处理,这样大大减少了运算时间。同时,在计算的整个过程中,数据的字节位数都可以进行调整,大大节省了空间。
本发明原理是通过开发软件System Generator自带的基本模块,来组成信号 捕获模块、跟踪模块和PVT计算模块,将软件接收机工程化,通过各个模块的单独组建、测 试来完成整个系统实际构建。同时通过系统的时钟资源来进行各个模块之间协调工作。 System Generator自带的基本模块可以更新,也可以用底层语言自己生成,这为整个接收 机系统升级优化提供了方便。
权利要求
1.一种基于FPGA的软件接收机系统,其特征在于由信号捕获模块、信号跟踪模块、 PVT解算模块组成,其中信号捕获模块包括3个FFT模块和一个复数共轭模块,信号跟踪模 块包括PLL模块和DLL模块;第一 FFT模块的输入端接前端输入信号,第二 FFT模块的输入 端接本地码输入信号,第二 FFT模块的输出端串接复数共轭模块后与第一 FFT模块的输出 端分别接第三FFT模块的输入端,第三FFT模块的输出端分别串接PLL模块和DLL模块后 接PVT解算模块的输入端。
2.一种基于FPGA的软件接收机系统的实现方法,其特征在于包括以下步骤(1)信号捕获模块,完成输入信号的数据捕获测试;(2)信号跟踪模块,完成对步骤(1)捕获数据的跟踪测试;(3)PVT解算模块,完成对步骤(2)跟踪测试后的数据的解算测试;(4)利用时钟信号完成信号捕获模块、信号跟踪模块、PVT解算模块的融合。
3.根据权利要求2所述的一种基于FPGA的软件接收机系统的实现方法,其特征在 于所述步骤(1)中信号捕获模块采用了 System Generator中库中的FFT模块,设置的采 样点数为102Γ16384,相对应的时钟频率为采样点数倒数的整数倍;复数模块由System Generator基本模块搭建而成;本地码生成主要采用了 LUT查表法方式。
4.根据权利要求2所述的一种基于FPGA的软件接收机系统的实现方法,其特征在于所 述步骤(2)信号跟踪模块中PLL鉴相器采用了 I路与Q路乘积,在-30^30°范围内呈线性化;DLL鉴相器主要采用了
5.根据权利要求2所述的一种基于FPGA的软件接收机系统的实现方法,其特征在于所 有步骤(1)至(3)中的数据测试都采用了 Simulink平台中的FromWorkspace模块,将具体 的数组模拟成具体信号来进行测试。
全文摘要
本发明公布了一种基于FPGA的软件接收机系统及实现方法,所述系统由信号捕获模块、信号跟踪模块、PVT解算模块组成,其中信号捕获模块包括3个FFT模块和一个复数共轭模块,信号跟踪模块包括PLL模块和DLL模块。所述方法采用信号捕获模块完成输入信号的数据捕获测试;采用信号跟踪模块完成捕获数据的跟踪测试;采用PVT解算模块完成跟踪测试后的数据的解算测试;采用利用时钟信号完成信号捕获模块、信号跟踪模块、PVT解算模块的融合。本发明提高了系统的可靠性,可以在允许范围内改变CPU的时钟频率以及数据处理的字节位数,大大提高了系统的灵活性。
文档编号H04B1/16GK102045078SQ20101056799
公开日2011年5月4日 申请日期2010年12月1日 优先权日2010年12月1日
发明者方琳, 汤新华, 王熙赢, 祝雪芬, 陈熙源, 黄涛 申请人:东南大学