用过采样和求均值提高ADC分辨率
利用过采样技术提高ADC测量微弱信号时的分辨率
利用过采样技术提高ADC 测量微弱信号时的分辨率 1. 引言 随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多领域(物理学、化学、天文学、军事雷达、地震学、生物医学等)的微弱信号需要被检测,例如:弱磁、弱光、微震动、小位移、心电、脑电等[1~3]。
测控技术发展到现在,微弱信号检测技术已经相对成熟,基本上采用以下两种方法来实现:一种是先将信号放大滤波,再用低或中分辨率的ADC 进行采样,转化为数字信号后,再做信号处理,另一种是使用高分辨率ADC ,对微弱信号直接采样,再进行数字信号处理。
两种方法各有千秋,也都有自己的缺点。
前一种方法,ADC 要求不高,特别是现在大部分微处理器都集成有低或中分辨率的ADC ,大大节省了开支,但是增加了繁琐的模拟电路。
后一种方法省去了模拟电路,但是对ADC 性能要求高,虽然∑-△ADC 发展很快,已经可以做到24位分辨率,价格也相对低廉,但是它是用速度和芯片面积换取的高精度[4],导致采样率做不高,特别是用于多通道采样时,由于建立时间长,采样率还会显著降低,因此,它一般用于低频信号的单通道测量,满足大多数的应用场合。
而本文提出的方案,可以绕过上述两种方法的缺点,利用两者的优点实现微弱信号的高精度测量。
过采样技术是提高测控系统分辨率的常用方法,已经被广泛应用于各个领域。
例如,过采样成功抑制了多用户CDMA 系统中相互正交用户码接收机(A Mutually Orthogonal Usercode-Receiver ,AMOUR )的噪声[5~6],提高了光流估计(optical flow estimation ,OFE )的精度[7],改善了正交频分复用(OFDM )信号的峰-均比[8]等。
但是,这些过采样技术应用的前提是采样前的信号幅值能与ADC 的输入范围相当。
而用ADC 采集微弱信号时,直接使用过采样技术提高不了精度,而且由于信号幅值远小于ADC 的输入范围,它的有效位数还会减小,使精度随之下降。
采用过采样提高C8051F020片内ADC分辨率的研究
Abs tr a c t: T h e r e s o l u t i o n o f t h e a n a l o g t o d i g i t a l c o n v e r t e r i s r e l a t e d t o t h e m o r e b i t s , t h e h i g h e r r e s o l u t i o n ,
hi g he r re s ol uti o n de vi ce cos t s a re al s o hi g he r . C 80 51 F0 2 0 on —c hi p AD C i s a 1 2 bi t, i n or de r t o r ed uc e t he co st
t i me a nd r ed uc e th e t hr oug hp ut of d at a.
K e y w or d s: A D C; o v e r s a m p l i n g : C 8 O 5 1 F 0 2 0: r e s o l u t i o n
, n _ 2
式中 是输入信号的最高频率
, 可 以计 算 对 于1 2 位和l 6 位 测 量 的 代 码宽 度 和 温 度 分 辨 过 采样是使用远 大于奈奎 斯特采样频 率的频率对输入信 电 压v 率 ( 可测量 的最小温度变化 ) 。 号进行采样, 即采样频率f ) ) f 。 过采样能提高测量 分辨率, 每
如何提高ADC采样分辨率?
例如 精心设计电路
板和在参考电压信号线上加旁路电容
但是 ADC 总是存在量化噪声 所以一个给定位数的数据转
换器的最大 SNR 由量化噪声 不使用过采样技术时 定义 在正确的条件下 过采样和求均值会
减小噪声和改善 SNR 这将有效地提高测量分辨率的位数
图 1 所示的系统可以用 Cygnal 的片内
ADC 和一个软件子程序来实现 得到结果
在采用过采样和求均值技术的情况下
我们用同一个片内 12 位 ADC 可以测量的最小温度变化
是 0.007 摄氏度 这就允许我们以高于百分之一度的精度对温度进行测量
数据吞吐率降低
吞吐率是指每单位时间我们能得到的输出数据字的个数
如果一个 ADC 的最大采样速率是
100ksps 在不采用过采样和求均值技术的情况下我们可以得到
引言
很多应用需要使用模 / 数转换器 ADC 进行测量 这些应用所需要的分辨率取决于信号的动
态范围 必须测量的参数的最小变化和信噪比
SNR 因此 很多系统使用较高分辨率的片外 ADC
然而也可以通过使用一些技术来达到较高的分辨率和
SNR 本应用笔记介绍用过采样和求均值的方
法来提高模数转换的分辨率和 SNR 过采样和求均值技术可以在不使用昂贵的片外
应 用 笔记
AN018 用过采样和求均值提高 ADC 分辨率
相关器件
本应用笔记适用于下列器件 C8051F000 C8051F001 C8051F002 C8051F005 C8051F012 C8051F015 C8051F016 C8051F017
C8051F006
C8051F010
C8051F011
这样得到的结果是 16 位的有用数据 所做的操作被称为 累加和转储 一旦我们计算得到由 256 个
使用过采样提高STM32F101xx和STM32F103xx的ADC分辨率
AN2668Application noteImproving STM32F101xx and STM32F103xxADC resolution by oversamplingIntroductionThe STMicroelectronics Medium- and High-density STM32F101xx and STM32F103xxCortex™-M3 based microcontrollers come with 12-bit enhanced ADC sampling with a rateup to Msamples/s. In most applications, this resolution is sufficient, but in some cases wherehigher accuracy is required, the concept of oversampling and decimating the input signalcan be implemented to save the use of an external ADC solution and to reduce theapplication consumption.This application note gives two methods to improve ADC resolution. These techniques arebased on the same principle: oversampling the input signal with the maximum 1 MHz ADCcapability and decimating the input signal to enhance its resolution.The method and the firmware given within this application note apply to both Medium- andHigh-density STM32F10xxx products. Some specific hints are given at the end of theapplication note to take advantage of the Medium- and High-density STM32F103xxperformance line devices and of the High-density STM32F101xx access line devices.This application note is split into two main parts: the first one describes how oversamplingincreases the ADC-specified resolution while the second describes the guidelines toimplement the different methods available and gives the firmware flowchart of theirimplementation on the STM32F101xx and STM32F103xx devices.July 2008 Rev 11/21Contents AN2668Contents1Definition of ADC signal-to-noise ratio . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2Nyquist theorem and oversampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Oversampling using white noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1SNR of oversampled signal with white input noise . . . . . . . . . . . . . . . . . . . 63.2Decimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3When is this method efficient? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.4Method implementation on the STM32F10xxx devices . . . . . . . . . . . . . . . 83.4.1Oversampling using a white noise firmware flowchart . . . . . . . . . . . . . . . 93.4.2Oversampling using white noise result evaluation . . . . . . . . . . . . . . . . . 104Oversampling using triangular dither . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1When does this method work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.2Method implementation on STM32F10xxx devices . . . . . . . . . . . . . . . . . 13 5Comparing the first and second methods . . . . . . . . . . . . . . . . . . . . . . 156Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166.1What is the maximum number of bits that can be added tothe on-chip ADC resolution? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166.2Taking advantage of High-density STM32F10xxx devices . . . . . . . . . . . . 166.3Taking advantage of the Medium- and High-density performance line(STM32F103xx) devices 17Appendix A Quantization error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202/21AN2668List of figures List of figuresFigure 1.Oversampling effect on the quantization noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 2.Histogram analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 3.Histogram analysis for DC = 1.65 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figure 4.Oversampling using a white noise flowchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 5.Ramp samples with 1 additional bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 6.Ramp samples with 2 additional bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 7.How to perform oversampling by adding a triangular signal . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 8.Hardware requirements of oversampling by adding a triangular signal . . . . . . . . . . . . . . . 13 Figure 9.Oversampling using triangular dither flowchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Figure 10.Oversampling effect on the quantization error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183/21Definition of ADC signal-to-noise ratio AN26684/211 Definition of ADC signal-to-noise ratioThe ADC gives a representation of an analog signal among a finite number of digital words.Since the digital domain is represented by a finite number of words which have to present acontinuous signal, the conversion step introduces the quantization error function of the ADCinput range and resolution.For an ideal ADC, the quantization error is between ±0.5 LSB. In the case where the inputsignal is varying through many levels between samples, and the sampling rate is notsynchronized with the input frequency, the quantization error can be considered as a whitenoise whose energy is uniformly spread from the DC domain to half of the samplingfrequency. Please refer to Appendix A for more details regarding the calculation of itsdensity.The SNR (signal-to-noise ratio) is the ratio of the ADC noise to the input signal power. Foran ideal ADC, it is assumed that the SNR is equal to the quantization noise (no other noisesource is considered) to the input signal. It is demonstrated that for a full-scale sinusoidalsignal, the ADC SNR is maximum and given by the following formula:, where N is the ADC resolution.It is can be easily noticed that when the SNR increases, the ADC effective number of bitsincreases.For a real ADC, different error sources should be considered: offset, gain, INL (integralnonlinear) and DNL (differential nonlinear). A brief description of these errors can be foundin the STM32F101xx and STM32F103xx datasheets. They degrade the ideal ADCresolution. In this case, we speak of real effective number of bits.Improving the SNR involves an enhancement of the ADC effective number of bits.The following section demonstrates that sampling the input signal with higher rates than theNyquist frequency improves the SNR. The Nyquist frequency is introduced in the nextparagraph.SNR dB 6.02N 1.76+=AN2668Nyquist theorem and oversampling 2 Nyquist theorem and oversamplingThe Nyquist theorem states that in order to be able to reconstruct the analog input signal,the signal should be sampled at a rate f S (sampling frequency) that is greater than twice themaximum frequency component of the input signal.Not respecting the Nyquist theorem causes aliasing effects and the analog signal cannot befully reconstructed from the input samples. Therefore, in most applications, a low-pass filteris required at the ADC input to filter frequencies lower than half the sampling frequency. It isdifficult to handle the filter constraints with low sampling frequencies.Oversampling consists in sampling the input analog signal at rates higher than the Nyquistfrequency limit, filtering the samples and reducing the sample rate by decimation. Using thismethod relaxes the anti-aliasing low-pass filter constraints.5/216/213Oversampling using white noise 3.1 SNR of oversampled signal with white input noiseLet us assume that the quantization noise is assimilated to white noise. Then its powerdensity is uniformly distributed between DC and half the Nyquist frequency. This powerdensity is independent of the sampling frequency.When sampling at higher rates, the quantization noise is spread over the bandwidth of thesampling frequency. Figure 1.Oversampling effect on the quantization noiseAccording to Figure 1, when sampling the input signal at higher rates, the same noisepower, represented by the area of the green rectangle, is spread over a bandwidth equal tothe sampling frequency which is much greater than the signal bandwidth fm. Only arelatively small fraction of the total noise power falls in the [–fm, fm] band , and the noisepower outside the signal band can be greatly attenuated with a digital low-pass filter.Reducing the quantization noise enhances the signal-to-noise ratio and, consequently, theADC effective number of bits. Oversampling the input signal OSR times faster than theNyquist frequency gives the following SNRIt can be concluded that each doubling of the sampling frequency will lower the in-bandnoise by 3 dB, and increase the measurement resolution by 1/2 bit. Therefore, 6dB SNRgain is required to add 1 resolution bit to the ADC.In general, if p additional bits are required by the application then, the ADC samplingfrequency should be at least:, where F S is the current ADC sampling frequency used.3.2 DecimationThe conventional meaning of averaging is adding m samples and dividing the result by m.Averaging several data from an ADC measurement is equivalent to a low-pass filter whichattenuates the signal fluctuation and noise. The average method is often used to smoothand remove speaks from the input signal.Note that normal averaging does not increase the resolution of the conversion because thesum of m N-bit samples divided per m is an N-bit representation of the sample.F f m - f m f S = 2.f m -2.f m F f m - f m f S = 2.N.f m-2.N.f m PSD PSDSame area Input signalQuantization errorPSD = Power signal densityai14937SNR OVS 6.02N 1.76+⋅10OSR ()log +=F OVS 4pF S =Decimation is an averaging method. When combined with oversampling, decimationimproves the ADC resolution.In fact, adding 4p ADC N-bit samples, gives a representation of the signal on N+2p bits. Inorder to have p additional effective bits, the sum is shifted to the right by p bits.This FIR filter with equal filter coefficients enables the user to filter the oversamplingfrequency by giving an output sample computed from the OSR input samples.The oversampling method limits the maximum input frequency bandwidth. In fact, in thecase of the STM32F10xxx, signals having components up to 500 kHz can be processed bythe ADC. If for example, two additional resolution bits are required, then the maximum inputfrequency that can be entered is 500 kHz/16 = 31.25 kHz when oversampling using whitenoise.3.3 When is this method efficient?For the oversampling and decimating method to work properly, the following requirementsmust be satisfied:●There should be some noise in the input signal. This noise must approximate whitenoise with a uniform power spectral density over the frequency band of interest.●The noise amplitude must be sufficient to toggle the input signal randomly from sampleto sample by an amount of at least 1 LSB. Otherwise, the input samples would have thesame representation and the sum and average operations would not give any extraresolution. In most applications, the internal ADC thermal noise and the input signalnoise are sufficient to use this method. In the case where the thermal noise does nothave a high-enough amplitude to toggle the input signal randomly, then artificial whitenoise should be injected into the input signal. This operation is referred to as“dithering”. Regarding this point, two questions can be raised. The first is “How toevaluate the ADC noise and test its Gaussian criteria?” and “How to generate whitenoise if needed?”– A practical way of detecting the Gaussian criteria of the input signal noise is to see the distribution of a clean DC signal over the ADC codes. The histogram methodcan be used to verify if the input noise follows a Gaussian distribution. Theexample in Figure2 shows two possible situations.7/218/21 Figure 2.Histogram analysis –In the case where external noise dither should be added to the input signal, thenthe thermal noise generated by a diode or a resistor can be injected into the input signal.–The input noise should not correlate with the useful input signal and the inputsignal should have equal probability to be between two adjacent ADC codes. This means that for systems using feedback process, this method does not work.3.4 Method implementation on the STM32F10xxx devicesThis method describes the different steps undertaken to implement and test theoversampling method on the STM32F10xxx devices.According to the previous section, in order to make this solution work properly, there should be some white noise to make the input signal toggle randomly by 1/2 LSB. For this, the application environment noise should be considered.The first step consists in computing the STM32F10xxx ADC thermal noise to conclude if external white noise should be injected into the input signal. In a typical application board, the computed noise does not include only the ADC internal noise but also the possible noise generated by the different board components and the layout. Therefore, this evaluation depends on the application board but the methodology remains the same.The histogram method is used for different DC input voltages. This input voltage is sampled a large number of times (example 5000). The related distribution can be easily interpreted using a spreadsheet.For example, for a 1.65 V DC input voltage applied on the STM3210B-EVAL evaluation board, the histogram shown in Figure 3 is detected.ADC codes N N+1N+2N–1N–2Histogram for a signal with white noise ADC codesN N+1N+2N–1N–2Histogram for a signal without white noiseai14938Figure 3.Histogram analysis for DC = 1.65 Vai14939 The ADC thermal noise can be computed from this histogram (though this can be shown, itis not the objective of this application note and details are not offered here).In order to carry on this ADC noise test, the user should do the following:●uncomment the line #define Themal_Noise_Measure in the oversampling.h file●configure the Total_Samples_Number which is the number of ADC conversionoperations. It should be smaller than 65535. The DMA channel is configured to storethe number of ADC samples in a RAM buffer. At the end of the transfer, an interrupt isgenerated and the number of occurrences of each ADC code is computed●In order to compute the occurrence of the ADC codes, a variable giving the relevantADC codes is definedWhen the code is run, Relevant_ADC_Samples ADC samples and their correspondingnumber of occurrences are displayed on the HyperTerminal. The HyperTerminalconfiguration is 8-bit data, no parity, 115 200 baud rate. If the effective number of ADCsamples found is smaller than the defined Relevant_ADC_Samples variable, then 0 isdisplayed for both ADC code and ADC code occurrence. The user can capture them andbuild a histogram.3.4.1 Oversampling using a white noise firmware flowchartThe STM32F10xxx on-chip ADC conversion frequency is fixed to 1 MHz. The ADC DMAchannel is configured to transfer the number of oversampled inputs from the ADC dataregister to a buffer in RAM. This transfer is configured to occur one time. At the end of theDMA transfer, an interrupt is triggered and the oversampled result is computed.The STM32F10xxx general-purpose timer TIM2 is used to generate the input signalsampling frequency. For this, the TIM2 reference clock is configured at 1 µs. Its perioddetermines the input signal sampling period. It is defined in the oversampling.h file as#define Input_Signal_Sampling_Period. When the TIM2 update interrupt istriggered, the DMA is re-enabled and the converted ADC values can be treated. Figure4summarizes the implemented functionality.9/2110/21 Figure 4.Oversampling using a white noise flowchartThe oversampled data are computed in the DMA transfer complete interrupt. For synchronization reasons, it is recommended to read it in the second TIM2 interrupt.Note that with this implementation, the TIM2 period should be greater than the time required by the ADC to convert OSR samples, and greater than the ADC interrupt execution time.If the sampling frequency required by the application is exactly OSR µs, then the user is not required to use Timer TIM2 to generate the input sampling frequency. However, the DMA should be configured to be functional in continuous mode and the DMA transfer complete interrupt should be updated accordingly. The oversampled data are usually computed in the DMA transfer complete interrupt.3.4.2 Oversampling using white noise result evaluationIn order to evaluate the oversampling method, the user should uncomment the #define Oversampling_Test line and configure the number of samples with the enhanced resolution.When this line is uncommented, a buffer is created in RAM to store the oversampled data. The buffer contents are then displayed on the HyperTerminal. The HyperTerminalconfiguration should be 8-bit data, no parity and 115 200 baud rate. The user can capture them into a txt file and then compare the expected results to the real ones.In order to evaluate the new enhanced ADC, a ramp with a 50 Hz frequency and a 1Vamplitude is input into the ADC and sampled using the oversampling algorithm every 50 µs.The firmware example related to this method is located in the WhiteNoiseMethod folder.Sampling period = TIM2 periodADC period = 1 µs TIM2 update interruptClear flagEnable DMA Time t<=1µsDMA transfer complete interrrupt Clear DMA Interrupt pending bit Compute the oversampled resultUpdate DMA counter and pointerDisable DMAai14940AN2668Oversampling using white noise11/21Figure 5.Ramp samples with 1 additional bit Figure 6.Ramp samples with 2 additional bitsThe oversampling algorithm using white noise is run with the same ramp (50 Hz frequencyand 1 V amplitude). Both Figure 5 and Figure 6 give the ADC oversampled data as afunction of time in µs. Figure 5 is the result of adding one bit while Figure 6 is the result ofadding two additional bits to the ADC on-chip resolution.When the ramp is sampled without using any extra software resolution, with a 3.3 Vreference supply, 1 V corresponds to the digital value 1250.When one additional bit is added, 1 V is sampled as 2500 and when two additional bits areadded, 1 V is sampled as 5000.This means that the environment contains enough noise for this method to work.50 H/1 V - 1 additional bit300025002000150010005000306090120150180210240270300330360390ai1494250 H/1 V - 2 additional bits60005000400030002000100004182123164205246287328369410451492533574615656697738779ai1494212/214 Oversampling using triangular ditherAssuming that the input signal is between two successive quantization steps q0 and q1during the oversampling period, then the converter may convert it either to q0 or q1. Addingextra p bits of resolution means determining the relative position of the input signal betweenq0 and q1.With the addition of an appropriate triangular signal, the quantizer generates a series of q1sand q0s. Averaging the q1 occurrences over a given interval determines the relative positionof the input signal between the lower and the higher quantization steps.The theory states that the best results are achieved when dithering the input signal using atriangular waveform with a period of OSR times the ADC sampling period and an amplitudeof n+0.5LSB where n = 0,1,2,3.The theory behind this methods is quite complicated, so that Figure 7 serves as an exampleto illustrate how this method works. In this example, the ADC on-chip resolution is 3 andthree extra bits are added by firmware. The input signal is assumed to have an amplitude ofq0+ 0.6LSB (q0 = 6 in this example). In order to add three additional bits, the input signal issampled 2.23 times (16 times).If the input signal is not correlated with the triangular waveform, then it is demonstrated thatthe gain in the SNR is equal toTherefore, each doubling of the sampling frequency improves the SNR by 6dB and adds 1ADC bit resolution.In general, in order to add p-bit extra resolution, the oversampling frequency should beequal to4.1 When does this method work?In order to make this method work, the input signal should not vary by more than ±0.5LSBduring the oversampling period and should not correlate with the triangular dither signal.SNR Gain 20.OSR 2-------------⎝⎠⎛⎞log =F OVS 2.2pF S =4.2 Method implementation on STM32F10xxx devicesIn order to implement the second solution, the following is needed:●An operational amplifier to perform the sum of the input signal and the triangularwaveform. For this, an op-amp inverter/summing stage is required. The ST componentLMV321 can be used.●Triangular waveform with a period of OSR times the ADC conversion rate. The user caneither use a signal generator or one of the STM32F10xxx on-chip timers and an RCnetwork to generate this triangular signal. Indeed, the on-chip timer generates a PWMsignal with a duty cycle varying from 0 to 100%. This PWM output can be filtered withan RC filter to generate a triangular signal varying from 0 to V DD. In order to generatean amplitude of 0.5LSB, then the output is first passed through a capacitor (to cut theDC component) and then divided by the prescaler R2/R3 (see Figure8). This prescaleris equal to the ADC number of words.●The input signal should not be changed after the op-amp. For this reason, R1 should beequal to R3.●The sum of the input signal and the triangular dither is inverted. For this purpose, a3.3V offset is required on the positive entry of the op-amp. After the oversampled dataare computed, this offset is subtracted to give the input signal estimation with extraresolution.The STM32F10xxx on-chip ADC conversion frequency is fixed at 1 MHz. The ADC DMAchannel is configured to transfer the number of oversampled inputs from the ADC dataregister to a buffer in RAM. This transfer is configured to occur one time. At the end of theDMA transfer, an interrupt is triggered and the oversampled result is computed.The STM32F10xxx general-purpose timer TIM2 is used to generate the input signalsampling frequency. For this, the TIM2 reference clock base is configured at 1 µs. Its perioddetermines the input signal sampling period. It is defined in the oversampling.h file by#define Input_Signal_Sampling_Period.The triangular dither is generated using Timer TIM3 configured in PWM mode by updatingthe Capture Compare Register CCR1. Timer TIM3 period should be equal to the ADCconversion rate and CCR1 should be updated OSR times where OSR is the oversamplingfactor. In order to do this, the possible CCR1 values are first computed and stored into aRAM buffer, then DMA transfer is used to update the CCR1 register, removing the need forinterrupts.Note that the ADC conversion rate limits the oversampling factor. For example, in the casewhere the ADC is running at 1 MHz, the STM32F10xxx is operating at 56 MHz. In order to13/2114/21have a period of 1 µs, the auto-reload register of timer TIM3 should be equal to 55. Themaximum number of additional bits is then 4.When a TIM2 update interrupt is triggered, the ADC and TIM3 DMA are re-enabled and theconverted ADC values can be treated to compute the new sample with the extra resolutionbits. Figure 9 summarizes the implemented functionality.Figure 9.Oversampling using triangular dither flowchartFor this method to work, the input signal should not vary by more than ±0.5LSB during theoversampling period. This means that for an STM32F10xxx operating from a 3.3 V VDDpower supply, the maximum allowed variations of the input signal during the oversamplingperiod is ~0.4 mV .On the other side, a triangular waveform with an amplitude of 0.5LSB means a 0.4 mVamplitude when operating the STM32F10xxx from a 3.3 V power supply. The applicationenvironment must therefore not be very noisy. Any disturbance of the triangular waveformwill have an impact on the computed oversampled data.According to the implementation, the triangular waveform is generated by means of theSTM32F10xxx timer and an RC filter that cuts the 1 MHz timer frequency. The timer PWMoutput signal is integrated to provide a triangular signal with a 3.3 V amplitude. The divisionis done with the ratio R4/R2.The firmware related to this method is located in the TriangularDitherMethoddirectory.Sampling period = TIM2 periodADC period = 1 µsTIM2 Update interruptClear flagEnable ADC DMATime t<=1µADC DMA transfer complete interrupt Clear DMA Interrupt pending bit Compute the oversampled result Update ADC DMA counter and pointersDisable DMAEnable TIM3 DMA Update TIM3 DMA counter and pointersTIM 3 period = ADC period = 1 µsTIM3 CCR1 register varies during OSR period (OSR = 4 in this example)Input signal dithered with thetriangular signalInput signalai14945AN2668Comparing the first and second methods 15/215 Comparing the first and second methodsThe first method based on oversampling and averaging using white noise provides a half-bitadditional resolution for each doubling of the oversampling rate. The maximum inputfrequency is drastically decreased with the additional number of additional bits.For applications where this gain is sufficient, then it is a good choice. It requires thepresence of white noise in the input signal to make the signal toggle between two adjacentADC codes. In general, the ADC thermal noise is sufficient and there is no need to addexternal hardware to act as an external white noise source. This makes the solution morecost-effective.The second method based on dithering the input signal using a triangular waveform andcomputing its relative position between two quantized steps provides one more bit for eachdoubling of the oversampling rate. This is twice the improvement given by the first method.To make this method work, the input signal should not correlate with the triangular signaland should not have a variation greater than 0.5LSB during the oversampling period.However, external hardware is needed to add the input signal and the triangular waveform.Table 1 summarizes the main differences between the two methods. It is not possible to saythat one method is better than the other. Each method has its advantages and limitations.The user should select the one that better meets their application requirements (samplingfrequency, number of effective bits etc.).Table 1.Oversampling using white noise vs. oversampling using triangular ditherImplementation conditions Oversampling usingwhite noise Oversampling using triangular ditherOversampling factor to add p bits to he ADC on-chip resolution 4p 2.2pMaximum Input signal frequency f ADC max/(2.4p )f ADC max/(2.2.2p )Dither signal White noise with an amplitude of at least 1 LSB T riangular signal with an amplitudeof n+0.5LSBExternal hardwareExternal white noise source needed if the input signal noise is not sufficient T riangular waveform generator: anon-chip timer can be used.–In this case, an RC network isused to filter the PWM frequency–An op-amp is needed to add thetriangular waveform and the inputsignal。
利用过采样技术提高ADC测量分辨率
6 dB ,有效位数增加一位 。
3 仿真分析
过采样能减小带内噪声 、改善 SNR 和增加有效位数 ENOB ,其改善效果可以用工程计算软件工具来仿真完 成 。图 2 就是利用 Matlab 对混有白噪声的原始信号进行 奈奎斯特和过采样并求均值后的滤波效果图 ,其中左边是 奈奎斯特采样后的图形 ,右边是过采样和均值滤波后的 图形 。
利用 TMS320L F2407 片内 ADC 对室内温度进行检 测 ,实验测取了 20 组数据 ,实验中没有将测得的数据转换 成温度值 ,只是实测了从 A/ D 转换器输出的电压值 。在 实验中发现 ,每次启动 A/ D 转换时第一个转换值与其他 15 个转换值有较大的误差 ,因此在进行数据处理时将其 剔除 ,只对后 15 个值进行算术平均滤波 ,图 5 为对信号进 行奈奎斯特和过采样并求均值后的实验结果图 。从图 5 中可以看出 ,未进行过采样处理时输出信号数据有较大的 摆动 ,信号均值为 2 . 021 4 ,信噪比为 SNRold = 59 . 843 3 。 但进行过采样处理后 ,其信号输出明显趋于平缓 ,信号均 值基本不变为 2 . 021 2 ,信噪比增加到 SNRnew = 70 . 904 4 , ADC 转换精度显著提高 ,分辨率增加约 2 b 。
E( f )
=
erms 3
( 2 ) 1/ 2 fs
(1)
其中 : erms 为平均噪声功率 ; f s 为采样频率 ; E( f ) 为带内能
量谱密度 。
《现代电子技术》2007 年第 12 期总第 251 期
嵌入式与单片机
式(1) 描述了信号频带内的噪声能量谱密度随采样频 率的增加而降低 。在实际应用的 ADC 变换器中 ,转换结 果中两个相邻 ADC 码之间的距离决定量化误差的大小 。 如果 N 为一单极性 ADC 的位数 ,V ref 为参考电压 ,则量化 误差可以表示为 :
过采样技术提升ADC采样精度
过采样技术提升ADC采样精度其实原理很简单, 很容易明白, 怎样实现提高分辨率?假定环境条件: 10位ADC最小分辨电压1LSB 为1mv假定没有噪声引入的时候, ADC采样上的电压真实反映输入的电压, 那么小于1mv的话,如ADC在0.5mv是数据输出为0 我们现在用4倍过采样来, 提高1位的分辨率,当我们引入较大幅值的白噪声: 1.2mv振幅(大于1LSB), 并在白噪声的不断变化的情况下, 多次采样, 那么我们得到的结果有真实被测电压白噪声叠加电压叠加后电压ADC输出ADC代表电压0.5mv 1.2mv 1.7mv 1 1mv0.5mv 0.6mv 1.1mv 1 1mv0.5mv -0.6mv -0.1mv 0 0mv0.5mv -1.2mv -0.7mv 0 0mvADC的和为2mv, 那么平均值为: 2mv/4=0.5mv!!! 0.5mv就是我们想要得到的这里请留意, 我们平时做滤波的时候, 也是一样的操作喔! 那么为什么没有提高分辨率?????是因为, 我们做滑动滤波的时候, 把有用的小数部分扔掉了, 因为超出了字长啊, 那么0.5取整后就是0 了, 结果和没有过采样的时候一样是0 ,而过采样的方法时候是需要保留小数部分的, 所以用4个样本的值, 但最后除的不是4, 而是2! 那么就保留了部分小数部分, 而提高了分辨率!从另一角度来说, 变相把ADC的结果放大了2倍(0.5*2=1mv), 并用更长的字长表示新的ADC值,这时候, 1LSB(ADC输出的位0)就不是表示1mv了, 而是表示0.5mv, 而(ADC输出的位1)才是原来表示1mv的数据位,下面来看看一下数据的变化:ADC值相应位9 8 7 6 5 4 3 2 1 00.5mv测量值0 0 0 0 0 0 0 0 0 0 0mv(10位ADC的分辨率1mv,小于1mv无法分辨,所以输出值为0)叠加白噪声的4次过采样值的和0 0 0 0 0 0 0 0 1 0 2mv滑动平均滤波2mv/4次0 0 0 0 0 0 0 0 0 0 0mv(平均数, 对改善分辨率没作用)过采样插值2mv/2 0 0 0 0 0 0 0 0 0 0 1 2mv/2=0.5mv, 将这个数作为11位ADC值, 那么代表就是0.5mv这里我们提高了1位的ADC分辨率这样说应该就很简单明白了吧, 其实多出来的位上的数据, 是通过统计输入量的分布, 计算出来的,而不是硬件真正分辨率出来的, 引入噪声并大于1LSB, 目的就是要使微小的输入信号叠加到ADC能识别的程度(原ADC最小分辨率).理论来说, 如果ADC速度够快, 可以无限提高ADC的分辨率, 这是概率和统计的结果但是ADC的采样速度限制, 过采样令到最后能被采样的信号频率越来越低,就拿stm32的ADC来说, 12ADC, 过采样带来的提高和局限分辨率采样次数每秒采样次数12ADC 1 1M13ADC 4 250K。
基于过采样技术提高ADC分辨率的研究与实现.
基于过采样技术提高ADC分辨率的研究与实现很多应用场合需要使用模/数转换器ADC进行参数测量,这些应用所需要的分辨率取决于信号的动态范围、必须测量的参数的最小变化和信噪比SNR。
许多系统中既有很宽的动态范围又要求测量出参数的微小变化,因此就必须使用高分辨率的ADC。
然而,高分辨率的ADC器件价格昂贵,若使用价格相对低廉的具有较低分辨率的ADC器件,通过一些技术也达到较高的分辨率,则在工程应用中是非常受欢迎的。
过采样技术就可以提高模数转换的分辨率而实现该目很多应用场合需要使用模/数转换器ADC进行参数测量,这些应用所需要的分辨率取决于信号的动态范围、必须测量的参数的最小变化和信噪比SNR。
许多系统中既有很宽的动态范围又要求测量出参数的微小变化,因此就必须使用高分辨率的ADC。
然而,高分辨率的ADC 器件价格昂贵,若使用价格相对低廉的具有较低分辨率的ADC 器件,通过一些技术也达到较高的分辨率,则在工程应用中是非常受欢迎的。
过采样技术就可以提高模数转换的分辨率而实现该目的。
1 基本原理ADC 转换时可能引入很多种噪声,例如热噪声、杂色噪声、电源电压变化、参考电压变化、由采样时钟抖动引起的相位噪声以及由量化误差引起的量化噪声。
有很多技术可用于减小噪声,例如精心设计电路板和在参考电压信号线上加旁路电容等,但是ADC 总是存在量化噪声的,所以一个给定位数的数据转换器的最大SNR 由量化噪声定义。
在一定条件下过采样和求均值会减小噪声和改善SNR,这将有效地提高测量分辨率。
过采样指对某个待测参数,进行多次采样,得到一组样本,然后对这些样本累计求和并对这些样本进行均值滤波、减小噪声而得到一个采样结果。
由奈奎斯特定理知:采样频率fs 允许重建位于采样频率一半以内的有用信号,如果采样频率为40kHz,则频率低于20kHz 的信号可以被可靠地重建和分析。
与输入信号一起,会有噪声信号混叠在有用的测量频带内(小于fs/2 的频率成分):erms 是平均噪声功率,fs 是采样频率,E(f)是带内ESD。
sigma-delta adc的量化过程
sigma-delta adc的量化过程Sigma-Delta ADC(Σ-Δ ADC)是一种常用的模数转换器,它通过采用过采样和噪声整形技术,实现了高精度的模拟信号数字化转换。
本文将介绍Sigma-Delta ADC的量化过程,以及其原理和应用。
让我们了解一下Σ-Δ ADC的基本原理。
Σ-Δ ADC可以看作是一个模拟滤波器和一个数字滤波器的级联,其中模拟滤波器用于滤除高频噪声,数字滤波器用于恢复被过采样信号中的模拟信号。
Σ-Δ ADC的核心思想是在过采样的基础上通过噪声整形技术将噪声推到高频区域,从而提高了系统的动态范围和分辨率。
在Σ-Δ ADC的量化过程中,首先将模拟信号通过一个比特数较高的模数转换器进行采样。
然后,通过一个积分器对模拟信号进行积分,并将积分结果与一个参考电平进行比较。
根据比较结果,Σ-Δ ADC会输出一个1或0的比特,表示模拟信号是否超过了参考电平。
为了更好地理解Σ-Δ ADC的量化过程,可以以一个简单的二进制Σ-Δ ADC为例进行说明。
假设该ADC的比特数为N,那么它将输出一个N位的二进制数。
在量化过程中,如果积分结果大于参考电平,则输出1,否则输出0。
通过这种方式,Σ-Δ ADC可以实现高精度的模拟信号转换。
在实际应用中,Σ-Δ ADC常常用于对低频信号的高精度采样,比如音频和传感器信号采集。
由于Σ-Δ ADC具有较高的动态范围和分辨率,能够抑制高频噪声和共模噪声,因此在音频处理和测量仪器等领域得到了广泛的应用。
除了以上的基本原理和应用外,Σ-Δ ADC还有一些进一步的发展和应用。
例如,Σ-Δ ADC可以通过多级嵌套的方式,实现更高的分辨率和更宽的动态范围。
此外,Σ-Δ ADC还可以结合数字滤波器,实现对不同频率的信号的处理和采样。
总结起来,Σ-Δ ADC是一种基于过采样和噪声整形技术的高精度模数转换器。
它的量化过程通过积分和比较实现,并通过输出二进制数来表示模拟信号的大小。
一种提高AD模_分辨率的方法
过采样及平均的原理2
• 平均处理的过程。 将4的w次方个连续的采样结果累加,然后除以2的w次方,所得 结果即为12+w位分辩率的AD值。之后清除累加和,继续重复之 前的操作。 如果w=4,即欲获得16位分辨率,则需连续采样256次,并将累加 和除以16。 如果w=2,即欲获得14位分辨率,则需连续采样16次,并将累加 和除以4。
条件,则采样所得的离散信号可以恢复输入的模拟信号。如
果采样频率Fs>Fn,则称之为过采样(oversampling)。Fs越
大,则AD所得信号越接近输入信号,即分辨率越高。有如下
公式:
fos 4w • fs
fs 原系统所需采样频率。
fos 提高w位分辨率所需过采样频率。
由于温度是一个变化比较缓慢的物理量。1~2秒采样一次也 可以满足大多数应用的实时性要求。假定需要16位的分辨率, 则w=4,Fs=0.5Hz,那么Fos=4X4X4X4X0.5=128Hz,即每秒 采样128次可以达到16位分辨率。而FPX-AD2的转换时间为 1ms,1秒钟能采样1000次,故完全可以实现目标分辨率。
例程
输入电压 0.00 0.50 1.00 1.51 2.01 2.51 3.02 3.52 4.01 4.51 5.01 5.51 6.01 6.51 7.01 7.50 8.01 8.52 9.04 9.52 10.00
试验结果
AD转换值 0
203 402 603 803 1006 1211 1412 1603 1807 2005 2207 2407 2606 2804 3001 3206 3411 3619 3811 4000
一种提高AD模块分辨率的方法
大连分公司 王志华 2006年7月
基于过采样技术提高ADC分辨率
值的方法来达到较 高分辨率和信噪比, 出采样技术可以在不使用昂贵的 A C芯片的情况下提 高模 提 D
数 转换 的分 辨率 。 ・
关键 词
过 采样 ; 数 转换 器 ( D ; 噪 比( N ; 模/ A C) 信 S R) 分辨 率
中图分类 号 :D 7 文 献标 识码 : 文章编 号 :62— 62 20 ) 1 0 1 0 T 61 A 17 05 (08 1 — 0 5— 4
奈奎斯 特频 率 式 中:
一Leabharlann 系统中使用较高分辨率 的片外 A C芯片 , D 而本文主 要介绍用过采样和求均值的方法来 达到较高 的分辨 率和信噪比。
1 过 采样原 理
= f 2m
() 1
是输入信号的最高频率。
根据奈奎斯特定理可 知, 采样频 率 ( 高于 f ) n 则为过采样 , 过采样能提高测量分辨率。采样频率 允许重建位于采样频率一半以内的有用信号。如果 采样频率为 10k z则频率低于 5 H 的信号可以 0 H , 0k z
被可靠 地 重建 和分 析 。与 输入 信号 一起 , 还会 有噪声
1 )过采 样和 求均值 如 何改善 性 能 。过采 样 和求
均值是为了完成 2个任务 : 改善信噪比和提高有效分
辨率, 即增 加 A C测量 的有 效 位 数 。这 2个 任务 实 D 际上 是 同时完成 的。例 如 , 果有 一个 1 如 2位 A C却 D
信号混叠在有用的测量频带内( 小于 /2的频率成
分 )带 内噪声 的能量谱 密度 :
E( = ・ e ( 2) () 2
式 中:
e 一平均噪声功率;
一
采样频率 ;
E 一带 内 E D ( S。
采用过采样提高C8051F020片内ADC分辨率的研究
采用过采样提高C8051F020片内ADC分辨率的研究作者:熊杰来源:《无线互联科技》2013年第10期摘要:模数转换的分辨率与器件的数字位数有关,位数越多分辨率越高,分辨率越高器件的成本也越高。
C8051F020的片内ADC是12位的,为了既降低系统成本又获得较高的分辨率,介绍了过采样和求均值方法的实现原理。
该方法有效提高转换的分辨率和信噪比,但增加CPU处理时间并降低了数据吞吐率。
关键词:ADC;过采样;C8051F020;分辨率在SOC中,模数转换器是模拟与数字信号之间的有源接口器件,作用是将模拟信号转换为数字信号。
ADC的关键特性是精度,精度越高,则ADC器件的成本也越高。
为了既降低系统成本而又获得较高的精度,可采用过采样和求均值技术增加ADC精度的位数,从而提高ADC的精度。
1 工作原理根据奈奎斯特定理所要求的采样频率为奈奎斯特频率fn:fn=2fm 式中fm是输入信号的最高频率过采样是使用远大于奈奎斯特采样频率的频率对输入信号进行采样,即采样频率fs>>fn。
过采样能提高测量分辨率,每增加一位分辨率,信号必须被以4倍的速率过采样。
过采样频率与分辨率及采样频率之间的关系如下:fos=4wfs式中:w是所希望增加的分辨率位数fs是初始采样频率要求fos是过采样频率。
2 理论分析以C8051F020芯片使用12位的ADC采集温度值为例,若每秒输出一个温度值(1Hz),为了将测量分辨率增加到16位,按过采样原理计算过采样频率fos=44×1(Hz),即以fos=256Hz的采样频率对温度传感器进行过采样,在所要求的采样周期内收集到足够的样本,对这些样本求均值便可得到16位的输出数据。
将256个连续样本加在一起然后将总和除以16或将总和右移4位,这样得到的结果是16位的有用数据。
每采样256个样本计算得到一个结果,对数据进行保存或处理,然后开始下一个数据的采集。
用C8051F020片内100ksps12位ADC对片内温度传感器进行16位过采样和求均值,并将16位精度的测量值从硬件UART输出。
如何提高ADC采样分辨率
如何提高ADC采样分辨率ADC(模数转换器)的采样分辨率指的是它可以将模拟信号转换为数字信号的精度。
在电子设备和信号处理系统中,提高ADC的采样分辨率是非常重要的,因为它直接影响到信号的表示精度和处理效果。
以下是一些提高ADC采样分辨率的方法。
1.使用更高位数的ADC:ADC的位数决定了它的采样精度。
普通的ADC通常有8位、12位或16位。
要提高分辨率,可以选择更高位数的ADC,如18位、24位或32位。
使用更高位数的ADC可以提供更高精度的信号转换。
2.降低输入信号的噪音:噪音是影响ADC采样分辨率的主要因素之一、降低输入信号的噪音可以使得ADC更容易准确地捕捉到小信号。
为此可以使用滤波器、屏蔽和隔离技术来减少干扰和噪音对信号的影响。
3.提高采样速率:采样速率指的是从模拟信号中采样并转换为数字信号的频率。
提高采样速率可以增加每秒钟的采样点数,从而提高ADC的采样分辨率。
通过使用更高速度的时钟和更快的采样电路,可以达到更高的采样速率。
4.使用过采样技术:过采样是一种通过在一段时间内进行更多的采样来提高采样分辨率的技术。
通过在一些时间段内进行多次采样,然后对采样结果进行平均或滤波,可以提高采样的精度。
过采样技术可以通过增加硬件复杂度来实现,或者通过使用数字信号处理算法来完成。
5.精确校准和校正:在使用ADC之前,进行精确的校准和校正是必不可少的。
校准可以消除ADC的非线性误差和漂移,校正可以提高采样分辨率。
通过使用准确的校准方法,如零点校正和增益校正,可以提高ADC的性能。
6.使用差分输入:差分输入可以提高ADC的噪音抑制能力和共模抑制比。
差分输入的原理是将信号分为两个反向相对的信号,从而有效地减少噪音和干扰对信号的影响。
使用差分输入可以提高ADC的精确度和稳定性。
7.优化电源供应和地线布局:ADC对电源的质量和稳定性有较高的要求。
通过优化电源供应和地线布局,可以减少电源纹波和电磁干扰,提高ADC的采样分辨率。
ADC精度的提高
AVR121: 使用过采样增加ADC精度翻译:邵子扬 2006年4月13日修订:邵子扬 2006年4月14日********************特点• 使用过采样增加精度• 平均和抽取• 平均采样减少噪声1 介绍Atmel的AVR单片机提供了10位精度的模拟到数字转换器。
在大多数情况10位精度已经足够了,但是某些情况下需要更高的精度。
特殊的信号处理技术可以用来提高测量的精度。
使用一种称为“过采样和抽取”的方法可以得到较高的精度,不需要使用外部的ADC。
这个应用笔记解释了这个方法,以及它需要满足的条件。
图1-1. 增加分辨率2 操作理论在阅读这篇应用笔记其他部分之前,读者应当先阅读应用笔记AVR120 - ‘ADC校准’和AVR数据手册中ADC的部分。
下面的例子和数字是计算单端输入的连续模式,ADC噪声减少模式没有使用。
这个方法对其他模式也有效,尽管数字也许会不同。
ADC的参考电压和ADC的精度决定了ADC的步距。
ADC的参考电压V REF可以选择使用AVCC,内部的2.56V / 1.1V参考电压,或者AREF引脚上的电压。
较低的V REF提供了较高的电压精度但是同时减少了输入信号的动态范围。
如果2.56V的V REF被选择,它将给用户大约2.5mV的转换精度,并且最高的输入电压是2.56V。
选择使用ADC输入通道的增益,这使用户有更好的精度来测量模拟信号,代价是损失ADC的动态范围。
如果不能接受以动态范围交换精度,可以采用过采样来增加精度。
这个方法受到ADC的特性限制:使用过采样和抽取将降低ADC的量化误差,但是不能减少ADC的非线性化误差。
2.1 采样频率Nyquist 定理规定信号的采样频率必需至少是信号频率的两倍,否则高频部分将有损失(带通)。
最小需要的采样频率称为Nyquist 频率。
公式2-1. Nyquist 频率f nyquist> 2 f signal这里f signal是输入信号的最高频率,上面的采样频率f nyquist称为过采样。
模数转换器(ADC)的基本原理【转】
模数转换器(ADC)的基本原理【转】模数转换器(ADC)的基本原理模拟信号转换为数字信号,⼀般分为四个步骤进⾏,即取样、保持、量化和编码。
前两个步骤在取样-保持电路中完成,后两步骤则在ADC中完成。
常⽤的ADC有积分型、逐次逼近型、并⾏⽐较型/串并⾏型、Σ -Δ调制型、电容阵列逐次⽐较型及压频变换型。
下⾯简要介绍常⽤的⼏种类型的基本原理及特点:1 积分型(如TLC7135) 。
积分型ADC⼯作原理是将输⼊电压转换成时间或频率,然后由定时器/计数器获得数字值。
其优点是⽤简单电路就能获得⾼分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。
初期的单⽚ADC⼤多采⽤积分型,现在逐次⽐较型已逐步成为主流。
双积分是⼀种常⽤的AD 转换技术,具有精度⾼,抗⼲扰能⼒强等优点。
但⾼精度的双积分AD芯⽚,价格较贵,增加了单⽚机系统的成本。
2 逐次逼近型(如TLC0831) 。
逐次逼近型AD由⼀个⽐较器和DA转换器通过逐次⽐较逻辑构成,从MSB开始,顺序地对每⼀位将输⼊电压与内置DA转换器输出进⾏⽐较,经n次⽐较⽽输出数字值。
其电路规模属于中等。
其优点是速度较⾼、功耗低,在低分辨率( < 12位)时价格便宜,但⾼精度( > 12位)时价格很⾼。
3 并⾏⽐较型/串并⾏⽐较型(如TLC5510) 。
并⾏⽐较型AD采⽤多个⽐较器,仅作⼀次⽐较⽽实⾏转换,⼜称FLash型。
由于转换速率极⾼, n位的转换需要2n - 1个⽐较器,因此电路规模也极⼤,价格也⾼,只适⽤于视频AD 转换器等速度特别⾼的领域。
串并⾏⽐较型AD结构上介于并⾏型和逐次⽐较型之间,最典型的是由2个n /2位的并⾏型AD转换器配合DA转换器组成,⽤两次⽐较实⾏转换,所以称为Halfflash型。
4 Σ-Δ调制型(如AD7701) 。
Σ- Δ型ADC以很低的采样分辨率( 1位)和很⾼的采样速率将模拟信号数字化,通过使⽤过采样、噪声整形和数字滤波等⽅法增加有效分辨率,然后对ADC输出进⾏采样抽取处理以降低有效采样速率。
一种提高ADC分辨率的插值滤波方法
一种提高ADC分辨率的插值滤波方法
舒中宾
【期刊名称】《现代电子技术》
【年(卷),期】2005(28)17
【摘要】基于过采样和求均值原理设计插值滤波器,来提高ADC的分辨率和SNR.根据奈奎斯特采样定理,对插值滤波器进行了采样频率分析、量化误差分析,并得出分辨率与OSR的关系.通过对插值滤波器的信噪比分析,得到噪声功率与ADC位数之间的函数关系.本文对方法的有效性进行了阐述,指出插值滤波改善SNR和提高信号测量的有效位数的前提条件.实践证明可以采用插值滤波技术,通过软件实现提高仪表分辨率和信噪比,降低仪表成本.
【总页数】3页(P35-37)
【作者】舒中宾
【作者单位】湖南工业大学,湖南,株洲,41200O
【正文语种】中文
【中图分类】TN713
【相关文献】
1.用一种稳定的全反Q滤波方法提高叠前地震资料的分辨率 [J], 严红勇;刘洋
2.一种提高ADC0809分辨率的新方案 [J], 栗红霞;王洪剑
3.一种提高VSP分辨率的反Q滤波方法 [J], 严红勇;刘洋;赵前华;李绪宣;江南森
4.提高ADC0809转换分辨率的一种新方法 [J], 田秀玲
5.一种提高ADC分辨率的阶梯叠加法 [J], 胡志刚;过玉清
因版权原因,仅展示原文概要,查看原文内容请购买。
利用过采样技术提高ADC测量微弱信号时的分辨率
利用过采样技术提高ADC测量微弱信号时的分辨率
李刚;张丽君;林凌;何峰
【期刊名称】《纳米技术与精密工程》
【年(卷),期】2009(007)001
【摘要】为了提高现有模数转换器(analog-to-digital conveaer,ADC)检测微弱信号的能力,简化系统电路和降低生产成本.在充分利用ADC采样速度的条件下,通过过采样技术来提高ADC的分辨率,并且采用叠加成形函数的方法,实现了对微弱信号的检测.理论分析了不同情况下成形函数带来的误差、成形函数的使用条件和减少其带来的误差的方法.实验结果表明,用常规中分辨率ADC直接采样,就可以达到与现有高分辨率ADC直接采样才有的高精度;而使用叠加成形函数后的过采样技术,其效果更佳.
【总页数】5页(P71-75)
【作者】李刚;张丽君;林凌;何峰
【作者单位】天津大学生物医学信息检测与处理实验室,天津,300072;天津大学生物医学信息检测与处理实验室,天津,300072;天津大学生物医学信息检测与处理实验室,天津,300072;天津大学生物医学信息检测与处理实验室,天津,300072
【正文语种】中文
【中图分类】TP271.81
【相关文献】
1.基于过采样技术提高ADC分辨率 [J], 王志坚
2.根据过采样和求均值理论提高ADC测量分辨率 [J], 孙友伟;张洪;孙书娜
3.基于过采样技术提高ADC分辨率探析 [J], 李君
4.利用过采样技术提高ADC测量分辨率 [J], 刘青兰;方志刚;邵志学
5.基于过采样技术提高ADC分辨率的研究与实现 [J], 李国
因版权原因,仅展示原文概要,查看原文内容请购买。
高精度sigma-delta ADC的研究与设计
高精度sigma-delta ADC的研究与设计高精度sigma-delta ADC的研究与设计摘要:随着现代通信技术的发展,对高精度的模拟-数字转换(ADC)器件的需求日益增加。
sigma-delta ADC作为一种高精度、高速的转换器,在各个领域得到了广泛的应用。
本文将对高精度sigma-delta ADC的研究与设计进行探讨。
首先,概述了sigma-delta ADC的基本原理,并深入剖析了其优缺点。
然后,详细介绍了sigma-delta ADC的设计流程,包括模拟前端设计、数字滤波器设计、数字后处理等方面。
最后,通过实际案例验证了设计的可行性和有效性。
本文旨在为高精度sigma-delta ADC的研究与设计提供参考,希望能够对相关领域的研究人员提供一定的帮助。
一、引言近年来,模拟-数字转换技术在通信、医疗、工业控制等领域得到了广泛的应用。
高精度的ADC器件是实现这些应用的关键。
sigma-delta ADC由于其高精度、高动态范围、低功耗等优点,成为了各领域广泛采用的ADC芯片。
本文将对高精度sigma-delta ADC进行研究与设计,以满足近年来对高精度ADC的需求。
二、sigma-delta ADC的基本原理sigma-delta ADC是一种基于过采样和噪声整形的ADC技术。
其基本原理是通过将输入信号过采样,并利用高阶模拟滤波器抑制高频噪声,将输入信号的动态范围转移到更低频率范围内,从而增加了ADC的分辨率。
sigma-delta ADC主要分为模拟前端和数字后端两个部分,通过这两个部分的协同工作,实现了高精度的模拟-数字转换。
三、sigma-delta ADC的优缺点1. 优点:(1)由于过采样和高阶滤波器的使用,sigma-delta ADC具有较高的分辨率和动态范围;(2)sigma-delta ADC可以利用硬件结构的优化和数字滤波器的后处理,实现较高的抗干扰能力;(3)sigma-delta ADC的功耗较低,适用于低功耗应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fn = 2·fm 其中 fm 是输入信号的最高频率
方程 1. 奈奎斯特频率
采样频率 fs 高于 fn 则为过采样 过采样能提高测量分辨率 关于过采样提高测量分辨率的 原理请参见附录 A
数据吞吐率降低
吞吐率是指每单位时间我们能得到的输出数据字的个数 如果一个 ADC 的最大采样速率是 100ksps 在不采用过采样和求均值技术的情况下我们可以得到 100ksps 的输出字速率 但是 如果 我们为达到较高的分辨率而采用过采样和求均值技术 抽取 吞吐率将降低到初始值除以过采样 率 OSR 见方程 7 在我们所提供的例子中 过采样率为 256 我们的输出字速率将是 100ksps/256=390 个样本/秒 390Hz 由此可以看出 对于给定的采样速率 应在分辨率和吞吐率 之间权衡 另一个需要考虑的问题是 增加分辨率需要增加采样速率和计算时间 因此在每个采样 周期 1/fs 内 CPU 的带宽降低
根据要增加的分辨率计算过采样率
为了增加有效位数 ENOB 信号被过采样 或者说 ADC 以高于系统所需采样频率 fs 的速率 对信号采样 所需要的采样频率由系统对参数测量所要求的频度 输出数据字的速率 决定 或者 是奈奎斯特频率 fn
每增加一位分辨率 信号必须被以 4 倍的速率过采样
f os = 4 w ⋅ f s
分辨率提高
我们使用过采样和求均值技术将对温度传感器的测量精度从 12 位提高到 16 位 让我们对温度 测量中的分辨率提高进行一下比较
片内温度传感器的满度输出略小于 1 伏 假设使用 2.4V 的参考电压 Vref 我们可以计算对 于 12 位和 16 位测量的代码宽度和温度分辨率 可测量的最小温度变化
12 位温度分辨率
在不采用过采样技术的情况下 我们将得到 12 位的温度测量结果 温度每变化一个摄氏度
片内温度传感器的电压将变化 2.8mV 在使用 2.4V 的 Vref 且 PGA 增益为 2 时 电压分辨率是 使
用附录 A 中的方程 5
∆
=
2.4 212 ⋅ 2
=
293µV
/о C
∆ 是方程 5 中定义的代码宽度 分母中的因数 2 是考虑到 PGA 的增益为 2
噪声必须逼近白噪声 在整个有用频带内具有平均分布的功率谱密度 噪声幅度必须足够大 能引起输入信号样本之间的随机变化 变化幅度至少为两个相邻代
AN018-1.1 MAY01
3
AN018 用过采样和求均值提高 ADC 分辨率
码之间的距离 即 1 LSB 见附录 A 中的方程 5 输入信号可以用一个在两个相邻 ADC 代码之间具有等概率分布的随机变量表示 注 过采样和求均值不能补偿 ADC 的积分非线性误差 INL
AN018-1.1 MAY01
5
AN018 用过采样和求均值提高 ADC 分辨率
附录 A 噪声和过采样理论
本部分讨论过采样和求均值如何影响带内噪声以及如何根据所要求的 SNR 和测量分辨率计算 过采样比率
过采样和求均值如何改善性能
过采样和求均值是为了完成两个任务 改善信噪比和提高有效分辨率 即增加 ADC 测量的有 效位数 这两个任务实际上是同时完成的 例如 如果我们有一个 12 位 ADC 而希望产生 16 位分 辨率的转换代码 则我们用过采样和求均值技术可以得到与 16 位 ADC 相同的 SNR 这将增加测 量数据的有效位数 ENOB 也是提高 SNR 的一种方法 过采样和均值滤波器允许我们在产生较 低噪声强度的同时得到 16 位的输出字
∆
=
1.2 216
= 18 .3 µ V / oC
这样 我们可以测量的最小温度变化是
Tres16
=
18.3µV code
oC ⋅ 2.8mV
= 0.0065oC / code
Tres16 是 16 位测量的温度分辨率
在采用过采样和求均值技术的情况下 我们用同一个片内 12 位 ADC 可以测量的最小温度变化 是 0.007 摄氏度 这就允许我们以高于百分之一度的精度对温度进行测量
在不进行过采样和求均值时 ADC 测量的 SNR 理论极限是由模数转换过程中固有的量化噪声 决定的 因为量化误差取决于 ADC 的分辨率位数 见方程 5 所以最好情况下的 SNR 值是数据 转换有效位数的函数 计算公式如下
SNR(db) = (6.02 ⋅ ENOB) + 1.76
其中 ENOB 是测量值的有效位数 方程 3. SNR 为 ENOB 的函数
方程 3 对满度输入有效 这就是说输入信号的动态范围必须与 ADC 的参考电压一致 否则实 际 SNR 比用方程 3 计算出来的值要低
如果用于测量某个参数的 ADC 是 12 位的并且不采用过采样技术 则最佳 SNR 值 方程 3 计 算 为 74dB 如果我们想得到更高的 SNR 则必须根据给定的 SNR 用方程 3 计算所需要的 ENOB 一旦我们知道所要求的 ENOB 即可用方程 2 计算所需要的过采样频率
例如 如果一个给定应用所要求的 SNR 为 90dB 则我们至少需要 16 位的分辨率 使用一个 12 位的 ADC 并根据方程 2 计算 我们知道必须以 256 倍的频率进行过采样
过采样和求均值法何时有效
过采样和求均值法的有效性取决于主要噪声源的特性 最关键的要求是噪声源应为白噪声 请 见附录 B 中对于能用过采样和求均值法改善的噪声源特性的讨论 要考虑的关键点是[2] [3]
本应用笔记讨论如何使用过采样和求均值的方法来提高模/数转换 ADC 测量的分辨率 另 外 本文最后的附录A B和C分别给出了对ADC噪声的深入分析 最适合过采样技术的ADC噪声 类型和使用过采样和求均值技术的示例代码
关键点
可用过采样和求均值技术提高测量分辨率 不必采用昂贵的片外ADC 过采样和求均值对SNR和测量分辨率的改善是以增加CPU时间和降低数据吞吐率为代价的 对于白噪声的情况 过采样和求均值可以改善信噪比
过采样和求均值技术对相关或不能用白噪声模拟的噪声 例如 反馈系统的噪声 不起作用 另外 如果量化噪声的功率大于自然白噪声 例如热噪声 过采样和求均值技术也不会奏效 ADC 的分辨率较低时就属于这种情况 大多数使用 12 位 ADC 的应用都可以从过采样和求均值技术获益
有关这一问题的更深入的讨论请见附录 B
其中 w 是所希望增加的分辨率位数 fs 是初始采样频率要求 fos 是过采样频率 方程 2. 增加测量分辨率的过采样频率
附录 A 中介绍了方程 2 的一个导出方程
2
AN018-1.1 MAY01
AN018 用过采样和求均值提高 ADC 分辨率
假设一个系统使用 12 位的 ADC 每秒输出一个温度值 1Hz 为了将测量分辨率增加到 16 位 我们按下式计算过采样频率
应用笔记
AN018 用过采样和求均值提高 ADC 分辨率
相关器件
本应用笔记适用于下列器件 C8051F000 C8051F001 C8051F002 C8051F005 C8051F006 C8051F010 C8051F011 C8051F012 C8051F015 C8051F016 C8051F017
引言
很多应用需要使用模/数转换器 ADC 进行测量 这些应用所需要的分辨率取决于信号的动 态范围 必须测量的参数的最小变化和信噪比 SNR 因此 很多系统使用较高分辨率的片外ADC 然而也可以通过使用一些技术来达到较高的分辨率和SNR 本应用笔记介绍用过采样和求均值的方 法来提高模数转换的分辨率和SNR 过采样和求均值技术可以在不使用昂贵的片外ADC的情况下提 高测量分辨率
注 用于累加过采样数据和进行除法运算的存储器单元的字节数必须足够多 以免发生溢出或 截断错误
附录 C 中给出了一个过采样和求均值的例子 在该例中 用片内 12 位 ADC 对片内温度传感 器采样 得到 16 位的测量结果 有关过采样对噪声的影响和提高分辨率的更深入的讨论见附录 A
根据要增加的 SNR 计算过采样率
实例
本应用笔记的附录 C 中给出了一个使用过采样和求均值技术的例子 该程序使用 Cygnal 的片 内 100ksps 12 位 ADC 对片内温度传感器执行 16 位精度的测量 从硬件 UART 输出数据
根据方程 2 过采样率为 256 所提供的代码 在 AN018_SW.c 中 将 256 个连续的 ADC 样本累加到变量 accumulator 在完成累加后 又将 accumulator 右移 4 位并将结果存入变量 result 中 在得到计算结果后 accumulator 被清空 清 0 准备进行下一次计算 对 ADC 样本的累加是 在 ADC 转换完成中断服务程序 ADC_isr 中完成的
输入信号
x(t)
采样 频率(fs)
e[n](噪声)
过采样和平均
n位 ADC
x[n] x[n]+e[n]
低通滤波器
OSR
降采样
(软件累加和转储) 图 1. 用过采样和求均值使测量分辨率增加 W 位
(n+w)位 输出数据
AN018 用过采样和求均值提高 ADC 分辨率
数据转换器噪声源
ADC 转换时可能引入很多种噪声 例如 热噪声 杂色噪声 电源电压变化 参考电压变化 由采样时钟抖动引起的相位噪声以及由量化误差引起的噪声 由量化误差引起的噪声通常被称为量 化噪声 这些噪声源的噪声功率是可以变化的 有很多技术可用于减小噪声 例如 精心设计电路 板和在参考电压信号线上加旁路电容 但是 ADC 总是存在量化噪声 所以一个给定位数的数据转 换器的最大 SNR 由量化噪声 不使用过采样技术时 定义 在正确的条件下 过采样和求均值会 减小噪声和改善 SNR 这将有效地提高测量分辨率的位数 图 1 所示的系统可以用 Cygnal 的片内 ADC 和一个软件子程序来实现 软件程序先采样一组样本 然后求这些样本的平均值 滤波 而 得到结果