×
单片机 > 单片机程序设计 > 详情

基于ARM的过采样技术

发布时间:2020-06-12 发布时间:
|
  随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多领域(物理学、化学、天文学、军事雷达、地震学、生物医学等)的微弱信号需要被检测,例如:弱磁、弱光、微震动、小位移、心电、脑电等[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.1 过采样原理

  过采样是对待测数据进行多次采样,获取样本数据,累计求和这些样本数据,并对它们均值滤波,减小噪声后最终获得采样结果。过采样在一定条件下能够提高信噪比(SNR),同时使噪声减弱,从而提升测量分辨率。过采样技术将采样频率提高到被采样频率的4倍,能过滤掉高于3fb的分量,用数字滤波器过滤fb~3fb的分量,最终有用分量被完全保存下来。若采取足够多次采样,则能重现原始信号。式(1)是过采样的频率要求
 


  式(1)中,Fo为过采样频率;n为希望增加的分辨率位数;fb为初始采样频率要求。

  1.2 过采样与噪声、分辨率的关系

  在提出过采样与噪声的对应关系之前,对量化噪声作一简单描述。量化误差是由相邻ADC码的间距所决定,因此相邻ADC码之间的距离为

  式(2)中,N为ADC码的位数;Vr为基准电压。式(3)为量化误差ed的关系式。

  奈奎斯特定理指出,如果被测信号的频带宽度小于采样频率的1/2,那么可以重建此信号。现用白噪声近似描绘实际信号中的噪声,在信号频带中的噪声能量谱密度为

  式(4)中,e(f)为带内能量谱密度;ea为平均噪声功率;fs为采样频率。

  ADC量化噪声的功率关系如式(5)所示。由于量化噪声会引发固定噪声功率,因此针对增加的有效位数能够计算过采样比

  式(6)中P为过采样比;fs为采样频率;fm为输入信号最高频率。低通滤波器输出端的带内噪声功率见式(7)。其中n2是滤波器输出的噪声功率

  由此可见,过采样能减少噪声功率却又对信号功率不产生影响,在减小量化误差的同时,能够获得与高分辨率ADC相同的信噪比,从而增加被测数据的有效位数。通过提高采样频率或过采样比可提高ADC有效分辨率。[page]

  2 过采样满足条件及操作步骤

  对于过采样,理论上需要信号有一定噪声,并且必须近似白噪声,幅度足够大。若噪声信号不能满足前面讲述的理论要求,就需要引入噪声激励。因此,选用周期性噪声作为激励信号。同时对激励噪声有一定要求:激励噪声幅度≥1 LSB;噪声均值在添加激励噪声时必须是0.

  在理解过采样理论及需要满足的条件后,出于对具体应用的考虑,设计了过采样的操作步骤,概括如下:

  (1)判断被采样信号是否有噪声,如果没有噪声,则叠加周期性激励噪声。

  (2)对信号进行4n次过采样(n为希望增加的分辨率位数)。如果使用片内10位ADC,希望得到14位的ADC精度,则需要44即256次10位的过采样。

  (3)抽取数字序列,对各个采样值进行累加。

  (4)对累加后的采样数据,若提高n位精度则右移n位,最终得到过采样值。

  3 LM3S8962实现ADC过采样

  3.1 Cortex-M3内核特点介绍

    ARM Cortex?- M3 处理器是行业领先的 32 位处理器,适用于具有高确定性的实时应用,已专门开发为允许合作伙伴为范围广泛的设备(包括微控制器、汽车车体系统、工业控制系统以及无线网络和传感器)开发高性能低成本的平台。该处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到那些需要极小面积的对成本非常敏感的设备)。该内核具有如下特性:

  (1)采用ARMv7M架构,在ARMv4T架构基础上扩展了36条指令。

  (2)基于哈佛结构,数据与指令可同时从存储器读取,并行执行多个操作,加快程序执行速度。与ARM7TDMI-S相比,比ARM指令每兆赫效率提高了35%,比Thumh指令效率提高了70%.

  (3)带有多种睡眠和唤醒模式,实现产品的低功耗。

  (4)单周期乘法、乘-加、硬件除法指令,实现快速运算。

  (5)低延迟中断处理:支持8层硬件中断嵌套,末尾连锁功能,高优先级中断迟来处理。

  3.2 过采样的软件实现  

  (1)外设初始化。

  在软件实现过采样之前,必然要对各个模块进行初始化和配置。初始化定时器、ADC、UART等模块,定时器模块用来提供系统时钟周期,配置ADC的触发模式和采样速率,利用UART将测量值传递给PC,方便查验是否正确。

  (2)产生PWM信号,作为噪声。

  为了保证过采样原理应用的可靠性,引入噪声激励信号。而为了避免激励噪声出现的误差,使用内部的PWM信号发生器产生周期性和对称性很好的PWM波,作为激励噪声。产生噪声步骤如图1所示。

                    

  (3)数据的采集、滤波及抽取。

  在过采样中所做的数字平均滤波仅提高了平滑度,精度却并没有增加,抽取过程才是真正意义上的提高精度。额外的K次采样,按照常规平均那样进行累加,但并不是直接将结果除以M,而是右移N位(N是期待所增加的额外精度),得到更精确的采样结果。

  过采样算法如图2所示。对TI的LM3S8962芯片,将10位AD值的精度提高到12位的方法,直接调用寄存器读取函数HWREG访问FIFO缓存区,经过两次循环,将从FIFO中收集到的16个10位转换值相加,产生一个14位结果,右移2位后就得到所希望的12位AD值。[page]

  4 应用分析

  转换速率、稳定度和分辨率是模数转换器的衡量标准。为了能够清楚地看到利用过采样技术后对AD值改善的效果,采用LM3S8962芯片进行了12位ADC过采样实验。根据显示的实验数据和测量情况,给出并分析了指标的改善情况。

  对于转换速率,使用片内定时器进行测量,在CPU为50 MHz时钟频率状态,ADC的采样速度为100 kHz时,采样连续触发模式进行1次12位过采样时间是52 μs,由于在数据转换的同时还要访问数据缓存区,因此再加上64μs才是它的实际速度。

  对数次采样后获得的值进行数字滤波,滑动平均后,得到较为稳定的数据值,通过串口传送过采样后的数据结果如图3所示。1组数据有6 bit,其中前3 bit是原来的10位采样值,后3 bit是12位过采样值。从图3中能够得知,12位过采样分辨率的值比10位采样值的分辨率值更稳定。

  为了验证位数越高,采样精度越高,做了一个13位的过采样实验。采样过程中,循环8次,获得64组AD值,并利用分段折线法校正非线性误差,将采样值转换为标准电压值。从图4中可以看出,过采样后的电压值波动很小,效果尤为明显。

  5 结束语

  文中从过采样的频谱特性出发,分析了过采样技术的基本原理。随后采用TI公司高性价比的Cortex-M3内核ARM,利用过采样技术提高了测量值的分辨率。实验结果表明,利用过采样技术既能降低成本,又能使外围电路得到简化,它与Cortex-M3内核相结合后,更能提高系统的运行速率、可靠性与稳定性。这种结合方式对于检测、监控等领域起着积极作用,具有一定的推广和实用价值。


关键字:ARM  过采样技术  采样频率 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单