过采样技术提升ADC采样精度

合集下载

如何提高ADC采样精度

如何提高ADC采样精度

一、减小电源噪声1、电源端从噪声角度讲,线性稳压器具有较好的输出.市电经降压、整流和滤波,再经过线性稳压器。

强烈建议在整流输出端连接滤波电容。

请参考线性稳压器的数据手册。

如果使用开关型电源,建议使用一个线性稳压器为模拟部分供电。

建议在电源线和地线之间连接具有好的高频特性的电容,即在靠近电源一端应放置一个0。

1μF和一个1至10μF的电容。

电容允许交流信号通过,小容量的电容过滤高频率的噪声,大容量的电容过滤低频率的噪声。

通常瓷介电容具有较小的容值(1pF至0。

1μF),和较小的耐压(16V至50V)。

建议在靠近主电源(VDD和VSS)和模拟电源(VDDA和VSSA)管脚的地方,放置这样的瓷介电容。

这样的电容可以过滤由PCB线路引出的噪声。

小容值的电容可以响应电流的快速变化,并快速地放电适应快速的电流变化。

钽电容也可以与瓷介电容一道使用。

可以使用大容值的电容(10μF至100μF)过滤低频率的噪声,通常可以使用电解电容。

建议把它们放在靠近电源端。

可以使用在电源线上串联铁氧体电感滤除高频噪声。

因为串联的电阻非常小,除非电流非常大,这个方法可以产生非常小的(可以忽略的)直流损失。

在高频时,它的电阻很大。

STM32F10xxx端多数的STM32F10xxx微控制器的VDD和VSS管脚都是互相靠近的,VREF+和VSSA也是靠近的.因此可以在非常靠近微控制器的地方放置一个电容器。

每一对VDD和VSS管脚都需要使用单独的去藕电容器。

VDDA管脚必须连接到2个外部的去藕电容器(10nF瓷介电容+1μF的钽电容或瓷介电容)。

参见图14和图15的去藕电路例子.对于100脚和144脚封装的产品,可以在VREF+上连接一个外部的ADC的参考输入电压,从而改善对输入低电压的精度(参见2.2.4节)。

在VREF+上的电压范围是2.4V至VDDA。

如果在VREF+上单独提供参考电压,必须在这个管脚上连接2个电容器,10nF和1μF,而且VREF+不能超出2。

过采样原理

过采样原理

过采样原理
过采样是数字信号处理中常用的一种方法,它可以提高信号的采样率,从而增
加信号的分辨率和频谱范围。

在实际应用中,过采样技术被广泛应用于音频处理、图像处理、通信系统等领域。

本文将介绍过采样的原理及其在数字信号处理中的应用。

过采样是指在采样过程中,采样频率高于信号的最高频率成分。

通常情况下,
我们会选择将采样频率设置为信号最高频率成分的两倍以上,这样可以保证信号在采样过程中不会失真。

过采样的原理是通过增加采样频率,来提高信号的分辨率,从而更好地还原原始信号。

过采样在数字信号处理中有着广泛的应用。

在音频处理中,过采样可以提高音
频的清晰度和音质,使得音频信号更加真实自然。

在图像处理中,过采样可以增加图像的像素密度,提高图像的清晰度和细节表现力。

在通信系统中,过采样可以提高信号的抗干扰能力和接收灵敏度,从而提高通信质量和可靠性。

除了以上的应用,过采样还被广泛应用于模数转换器(ADC)和数字滤波器中。

在ADC中,过采样可以提高信号的动态范围和信噪比,从而提高信号的采样精度。

在数字滤波器中,过采样可以减小滤波器的通带波纹和阻带衰减,提高滤波器的性能和稳定性。

总之,过采样是一种有效的信号处理方法,它可以提高信号的分辨率和频谱范围,从而改善信号的质量和性能。

在实际应用中,我们可以根据具体的需求和场景选择合适的过采样率,以达到最佳的效果。

希望本文对过采样原理及其在数字信号处理中的应用有所帮助。

如何提高ADC采样分辨率?

如何提高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分辨率

使用过采样提高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。

高性能sigma-deltaADC的设计与研究

高性能sigma-deltaADC的设计与研究

西安电子科技大学博士学位论文高性能sigma-delta ADC的设计与研究姓名:***申请学位级别:博士专业:微电子学与固体电子学指导教师:***20100401摘要i摘要高性能的模数转换器是当今微电子模拟领域研究的热点之一。

基于过采样技术和sigma-delta调制机制的模数转换器(Analog to Digital Converter,ADC)广泛使用在数字音频、综合业务数字网(Integrated Services Digital Network,ISDN)、数字电话等系统中。

这种高精度的模数转换器,通过采用过采样技术,增加调制器系统的信噪比,提高其实现的精度;通过使用sigma-delta噪声整形技术,降低了信号带内的量化噪声功率。

sigma-delta ADC由模拟调制器和数字抽取滤波器组成,而模拟调制器的噪声整形性能决定了整个转换器系统的精度。

本文首先对sigma-delta ADC的系统设计进行了深入的研究,采用MATLAB软件进行系统建模和仿真,并由此总结了一套完整的系统设计方法。

根据过采样率、精度和动态性能的要求,得出调制器所需的阶数以及前馈因子、反馈因子和积分器增益因子等参数。

然后再通过MATLAB系统仿真,预测出实际调制器可以达到的性能。

在模拟调制器的设计中,各种非理想因素会极大地影响模拟调制器的性能。

因此,对各种非理想因素进行系统的、量化的分析是必要的。

本文对各种非理想因素,如运放有限直流增益、有限带宽和摆率、输出摆幅限制、开关非线性,时钟抖动、采样电容kT/C噪声等都进行了量化分析,从而为随后的电路设计提供了设计依据。

sigma-delta ADC的结构主要分为单环(Single-Loop)结构和级联结构(Multi-stAge-noise-SHaping,MASH)两种,这两种结构具有各自的优缺点。

针对这两种结构,本文分别设计了一个高阶单环一位结构的sigma-delta ADC和一个级联多位(MASH24b-24b)结构的sigma-delta ADC。

TMS320F2812的ADC模块提高精度的采样方法实现

TMS320F2812的ADC模块提高精度的采样方法实现
科 学 论 坛
I ■ Biblioteka Caiedcl j h e hoR isnaTngew nccneoyv e
T 3 0 2 1 的 A C模块提高精度 的采样方法实现 MS 2F 8 2 D
曹志剑
( 川省成 都市 电子科技 大学 四 川 成都 四 6 0 7) 10 3
[ 要 ] 文针 对 T S 2F 8 2的片上 A C 块, 出了几种 可行 的提高 A 摘 本 M3021 D模 提 D采样 精度 的方 法, 中着重介 绍 了一种 高精度 的采样 方法, 其 并且给 出了其 c 语 言实现 的程 序清 单 。这个 方法 可 以大 大提 高 A D模 块 的采样 精 度, 其在 实现 上 面也 比较 容易 。 [ 关键i] M 30 2 1 A 采 样  ̄ T S2 F8 2 D 中图分 类号 :P 7 + 8 T2 1 . 1 文 献标识码 : A 文章编号 : 0 9 9 4 (0 0 0 0 2 O 10 ~ 1 X 2 1) 5 0 8 l 这样根据这 两个实 际偏移量和 得到 的输 出数字量, 就可 以根据下式 得到实 际 比较真 实 的输入模 拟量 x 补偿之 后 的数字输 出量 Y 和 :
{ 令C l ̄ f ac m:tOm ,c l/ t C / ̄)・ - 一 "I S o  ̄ 1 ao  ̄ : aG t A 2 Y’ 2
/ 矫正后 的结 果为N w e u t : A c E U T a G i — C l f s t / e R sln D R sL nc 1an a Of e
# e ieY 6 3 d f n l 8 I
# eieN 6 dfn 3
/ 理想低 值 /
0 5 .v
v i e C l b odG ta i 0

arduino adc采样率电路

arduino adc采样率电路

arduino adc采样率电路
要提高 Arduino 的 ADC 采样率,可以考虑使用外部 ADC 芯片或模块,它们通常具有更高的采样率和更好的性能。

以下是一些提高 Arduino ADC 采样率的方法:
1. 使用外部 ADC 芯片:选择一款具有更高采样率的外部 ADC 芯片,并将其与 Arduino 进行连接。

这样可以利用外部 ADC 的高速性能来提高采样率。

2. 使用 ADC 扩展板:一些第三方厂商提供了专门的 ADC 扩展板,这些板卡通常集成了高采样率的 ADC 芯片,并提供了与 Arduino 板的接口。

3. 优化采样算法:在软件层面上,可以优化 ADC 采样的算法,以提高采样率。

例如,可以采用过采样、插值等技术来提高采样数据的精度和分辨率。

需要注意的是,提高 ADC 采样率可能会增加系统的复杂性和成本。

在选择方法时,需要根据具体需求和应用场景进行权衡。

此外,Arduino 的 ADC 采样率还受到其他因素的限制,如 ADC 转换时间、处理器性能等。

因此,在实际应用中,需要综合考虑这些因素来满足采样率的要求。

单片机ADC模数转换原理及精度提升策略

单片机ADC模数转换原理及精度提升策略

单片机ADC模数转换原理及精度提升策略概述:单片机中的ADC(Analog to Digital Converter)电路是将模拟信号转换为数字信号的重要组成部分。

ADC模数转换原理是基于采样和量化的原理实现的。

本文将介绍单片机ADC模数转换的原理,并探讨提高转换精度的策略。

1. ADC模数转换原理:ADC模数转换原理分为三个步骤:采样、量化和编码。

首先,采样器将输入的模拟信号按照一定频率进行采样,得到一系列离散的采样值。

然后,量化器将采样值按照一定的精度进行量化,将连续的模拟信号转换为离散的数字信号。

最后,编码器将量化后的数字信号编码为二进制码,以便单片机进行处理。

2. 提高ADC转换精度的策略:(1)增加采样频率:采样频率越高,获得的采样值越多,可以更准确地还原原始的模拟信号。

因此,可以通过提高ADC的采样频率来提高转换精度。

(2)优化参考电压:ADC的转换精度受到参考电压的影响。

参考电压应为稳定、精确的电压源,以确保ADC转换的准确性。

可以通过使用参考电压源或外部参考电压电路来提高转换精度。

(3)降低噪声:噪声会影响ADC的转换精度。

噪声可以来自电源、引脚等,因此需要采取措施来降低噪声水平。

例如,使用滤波电路和屏蔽措施来降低噪声对ADC转换的干扰。

(4)校准和校正:由于元件参数的不均匀性和时间漂移等原因,ADC的转换精度可能会发生偏差。

因此,需要进行校准和校正,以提高转换精度。

可以使用校准电路或软件校准的方法来进行校准。

(5)增加分辨率和位数:增加ADC的分辨率和位数可以提高转换精度。

分辨率是指ADC可以分辨的最小电压变化量,位数则代表了ADC转换结果的位数。

增加分辨率和位数可以获得更准确的转换结果。

(6)差分输入:使用差分输入可以减少共模噪声对ADC转换精度的影响。

差分输入可以通过采取差分双终端输入的方式来实现,将信号的差值作为转换信号输入。

3. 总结:单片机ADC模数转换原理是通过采样、量化和编码实现了模拟信号向数字信号的转换。

基于stm32微控制器的过采样技术研究与实现

基于stm32微控制器的过采样技术研究与实现

基于stm32微控制器的过采样技术研究与实现过采样(Oversampling)技术是指通过提高采样率,对输入信号进行多次采样,以提高较低采样率下的信号精度和动态范围。

在基于STM32微控制器的过采样技术研究与实现上,通常会使用STM32的内置模数转换器(ADC)模块来进行过采样。

以下是一种可能的实现方法:1. 初始化ADC模块:首先,需要初始化ADC模块的相关参数,包括采样率、精度、通道等。

可以通过寄存器配置或者使用CubeMX等开发工具进行初始化。

2. 设置过采样参数:设置过采样率和过采样模式。

过采样率一般选择为4倍或8倍,可以根据实际需求进行调整。

过采样模式有两种:线性过采样和峰值过采样。

线性过采样模式将多次采样的结果相加取平均值,峰值过采样模式则选择多次采样中的最大值作为结果。

3. 进行过采样采样:按照设置的过采样率进行多次采样,可以使用ADC的DMA 模式进行连续采样,也可以使用定时器中断触发采样。

每次采样完成后,将采样结果保存到缓冲区中。

4. 处理过采样结果:根据选择的过采样模式,对采样结果进行处理。

线性过采样模式下,将多次采样结果相加,然后除以过采样率得到平均值;峰值过采样模式下,选择多次采样中的最大值作为结果。

处理后的结果可以直接使用,也可以进一步进行滤波等处理。

需要注意的是,在进行过采样时,需要考虑处理器的处理能力和存储空间。

过高的过采样率会占用较多的处理能力和存储空间,可能导致系统性能下降。

因此,需要根据实际需求进行权衡和优化。

此外,还可以使用STM32的其他功能模块,如滤波器模块和定时器模块,对过采样结果进行进一步处理和控制。

总之,基于STM32微控制器的过采样技术研究与实现可以通过配置ADC模块、设置过采样率和过采样模式、进行多次采样、处理采样结果等步骤来实现。

具体的实现方法可以根据实际应用需求和硬件资源进行调整和优化。

通信信号处理中过采样技术的应用方法

通信信号处理中过采样技术的应用方法

通信信号处理中过采样技术的应用方法
过采样是一种在信号处理中常用的技术,通过对信号进行适当的过采样可以提高信号的质量和精度,同时对于某些特殊的应用还可以有其他的优势。

以下是通信信号处理中过采样技术应用的一些方法。

1. 模数转换器(ADC)的读数平滑:过采样可以提高ADC的读数精度和动态范围。

通常情况下,ADC的输出是一个离散的数字序列,通过对信号进行过采样,可以得到更多的采样点,从而更准确地还原原始信号。

2. 数字滤波器的设计:过采样可以提高数字滤波器的性能。

在通信系统中,需要对信号进行滤波以去除噪声和不必要的频率成分,过采样可以增加数字滤波器的工作频率范围,从而提高滤波器的性能。

3. 时钟恢复:过采样可以提高时钟恢复电路的性能。

在接收方,时钟恢复电路用于接收方时钟与发射方时钟同步,过采样可以提供更多的采样点,从而提高时钟恢复电路的精度和稳定性。

4. 编码和调制:过采样可以用于编码和调制技术中。

在数字通信系统中,需要将原始信号编码为数字序列并进行调制以便传输,在这个过程中,过采样可以提供更多的采样点,从而提高编码和调制的精度和可靠性。

基于过采样技术提高ADC分辨率

基于过采样技术提高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。

ADC过采样技术理论

ADC过采样技术理论

ADC过采样技术理论AD转换的过采样技术一般分三步:1.高速(相对于输入信号频谱)采样模拟信号;2.数字低通滤波;3.抽取数字序列。

采用这项技术,既保留了输入信号的较完整信息,降低了对输入信号频谱的要求,又可以提高采样子系统的精度。

奈奎斯特采样定理根据奈奎斯特采样定理,需要数字化的模拟信号的带宽必须被限制在采样频率fs的一半以下,否则将会产生混叠效应,信号将不能被完全恢复。

这就从理论上要求一个理想的截频为fs/2的低通滤波器。

实际中采用的通频带为0~fs/2的低通滤波器不可能既完全滤掉高于的fs/2的分量又不衰减接近于fs/2的有用分量。

因此实际的采样结果也必然与理论上的有差别。

如果采用高于fs的采样频率,如图1中为2fs,则可以很容易用模拟滤波器先滤掉高于1.5fs的分量,同时完整保留有用分量。

采样后混入的界于0.5fs~1.5fs之间的分量可以很容易用数字滤波器来滤掉。

这样输入模拟滤波器的设计将比抗混叠滤波器简单的多。

量化与信噪比模拟信号的量化带来了量化误差,理想的最大量化误差为+/-0.5LSB。

AD转换器的输入范围和位数代表了最大的绝对量化误差。

量化误差也可以在频域进行分析,AD转换的位数决定了信噪比SNR;反过来说提高信噪比可以提高AD转换的精度。

假设输入信号不断变化,量化误差可以看作能量均匀分布在0~fs /2上的白噪声。

但是对于理想的AD转换器和幅度缓慢变化的输入信号,量化误差不能看作是白噪声。

为了利用白噪声理论,可以在输入信号上叠加一连续变化的信号,叫做“抖动信号”,它的幅值至少应为1LSB。

叠加白噪声提高信噪比由于量化噪声功率平均分配在0~fs /2,而量化噪声能量是不随采样频率变化的,采用越高的采样频率时,量化噪声功率密度将越小,这时分布在输入信号的有用频谱上的噪声功率也越小,即提高了信噪比。

只要数字低通滤波器将大于fs /2的频率分量滤掉,采样精度将会提高。

采用叠加白噪声进行的过采样在每提高一倍采样频率的情况下可以将信噪比提高3dB 或者说增加半位的分辨率,对于精度要求不太高的系统是不错的选择。

过采样提高分辨率

过采样提高分辨率

过采样技术提高ADC分辨率1 基本原理ADC 转换时可能引入很多种噪声,例如热噪声、杂色噪声、电源电压变化、参考电压变化、由采样时钟抖动引起的相位噪声以及由量化误差引起的量化噪声。

有很多技术可用于减小噪声,例如精心设计电路板和在参考电压信号线上加旁路电容等,但是ADC 总是存在量化噪声的,所以一个给定位数的数据转换器的最大SNR 由量化噪声定义。

在一定条件下过采样和求均值会减小噪声和改善SNR,这将有效地提高测量分辨率。

过采样指对某个待测参数,进行多次采样,得到一组样本,然后对这些样本累计求和并对这些样本进行均值滤波、减小噪声而得到一个采样结果。

由奈奎斯特定理知:采样频率fs 允许重建位于采样频率一半以内的有用信号,如果采样频率为40kHz,则频率低于20kHz 的信号可以被可靠地重建和分析。

与输入信号一起,会有噪声信号混叠在有用的测量频带内(小于fs/2 的频率成分):erms 是平均噪声功率,fs 是采样频率,E(f)是带内ESD。

方程1 说明信号频带内的噪声能量谱密度ESD或被采样噪声的噪声平面随采样频率的增加而降低。

方程2 相邻ADC 码之间的距离或LSB。

为了说明过采样对噪声的影响,先定义量化噪声为:两个相邻ADC 码之间的距离对应的电压值。

因为ADC 会舍入到最近的量化水平或ADC 码,所以N 是ADC 码的位数, Vref是参考电压。

量化误差为(eq):方程3 ADC 量化噪声的功率假设噪声近似为白噪声,代表噪声的随机变量在ADC 码之间分布的平均值为0,则方差为平均噪声功率,计算如下:n0 是滤波器的输出噪声功率。

方程5 说明,我们可以通过提高OSR 来减小带内噪声功率。

由于过采样和求均值并不影响信号功率,即信号功率没有减小,而带内噪声功率却降低,显然信号的信噪比SNR就得到了提高,也就等效于ADC 的分辨率得到了提高。

方程6 噪声功率是OSR 和分辨率的函数。

可以从方程3、4 和5 得到下面这个反映噪声功率与过采样率和分辨率关系的表达式:OSR 是过采样率,N 是ADC 的位数,Vref是参考电压。

通信信号处理中过采样技术的应用方法

通信信号处理中过采样技术的应用方法

通信信号处理中过采样技术的应用方法过采样技术是一种在数字信号处理中常用的技术,它主要包括两种实现方法:抽取子采样和插值。

其中,抽取子采样主要用于将高速模数转换器(ADC)的采样速率降低,而插值则主要用于将低速ADC的采样速率提高。

本文将就在通信信号处理中,过采样技术的应用方法作一简要介绍。

1. ADC抽取子采样在一些通信应用中,如802.11n和LTE系统中,需要将高速ADC的采样速率降低。

这时就可以用到ADC抽取子采样技术。

该方法的原理是使用低速ADC对高速ADC的采样进行抽取,即将其中的一部分数据丢弃,从而达到降低采样速率的目的。

使用这种方式可以显著降低ADC的功率需求,降低总体硬件成本。

2. 插值方法在无线通信中,由于带宽的限制,需要将基带信号从低频率插值到高频率。

这时就可以用到插值方法。

该方法的原理是使用一个滤波器对原始信号进行采样和滤波,得到一个更高的采样率,并将结果进行重新采样以得到更准确的输出信号。

使用插值方法还可以提高发射功率和接受灵敏度,从而实现更高的数据速率和更强的信号抗干扰能力。

3. 多倍增益方法在一些应用中,需要将信号增益增加数倍,以提高信号质量或扩大信号动态范围。

这时就可以用到多倍增益方法,该方法的原理是在一个ADC前面加上一个多倍增益器,将输入信号的振幅增加数倍,从而提高信号传输的质量和动态范围。

同时,由于每个增益器增益的误差均不同,因此需要在数字信号处理中进行校正,保证输出信号的精度和稳定性。

总之,过采样技术是一种非常常用且有效的数字信号处理技术,它可以提高信号处理的灵敏度和精度,同时还可以节省硬件成本和减少功耗。

在通信信号处理中,过采样技术的应用非常广泛,可以用于降低ADC的采样速率、提高采样速率、增加信号增益等方面。

如何提高ADC采样分辨率

如何提高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精度的提高

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精度的方法
通过把输入信号电压精确放大n倍后再通过分压电阻出分压1/n 后连接到ADC输入端,
以更好的匹配ADC输入电压范围,即可提高ADC精度:
精确电压放大电阻分压
信号源 -----------------> x n -------------> 1/n -----> ADC
具体举例为通过0~5v输入范围ADC采集 0~5v信号源电压值,ADC为10位,精确到电压值为 5000mv /1024 ~=5mv;
如果通过前面所述方法先放大4倍后在通过电阻分压1/4后匹配ADC输入范围;
0~5v 0~20v 0~5v
信号源-----------------> x 4 -------------> 1/4 -----> ADC 相当于
0~1.25v 0~5v
信号源-----------------> x 4 ---------> ADC
电压精确值为 1.25v / 1024 ~=1.25mv
相当于电压精度提高了4倍,即可在不需求更高精度ADC的条件下提高ADC转换精度。

但是关键在于前端电压精确放大n倍及电阻精确分压为1/n ,放大倍数后分压精度必须小于ADC位数的相反数,
比如是10位ADC,为 1/1024。

基于过采样技术提高农田数据采集精度的研究

基于过采样技术提高农田数据采集精度的研究
O T s Cet( ak A C, vi S ak rae T s — D ( od%) , 0 — 0 ( S
10 之 间 , 和 c 作 为积 分器 产 生 一个 0~ 0% , 3
v之 间的 三角波 信 号输入 到 运放 . 电路 的输 出信 号
连 至 A C的输 入 . D








一 ● ● ● ● ●

限制在 D C和 . 之间. 用更高的采样频率可 以降低 对 低通 滤波 器 的限 制. 经模拟滤波后 , 模拟信号被采样并转换成数字 量, 因为数字域仅包含有限的字长 , 若要用它来表 示连 续信 号 , 要 引入 量 化误 差 , 大量 化 误 差 为 就 最 ± . S . 05L B 因为一个 Ⅳ位的 A C的输入范 围被分 D
用先放大滤波 , 再采样量化进入微处理器进行数据 处理 的惯 用模 式 , 当分辨 率很 高时 , 传统 的采 用 N qi 抽样 速 率 的 A D转 换 器 实现 就 非常 困难 . yu t s /
过采 样技 术 能够 实 现 传 统 A C达 不 到 的精 度 , D 己
收 稿 日期 :00— 2— 6 21 0 2.

s =2 lg0 2 N 0。 l (k )
- - -
() 1
式 中 : g 为增 加 的信噪 比 ; 尺N日 i K为采 样 因子.
. ห้องสมุดไป่ตู้
ai ig 滤 波器对 () 模 拟滤 波 , ls ) an t作 以去掉 大 于 的高 频成 分. 此 , A D转 换 前就 需要 模 拟 低 因 在 /

台, 并在此基 础上实现了农 田环 境参数数据 的采

过采样ADC滤波方案

过采样ADC滤波方案

过采样ADC滤波过采样ADC滤波过采样ADC(Analog-to-Digital Converter)是一种常用的信号采集和转换技术,通过提高采样率可以有效地提高转换的精度,同时需要进行滤波来滤除不需要的高频噪声。

下面将逐步介绍过采样ADC滤波的步骤。

第一步是采样。

通过选择合适的采样率,将模拟信号转换为数字信号。

通常,过采样ADC的采样率远高于信号的最高频率,以确保信号在频域上没有折叠。

第二步是滤波。

由于过采样ADC的采样率较高,信号频域上的噪声也会较为散布。

因此,需要对采样信号进行滤波以去除高频噪声。

一种常见的滤波方法是数字低通滤波器。

第三步是增加分辨率。

通过过采样,可以有效地增加转换的精度。

例如,如果采样率是模拟信号最高频率的4倍,那么可以将采样值的位数扩展到原来的4倍,从而提高分辨率。

这种增加分辨率的方法在后续的滤波过程中提供了更多的信息。

第四步是滤波器设计。

根据信号的特性和需求,设计数字低通滤波器来滤除高频噪声和不需要的频率成分。

可以采用FIR(Finite Impulse Response)滤波器或IIR(Infinite Impulse Response)滤波器。

FIR滤波器具有线性相位响应和稳定性,而IIR滤波器具有更高的效率和更窄的滤波器阶数。

第五步是滤波器参数优化。

根据具体应用需求,对滤波器参数进行优化。

可以通过调整滤波器阶数、截止频率和窗函数等参数来获得更好的滤波效果。

同时,还可以通过模拟仿真和频域分析等方法进行滤波器性能评估和优化。

第六步是滤波器实现。

根据滤波器设计的要求,选择合适的硬件或软件实现滤波器。

硬件实现通常采用FPGA(Field-Programmable Gate Array)或ASIC (Application-Specific Integrated Circuit)等可编程设备,而软件实现则使用DSP(Digital Signal Processor)等处理器。

过采样技术

过采样技术

利用过采样技术提高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 的输入范围,它的有效位数还会减小,使精度随之下降。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

过采样技术提升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 1mv
0.5mv 0.6mv 1.1mv 1 1mv
0.5mv -0.6mv -0.1mv 0 0mv
0.5mv -1.2mv -0.7mv 0 0mv
ADC的和为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 0
0.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 1M
13ADC 4 250K。

相关文档
最新文档