一、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称为频率分辨率 提高相位累加器位宽可以提高频率率