精华内容
下载资源
问答
  • 美国模拟器件公司(ADI)今日北京发布一款14 bit,80 MSPS (每秒百万次采样)模数转换器(ADC),它同类产品具有最高的无杂散动态范围(SFDR)。随着无线通信供应商正在不断推出多种无线电标准,SFDR对于增加...
  • 美国模拟器件公司目前北京发布一款14 bit,80 MSPS (每秒百万次采样)模数转换器(ADC),它同类产品具有最高的无杂散动态范围(SFDR)。随着无线通信供应商正在不断推出多种无线电标准,SFDR对于增加呼叫容量...
  • 美国模拟器件公司(ADI)今日北京发布一款14 bit,80 MSPS (每秒百万次采样)模数转换器(adc),它同类产品具有最高的无杂散动态范围(SFDR)。随着无线通信供应商正在不断推出多种无线电标准,SFDR对于增加...
  • 讲解高速ADC和DAC指标SFDR,对了解高速的数据转换器有很好地帮助
  • 某些高速应用,增添一些带外噪声抖动,不仅可以改善ADC的微分非线性(DNL),而且还能增加它的无杂散动态范围(SFDR),即接收到的信号的均方根值(RMS)与采样区的频谱线均方根值之比。这种方法的效用如何,主要取...
  • 某些高速应用,增添一些带外噪声抖动,不仅可以改善ADC的微分非线性(DNL),而且还能增加它的无杂散动态范围(SFDR),即接收到的信号的均方根值(RMS)与采样区的频谱线均方根值之比。这种方法的效用如何,主要取...
  •  ADS5440采用TI的高速BiCom-III互补双极Si-Ge工艺,高输入频率时提供最高的SNR和SFDR性能。ADS5440工作5V电压,从3.3V电源提供LVDS兼容的数字输出。此外,内部的基准电压和输入缓冲器简化了系统设计要求。ADS...
  • SFDR作为无线通信的关键技术指标扩展了基站接收机的动态范围,它允许ADC在有很强干扰信号的环境下捕获有用频宽的微弱信号。 除了70 MHZ输入频率下提供85 DBC的SFDR性能,AD9246还280 MHZ输入频率下提供75...
  • 凌特公司推出 14 位 105Msps 双路高速 ADC LTC2284,该器件直到 70MHz都可提供平坦的 72.2 dB SNR 响应以及基带的 88dB SFDR。LTC2284 是以低功耗、小解决方案尺寸和卓越的串扰规范而得到公认的引脚兼容双路 ADC ...
  • 新兴的3G和4G数字无线通信系统,无杂散动态范围(SFDR)和线性度都需要高性能的ADC来保证。幸运的是,接收信号链路ADC的前级增益电路—缓冲放大器的性能最近几年得到了极大提高,有助于ADC确保满足现代...
  • 本文解释了数字反馈,并讨论了一种新的创新性 ADC,这种 ADC 内置了一些功能,良好设计的布局也许不足以解决问题的情况下,这些功能可用来克服数字反馈。
  • 例如,16 位 LTC2208 140MHz 时以 90dBc 的 SFDR 实现了 130Msps 的采样率。它用单一 3.3V 电源工作,具有全差分输入级以最大限度地扩大输入信号动态范围。直到最近,ADC 驱动器的选择一直有限。RF 放大器一般是...
  • 凌特特公司(Linear Technology Corporation)推出LTC2208系列16位、最高速度达130Msps的高速ADC (模数转换器),适用于低噪声信号采集应用。LTC2208 ADC的无寄生动态范围(SFDR)为100dBc,信噪比(SNR)78dB,能够大...
  • 高速ADC和DAC设计

    2020-09-29 11:35:43
    该文档对市面上的高速采集和高速回放进行了比较全面的总结分析和比对,对高速ADC和DAC常用的LVDS和jesd204协议以及功能指标(分辨率、采样率、有效位数、SFDR等)进行了说明,模拟前端的DC耦合和AC耦合进行了分析,...
  • 在ADC中,无杂散动态范围(SFDR)指载波频率(最大信号成分)的RMS幅度与次最大噪声成分或谐波失真成分的RMS值之比,SFDR通常以dBc (相对于载波频率幅度)或dBFS (相对于ADC的满量程范围)表示。 DAC中.

    SFDR无杂散动态范围

     

    无杂散动态范围(Spurious-freeDynamicRange,SFDR)衡量的只是相对于转换器满量程范围(dBFS)或输入信号电平(dBc)的最差频谱伪像,是转换器的主要性能指标之一,改善转换器的无杂散动态范围对提高转换器的性能具有很重要的作用。

    在ADC中,无杂散动态范围(SFDR)指载波频率(最大信号成分)的RMS幅度与次最大噪声成分或谐波失真成分的RMS值之比,SFDR通常以dBc (相对于载波频率幅度)或dBFS (相对于ADC的满量程范围)表示。

    DAC中,无杂散动态范围(SFDR)指载波频率(最大信号成分)的RMS幅度与次最大失真成分的RMS值之比,SFDR通常以dBc (相对于载波频率幅度)或dBFS (相对于DAC的满量程范围)表示。具体取决于测量条件,SFDR在预先定义的窗口或奈奎斯特频率内观测。

    SFDR基本频率与杂波信号最大值的数量差,通常以dBc(相对于载波频率幅度)或dBFS(相对于DAC的满量程范围)表示,具体取决于测量条件。图1给出了无杂散动态范围(SFDR)的示意。其中假设送入转换器的信号为纯正弦。基频分量的rms值与最大的谐波杂散之间的幅度差值定义为无杂散动态范围。

    展开全文
  • 某些高速应用,增添一些带外噪声抖动,不仅可以改善ADC的微分非线性(DNL),而且还能增加它的无杂散动态范围(SFDR),即接收到的信号的均方根值(RMS)与采样区的频谱线均方根值之比。这种方法的效用如何,主要取...
  • 高速ADC测试心得

    千次阅读 多人点赞 2019-03-14 19:11:27
    摘要:ADC作为连接模拟世界与数字世界的桥梁,是现代雷达系统必不可少的一环,其性能的好坏直接...测试之前,首先简单介绍下ADC的种类以及其主要指标。 ADC种类 类型 优点 缺点 ...

    摘要:ADC作为连接模拟世界与数字世界的桥梁,是现代雷达系统中必不可少的一环,其性能的好坏直接决定雷达的好坏。激光测风雷达作为现代雷达系统大家庭中的一员,必然也会使用到ADC。为了保证其性能,除了良好的设计外,设计完成之后充分的测试也是必不可少的。

    在测试之前,首先简单介绍下ADC的种类以及其主要指标。

    ADC种类

     

    类型

    优点

    缺点

    逐次逼近型

    速度高,功耗低,低分辨率价格低

    分辨率提升困难

    Σ-Δ调制型

    采样精度高,无需抗混叠滤波器

    应用带宽低

    并行比较型/串并行型

    转换速率快

    分辨率低,规格大,价格高

    压频变换型

    分辩率高、功耗低、价格低

    需要外部计数电路共同完成AD转换

    不同类型的ADC由于其原理不同,各有优缺点,实际使用过程中可以根据具体使用场景选择最合适的类型。下图列举了一些典型应用及其对采样率和分辨率的要求。

    ADC指标

     

    不管何种原理的ADC,其评价指标是一样的,主要分为静态指标和动态指标,其定义及意义如下表所示

    指标名称

    定义及意义

    静态指标

    偏移误差(Offset Error)

    输入信号为零时输出信号不为零的值

    增益误差

    (Gain Error)

    增益误差是预估传递函数和实际斜率的差别,增益误差通常在模数转换器最末或最后一个传输代码转换点计算

    积分非线性(INL)

    INL表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值

    差分非线性(DNL)

    相邻两刻度之间最大的差异

    动态指标

    分辨率

    分辩率又称精度,通常以数字信号的位数来表示

    有效位数(ENOB)

    实际处理中,ADC能够达到的处理精度。根据信纳比算得。

    信噪比(SNR)

    输入信号和噪声(不包括任何谐波以及直流) 的有效值之比,衡量器件内部噪声大小

    总谐波失真(THD)

    输入信号与系统所有谐波(HD)的总功率(P)之比,提供系统对称和非对称非线性产生的总失真大小

    无杂散动态范围(SFDR)

    基本频率与杂波信号最大值的差值,能够对系统失真进行量化

    信纳比(SINAD)

    输入信号和所有输出信号失真(包括谐波成分,不包括直流)的功率之比,评估输出信号所有传递函数非线性加上系统所有噪声(量化、抖动和假频)的累积效果

    一般来讲静态参数都比较好理解,而下面这张图及其中公式可以让你对各个动态指标有一个更直观的认识。

     
    高速ADC测试


    在测试之前,要做好充足的准备工作,本文档只对ADC单频测试进行讨论,一个比较好的测试系统框图如下图所示,测试过程中需要的仪器有信号发生器、带通滤波器、电源、电脑等。

    ADC的偏移误差与增益误差可以很方便通过对采集结果进行计算得到,而积分非线性与差分非线性通常是通过对正弦波的采样数据进行幅度分布的直方图间接统计计算得到,如下图所示,理想正弦波的幅度分布应该是左面的形状,由于非线性等的影响,分布会变成右边的形状,通过对直方图分析可以得出静态参数的指标。

    ADC的动态参数是对正弦波的采样数据进行FFT频谱分析间接计算得到,为了在FFT处理时不发生频谱泄露,从而得到更准确的结果,一般采用相干采样的方式,即需选择特定频率的输入信号与采样频率,从而使得采集到的采样数据能在记录长度内转换的代码尽可能多。这是通过输入信号频率与采样频率之间的一种基本关系实现的,其数学关系如下所示:

    finfs=NcyclesNsamples

    其中,fin为输入信号频率,fs为采样频率,Ncycles为完整采样的周期数,Nsamples为采样总点数,一般,为方便FFT处理,Nsamples取2的整数次幂,Ncycles取与Nsamples互质的整数。

    例如,当时用相干采样时,若设定输入信号频率为85MHz,采样率为400MHz,采样总点数为16384,通过计算,此时,Ncycles为3481.6,取Ncycles为3483,重新计算输入信号频率应为85.03417098MHz。

    下图显示了相干采样与非相干采样时FFT的结果,其中红色曲线为非相干采样结果,发生了明显的频谱泄露,从而导致不能得到准确的动态性能计算结果。

     

    ADC的动态参数是对正弦波的采样数据进行FFT频谱分析间接计算得到,为了在FFT处理时不发生频谱泄露,从而得到更准确的结果,一般采用相干采样的方式,即需选择特定频率的输入信号与采样频率,从而使得采集到的采样数据能在记录长度内转换的代码尽可能多。这是通过输入信号频率与采样频率之间的一种基本关系实现的,其数学关系如下所示:

    其中,fin为输入信号频率,fs为采样频率,Ncycles为完整采样的周期数,Nsamples为采样总点数,一般,为方便FFT处理,Nsamples取2的整数次幂,Ncycles取与Nsamples互质的整数。

    例如,当时用相干采样时,若设定输入信号频率为85MHz,采样率为400MHz,采样总点数为16384,通过计算,此时,Ncycles为3481.6,取Ncycles为3483,重新计算输入信号频率应为85.03417098MHz。

    下图显示了相干采样与非相干采样时FFT的结果,其中红色曲线为非相干采样结果,发生了明显的频谱泄露,从而导致不能得到准确的动态性能计算结果。

    当输入信号确实不能完全满足相干采样的要求时,还可以通过加窗的方式减小频谱泄露的影响,不同的窗函数有不同的特性,选择合适的窗函数可以辅助得到理想的结果,比较常用的窗函数有Blankman、Hamming等,可以在MATLAB中使用help window命令查看不同窗的特性与使用方式。 

    在测试过程中,输入信号的“纯度”会影响数字输出的性能。输入信号中的耦合噪声将转换为输出信号数字噪声,如果输入信号中有太多噪声和失真,ADC性能实际上会被测试条件所掩盖。输入信号的精度和纯度最终取决于器件的转换分辨率,一般来说测试设备的精度要比被测器件高10倍以上。另外在输入端使用滤波器,可以除去部分输入信号之外的噪声和失真。

    通常受测试条件的限制,我们往往没有完美的信号源,信号源自身的谐波与噪声会超过被测ADC的水平,从而影响测试结果。在测试之前,我们可以先使用频谱仪及输入短接的方式对信号源与ADC底噪做一个简单评估。 

    在上图中,左侧图像是对采集数据进行FFT的结果,其中红色曲线对应ADC输入短接,该曲线能够能够直接反应ADC自身量化噪声水平;蓝色曲线对应ADC输入信号频率为85.03417098MHz,幅度为8dBm,从结果中可以看到,其底噪水平提高,说明信号源自身噪声水平大于ADC量化噪声,除此之外还存在较明显谐波,对比右侧直接使用频谱仪对信号源测试的结果看,说明二次谐波主要是由信号源自身产生的。

     

     

    以上是个人在ADC测试过程中的一些心得,如有错误,欢迎指正, 

    下面附测试过程中使用的MATLAB代码

    % Test Script for ADC     Dynamatic Parameters
    % ZJ 20181220
    clear all;
    %% SET OPTIONS (These need to be set)
    % ********************************************
    DNLgo=1;                      % Execute INL/DNL? [yes=1/no=0]
    fin = 85.034e6;%17098e6;
    
    
    %% SET VALUES FOR FFT (These need to be set)
    % *********************************************
    %co
    N=14;                      % Resolution of converter
    N_sample = 16384;          % Sampling points ,it's better being power of 2 
    fs=399.99995904e6;                  % Sampling frequency
    ts= 1/fs;
    
    t = ts*linspace(1,N_sample,N_sample);
    w = 2*pi*fin;
    %% DATA Generate (These need to be set)
    % ******************************
    A1 = 2^(N-1);
    A2 = 0.0006*A1;
    A3 = 0.00005*A1;
    V1 = A1*sin(w*t);
    V2 = A2*sin(2*w*t);
    V3 = A3*sin(3*w*t);
    
    data = V1+V2+V3 + 0.5*randn(1,N_sample);
    
    %data = data - mean(d50.82ata);
    datac=data+2^(N-1);
    %datac = datac';
    
    %% WINDOW DATA
    % ***********************************
    % data = data';
    % data=data.*window(@blackman,N_sample);   %加窗截断
    NFFT = N_sample;
    
    %% Prepare for FFT
    frescalc = fs/NFFT;
    Ts=1/fs;                   % Calculate period
    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
    
    num_harm=5;                % # of harmonics to find and use in THD/SNR calculation
    
    
    %% CALCULATE VALUES FOR FFT
    % ***********************************
    
    fft_o = fft(data,NFFT)/NFFT;
    fft_amp= 2*abs(fft_o(1:NFFT/2));  % multiply x2 to normalize because fft of 1*sin(x) = 0.5[d(w-wo)+d(w+wo)]
    fft_amp_nor = fft_amp/Vref;       % normalize to 1
    % fft_amp_nor(6967) = 1e-20;
    fft_amp_nor_db = 20*log10(fft_amp_nor+1e-20);% change to [dB], add 1e-20 to avoid log 0
    f = fs/2*linspace(0,1,NFFT/2);
    
    % CALCULATE MEAN AND STDDEV OF DATA
    % *************************************
    ave_data=mean(data);
    stddev_data=std(data);
    
    % DETERMINE HARMONIC FREQUENCIES
    % ***********************************
    % Finds the harmoic frequencies as they fold into the baseband
    %   as well as the vector index of those harmonics
    for i=1:1:(num_harm+1)   % harmonic number
        done=0;
        k=1;     % frequency band number, 1 = 0 to Fs Hz
        while done==0
            if i*fin < (k-1/2)*fs
                harm(i)=i*fin-(k-1)*fs;
                done=1;    
            elseif i*fin < k*fs
                harm(i)=k*fs-i*fin;
                done=1;
            else
                k=k+1;
            end
        end
    end
    harm_ind=round(harm/frescalc)+ones(1,length(harm)); % determine vector index of harmonics
                                             %   add 1 because DC = index 1 将谐波对应到采样点上
                                             
    %% CALCULATE SNDR, SNR, SFDR, THD
    % *************************************
    
        % Calculate SNR/SNDR/SFDR/THD normally
        
        fundpnts=10;                % # of FFT points on either side of fundamental to include
                               %   in fundamental power due to non-coherence(非相干性)
        
        fftout_n=fft_amp_nor;                                %   Save FFT data, use copy for manipulations
        fund_ind=(harm_ind(1)-fundpnts):1:(harm_ind(1)+fundpnts); %第一个谐波(即harm_ind(1)就是信号频)
                                                        %   Points to include in fundemental
        P_S=sum(fftout_n(fund_ind).^2);                 % Power of fundemental
        P_ND=sum(fftout_n(2:N_sample/2).^2)-P_S;        % Power of Noise and Distortion (exclude DC)不包括直流,所以从2开始
        P_D=sum(fftout_n(harm_ind(2:(num_harm+1))).^2); % Power of harmonics 因为第一个谐波(即harm_ind(1)是主频,不包括在内)
        for i=[1 fund_ind]
            fftout_n(i)=1e-20;                          % Remove DC and fundamental from spectrum for SFDR,画出图像可以决定fundpnts的值
        end
        
        
        [M_H,H_ind]=max(fftout_n(1:N_sample/2));        % Magnitude and index of dominant harmonic
        P_H=M_H^2;                                      % Power of dominant harmonic
        H_num=-1;
        for i=1:1:length(harm_ind)                      % Test to deterimine number of 
            if H_ind==harm_ind(i)                       %   dominant harmonic
                H_num=i;                                %   -1 means not one of primary harmonics
            end
        end
    
        SNDRo  = 10*log10(P_S/P_ND);                       % SNDR [dB]
        THDo   = 10*log10(P_S/P_D);                        % THD [dB]
        SNRo   = 10*log10(P_S/(P_ND-P_D));                 % SNR [dB] 不能包括谐波
        SFDRo  = 10*log10(P_S/P_H);                        % SFDR [dB]
        ENOBo  = (SNDRo-1.72)/6.02;                        % ENOB [Bit]
                                            
    %% plot FFT
    % *********************************************
    %figure
    hold on
    plot(f(1:NFFT/2)/1e6,fft_amp_nor_db(1:NFFT/2));  % Choose FFT with frequency or index
    %plot(frescalc*N_cycle/1e6,fft_amp_nor_db(N_cycle+1),'rs')   
    % for i=1:1:length(harm)     % Mark all the harmonics
    %     plot(harm(i)/1e6,fft_amp_nor_db(harm_ind(i)),'rs')
    % end
    ylabel('Full-Scale Normalized Magnitude[dB]')
    xlabel('Frequency [MHz]')
    title(sprintf('FFT (%g points)\nFs = %g MSps, Fin = %g MHz (%1.2g dBfs)', ...
          NFFT,fs/1e6,fin/1e6,fft_amp_nor_db(harm_ind(1))));
    grid;
    box on;
    ylim([-140 10]);
    set(gca,'xgrid', 'off');
    set(gca, 'GridLineStyle' ,'-');
    set(gca,'yTick',[-140:10:10]);
    
    s1=sprintf('SFDR = %4.2fdB\n',SFDRo);
    s2=sprintf('THD   = %4.2fdB\n',THDo);
    s3=sprintf('SNR   = %4.2fdB\n',SNRo);
    s4=sprintf('SNDR = %4.2fdB\n',SNDRo);
    s5=sprintf('ENOB = %4.2fbit\n',ENOBo);
    text(0,-10,s1);
    text(0,-20,s2);
    text(0,-30,s3);
    text(0,-40,s4);
    text(0,-50,s5);
    hold off;  
    
    
    % % CALCULATE DNL/INL and PLOT
    % % *********************************************
    % dnl = 0;
    % inl = 0;
    % if DNLgo==1
    %     % Calculate NNL/INL
    %     min_bin=min(datac);
    %     max_bin=max(datac);
    %     h = hist(datac, min_bin:max_bin);          % Histogram各个数据出现的频数统计
    %     ch = cumsum(h);                           % Cumulative histogram累积和
    %     Tlevels = -cos(pi*ch/sum(h));             % Raised cosine fit 上升的余弦拟合
    %     hlin = Tlevels(2:end) - Tlevels(1:end-1); % Difference between adjacent bins相邻项做差
    %     hlin = hlin(3:end-2);                     % Dump outside bins
    %     lsb = sum(hlin) / (length(hlin));         % Find average difference between bins
    %                                               %   to remove gain error
    %     dnl = [0 hlin/lsb-1];                     % Remove gain error, center DNL on 0
    %     inl= cumsum(dnl);                         % INL is integral of DNL
    % 
    %     % PLOT DNL/INL
    %     figure;
    %     title(sprintf('DNL/INL (%g pnt)',length(datac)));
    %     subplot(2,1,1)
    %     plot(linspace(min_bin+2, max_bin-2, length(dnl)), dnl);
    %     title(sprintf('DNL/INL (%g pnt)',length(datac)));
    % %    xlabel('Digital Code [LSB]');
    %     ylabel('DNL [LSB]');
    %     xlim([0 2^N]);
    %     ylim([-2 ceil(max(dnl))]);
    %     subplot(2,1,2)
    %     plot(linspace(min_bin+2, max_bin-2, length(dnl)), inl);
    % %    title(sprintf('DNL/INL (%g points)',length(datac)));
    %     xlabel('Digital Code [LSB]');
    %     ylabel('INL [LSB]');
    %     xlim([0 2^N]);
    %     ylim([floor(min(inl)) ceil(max(inl))]);
    % end
    
    % % DISPLAY DATA
    % % ***********************************************
    % 
    % disp(sprintf('%s%s%s%s%s%s%s%s', ...
    %      sprintf('\n\n**********************\n'), ...
    %      sprintf(' Fs   = %g MSps\n', fs/1e6), ...
    %      sprintf(' Fin  = %g MHz (%1.2g dBfs)\n', fin/1e6, fft_amp_nor_db(harm_ind(1))), ...
    %      sprintf(' MEAN = %g LSB\n',ave_data), ...
    %      sprintf(' STD  =  %g LSB\n',stddev_data), ...
    %      sprintf(' DNL  = -%2.2g/+%2.2g LSB\n', abs(min(dnl)), max(dnl)), ...
    %      sprintf(' INL  = -%2.2g/+%2.2g LSB\n', abs(min(inl)), max(inl)), ...
    %      sprintf(' Psignal = %g dB\n',10*log10(P_S)), ...
    %      sprintf(' SFDR = %g dB (%g, %gMHz)\n',SFDRo,H_num,H_ind*fres/1e6), ...
    %      sprintf(' THD  =  %g dB (%g harms)\n',THDo,num_harm), ...
    %      sprintf(' SNR  =  %g dB\n',SNRo), ...
    %      sprintf(' SNDR = %g dB\n',SNDRo), ...
    %      sprintf(' ENOB = %g Bit\n',ENOBo), ...
    %      sprintf(' MAX = %g  min = %g \n',max(data),min(data)), ...
    %      sprintf('**********************')));
    % %************************************************
    
    
    
    
    
    
    
    
    展开全文
  • 例如,16 位 LTC2208 140MHz 时以 90dBc 的 SFDR 实现了 130Msps 的采样率。它用单一 3.3V 电源工作,具有全差分输入级以限度地扩大输入信号动态范围。直到近,ADC 驱动器的选择一直有限。RF 放大器一般是单端、...
  • 本应用笔记将介绍ADI公司高速转换器部门用来评估高速ADC的特征测试和生产测试方法。本应用笔记仅供参考,不能替代产品数据手册。   动态测试硬件设置 SNR,SINAD,最差杂散和IMD均通过类似于图1的硬件...
  • 和一个产品的任何其他方面一样,产品说明书也可以得到不断的改进,厂商正努力地详细阐明产品说明书1。然而,市场上已经遗留了许多产品/产品说明书版本,对新版本或者更早的版本来说,不同标准的采用也取决于不同的...
  • 美国模拟器件公司(Analog Devices, Inc.: ADI)推出其高速10 bit、 11 bit、12 bit模数转换器(ADC)系列产品,适合用于宽带通信和无线基础设施应用——例如电缆调制解调器终端系统、第三代和第四代微区和皮区基站...
  • 高速ADC模拟输入接口设计输入阻抗输入驱动带宽和通带平坦度噪声失真 采用高输入频率、高速模数转换器(ADC)的系统设计是一项具挑战性的任务。ADC输入接口设计有6个主要条件:输入阻抗、输入驱动、带宽、通带平坦度...


    采用高输入频率、高速模数转换器(ADC)的系统设计是一项具挑战性的任务。ADC输入接口设计有6个主要条件:输入阻抗、输入驱动、带宽、通带平坦度、噪声和失真。看看这里罗列的这六个条件,你都了解吗?

    在这里插入图片描述

    输入阻抗

    输入阻抗是设计的特征阻抗。ADC的内部输入阻抗取决于ADC架构的类型,ADC供应商会在数据手册或产品页面上提供这一数据。电压驻波比(VWSR)与输入阻抗密切相关,衡量目标带宽内反射到负载中的功率量。该参数设置实现ADC满量程输入所需的输入驱动电平,因此很重要。当源阻抗与负载阻抗相等时,发生最大功率传输。
    在这里插入图片描述

    图1所示的例子为利用网络分析仪测得的一个前端网络的输入阻抗和VSWR曲线。输入阻抗是设计的特征阻抗。大多数情况下,它是50Ω,但特定设计可能需要不同的阻抗。

    VSWR是一个无量纲参数,反映的是在目标带宽内,有多少功率被反射到负载中。该参数设置实现ADC满量程输入所需的输入驱动电平,因此很重要。注意,频率越高,则将ADC输入驱动至满量程所需的驱动功率或增益越大。

    输入驱动

    输入驱动与带宽特性相关,可设置特定应用所需的系统增益。输入驱动电平应在前端设计开始之前确定,取决于所选的前端器件,如滤波器、变压器和放大器等。

    带宽和通带平坦度

    带宽是系统要使用的频率范围。通带平坦度是指定带宽内的波动量;引起波动的原因可能是纹波效应,或者是巴特沃兹滤波器的慢速滚降特性。通带平坦度通常小于1 dB,对于设置整体系统增益至关重要。

    噪声

    信噪比(SNR)和失真要求对ADC的选择有帮助,因而一般在设计早期确定。转换器看到的噪声量与其自己的噪声量之比即为SNR。SNR与带宽、信号质量(抖动)和增益相关。提高增益也会提高与之相关的噪声成分。

    失真

    失真由无杂散动态范围(SFDR)来衡量,SFDR指rms满量程与峰值杂散频谱成分的rms值之比。SFDR主要受两个因素的控制。第一个因素是前端平衡质量的线性度,它主要与二次谐波失真有关。第二个因素是所需的增益和输入匹配。较高的增益要求会提高匹配难度。此外,高增益要求会压缩ADC内部器件的裕量,从而提高非线性度,而且由于有更多功率经过外部无源器件,它们的非线性度也会提高。这种效应一般被视为三次谐波。
    在这里插入图片描述
    图2显示了一个理想12位 ADC 的 4096 点 FFT 的输出以及一些基本运算。理论SNR为74 dB。噪声分布在整个奈奎斯特带宽。FFT会增加处理增益,因为它处理的是小“仓”,小仓的宽度等于采样频率除以FFT点数。对于 4096 点 FFT,处理增益为33 dB。这就像使模拟频谱分析仪的带宽变窄一样。实际FFT噪底等于SNR加上处理增益,如图2所示。

    上述条件下的FFT噪底等于74 + 33 = 107 dBFS。在某些系统中,会对多个独立FFT的结果求平均值,这不会降低FFT噪底,只是减小噪声成分的幅度变化。

    详细内容请参考ADC/DAC 应用设计宝典

    展开全文
  • 高速ADC/DAC的测试方法

    千次阅读 2018-10-14 19:18:35
    今天我要和大家分享的是高速ADC/DAC的测试方法~ ADC主要的测试指标分为静态指标和动态指标两类:静态指标,包括INL、DNL;动态指标,主要是基于SFDR此基础之上计算的ENOB(有效位数)。尽量言简意赅吧。 ...

    演讲内容

    大家好,我是今天做分享的任彦楠,非常荣幸能和大家交流,今天我分享的内容是within我的knowledge, 也希望将我不懂的地方向大家请教。

    今天我要和大家分享的是高速ADC/DAC的测试方法~

    ADC主要的测试指标分为静态指标和动态指标两类:静态指标,包括INL、DNL;动态指标,主要是基于SFDR,在此基础之上计算的ENOB(有效位数)。尽量言简意赅吧。

    ADC的测试方法,其实简单来说,就是输入和输出,输入怎么给?输出怎么测?怎么计算?以及换算到spec。输入主要是两部分:数据和clk。大家知道ADC的数据和clk都用什么给信号吗?

    听众答:ADC的数据是指输入的模拟信号吗?

    任老师:哈哈,是的,信号发生器;然而对于ADC,尤其是高精度的ADC,最关键的是信号源的选择,这里需要的是高精度的信号源,也就是说信号源的动态范围要高于被测ADC两个精度位以上,这是关键之一。第二,就是信号源和clk的同步。

    接着,我们来看输出,ADC输出的是digital信号,也就是说输出采样到的是数字信号。但是ADC的动态参数表示都是基于频谱分析的方法。也就是说要将输出、采样到的数字信号用FFT变换到频域,这就是大家看到ADC的测试程序为什么主函数是FFT 函数的原因。我记得我们当时实验室测得,10bit以上ADC,都至少是1024点。

    听众问:或者转到频域,频率精度到什么精度才合适?

    任老师:实测的时候,你有时会发现,FFT点数选的少,测试结果会好,不知大家有没有碰到过这种情况?嗯,但其实这是一种假象。你想10bit ADC输出的全位分辨率就是1024,如果没有采到1024个点,说明丢失了部分数据,不能真实反映ADC的性能。所以大家测试的时候,不能追求偶尔测到一个好的spec, 而应该重点关注自己的测试方法和计算方法,是否真实反映了芯片的性能。

    刚刚讲了动态指标,静态指标就相对容易,用高阶的数字万用表,不是手持的那种哦,是专业的可编程的6位半的万用表,把输出全部采下来,使用简单公式就可以计算出INL和DNL,这个就不会用错。动态指标SFDR和ENOB会由于FFT取样点数的变化而变化;但INL和DNL算出来什么就是什么,没有数字转换的问题。数据频率是ADC可以接受的最大输入信号的频率,比方说100M;而时钟频率是采样率,比方说1GS/s。我们在学校的时候,可能觉得测到一个好的spec发个paper就好了;但是工作之后就不一样了。芯片到底怎么样,你心里能没点底数么?我用一张图总结一下最基础的ADC,尤其特指并口ADC的测试基础方法;后面我们再谈串口ADC。

    听众问:6位半万用表测ADC?应该是DAC吧?

    任老师:是ADC哦,ADC输出的digital, 用万用表可以测到;DAC输出的是analog,是连续的模拟信号,直接用频谱仪就可以看了。看这张图,其实动态指标全部都是用逻辑分析仪采集。刚才说INL和DNL大家如果觉得逻辑分析仪复杂的话,用万用表也可以完成。但是动态指标就必须得用逻辑分析仪采集了。哦,漏了一点,信号源和ADC的输入之间,要接带通滤波器,把频点选出来。

    Times问:用逻辑分析仪抓出来的数据,放到MATLAB里分析,以前adi有MATLAB例程。

    任老师:Times 对!专业!所以大家测试ADC的时候,有一个必须的投入,就是得多买几个质量好的滚降系数高的带通滤波器。带通滤波器推荐大家用那个 mini circuits, 上次分享的李玮韬,是我的闺蜜,她在我们实验室的时候,我们老师给她出钱买了好多好用的带通滤波器,嘿嘿。因为整个信号通路上,如果信号源质量特别好,特别纯净;ADC的能力也很好,但是带通滤波器滤不净,引入杂波,就得不偿失了。

    大家好,刚才我发的那个最后一张图片大概就是最上面的一个总结。这个是典型的一个并口,就是并口的ADC,因为如果少的话慢的话,我们传统都是采用并口输出码,那接下来呢,我会讲一点串口。因为群里如果有AD的大神,就知道现在公司里面做的。高速的ADC用的都是串口,并口已经是一种,就是比较早一点的技术。

    串口就是这样子的哈。JESD204B是SerDes的接口规范。

    听众问:以12位ad为例,即便输入稳定电平,噪声本身可能就会引起低2位的跳动,如何能够用万用表测到准确的INL DNL呢?

    任老师:大家现在看到ADI做出来的新的2GS/s以上的ADC/DAC都是这种接口的了,很高级~~我换算一下啊,6位半的万用表就是可以测到小数点之后6位半。如果10bit ADC, 输入1V,最小格是1/1024,那4位半的万用表就够了。

    听众问:lsb,并不是绝对值。

    任老师:哦~~ 那你说的噪声是来源于哪里呢?电源?AD本身,还是输入源?哈哈,那等一下我们再讨论这个哈。

    SerDes的信号,大家看到和并口主要的区别是在发送端和接收端上的并串/串并转换、8b/10b编码,差分驱动几个模块.虽然大家设计的时候在这几个部分都要花很大的精力,可是在测试的时侯,就变成了一个黑盒子,主要考虑的还是如何把输入信号给进去、时钟怎么同步、怎么把输出信号采集出来三大问题了。

    我长话短说,

    关于Serdes测试的时候,和并口测试的不同,大家看这张ppt ~好在Serdes的测试方法现在也都是十分成熟的了,主要的ADC设计公司用的方法大致相同。

    听众问:感觉其中时钟PLL是个关键环节。你们keysight出一个支持204B的接口的逻辑分析仪选件就好了。对测试工程师来说看到的就是被测数据。

    任老师:你说的对。Serdes和刚才的并口测试相比,输入信号没变,还是用高纯度的信号源,高纯度、单频点源,就是ADC输入的唯一需求,一旦拥有,别无所求,差别在于输出部分,其实就是支持204B的接口的逻辑分析仪 .被大家猜中了结局。

    听众问:204b接口的adc测试时可不可以用带高速口的FPGA

    任老师:可以的~~只要接口匹配,精度足够,就可以~~采样率够,和时钟可以同步。你们自己设计的FPGA板吗?测多少bit的ADC?

    听众问:ADC数字输出的?

    任老师:万用表是测DAC,给输入。没有测ADC的。FPGA 和逻辑分析仪的道理一样的,都是数据采集板。

    听众问:DNL vs Noise,INL vs SFDR

    任老师:就是我记得我们实验室以前用FPGA 的时候,一直没搞定时钟同步。

    展开全文
  • 对于dBm而言,规格的负载电阻必须是已知的(如:1mW提供给50Ω),以确定等效的电压或电流值。 (二)静态指标定义 1、量化误差(Quantization Error) 量化误差是基本误差,用简单3bit ADC来说明。输入电压被...
  • 本文档的主要内容详细介绍的是ADS54J40高速ADC和外围电路资料合集免费下载 ADS54J40 是一款低功耗、高带宽、14 位、1.0GSPS 双通道模数转换器 (ADC)。该器件经设计具有高 SNR,可提供 -158dBFS/Hz 噪底,从而 ...
  • 本文的目的是介绍高速ADC相关的理论和知识,详细介绍了采样理论、数据手册指标、ADC选型准则和评估方法、时钟抖动和其它一些通用的系统级考虑。另外,一些用户希望通过交织、平均或抖动(dithering)技术进一步提升...
  • 导读:凌力尔特公司(Linear Technology Corporation)推出16位210Msps高性能高速模数转换器(ADC) LTC2107,该器件适用于高端通信接收器和仪表应用。  LTC2107具备卓越的AC性能规格,实现了80dB SNR性能,这比...
  • Learning is the only thing the mind never exhausts, never fears...基于SelectIO的高速ADC时序实现 引言   本文通过以高速ADS42LB69芯片为例进行实战,利用SelectIO IP快速快速高效完成驱动的生成。关于SelectIO..

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 182
精华内容 72
关键字:

sfdr在高速adc中的