⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ncosinwave.m

📁 利用FPGA实现的DDS
💻 M
字号:
%================================================================
%	nco.m is a program that generate N bits rom sin output
%	Copyright :blutea 2004_10_20
%   vionsion:  1.0
%================================================================
function nco_out=ncosinwave(n,m)

tsnum=4*2^n;
%---------产生一个周期和1/4周期的正弦信号---------
t=[0:tsnum-1]*2*pi/tsnum;
nco_out=sin(t);
nco_out=nco_out*(2^m-1);
%-----------没有取整的输出--------------------------
nco_out_prim=nco_out;
%------------取整的输出------------------------------
nco_out=round(nco_out);
%---------一个周期的正弦信号-------------------------
nco_out_whole=nco_out;
%----------1/4周期的正弦信号-------------------------
nco_out=nco_out(1:tsnum/4);
%----------1/4周期组成的整周期正弦信号----------------
nco_out_quta=[nco_out,fliplr(nco_out),-nco_out,-fliplr(nco_out)];

%---------用FFT分析动态范围---------
plotin=[nco_out_quta];
figure(101);
subplot(2,1,1),plot(plotin);grid on
title('nco time analyse');
xlabel('time ');
fft_num=tsnum;
nco_fft =fft(plotin,fft_num);
nco_fft =nco_fft(1:fft_num/2);
nco_fft = abs(nco_fft);
nco_fft=20*log10(nco_fft+1e-4);%由于nco_out的对称性FFT后隔一位产生一个0
subplot(2,1,2),plot(nco_fft);grid on
title('Frequency content of nco');
xlabel('frequency');
ylabel('Magtitude(dB)');

⌨️ 快捷键说明

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