final project thesis presentation rodrigo lorente sanjurjo thessaloniki, mar.12, 2010

44
ANALYSIS AND DESIGN OF CONVERTERS IN MATLAB FINAL PROJECT THESIS PRESENTATION RODRIGO LORENTE SANJURJO THESSALONIKI, Mar.12, 2010

Upload: baldric-shields

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1
  • FINAL PROJECT THESIS PRESENTATION RODRIGO LORENTE SANJURJO THESSALONIKI, Mar.12, 2010
  • Slide 2
  • OBJETIVES Give a general idea about the importance of the converters (ADCs). Help to understand the characteristics and behavior of an ADC. Analysis of non-idealities. Study the effects of real converters in bigger circuits.
  • Slide 3
  • INTRODUCTION It is said that the world is becoming digital. Evolution: Originally mechanical -> Electrical -> Solid-State. Optimization of resources and performance. E.g.: Audio.
  • Slide 4
  • INTRODUCTION
  • Slide 5
  • THEORY The analog-to-digital conversion consists in the transformation of analog signals into digital ones. A digital signal have discrete time and amplitude. An analog signal is one whose amplitude can (in principle) take any value, which does not mean that it have infinite precision.
  • Slide 6
  • Advan & Disad. of digitizing a signal Advantages Disadvantages Easy reconstruction when attenuated or disturbed. Systems of detection/correction of errors. Easy signal processing. Multigeneration infinitely without quality loss. Data compression techniques. It needs the conversion and the decoding. If not enough quantization levels, it decreases SNR. It is necessary a low-pass filter to avoid aliasing (also during the reconstruction).
  • Slide 7
  • Concepts Resolution: number of discrete values in what the entire range of analog values can be transformed. Limited by the SNR. Sampling rate: speed at which the analog signal is sampled. Signal to Noise Ratio (SNR) Signal to Noise and Distortion (SINAD) Effective Number of Bits (ENOB) Spurious-Free Dynamic Range (SFDR)
  • Slide 8
  • Concepts Quantization Error: due to the finite resolution of an ADC. Offset Error Full-Scale Error Gain Error Non-linearity: DNL and INL Missing Codes
  • Slide 9
  • Architectures Direct Conversion ADC or Flash ADC: bank of comparators in parallel, the fastest, limited resolution, exponential growth.
  • Slide 10
  • Architectures Successive-Approximation ADC: it constantly compares the value with different references until the best approximation is achieved.
  • Slide 11
  • Architectures Wilkinson ADC: it compares the input with the voltage of a load capacitor that discharges linearly when both voltages are equal, generating a pulse with the duration of the discharge which operates a logic gate that allows the pass of a pulse train. Sigma-Delta ADC (-): it uses oversampling to limit the quantization noise to the bandwidth of the signal. Pipeline ADC Integrating ADC (dual-slope or multi-slope) Ramp-compare ADC Time-interleaved ADC
  • Slide 12
  • HISTORY The first noticed kind of converter was in Turkey at 18 th century. An 8-bit DAC to measure water. Communications field, the main force behind the development of electronic data converters. Need for multiplexing: Pulse Code Modulation (PCM), first time in a patent of Paul M. Rainey, then developed by Alec Harley Reeves, covering the counter-based design for 5-bit ADCs and DACs
  • Slide 13
  • HISTORY At the beginning they used vacuum tube technology: expensive, bulky and high energy consumption. Migration to transistor (1950s-1960s). 1954 1966 1978
  • Slide 14
  • HISTORY Three different technologies: Monolithic Modular Hybrid Until 1990s predominance of modular and hybrid.
  • Slide 15
  • HISTORY
  • Slide 16
  • Present and future: Converter closer to the original signal. Integrate converters with other functions. Performance saturation. Very high level of transistor density. Digital post-processing to compensate analog non-idealities.
  • Slide 17
  • CODE Steps: Thresholds of decision. Comparison matrices. Calculation of the digital output. Calculation of non-idealities. Graphical representation.
  • Slide 18
  • Thresholds of decision Initially all the thresholds correspond to the ones of the ideal case (each multiple value of LSB).
  • Slide 19
  • Thresholds of decision Two parameters: Steps Slopes Two operation modes: Single value Vector of values
  • Slide 20
  • Steps steps = -0.5 steps = [0 -0.7 0 -0.5 0.5 0 0.7 0]
  • Slide 21
  • Slopes
  • Slide 22
  • slopes = 2 slopes = [1.2 1 1.5 1 1 0.5 1 1]
  • Slide 23
  • Thresholds of decision % ADC's real transfer function converter = zeros(2,2^nbits); % Thresholds of conversion slope_steps = ((ones(1,2^nbits)./slopes)- 1)*triu(ones(2^nbits,2^nbits)); converter(1,:) = ((1:2^nbits)+slope_steps+steps)*vlsb; % Digital output values converter(2,:) = (1:2^nbits)-1;
  • Slide 24
  • Comparison matrices With the thresholds we generate two matrices Reference matrix Matrix with the input information
  • Slide 25
  • Comparison matrices % Auxiliary (2^nbits)x(length(vin)) matrix with the square of each digital % value in the columns aux = vin*0+1; % Weight up the new matrix with the reference voltage and the number of % bits aux = (converter(1,:)'.^2*aux); % Weight up the input and compare it with the auxiliary matrix conversion = converter(1,:)'*(vin*vref/2);
  • Slide 26
  • Calculation of the digital output conversion = conversion>aux; % After fixing the problem of bubbles the output will be the number of ones % in each column out = max(((1:2^nbits)'*ones(1,length(conversion))).*conversion); % Limit maximum output value out(out>2^nbits-1) = 2^nbits-1;
  • Slide 27
  • Calculation of the digital output Two problems: Negative Thresholds Bubbles
  • Slide 28
  • Negative Thresholds R is the highest negative or zero threshold Avoid problems % Readjust negative thresholds R = find(converter(1,:)
  • Negative Thresholds E.g.: R=2 The problem are the outputs equal to zero % Compensation of the 0s for non-positive thresholds if R>0 out(out==0) = R; end
  • Slide 30
  • Bubbles Caused by Missing Codes Common in real converters
  • Slide 31
  • Bubbles E.g.: It does not affect thanks to the implementation. Alternative code that finds the positions of the bubbles
  • Slide 32
  • Bubbles
  • Slide 33
  • Calculation of non-idealities Best linear approximation. Offset Error Full-Scale Error Gain Error DNL INL % ADC's transfer function's linear interpolation approxFunction = polyfit([steps(1) converter(1,1:end- 1)/vlsb],converter(2,:),1); approxConverter = (converter(2,:)- approxFunction(2))*vlsb/approxFunction(1);
  • Slide 34
  • Calculation of non-idealities It uses all the values to calculate the non-idealities. Results in LSB units. % Output info offset = approxConverter(1)/vlsb; FSError = (idealConverter(end-1)-approxConverter(end))/vlsb; GError = FSError+offset; aux_inl = converter(1,1)-vlsb/slopes(1); % INL Adjustment INL = abs(approxConverter-[aux_inl converter(1,1:end- 1)])/vlsb; DNL = ([converter(1,1:end-1) vref]-[0 converter(1,1:end- 1)])/vlsb-1; DNL(DNL
  • Graphical representation % Number of points in the plot voltPoints = 2^14; converterRep = zeros(1,voltPoints); ---------------------------------------------------------- % Representation of the ADC transfer function scaling = voltPoints/vref; scaledConverter = converter(1,:)*scaling; scaledConverter(scaledConverter2^nbits-1) = 2^nbits-1;
  • Slide 37
  • EXAMPLES Ideal 3-bit converter
  • Slide 38
  • EXAMPLES steps = 0.75 & slopes = 1.4
  • Slide 39
  • EXAMPLES steps = [0 0 0.3 0.5 -0.3 0.4 0.3 0]
  • Slide 40
  • EXAMPLES steps = [0 0.2 0.2 0.8 -0.5 0.7 0 0]
  • Slide 41
  • EXAMPLES steps = [1 1.3 1.5 2 2.5 2.7 4 0]
  • Slide 42
  • EXAMPLES steps = [0 0.3 0.5 0 0 -0.2 0 0] & slopes = [1.5 1 1 0.8 0.8 2 2 1]
  • Slide 43
  • QUESTIONS
  • Slide 44