DDS

一、matlab使用:clc 清除命令窗口  clear all 清除所有

         hold on;的意思是保持住原图形,在原图形的基础上继续绘图

        将数据进行定点话存到ram里面去

        

s_p = 0:255;
sin_dds = sin(2*pi*s_p/256);
x = fix(sin_dds*127);
()里面的元素是从1开始,如果是0则会报错
for i = 1:256
    if x(i) < 0
        x(i) =  255 + x(i);%<0的数将会大于127
    end
end

二、DDS

查看模拟波形  format    auto
256个时钟一个正弦周期 那么正弦波的频率为50M/256
正弦波递增量跟正弦波频率成正比
addr  是8位宽 当addr 加到255时会自动清1零
DDS    主要和通信有关系

Fc/2^n称为频率分辨率  n是相位累加器的位宽  提高相位累加器位宽可以提高频率分辨率   变化最小的频率
 fc为fpga时钟即50M
存储正弦波的RAM深度或者叫正弦波一个周期量化的点数,量化的点数越多生成的正弦波相位噪声低
M为控制字也就是单位时钟所增加的地址   目标频率f0 = M*Fc/2^n称为频率分辨率 提高相位累加器位宽可以提高频率率

   

原文地址:https://www.cnblogs.com/bixiaopengblog/p/6363774.html