首页> 中国专利> FPGA中实现超高速数字正交下变频及抽取滤波的方法与系统

FPGA中实现超高速数字正交下变频及抽取滤波的方法与系统

摘要

本发明公开了一种在FPGA中实现超高速数字正交下变频及抽取滤波的方法与系统,包括若干路ADC采样芯片、高速ADC数据接收模块、跨时钟处理模块、全局时钟模块、本地数控振荡器和多通道数字抽取滤波器。传统的FPGA设计工作频率很难突破200MHz,而本发明则对正交下变频的核心部分数控振荡器NCO和数字抽取滤波器均进行了改进,并通过对FPGA的布局布线施加合理的约束,在主流FPGA器件上可保证最高采样速率达500Msps以上,输出基带数据率125MHz以上,而且可以同时支持多路ADC数据并行采样,以适应多通道数据接收场合。

著录项

  • 公开/公告号CN105915241A

    专利类型发明专利

  • 公开/公告日2016-08-31

    原文格式PDF

  • 申请/专利权人 信阳师范学院;

    申请/专利号CN201610227770.9

  • 申请日2016-04-13

  • 分类号

  • 代理机构郑州中原专利事务所有限公司;

  • 代理人李想

  • 地址 464000 河南省信阳市浉河区长安路237号

  • 入库时间 2023-06-19 00:23:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-06

    授权

    授权

  • 2016-09-28

    实质审查的生效 IPC(主分类):H04B1/18 申请日:20160413

    实质审查的生效

  • 2016-08-31

    公开

    公开

说明书

技术领域

本发明涉及数字通信及雷达信号处理领域,具体涉及一种在FPGA中实现超高速数字正交下变频及抽取滤波的方法与系统。

背景技术

FPGA是现场可编程门阵列(Field Programmable Gate Array)的英文简称,它包含了大量的可编程资源,包括查找表LUT、寄存器、存储器、硬件乘法器、锁相环等。FPGA芯片内部的可编程资源可以实现并行工作,因而具有极其强大的处理能力,其运算能力可达传统CPU的数百倍甚至更高。也正因此,在许多信号处理平台中,FPGA承担着运算与调度核心的功能,其主要开发手段则依赖于硬件描述语言(以下简称HDL),目前市面上主要的FPGA芯片生产商为Xilinx公司和Altera公司。

数字正交下变频技术是通信及雷达领域中数字接收机的核心部件,它主要完成对模数转换芯片(Analog to Digital Converter,以下简称ADC)输出的高速数字中频信号的接收、移频和正交化,并配合抽取滤波器最终输出合适码流速率的复基带信号供后续模块进一步处理。近年来,随着电子技术的飞速发展,各种宽带、超宽带通信/雷达系统层出不穷。相应地,为了满足带通采样定理的要求,ADC采样频率也越来越高,目前,许多数字接收机中ADC采样频率已经从早期的数十MHz迅速增长至数百MHz以上,当采样率低于100MHz时,采用主流的FPGA器件可顺利完成ADC采样数据接收及处理,但当采样频率进一步提高时,受制于FPGA的工作主频限制(典型的FPGA主频范围大约为50-150MHz),此时仍采用FPGA接收ADC数据并进行正交下变频的设计难度就大大增加,很多情况下只能采用专用的数字下变频集成电路ASIC完成,而ASIC由于基本不具备可编程能力,无力满足系统升级及参数动态调整的需要,因此,基于FPGA平台,设计具备超高速采样及正交下变频能力的数字接收机具有很强的现实意义。

发明内容

本发明要解决的技术问题是提供一种在FPGA中实现超高速数字正交下变频及抽取滤波的方法与系统,本发明解决了当采样频率高于100MHz时采用FPGA接收ADC数据并进行正交下变频的设计难度大的技术问题。

本发明通过以下技术方案实现:

一种在FPGA中实现超高速数字正交下变频及抽取滤波的方法,包括如下步骤:

步骤一、每路ADC芯片进行模数转换,并将采样后的数据伴随相应的同步时钟信号,以并行同步传输的方式进入高速ADC数据接收模块;

步骤二、高速ADC数据接收模块采用DDR接收原语,接收DDR模式的数据并转换为SDR模式的数据,输出两组ADC数据信号和一组ADC时钟信号;

步骤三、两组ADC数据信号和一组ADC时钟信号进入跨时钟域处理模块完成跨时钟域同步化处理,将两组ADC数据信号同步至全局时钟信号下,并在全局时钟模块的驱动下,每个时钟上升沿均输出两组同步后的ADC数据,这两组同步后的ADC数据在真实时间尺度上相差一个采样周期;

步骤四、本地数控振荡器采用工作频率为250MHz的DDS IP核输出四路数字本振信号,具体步骤如下:

步骤401) 先采用工作频率为250MHz的DDS IP核得到公式(2)的偶数点输出;

(2)

步骤402)然后使用公式(5)所示的常系数乘法运算得到公式(2)的奇数点输出,实现了等效于500MHz工作频率的本地数控振荡器。

(5)

步骤五、两组同步后的ADC数据通过乘法器与本地数控振荡器输出的四路数字本振信号分别相乘,进行数字域的频率搬移,得到两组ADC正交化数据,这两组ADC正交化数据在真实时间尺度上也相差一个采样周期;

步骤六、两组ADC正交化数据通过数字滤波器进行滤波处理,输出零中频基带信号,同时通过数据抽取处理降低输出数据速率,具体步骤如下:

步骤601) 进入滤波器的两路并行数据流首先进入一个读写时钟独立的异步FIFO作进一步降速处理,输出四路并行数据,每相邻2路数据之间在真实时间尺度上相差一个采样周期;

步骤602) 四路并行数据各自进入相应的移位寄存器阵列,每来一个时钟沿将数据右移一次;

步骤603) 将四组移位寄存器阵列和四组FIR滤波系数阵列的对应数据分别相乘并作累加处理。

步骤一所述ADC芯片为单通道或多通道,采用并行LVDS差分接口。

步骤二所述DDR接收原语为SAME_EDGE_PIPELINED mode的IDDR原语。

步骤三所述跨时钟域处理模块采用了FPGA的分布式存储器作为跨时钟域数据转换的缓冲区,根据ADC采样数据端口的引脚位置,选择距离该引脚最近的分布式RAM位置作为对应该比特的跨时钟域缓冲区。

一种在FPGA中实现超高速数字正交下变频及抽取滤波的系统,包括若干路ADC采样芯片、高速ADC数据接收模块、跨时钟处理模块、全局时钟模块、本地数控振荡器和多通道数字抽取滤波器,

所述ADC采样芯片完成高速模数转换,并将采样后的数据伴随相应的同步时钟信号,以并行同步传输的方式进入高速ADC数据接收模块;

所述高速ADC数据接收模块采用DDR接收原语,接收DDR模式的数据并转换为SDR模式的数据,输出两组ADC数据信号和一组ADC时钟信号;

所述跨时钟域处理模块对两组ADC数据信号和一组ADC时钟信号进行跨时钟域同步化处理,将两组ADC数据信号同步至全局时钟信号下,并在全局时钟模块的驱动下,每个时钟上升沿均输出两组同步后的ADC数据;

所述本地数控振荡器输出四路数字本振信号,两组同步后的ADC数据分别通过四个乘法器与四路数字本振信号分别相乘,完成数字域的频率搬移功能,得到两组ADC正交化数据;

所述多通道数字抽取滤波器对上述两组ADC正交化数据进行滤波处理,输出零中频基带信号,同时进行数据抽取处理,降低输出数据率。

本发明与现有技术相比,具有以下明显优点:

传统的FPGA设计工作频率很难突破200MHz,而本发明则对正交下变频的核心部分数控振荡器NCO(Numerically Controlled Oscillator)和数字抽取滤波器均进行了改进,并通过对FPGA的布局布线施加合理的约束,在主流FPGA器件上可保证最高采样速率达500Msps以上,输出基带数据率125MHz以上,而且可以同时支持多路ADC数据并行采样,以适应多通道数据接收场合。

本发明的有益效果在于,本发明提供的在FPGA中实现超高速数字采样及正交下变频抽取滤波器的方法设计了一种支持DDR模式的高速ADC数据接收模块,可有效支持目前市面上多家公司的超高速ADC芯片,并为其设计了巧妙的跨时钟域处理措施,同时对传统的数控振荡器和抽取滤波器均进行了改进,实现了较低频率下完成500MHz采样数据的正交化及抽取滤波处理。整个系统可达到500MHz采样率下稳定接收及处理数据的要求,而且由于对关键模块施加了位置约束可,保证了产品时序性能不受后期代码调试、修改、以及高低温变化的影响。采用本发明后,可使一些此前只能通过专用ASIC芯片才能完成的系统改用更具灵活性的FPGA完成,进而极大地提高产品的可升级性,缩短产品设计开发周期。

附图说明

图1为本发明的整体结构示意图;

图2为高速ADC数据接收模块输出数据时序图;

图3为OPPOSITE_EDGE mode工作时序图;

图4为SAME_EDGE mode工作时序图;

图5为SAME_EDGE_PIPELINED mode工作时序图;

图6为ADC数据接收模块功能框图;

图7为ADC数据接收模块工作波形图;

图8为全局时钟模块功能框图;

图9为基于分布式RAM的跨时钟域处理原理图;

图10为等效500MHz的数控振荡器内部组成框图;

图11为原始ADC数据频域分布式样图;

图12为经移频后的正交化数据频域分布式样图;

图13为数字抽取滤波器结构示意图。

具体实施方式

1) AD器件选型策略

目前,高速AD转换器件(Analog–to-Digital Converter以下简称ADC)对外输出数据接口主要有三种类型:并行LVTTL单端电平输出;串行LVDS差分电平;以及并行LVDS差分电平。这三种类型中,LVTTL单端电平由于其推挽式输出架构,一般只应用在频率不超过100MHz的场合,在超高速AD器件中则极少看到该接口,典型产品如Linear Technology公司的LTC2208;串行LVDS差分电平则仅采用一对高速LVDS差分端口完成数据传输,大大减少了数据端口占用,常用于单芯片多通道AD器件,典型产品为Analog Devices公司的AD9259,然而,当ADC采样频率较高时,串行LVDS的工作频率通常需要达到数GHz以上甚至更高,这对PCB设计及FPGA器件选型都带来了严峻挑战,因此这种接口通常用于中等采样频率且对集成度要求较高的特殊应用场合;采用并行LVDS差分电平技术则既保留了并行接口数据速率较低的优势,又采用差分电平以支持更高的采样频率,而且当采样率超过200MHz时,为了降低传输时钟速率以减少设计难度,还可以采用双倍数据传输(Double Data Rate,以下简称DDR)策略,因此该接口是目前许多超高速ADC的主流接口,典型产品如Analog Devices的AD9424,TI公司的ADS4449,ADS5404等。

如上所述,在三种ADC对外输出接口中,只有第三种接口最适合超高采样率的数据接收机设计,目前的主流ADC厂商均推出了大量采用该接口的ADC供设计者选择,可以满足不同设计人群的需要。本发明也针对这种ADC开展。

2) 整体处理框架设计

本技术方案可支持单通道或多通道ADC数据接收及正交化,以下以3通道ADC数字接收机为例,说明技术方案的整体组成,本发明整体处理框架如图1所示。

图1中,下方为三片ADC芯片,每路ADC芯片均可完成高速模数转换,并将采样后的数据(如图1中的ADC1数据、ADC2数据、以及ADC3数据)以并行同步传输的方式送至高速ADC数据接收模块,每一路ADC数据均伴随有相应的同步时钟信号,即ADC1时钟、ADC2时钟、以及ADC3时钟。

ADC数据信号和ADC时钟信号进入高速ADC数据接收模块完成DDR模式的数据接收并转换为SDR单倍数据速率模式,得到ADC数据1和ADC数据2两组信号,这两组信号与ADC时钟信号一同进入跨时钟域处理模块完成跨时钟域同步化处理,此后所有信号均同步至全局时钟信号下,并在全局时钟的驱动下,每个时钟上升沿均输出2组数据,即图1中的同步后ADC数据1和同步后ADC数据2,这两组数据来源均为ADC芯片输出的原始采样数据,虽然均在全局时钟的上升沿输出,但在真实时间尺度上相差一个采样周期。

本地数控振荡器NCO可输出4路数字本振信号余弦数据1、正弦数据1、余弦数据2、正弦数据2,其中前2组数据和后两组数据在真实时间尺度上也恰好相差一个采样周期。

此后,同步后ADC数据1通过2个乘法器与余弦数据1、正弦数据1分别相乘,完成数字域的频率搬移功能,得到ADC正交化数据同相分量1和ADC正交化数据正交分量1(这两组分量以下简称ADC正交化数据1);同步后ADC数据2通过2个乘法器与余弦数据2、正弦数据2分别相乘,也完成数字域的频率搬移功能,得到ADC正交化数据同相分量2和ADC正交化数据正交分量2(这两组分量以下简称ADC正交化数据2)。同样地,ADC正交化数据1和ADC正交化数据2在时间尺度上也恰好相差一个采样周期。

前述移频处理得到的ADC正交化数据1和ADC正交化数据2中同时存在有用的基带信号和无用的高频信号,因此还需要采用数字滤波器对其进行滤波处理,输出所需的零中频基带信号。另一方面,为了减轻后续数据处理的压力,在滤波的同时还要完成数据抽取处理,降低输出数据率,本发明采用4抽取数字滤波器,使输出数据率降至采样频率的1/4。

3) 高速ADC数据接收模块设计

采用支持DDR数据传输模式的ADC器件完成模数转换,电气接口采用并行LVDS差分接口,其传输时序如图2所示。图2中,clk为ADC输出的采样数据随路时钟,ADC_D_P和ADC_D_N则是对应的采样数据差分信号对,可以看到,该输出时序采用了DDR模式,同时在clk的上升沿和下降沿传输数据。相比传统的SDR模式,采用DDR模式最大的好处是仅需SDR工作时钟的一半即可完成数据传输。

以下以12位宽,DDR模式,500Msps的ADC输出数据为例,说明FPGA接收数据策略的设计。

对FPGA器件,图2所示传输时序可以视作一个典型的源同步DDR数据传输系统,clk的频率为250MHz。传统的设计思路是在FPGA内部对clk信号进行倍频处理,得到新的时钟信号clk2,该时钟的频率是clk的两倍,然后在clk2时钟的上升沿将采样数据写入FPGA内部的静态存储器,从而将DDR模式变成了SDR模式。这种策略在时钟频率较低时非常有效,但由于采样时钟高达500MHz,此时仍采用该策略会导致设计难度很大,为此,本发明采用了专用DDR接收原语,在两大FPGA厂商Xilinx和Altera公司的FPGA产品中,均设计有专门完成DDR数据接收的I/O模块,其中Xilinx公司称之为IDDR,Altera则称作ALTDDIO_IN,二者结构类似,本发明采用Xilinx公司的IDDR完成高速ADC数据接收。

IDDR可视作一组特殊的I/O寄存器组,输入接口信号为1位时钟信号C、1位使能信号CE,和1位数据信号D,输出则是2位数据信号Q1和Q2。它共有三种工作模式:OPPOSITE_EDGE mode、SAME_EDGE mode、以及SAME_EDGE_PIPELINED mode,三种模式的工作时序图分别如图3、图4和图5所示。

可以看到,在这三种模式中,OPPOSITE_EDGE mode的输出数据特点是Q1在C的上升沿之后更新,Q2则在C的下降沿之后更新;而SAME_EDGE mode的输出数据Q1及Q2均只在C的上升沿之后更新,这更有利于FPGA实现,设计人员只需用单一触发类型的寄存器/存储器就可以完成数据更新;SAME_EDGE_PIPELINED mode则在SAME_EDGE mode的基础上进一步改进,使原本处于同一个时钟周期内的2组数据(如图3中的D0A和D1A,D2A和D3A……)分别通过Q1和Q2端口在C时钟的上升沿输出。因此,根据这三种模式的特点,本发明采用SAME_EDGE_PIPELINED mode的IDDR原语完成原始ADC数据的DDR数据接收,12位数据共需调用12组IDDR原语,同时为了保证较好的时序性能,这12组I/O引脚和ADC随路时钟引脚应处于FPGA的同一个BANK内,且随路时钟应分配至具有时钟使能(Clock Capable,以下简称CC)功能的引脚以保证高速时钟驱动强度及走线质量,经过IDDR处理后,输出数据速率变为250MHz,在每个时钟的上升沿输出2组数据,其中后者比前者在时间尺度上相差1个采样周期,即2ns。

对12位ADC数据采样接收系统,该策略可用功能框图表示如图6所示。图6中,IBUFDS是FPGA中专用于接收LVDS差分信号的I/O模块,其输出为单端信号,而ADC_CLK信号由于要作为数据信号的触发时钟,希望具有较强的驱动能力,因此采用了区域时钟资源BUFR对其进行了处理,BUFR输出时钟信号din_clk即可用于驱动IDDR模块和其它FPGA逻辑资源。所有IDDR的Q1数据组成dout1信号,所有IDDR的Q2数据则组成dout2信号,实际工作波形如图7所示(其中din为原始ADC信号,din_clk频率为250MHz)。可以看到,dout1和dout2均在din_clk的上升沿之后更新数据,但二者在时间尺度上实际上仍相差1个采样周期。

4) 全局时钟模块设计

全局时钟模块主要用于向其它模块提供高精度时钟信号,主要采用FPGA内部的锁相环PLL模块完成时钟信号再生及倍频、分频处理。本发明使用250MHz和125MHz两个时钟域,这两个时钟域要与ADC采样频率保持严格相参,为此,可在设计PCB时通过专用时钟分配器将外部频率综合器产生的500MHz高精度时钟分成多路信号,并分别送到ADC器件和FPGA的专用全局时钟引脚,然后在FPGA内部对其进行2分频和4分频处理,得到所需的250MHz和125MHz信号,这两组信号均需要通过专用的全局布线资源BUFG布线至全局时钟网络中才可供FPGA其余资源使用。

该模块功能框图如图8所示,其中IBUFGDS是FPGA中对专用全局时钟引脚完成差分转单端的底层原语。

5) 跨时钟域处理模块设计

前述IDDR输出数据是与ADC随路时钟(如图7中的din_clk)同步的,但为了方便后续处理,该数据必须同步至FPGA内部的全局时钟资源clk_250m中。如果对数据正确性要求不高,可以简单地采用2级或3级寄存器级联完成跨时钟域数据处理,而在许多高速ADC数字采样系统中,即使是只有一个数据发生错误都可能导致严重后果,因此必须采用更稳妥的跨时钟域转换策略,一般地,采用读写时钟独立的异步FIFO可以顺利解决此问题,但是异步FIFO需要采用存储器加上大量逻辑资源构建而成,走线延时难以控制。为此,本发明转而采用了FPGA的分布式存储器(Distributed RAM)作为跨时钟域数据转换的缓冲区。Distributed RAM资源丰富,最高工作频率可达500MHz以上,而且可以灵活地施加位置约束,从而能保证即使在很高频率下也能达到充足的建立/保持时间裕量,每个分布式RAM的存储深度一般为16X1位或32X1位,多个分布式RAM并联使用即可完成所需功能。

以Virtex5型FPGA的RAM32X1D完成对图7输出的dout1跨时钟域处理为例,说明其内部结构及工作原理,如图9所示,该模块的输入信号为din_clk, 12位比特宽度数据信号dout1,以及FPGA内部全局时钟模块产生的clk_250m信号,整个模块包含有12组RAM32X1D,每一组RAM32X1D均配置为深度为32,宽度为1比特的简单双口RAM,其写时钟为din_clk,写地址来源于5位比特宽度的模32计数器1,该计数器在din_clk的驱动下完成0~31的循环计数,写数据则为dout1的每一位比特数据。

为了保证RAM的读端口能读取到正确数据,必须确保读地址相对写地址有一定延迟,为此图9中专门设计了计数器使能控制模块,该模块内部包含一个边沿检测器,可检测到模32计数器1的最高位从0到1的跳变,该跳变代表写地址从0跳变至16,只有在检测到该跳变后,才使能模32计数器2,该计数器同样是5位比特宽度计数,但其工作时钟为clk_250m,输出计数值直接送至各分布式RAM作为读地址。采用这样的策略后,相当于读地址相比写地址至少有16个时钟周期的延时,确保数据读取的正确性。此后,各分布式RAM输出的数据统一经过由clk_250m驱动的寄存器阵列寄存后输出作为dout1_new信号,该信号即已经被完全同步至clk_250m时钟域。

需要注意的是,为了保证高频工作的稳定性,该模块使用的分布式RAM位置应该通过用户约束文件加以指定,具体的位置指定原则是:根据ADC采样数据端口的引脚位置,选择距离该引脚最近的分布式RAM作为对应该比特的跨时钟域缓冲区。此外,为了达到更好的时序性能,在分配各ADC通道的数据I/O引脚至不同BANK时,也应尽可能使这些BANK相互靠近,以减少FPGA内部走线延时,达到更高的工作频率。

6) 本地数控振荡器设计

数控振荡器是实现正交下变频的关键组件,它主要采用直接频率合成(DDS)技术实现任意频率的正余弦值输出,以中频620MHz的100MHz宽带信号为例,此时有用信号频带范围为570-670MHz,按照带通采样定理,采样频率在大于2倍信号带宽的前提下应满足以下条件:

(1)

其中为有用信号最高频率,为有用信号最低频率,取m=2,则此时的范围为446MHz-570MHz,为方便设计,可选择采样频率为500MHz,经过ADC器件完成模数转换后,有用信号的数字域频带范围变为70至170MHz(正边带),-70至-170MHz(负边带),这两个边带形状完全相同,只需选择其中一个边带信号,将其频率变为零频附近即可完成正交下变频过程。而为了完成该过程,必须要将该中频信号与本地NCO产生的正余弦信号相乘,即完成数字域正交解调功能,NCO的输出频率应该与有用信号的中心频率相同,对前述示例,有用信号中心频率为120MHz,因此NCO需要在500MHz的工作频率下,并连续输出以下数字频率:

(2)

一般地,NCO的上述三角函数输出可以直接通过FPGA的内建DDS IP核自动实现,但由于该设计的采样频率高达500MHz,已经大大超过传统FPGA的工作频率,因此无法直接利用该DDS IP核,为此,本发明采用了工作频率仅为250MHz的DDS IP核,使其输出正余弦数据形式变为:

(3)

可以看到,如果取公式(2)中的则此时公式(2)与公式(3)完全相同,因此公式(3)相当于对公式(2)的偶数点抽样,将公式(2)改写如下:

(4)

从公式(4)可以看出,此时公式(2)已经完全可以由公式3表示,当N为偶数时,直接采用公式(3)即可,当N为奇数时,则需要在公式(3)输出的基础上增加一个固定的相位差,这可以通过三角公式进一步变换为:

(5)

上式中,和都是固定常系数,因此,经过上述公式变换,可先采用工作频率为250MHz的DDS IP核得到公式(2)的偶数点输出,然后使用公式(5)所示的常系数乘法运算得到公式(2)的奇数点输出,最终相当于实现了等效于500MHz工作频率的NCO。

该NCO内部组成框图如图10所示,其中DDS IP核可直接由FPGA开发工具自动生成并输出一对正余弦值,其输出规格与公式(3)一致,然后经过4个乘法器和2个加法器处理后,得到公式(2)的奇数点输出,最终原始正余弦数据与新产生的正余弦数据均经过寄存器统一寄存后输出,分别记作余弦数据1、正弦数据1、余弦数据2、正弦数据2。

经实际验证,采用图10所示结构,可有效地用于FPGA实现,布局布线后最高工作频率可达250MHz以上,并在250MHz的工作频率下完成了原500MHz工作频率NCO的全部功能。

7)正交移频设计

正交移频功能相对简单,它主要是通过图1中的4个乘法器实现,这4个乘法器的输入和输出信号介绍如下:

乘法器1输入信号:同步后ADC数据1(以下记作ADC_dat1)和余弦数据1(以下记作cos1);

乘法器2输入信号:同步后ADC数据1(以下记作ADC_dat1)和正弦数据1(以下记作sin1);

乘法器3输入信号:同步后ADC数据2(以下记作ADC_dat2)和余弦数据1(以下记作cos2);

乘法器4输入信号:同步后ADC数据2(以下记作ADC_dat2)和正弦数据1(以下记作sin2);

乘法器1输出信号:ADC正交化数据同相分量1 (以下记作ADC_dat_I1);

乘法器2输出信号:ADC正交化数据正交分量1 (以下记作ADC_dat_Q1);

乘法器3输出信号:ADC正交化数据同相分量2 (以下记作ADC_dat_I2);

乘法器4输出信号:ADC正交化数据正交分量2 (以下记作ADC_dat_Q2);

上述运算的数学形式为:

(6)

因此,按照傅里叶变换理论,这4个乘法器实际上完成了输入ADC数据的移频功能,将原始信号的正边带搬移至零频,同时负边带被移至原始中频的2倍位置,经过移频后得到的信号正负边带不再对称,故移频后信号为一复信号,该复信号的实部称作同相分量,虚部称作正交分量。同样地,ADC_dat_I1/Q1和ADC_dat_I2/Q2虽然同时在clk_250m时钟的上升沿更新,但在真实时间尺度上上仍然是相差一个采样周期。

该正交称频器的作用可从频域解释如下, ADC_dat1和ADC_dat2共同代表了完整的原始ADC数据,是一个典型的带通信号,其中心频率在f0,对应的频域分布式样如图11所示。经过公式(6)的移频处理后得到ADC_dat_I1/Q1和ADC_dat_I2/Q2,二者共同组成了移频后的正交信号,对应的频域分布式样变成图12所示。

8) 多通道数字抽取滤波器设计

从图12可以看出,经移频后的正交信号频率分量中同时存在着高频和基带信号,而只有后者才是真正需要的,因此需要采用一个具有良好低通特性的数字滤波器滤除位于2f0的高频分量。另一方面,为了减轻后续数据处理压力,在进行低通滤波后,应进行抽取处理以降低数据速率。本发明采用具有有限冲激响应(FIR)特性的4抽取滤波器,相当于使数据速率从采样速率500MHz降低至125MHz,同时又可以保持良好的线性相位特性,滤波器的具体系数设计可根据实际需要采用多种成熟算法,本发明不再涉及。

目前FPGA中常用的抽取滤波器均采用SDR数据传输模式,即每个工作时钟周期只能接收一个数据,包括Xilinx和Altera公司的IP核均采用该策略,但同样由于采样时钟高达500MHz,这种传统的设计思路不再可行。为此,本发明根据抽取滤波器的工作原理,设计了一种新型滤波器,其工作频率为抽取后的数据速率,对500MHz 采样率的4抽取滤波器,工作频率为125MHz,从而可以有效地用于FPGA实现。

如图1所示的3路ADC数据采集系统经过正交移频后共有6路信号,这6路信号的滤波处理完全相同,因此以下仅以单通道4抽取60阶FIR滤波器为例说明其实现方式,该滤波器的输入信号为2路并行的信号码流,输入码流速率为250MHz,2路数据之间在真实时间尺度上仍相差一个采样周期。整个抽取滤波器的内部结构图如图13所示。

以下解释该滤波器工作原理,经典FIR滤波计算公式为:

(7)

其中为滤波器系数,为滤波器输入数据,为滤波器输出数据。可以看到,按照上述公式,每计算一个值均需要完成60次乘法运算和59次加法运算,但由于滤波后还要进行4抽取处理,因此只需要计算真正需要输出的数据即可,这样可以将运算量减少为原来的1/4;另一方面,为了确保FIR滤波器的线性相位特性,实际使用的FIR滤波器系数均具有偶对称或奇对称特性,可进一步将乘法器的数量减少一半。

由于该60阶FIR滤波器系数具有偶对称特性,因此只需记录即可,然后将其重排成以下式样:

上式实际上对应图13的FIR滤波系数阵列,每一行对应一组系数阵列,这些阵列可由寄存器构建而成,同时为提高滤波器适应范围,在FIR滤波系数阵列前方加入了滤波器系数更新器,该模块的主要作用是在clk_125m的驱动下,动态更新滤波器系数值以适应不同的需求。

进入滤波器的2路并行数据流首先进入一个读写时钟独立的异步FIFO作进一步降速处理,输出数据率变为125MHz,且4路数据并行输出(即图13中的降速数据流1~4),每相邻2路数据之间仍然在真实时间尺度上相差一个采样周期。然后4路并行数据各自进入相应的移位寄存器阵列,该移位寄存器阵列仍由125MHz驱动,每来一个时钟沿将数据右移一次,最大移位深度为15。

然后将4组移位寄存器阵列和4组FIR滤波系数阵列的对应数据分别相乘并作累加处理,即可得到按照公式(7)计算得到的数据,且输出数据速率为125MHz。需要注意的是由于FIR滤波系数阵列系数的对称性,因此需要先将具有相同滤波器系数的移位寄存器阵列相加然后再作乘法运算,这样只需30个硬件乘法器即可完成60阶滤波处理。

9) 实施案例

本实施例选择TI公司的单片双通道模数转换芯片ADS5404和Xilinx公司FPGA器件Virtex6 SX315- FF1156,整个系统共采用2片ADS5404组成4通道数字接收机,中频信号频率为620MHz,采样率为500MHz,信号带宽为100MHz,采样数据位宽为12位。

按照前述“高速ADC数据接收模块设计”和“跨时钟域处理模块设计”描述内容,应为每一路ADC数据通道分配各自BANK,并尽可能使这些BANK相互靠近,本实施案例的ADC数据通道IO引脚分布,整个I/O分布相对集中,有利于FPGA布局布线。

确定ADC数据通道IO引脚后,再将各ADC数据的随路时钟分配至具有CC功能的引脚,然后使用48组IDDR原语完成ADC数据接收,此后再采用96个分布式RAM组件RAM32X1D完成跨时钟域处理,每个RAM32X1D的位置均通过UCF文件精确指定,经过UCF约束后,各分布式RAM的FPGA布局布线情况FPGA走线质量良好,经过FPGA静态时序分析工具验证,该布局布线可保证500MHz下的数据稳定接收。

经过跨时钟域处理后,即可进行正交移频及数字抽取滤波处理,正交移频所需的数控振荡器NCO工作频率为250MHz,输出正余弦信号的数字频率为120MHz。采用Matlab的FIR滤波器设计工具箱,设计出某60阶低通滤波器,并按照前述策略实现工作频率为125MHz的抽取滤波。最终整个设计工程的占用资源如表1所示,该设计的静态时序报告最高支持ADC采样频率为265MHz,已经超出250MHz的预期目标。

表1占用资源统计

资源占用数量占用百分比LUT4355122%寄存器175784%36Kb块存储器162%

本文虽然已经给出了本发明的一些实施例,但是本领域的技术人员应当理解,在不脱离本发明精神的情况下,可以对本文的实施例进行改变。上述实施例只是示例性的,不应以本文的实施例作为本发明权利范围的限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号