基于FPGA的两种DDS实现

[09-12 18:34:48]   来源:http://www.88dzw.com  EDA/PLD   阅读:8701

文章摘要: 引言DDS(Direct DIGItal Freqiaency Synthesizers)广泛应用于雷达系统、数字通信、电子对抗、电子测量等民用军用设备中。它是随着半导体技术和数字技术的快速发展而发展起来的新型的频率合成技术,与传统的VCO+PLL的模拟方式产生所需频率相比,DDS技术具有频率分辨率高,相位噪声低,带宽较宽,频谱纯度好等优点。这些技术指标在一个系统中是至关重要的,决定着一个系统的成败。1 DDS的基本原理1.1 频率合成方式的基本原理DDFS是根据余弦函数相位和幅值的对应关系,从相位出发,由不同的相位给出不同的电压幅值,再经过D/A变换和滤波最后得到一定频率和调频率的

基于FPGA的两种DDS实现,标签:eda技术,eda技术实用教程,http://www.88dzw.com

     引言

  DDS(Direct DIGItal Freqiaency Synthesizers)广泛应用于雷达系统、数字通信、电子对抗、电子测量等民用军用设备中。它是随着半导体技术和数字技术的快速发展而发展起来的新型的频率合成技术,与传统的VCO+PLL的模拟方式产生所需频率相比,DDS技术具有频率分辨率高,相位噪声低,带宽较宽,频谱纯度好等优点。这些技术指标在一个系统中是至关重要的,决定着一个系统的成败。

  1 DDS的基本原理

  1.1 频率合成方式的基本原理

  DDFS是根据余弦函数相位和幅值的对应关系,从相位出发,由不同的相位给出不同的电压幅值,再经过D/A变换和滤波最后得到一定频率和调频率的模拟信号。由此可见,DDS有很多功能模块组成,如图1所示。


  若相位累加器有N位,时钟频率为fclk,频率控制字为FCW。N位的相位累加器可以对时钟频率进行2N分频,所以DDS的精度可以达到:


  频率控制字是用来控制累加器的步进的,累加器的步进为。假设初始的相位偏移△φ=0,则经过N个时钟周期后相位累加器的输出θ=2π*FCW*N*(1/2N)。在相位步进△0时,完成2π的相位变化即为完成一个输出周期,所以20/△θ*Tclk=T0,即:


  可见调节FCW可以任意地按照要求改变输出频率,这就达到了频率合成的目的。

  1.2 直读方式DDS的原理

  直读法(DDWS)工作流程是,把所需要的DDS的波形,直接用Matlab抽样量化,然后把量化的数据直接存储到FPGA的BlockRAM中,再在时钟频率的控制下直接从BlockRAM中读取数据,D/A后输出原来波形。

  2 数字实现

  2.1 DDFS的数字实现

  由于D/A之前都是数字部分,为了分析其原理数字控制的实现过程,参考如图2所示结构。


  相位累加器是由一个加法器和一个寄存器构成,假设累加器位数N=6,那么000000代表0弧度,000001代表弧度,相应的000010代表(2π/64)*2弧度,111111代表(2π/64)*63弧度。若频率控制字FCW=000011,并且累加器中的初始相位为O,则经过N=21个时钟周期后形成的二进制序列为000000,000011,…,111111,对应的相位分别为O,(2π/64)*3,…,(2π/64)*63。当第22个时钟周期到来时,加法器溢出,所有位数重置为0,另一个循环周期开始。查找表可以用FPGA中BlockRAM做成,前面的二进制序列作为地址,相位对应的幅度值作为地址对应的值存储起来,这样在时钟频率的控制下通过二进制序列可从BlockRAM中读取相应的幅值,经过D/A后就为所需要的模拟波形。图3为FPGA综合后的RTL级电路图

[1] [2]  下一页


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD
分类导航
最新更新
热门排行