新闻  |   论坛  |   博客  |   在线研讨会
基于DDS的波形发生器设计之---直接数字频率合成原理
0750long | 2009-04-05 19:02:16    阅读:1625   发布文章

基于DDS的波形发生器设计之---直接数字频率合成原理

 

在微机内,插入一块D/A,编一个小程序,让微机连续进行加1运算,当加到一定值时,做减一运算返回到原值,反复运行等量程序,则微机输出的数字量经D/A,再经低通滤波后变成三角波。若改变程序,令微机先输出'1'(高电平),然后延时一段时间,再输出'0',再延时一段时间,反复运行程序,则可以得到方波。也可以先将要输出的数据存放在ROM(RAM)中,然后在系统时钟信号(CLK)频率下,按一定的顺序从ROM(RAM)读出数据,再进行D/A转换就能得到 一定频率的波形。现以正弦波为例说明如下:

在正弦波的一个周期(360) 内,若按相位划分若干份相等的角度,将各相位对应的幅值A进行二进制编码并存入ROM。若相位6度划分为一个等分,则一个周期内有60个等分,因为正弦波对180 为奇对称,90和270为偶对称,所以ROM中只要存0~90 度范围内的幅值码,在0~90度之间共只有15等分。因为24=16,所以可按4位地址对数据ROM进行寻址。

下面讨论频率的关系。

   我们知道,输出波形的产生是相位累加的结果。设相位累加器累加的值为K,即相位步进码,显然K值越大,步进越大,输出的频率也越大,但是这样一来的后果是失真严重。对于一个N位的地址,共有2N个采样点,而一个周期内至少要4个采样点才能得到正弦波。现在假设时钟控制频率为fc,输出频率为fo,地址为N位,则当K=Kmin=1时fo=Kmin*fc/2N,所以最低的输出频率为fomin=fc/2N

当K=Kmax=2 N-2时,fo=Kmax*fc/2 N   ,所以最高输出频率为fomax=fc/4。

在DDS中,输出频率的点是离散的,当确定了最高和最低输出频率后,其间可输出的不同频率个数为M=fomax/fomin=2 N-2  。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客