DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 208|回复: 0
打印 上一主题 下一主题

基于DDS的高精度函数信号发生器的研制

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:基于直接数字频率合成技术(DDS),采用单片机实现对DDS芯片AD9852的控制,提出一种高精度函数信号发生器的实现方案。重点介绍了单片机与AD9852的硬件接口电路、整个系统的软件设计以及单片机中对48 b频率控制字的处理方法。此方法在单片机程序设计中处理多于32 b的整型数据时具有借鉴意义。此系统具有高频率、高精度的主要特点,且控制灵活方便,具有广阔的应用前景。关键词:DDS;AD9852;频率控制字;信号发生器??? 直接数字频率合成技术(Direct Digital Frequency Synthesis,DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。DDS技术具有相对带宽宽、频率转换时间短、频率分辨率高等优点,广泛用于高精度频率合成和任意信号发生。本文采用单片机控制DDS芯片,设计实现了一种高精度多波形的信号源。1 DDS原理??? DDS的基本结构包括:相位累加器、正弦查询表、数模转换器(DAC)及低通滤波器等。DDS原理如图1所示。

??? 图1中信号输出频率和参考时钟频率的关系表达式为:???

其中:fo为输出频率,fosc为参考时钟频率,FTW为频率控制字,N为频率控制字的位数。由于N是一个固定值,那么只要改变FTW的大小就能得到所需要的频率值,而且频率的分辨率由N值决定,当N值越大则分辨率越高。由Nyquist取样定理可知,要恢复理想波形,在理想低通滤波器的条件下,输出频率必须小于时钟参考频率的用50%,即fofL1时,通过把48 b频率控制字分成8 b+32 b+8 b,令最前面的8 b和最后面的8 b等于O,引入临界频率fL2,可由算式(1)计算得到:??? fL2=300000000*2 40/2 48△1.17172MHz?? 当fL1<fo≤fL2时,得到频率控制字计算公式为:FTW=(240*fo)/300 000 000△3 665.038 759*fo最后当fo大于fL2,即把后16 b定为0,这时式(1)中N=32,则频率控制字计算公式为:???

??? 此时频率分辨率为(300 000 000*216)/248△0.07 Hz。同理可得当输出频率小于fL1、大于fL1小于fL2时分辨率分别为1.07e一6 Hz和2.73e一4 Hz,本方案设计为输出频率低于1 MHz时分辨率为O.001 Hz,高于1 MHz时分辨率为O.1 Hz。由上可见此方法合理有效,解决了单片机48 b频率控制字算法,同时也达到了很高的频率分辨率和精确度。3 结 语??? 针对目前市场上的函数发生器存在的频带范围窄、精度不高、准确度低、频谱纯度差等缺点,设计了一款高精度高频数控函数信号发生器,该函数发生器具有频带范围宽、精度高、频谱纯度好、频率输出稳定等优点。经测试频率范围可以达到50 MHz,频率分辨率为0.001 Hz,并可以产生正弦波、FSK与BPSK波形。可应用于日常教学与科研工作中,在晶体滤波器测试、复杂通信系统测试、音频系统测试、高性能视频测试等领域有广泛的应用前景。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-22 13:13 , 耗时 0.091917 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表