DDS的FPGA实现

一、原理的理解

当频率控制字为1时,给出下列公式:

     上式中的N为把一个周期取2^N个点,即把正弦信号在相位上的精度定义为N位,其分辨率为1/2^N。

       图片1给出的是在一个正弦周期内,采样了32个点。假设要求1ms输出一个数值,那么输出一个完整的正弦信号需要32个点,则输出一个正弦信号需要32ms,可知输出信号的频率f为1000ms/32ms。

那么问题来了:如何通过上述的32个点产生频率2f的正弦信号呢?

答案:在第1ms的时候取1上面的值,在第2ms的时候取3上面的值,在第3ms的时候取5上面的值,即取1、3、5、7上面的值。F(out)= 1000ms/(2^5/2)

如何通过上述的32个点产生频率f/2的正弦信号呢?

答案:在第3ms的时候取2上面案:在第1ms的时候取1上面的值,在第2ms的时候依然取1上面的值,在第4ms的时候依然取2上面的值........此时F(out)= 1000ms/(2^5/0.5))

倘若一个正弦周期有2^32个点,要输出32个点来形成正弦信号。要怎么做呢?

有2^32/32=2^27,即每隔2^27个点就输出一次。此时F(out)= 1000ms/(2^32/2^27),2^27称为频率控制字B,也称为步进。而1ms就是工作时钟。

DDS的基本结构图如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值