一.DDS
DDS的原理就是把正弦波数据存在rom里,然后按照一定的速率输出。比如设定rom的宽度为8位,深度为256。时钟的采样速率为50M,则输出的正弦波频率为:
f_out=50M/256=195KHZ
实现调频就可以从中抽出数来输出,比如隔一个输出一次,一个周期只有128个点就可以把频率扩大一倍。或者一个数输出2次就可以把频率缩小一倍实现调频。
所以定义一个16位的计数器,高八位为rom的地址,每次加的数不同就可以实现不同的频率。
f_out/f_add=f_clk/2^16
f_add=2^16*f_out/f_clk
比如要输出100K的正弦波
f_add=131
下面用matlab生成.coe文件存放正弦波数据
由于.coe文件的格式要求在生成的文件里开头加上
再把结尾的‘,’号改为‘;’即可。
数据宽度设置为8,深度为256和matlab中设置的一样。
dds与fir低通滤波联合仿真
最新推荐文章于 2024-05-02 01:26:30 发布
一.DDSDDS的原理就是把正弦波数据存在rom里,然后按照一定的速率输出。比如设定rom的宽度为8位,深度为256。时钟的采样速率为50M,则输出的正弦波频率为:f_out=50M/256=195KHZ实现调频就可以从中抽出数来输出,比如隔一个输出一次,一个周期只有128个点就可以把频率扩大一倍。或者一个数输出2次就可以把频率缩小一倍实现调频。所以定义一个16位的计数器,高八位为rom的...
摘要由CSDN通过智能技术生成