基于CORDIC改进算法的DDS设计

发布者:SerendipityGlow最新更新时间:2011-04-01 来源: 电子技术应用关键字:CORDIC  DDS 手机看文章 扫描二维码
随时随地手机看文章

摘  要: 采用CORDIC算法实时计算正弦值的方法,替代传统DDS中的正弦查找表,显著节省了硬件资源,极大提高了转换速度以及DDS的频率和相位分辨率。将基于改进的并行流水结构的CORDIC算法作为IP应用于高端DDS芯片中,同时利用Matlab的M语言进行仿真与调试,可以直观地看到该改进算法的输出波形。
关键词: 直接数字频率合成;CORDIC算法;Matlab

    传统DDS是由美国学者Tierney 等提出,采用查找表结构实现,很难满足数字信号处理领域中高精度、高分辨率、实时运算的要求。而采用基于CORDIC算法的DDS结构可以很容易地满足这些要求,且易于采用流水线技术,因此这一技术越来越多的用于雷达等电子系统中[1]。本文提出了一种基于CORDIC算法的16位流水线并行结构的DDS,取代传统ROM查找表,实现了高速度和资源占用率低的要求。利用Matlab工具进行仿真分析,不仅能直观地看出输出波形,而且加快了设计进程。
1 DDS的基本结构
    DDS的基本结构如图1所示,主要包括:参考频率源、相位累加器、ROM正弦查找表、D/A转换器及低通滤波器。频率控制字K决定了相位累加器的步进大小。每一个时钟周期,相位寄存器中的数值就累加一个步长K,与初始相位相加后送入正弦查找表,正弦查找表一般是一个可编程存储器,存有相应的正弦波数据。存储器将输入的相位信息转换为地址信息,再将地址映射为正弦幅度值,经过D/A转换器生成阶梯波形,然后经过低通滤波器得到频率的连续波形。


    这种结构的缺点是ROM的容量与相位码的位数成指数关系,而大容量的ROM意味着系统高功耗、高成本、低稳定性。因此人们寻求直接计算正余弦值来代替ROM查找表。相位幅度转换主要有查表法、多项式展开法以及CORDIC算法[2]。CORDIC算法在硬件实现上只需移位和加减运算即可得到正余弦值,容易在VLSI芯片上实现。
2 CORDIC算法的原理及改进
  CORDIC(The Co-ordinate Rotation Digital Computer)算法由J.Volder[3]1959年在美国航空控制系统设计中提出,是一种用于计算运算函数的循环迭代算法。CORDIC算法的基本概念是将目标旋转角分解为一组预定单元旋转角的加权和,用这组预先规定的基本角度的线性组合逼近。该算法的巧妙之处在于基本角的选取恰好使每次矢量以基本角度旋转后,新矢量坐标值的计算仅需要简单的移位和加减法就能完成[4]。

其中p称为CORDIC算法的旋转增益。实际的算法中不可能做无穷迭代,因此实际的增益与迭代次数有关,当迭代次数逐渐增大时,p就不断逼近1.647。由于n不可能无穷大,因此会引入误差。在迭代的过程中可以忽略cosθn项,迭代的最后再将其乘入。这样就得到:
 
    从公式(7)而来的是CORDIC算法的迭代结构,在传统的迭代结构中随着迭代次数的增加,其查找表的地址也随之增加,查找表中存放旋转的角度集。必须有一个状态机来跟踪迭代过程,这将导致运行速度降低,不适合高速高精度的要求[6]。
    采用流水线结构,能够在执行进程的同时输入数据,从而极大提高程序的运行效率。迭代性流水线结构如图2所示。


3 Matlab软件实现CORDIC算法仿真
    Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。Matlab的应用范围非常广,包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。本文利用Matlab的M语言进行CORDIC算法的仿真,其优势在于仿真结果易于观察,充分利用可以有效的加快设计进程。
    本程序遵照上述CORDIC算法编写, 采用文件的方式编写,下面是部分源程序。仿真输出波形如图3所示。

function[x,y]=get_sincos(Angle,precision)%Initial Angle and
precision
InitialAngle=Angle*pi/180;%Coneversion to radian
K=1.0;
for i=1:precision
    cordic_table{i}.k=K;
    cordic_table{i}.phase_rads=atan(K);
    K=0.5*K;
end;
x=0.60725293510314;y=0;%Initial Value when computing
sin/cos
acc_phase_rads=InitialAngle;

for i=-90:1:90
    [x,y]=get_sincos_fxp(i,22);
    xx(j)=x;
    yy(j)=y;
    j=j+1;
end;
figure(1)
plot(xx,′r′)
hold on
plot(yy,′b′)
hold off
    在传统DDS设计的基础上,用CORDIC算法取代传统的查找表,提升了转换速度和精度,同时基于改进的并行流水线型的CORDIC,进一步提升了转换速度,在大部分转换角度固定的情况下,对初始值进行优化可以节省1/3的硬件资源。该设计已经作为IP应用于高端DDS芯片中。

关键字:CORDIC  DDS 引用地址:基于CORDIC改进算法的DDS设计

上一篇:基于TMS320F2812和USB100的CAN-USB总线通信系统设计
下一篇:高阶FIR滤波器的计算机设计与FPGA实现

推荐阅读最新更新时间:2024-05-02 21:20

关于DDS信号源在扫频测试的作用分析和介绍
电子设计中经常碰到的问题是对待测电路(DUT)传输特性的测试,这里所说的传输特性包括增益和衰减、幅频特性、相位特性和时延特性等,而最常见的就是DUT的幅频特性。 最初,对于DUT的幅频特性的测试是在固定频率点上逐点进行。这种测试方法繁琐、费时,且不直观,有时还会得出片面的结果。例如,测量点之间的谐振现象和网络特性的突变点常常被漏掉。 DDS(Direct Digital Synthesis)技术是1971年3月由美国学者J.Tierncy,C.M.Rader和B.Gold提出,这是一种从相位概念出发直接合成所需要波形的全数字频率合成技术,原理框图如下: DDS技术的出现使得我们对于幅频特性的测试变得异常简单。我们只需
[测试测量]
关于<font color='red'>DDS</font>信号源在扫频测试的作用分析和介绍
技术文章—直接数字合成技术(DDS
直接数字合成技术(DDS)是一种频率合成技术,用于产生周期性波形。目前,从低频到上百MHz的正弦波、三角波产生,绝大多数采用的是DDS芯片完成,甚至于买来的信号源,皆是采用DDS实现。 为了便于大家理解,现假设DDS有一个固定的时钟MCLK——36MHz,那么每个脉冲的周期则为27.78ns。下面再为大家附上一个正弦波的“相位—幅度”表格,它具有足够细密的相位步长,比如0.01°,那么一个完整的正弦波表,就需要36000个点。 如下表1所示。N为表格中数据点序号,phase为该点对应的正弦波相位,Am对应该相位处的正弦波计算值,介于-1 ~ +1之间。Data_10为正弦波计算值转换成10位数字量的10进制表示,用一个10位
[测试测量]
技术文章—直接数字合成技术(<font color='red'>DDS</font>)
一种基于DDS的宽带频率合成的设计
摘要:针对高性能DDS芯片AD9858设计宽带频率合成器,分析DDS的工作原理,给出宽带频率合成器的原理框图和实现过程,并对软件控制流程进行了详细说明,结合理论时系统的相位噪声和杂散性能做了简要分析和计算,最后获得测试结果验证了基于AD9858宽带频率合成器有较好的相位噪声和杂散,达到了预期的目标。 关键词:直接数字频率合成;AD9858;YTO;鉴相     目前频率合成主要有3种方法:直接模拟合成法、锁相环合成法和直接数字合成法。直接模拟合成法利用倍频(乘法)、分频(除法)、混频(加法与减法)及滤波,从单一或几个参数频率中产生多个所需的频率。该方法频率转换时间快(小于100 ns),但杂散谱太多,难以抑制。锁相环合成法通过锁相
[电源管理]
一种基于<font color='red'>DDS</font>的宽带频率合成的设计
基于AD9912镜像频率的应用
直接数字频率合成即DDS(Direct Digital Synthesis),它将先进的数字信号处理方法引入了信号合成领域理论,实现了合成信号的频率转换速度与频率准确度之间的统一。DDS技术具有输出频率、相位和幅度能够在数字处理器的控制下精确而快速的变换以及能进行极微小的频率调谐和在两个频率间“跳跃”的特点,同时这种技术也具有极好的温度、老化稳定性、转换频率保持相位恒定和小型可靠等优点。因此DDS技术是公认的产生频率的理想方法,是频率合成的第三代方案。八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q233x;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD
[单片机]
基于AD9912镜像频率的应用
DDS芯片AD9832的原理及应用
    摘要: AD9832是AD公司生产的直接数字频率合成器。它体积小、重量轻、操作方便,同时具有极高的频率辩率。文章介绍了直接数字频率合成器(DDS)AD9832的原理,分析了AAD9832的内部结构、引脚功能以及在高频测试仪中的应用。     关键词: 直接数字频率合成器 DDS AD9832 高频测试仪 直接数字频率合成是一种新的频率合成技术和信号产生方法。直接数字频率合成器(DDS)具有超高速的频率转换时间,极高的频率分辨率和较低的相位噪声,在频率改变与调频时,DDS器件能够保持相位的连续,因此很容易实现频率、相位和幅度调制。此外,该器件还具有可编程控制的突出优点。因此,直接数字频率合成器得到了越来
[应用]
基于AD9850的信号发生器的设计与实现
直接数字频率合成技术(DDS)是20世纪末迅速发展起来的一种新的频率合成技术,它将先进的数字处理技术与方法引入信号合成领域,表现出优越的性能和突出的特点。由于DDS器件采用高速数字电路和高速D/A转换技术,具有频率转换速度快、频率分辨率高、相位噪声低、频率稳定度高等优点,此外,DDS器件很容易实现对信号的全数字式调制。因此,直接数字频率合成器以其独有的优势成为当今电子设备和系统频率源的首选器件。本文介绍了ADI公司出品的 AD9850芯片,以单片机AT89S52为控制核心完成正弦信号发生器的可行性设计方案,并给出了调试通过的源程序以供参考。 1 AD9850芯片性能及管脚功能 AD9850采用了先进的CMOS工艺,支持5 V和3
[测试测量]
基于AD9850的信号发生器的设计与实现
基于51单片机的DDS函数信号发生器的设计
本文介绍基于51单片机的DDS函数信号发生器的设计。系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图 总体方框图 硬件实现及单元电路设计 振荡电路 单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为
[测试测量]
基于51单片机的<font color='red'>DDS</font>函数信号发生器的设计
RTI公司加入远程操控联盟,共同推进车辆远程驾驶应用
最大的自主自动系统软件框架提供商RTI公司(Real-Time Innovations)近日宣布加入远程操控联盟(Teleooperation Consortium,TC)。RTI公司首席执行官Stan Schneider同时加入TC董事会。RTI公司与领先的科技企业、汽车制造商、大学和美国国家标准与技术研究院(NIST)携手合作,共同努力,发现并解决车辆远程操作市场所面临的关键性难题。RTI公司将与TC合作,致力于推动自主自动车辆市场增长、提升关注度并推动整个行业引导自主自动车辆远程操控系统的开发和应用。 车辆远程操控(Vehicle Teleoperation)也称为远程驾驶,是自主自动车辆生态系统的重要组成部分。当前自动
[汽车电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved