历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2020年10月19日 | 单片机A/D采样的过程_梳状滤波器的认识

2020-10-19 来源:elecfans

  MSP430单片机中有很多A/D采样模块使用的是具有∑-△结构的SD16或者SD16_A模块,该模块中具有过采样率(OSR,Oversampling ratio)的设置寄存器。这个寄存器不同的设置值在A/D采样的过程中到底会产生怎样的影响呢?

单片机A/D采样的过程_梳状滤波器的认识

  在TI的手册中我们可以知道,OSR是SINC3梳状滤波器的一个参数,首先,来学习一下梳状滤波器。


  1、 梳状滤波器的定义:是由许多按一定频率间隔相同排列的通带和阻带,只让某些特定频率范围的信号通过。梳状滤波器其特性曲线像梳子一样,故称为梳状滤波器。

  2、 梳状滤波器是一种最简单的FIR滤波器,其单位脉冲响应h(n)全为1,h(n)=1 ,0≤n≤N-1;0 其它传输函数的Z变换形式: H(z)=∑z^-n=(1-z^-N)/(1-z^-1) ,n=0..N-1

  上式中,N为滤波器的节数。

  这样得到的滤波器阻带衰减较小,不能满足实际的需要。为了提高滤波器的阻带衰减,可采用修正的梳状滤波器形式: H(z)=((1-z^-N)/(N*(1-z^-1)))^k

  上式中,N为滤波器的节数,K为滤波器的阶数。引入K以后,其阻带衰减特性成K倍增大,而且阻带边缘变得更为陡峭,使滤波器的特性变得更好。

  3、 在∑-△A/D转换器中,∑-△调制器的输出经梳状滤波器滤波抽取后量化噪声的频谱密度保持了没有抽取前的形式,即保持了∑-△调制器噪声成型的频谱特性。但采样间隔增大的N倍(即数据率减少了N倍),等效量化台阶减少了NK倍。若N为2的整数幂N=2m,则相当于经过滤波抽取后,其分辨率由输入的1bit变成了mK bit。

  4、 梳状滤波器的设计:梳状滤波器是一种固定形式的滤波器,它包括以下三个参数的选择:1)单级滤波器的节数N;2)滤波器的阶数K;3)滤波器系数及运算的有限字长。

  单级滤波器的节数N:等于∑-△A/D中的第一级的抽取率。

  滤波器的阶数K:等于∑-△调制器的回路数。

  滤波器系数及运算的有限字长:若不计归一化因子N-K,则滤波器系数均为正整数,且∑h(n)=N^K,n=0...N-1

  因此可用b=K*log2N=Km位的二进制码来表示滤波器的系数。同时,若∑-△调制器的输出为1bit数(仅0,1两个状态),则滤波器输出 y(n)=∑h(m)x(n-m) ,m=0...N-1

  显示有 0≤y(n)≤N^K

  因此上式的滤波器运算亦可用mK位的二进制进行,不会出现截尾误差和溢出。

  综上,可以选择滤波器的有效字长为mK。实际这也就是梳状滤波器输出的有效分辨率。

  现在我们言归正传。

  在TI的手册中我们可以知道,从∑-△调制器的1bit数据流通过SINC3梳状滤波器进行滤波。OSR是SINC3梳状滤波器的一个参数,该滤波器的Z变换形式为: H(z)=( (1-z^-OSR)/(OSR*(1-z^-1)) )^3

  对比上面的公式易知,OSR=N=2^m,K=3。

  当OSR=256=28时,梳状滤波器输出的有效分辨率长度为: b=Klog2N=Km=3*8=24。

  当OSR=1024=210时,梳状滤波器输出的有效分辨率长度为b=3*10=30bit。

  由此可见,OSR的值影响A/D采样后的输出结果的有效分辨率长度,即精度。因此,可以在不增加A/D前端复杂程度的基础上,通过增加OSR的值达到提高输出精度的目的。


  在SD16中,OSR的取值为{32,64,128,256},所以SD16的滤波器输出精度最高为24bit,最低为15bit。


  在SD16_A中,OSR的值为{32,64,128,256,512,1024},所以SD16_A的滤波器输出精度最高为30bit。


  由于SD16和SD16_A的输出寄存器均为16bit,对于滤波器输出精度高于16bit的,根据寄存器的设置,截取滤波器输出结果的16bit;滤波器输出精度不足16bit的,根据寄存器的设置,对不足的位补0。


  综上,过采样率OSR在SD16或SD16_A的A/D采样模块中,能够影响转换结果的精度,OSR值越大,输出结果精度越高,反之,精度越低。

推荐阅读

史海拾趣

American Power Devices Inc公司的发展小趣事

随着全球市场的不断开放,APD公司意识到要想取得更大的发展,必须走出国门,拓展国际市场。于是,公司开始实施全球化战略,通过设立海外分公司、与当地企业合作等方式,逐步打开了欧洲、亚洲等多个市场。同时,APD还积极参与国际技术交流与合作,不断提升自身的技术水平和市场竞争力。

启英泰伦(Chiplntelli)公司的发展小趣事

随着技术的不断进步和市场需求的日益增长,启英泰伦的芯片产品历经了多次迭代。从最初的AI语音芯片,到后来的AI语音Wi-Fi芯片、AI语音BLE芯片,公司形成了系列化的芯片产品布局。这些芯片广泛应用于智能家居、智能家电、智慧照明等领域,为客户提供了更自然、更简单、更智能的人机交互体验。启英泰伦的芯片产品在市场上获得了广泛的认可,服务客户超过5000家,累计装机量突破2000万台。

BSI公司的发展小趣事

随着科技的不断发展,电子行业的技术创新日新月异。在这个过程中,BSI通过提供最新的技术信息和标准,为企业的技术创新提供了有力支持。BSI建立了庞大的标准数据库,涵盖了电子行业的各个领域,为企业提供了丰富的技术资源和参考依据。同时,BSI还积极参与新技术的研发和推广工作,为电子行业的创新发展提供了动力。

Gauthier Connectique公司的发展小趣事
长期使用或不当操作可能导致元器件损坏。解决方法是检查并更换损坏的元器件。
GETEDZ ( HVGT)公司的发展小趣事
电路设计要符合相关的电气安全标准和规范,确保电路的安全性和可靠性。
Electro-Mech Components Inc公司的发展小趣事

自1976年起,EMC在蒂华纳不仅为自身运营制造工厂,还开始为其他美国公司,如GM/Hughes Aircraft和Daneher Joslyn Sunbank Electronics提供制造服务。这种深度合作模式不仅增强了EMC的生产能力,也使其能够接触到更多的先进技术和管理经验。通过与这些美国公司的合作,EMC的产品质量和生产效率都得到了显著提升,同时也为公司的全球化战略打下了坚实基础。

问答坊 | AI 解惑

中断嵌套

我使用LPC2132做中断嵌套,好困惑,我使用的是KEIL3,高手支招啦!…

查看全部问答>

嵌入式处理器简单介绍-医疗影像领域的技术推动者

DSP研发应用不断发展,嵌入式处理器在过去几年来技术也在不断进步,在医疗影像领域之中有广泛的应用。随着技术的不断发展,嵌入式处理器能帮助医疗仪器达到更快的诊断速度、更高的准确度,同事护理的成本也相应降低,使患者自我护理逐渐成 ...…

查看全部问答>

基于winCE的控件重绘

我用的是C#写的,写在paint事件中,运行不到那里 我就改到构造函数中去绘制同样也没有显示出来 public ucDrawLine()         {             InitializeComponent(); &nb ...…

查看全部问答>

驱动的makefile、sourse还有ini文件该怎么写?

请问一下,文件系统过滤驱动程序编译需要的makefile和source文件怎么来写,我编写时是使用的ifs kit中sfilter过滤驱动中的原文件修改。但编译后nms翻译提示没有时间戳和可能过期,还有安装后重起进不了系统。请高手 ...…

查看全部问答>

弱!!ARM汇编的问题

小弟在看ARM的汇编的时候,发现里面的指令用法不明白!! 如: MOVEQ R0,#1 BEQ POW_END 这里的执行条件EQ,什么意思? MOVHS R0,#0 这条语句中HS什么意思? 望大侠赐教!!!…

查看全部问答>

上网本/MID/PMP等设备的朋友,请加入群!

我现在做eepc ARM 开发,建了一个MID/上网本/PMP等设备的开发群! 方便大家交流技术和市场。 群号:60587325 …

查看全部问答>

关于实时数据采集

   麻烦各位大侠们了    自己要做的是现场AD,然后光纤传输,之后接收还原DA输出,只是一个实时的采集,处理的部分用的不多,整个过程要求在1个微秒左右,选用的是Cyclone EP1C6.但是问题是,AD是12位并行输出,采样时钟大体准 ...…

查看全部问答>

STM32F10xx时钟

                                 STM32F10xx有内部时钟,启动后采用内部时钟,检查到外部时钟稳定后切换外部时钟,是这样吗?假如是这样,内部高速 ...…

查看全部问答>