资源简介
文件输入的是csv文件,设定ADC的分辨率,读取文件的数据,计算数据的DNL,INL,信噪比,有效位数等动态参数,用来评估ADC
代码片段和文件信息
% Test script for ADC
% - Josh Carnes 20061128
% - Sumig Cao 20120731
% - Jesaint 201211218
clear all;
% SET OPTIONS (These need to be set)
% ********************************************
DNLgo=1; % Execute INL/DNL? [yes=1/no=0]
% SET VALUES FOR FFT (These need to be set)
% *********************************************
N=12; % Resolution of converter
fs_predec=90e6; % Pre-decimated clock frequency [Hz]
fres=fs_predec/8192; % Desired frequency resolution of FFT [Hz] fres=fclk/2^N=fin/M 频率分辨率
fin=fres*2621; % Frequency of interest [Hz] (used to test if frequency will be dead on a spike)
% Choose frequency of resolution times a prime number选择频率分辨率的倍数最好是个素数
Ndelay=0; % Number of samples to dump at beginning of transient
Vref=2^(N-1); % Positive max voltage swing for voltage output (Simulink Model)
% or 2^(N-1) for digital output
fundpnts=0; % # of FFT points on either side of fundamental to include
% in fundamental power due to non-coherence(非相干性)
num_harm=5; % # of harmonics to find and use in THD/SNR calculation
% GET DATA (These need to be set)
% ******************************
M = importdata(‘90-28.79.csv‘);
indata = M.data(:2);
%dataa = round(indata*10)/10;
dataa = round(indata);
%dataa = indata;
data=dataa(100:8291);
datab=dataa(100:8291);
%datac=datab+(2^N-1)/2;%把负的提升为正的
datac=datab+2^(N-1);
% CALCULATE VALUES FOR FFT
% ***********************************
fs=fs_predec; % Decimated clock frequency
Ts=1/fs; % Calculate period
Nsamples=round(fs/fres); % Determine number of samples required for desired FFT
% frequency resolution
frescalc=fs/Nsamples; % Calculated freq resolution based on calculated number of samples
% DATA & CONFIGURATION CHECK
% ************************************
% Check if there are enough samples in the data for the desired
% FFT frequency resolution
if length(data) < (Nsamples+Ndelay)
disp(‘ERROR: not enough samples taken in transient‘);
disp(‘ increase transient sampling time above ‘);
disp((Nsamples+Ndelay)*Ts);
disp(‘ you are short by this number of samples‘);
disp(Nsamples+Ndelay-length(data));
return;
end
% Check if frequency of interest is greater than the Nyquist
% frequency and folds back into the baseband
if fs < 2*fin
disp(‘WARNING Frequency of interest is folded back into base band‘)
end
% Check if the frequency of interest sits directly on top of an FFT bin
% to prevent spectral leakage/skirting
if fin/frescalc ~= round(fin/frescalc)
disp(‘ERROR frequency of interest will exhibit skirting spectral leakage‘);
disp(‘make the frequency of interest a prime multiple of your frequency resolution‘);
re
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论