dds.m

来自「直接数字频率合成器中相位累加杂散」· M 代码 · 共 57 行

M
57
字号
clear;

N=21;             %累加器的位数;

K=fix((2^N)*0.222);%频率控制字,即累加的步长;

M=10;             %截取累加器的高10位; 

D=8;              %8bit DAC

g=gcd(K,2^N);

pe=2^N/(g);

n=1:pe;

pp=pe+1;          %频谱分析点数

add_y=mod(n*K,2^N);  %累加器的输出表达式;

error=mod(n*K,2^(N-M));

rom_y=cos(2*pi*(add_y-error)/(2^N));     %相位到幅度映射的输出;

pat = - 1 + 1/ (2^ (D - 1) ):1/ (2^ (D - 1) ):1 - 1/ (2^ (D -1) ); %设定量化区间

codebook = - 1 + 1/ (2^D):1/ (2^(D - 1) ) :1 - 1/ (2^D); %设定量化码本值

[Pyy,wy]=periodogram(rom_y,[],'onesided',pp);

figure;%figure1 只有相位截断,没有量化 figure1

psdplot(Pyy/max(Pyy),wy);%      归一化显示出图;

rom_x=cos(2*pi*add_y/(2^N));

[index,quants2] = quantiz(rom_x,pat,codebook);%量化

[Pzz,wz]=periodogram(quants2,[],'onesided',pp);

figure;%没有相位截取和DAC的非线性等,figure2,只有量化

psdplot(Pzz/max(Pzz),wz);%      归一化显示出图;

[index,quants1] = quantiz(rom_y,pat,codebook);%量化

[Pxx,wx]=periodogram(quants1,[],'onesided',pp);    %频谱分析;

figure;       %figure3 相位截断加量化

psdplot(Pxx/max(Pxx),wx);%     归一化显示出图;

grid on

 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?