资源简介
文件输入的是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
相关资源
- 局部二值模式(Local Binary Patterns)图
- fast源代码
- 多变量函数优化的L-BFGS算法matlab程序
-
position ba
sed dynamics - matlab写的子波提取 wavelete
- 雷达信号处理仿真程序(MTIMTD等)1
- 极小化极大准则matlab仿真
- ekf MATLAB代码
- matlab做得马尔科夫仿真程序
- 绘制信号的包络matlab
- MATLAB中PID温度控制仿真图
- 用matlab编写的一阶+纯滞后辨识程序
- 基于Matlab读取标准RINEX格式的GPS星历数
- SaDE 算法matlab实现自适应差分进化
- SVM工具包-matlab
- 边缘提取的matlab程序
- MATLAB求出不可约多项式实现二进制加
- Matlab 图形中填充斜线图
- Classification-MATLAB-Toolbox
- 单相逆变器Matlab仿真
- MATLAB中用FIR和IIR滤波器滤除高频噪声
- 基于matlab的一种语音加密程序
- 混沌优化算法求极值matlab仿真代码
- matlab图像显示上位机
- 基于MATLAB的工频干扰陷波器设计
- matlab 如何生成exe
- matlab实现读取视频并截取每帧然后保
- 基于三角曲面网格实现测地线算法的
- 基于MATLAB的LDPC码的仿真
- BP神经网络 拟合正弦曲线的
评论
共有 条评论