• Menu
  • Product
  • Email
  • PDF
  • Order now
  • 数字 IIR 滤波器

    • ZHCADU5 February   2024 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1

       

  • CONTENTS
  • SEARCH
  • 数字 IIR 滤波器
  1.   1
  2. 1说明
  3. 2所需外设
  4. 3兼容器件
  5. 4设计步骤
  6. 5设计注意事项
  7. 6软件流程图
  8. 7应用代码
  9. 8其他资源
  10. 9E2E
  11. 重要声明
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content

 

Subsystem Design

数字 IIR 滤波器

下载最新的英语版本

1 说明

该子系统演示了如何使用 MSPM0G 系列器件中的内部 ADC 和数学加速器 (MATHACL) 模块对模拟信号实施简单的流式 IIR 滤波器。在此配置中,使用单极 IIR 滤波器对模拟信号上的噪声进行滤波。可以调整定义的 β 值以控制 IIR 滤波器随频率的衰减。

GUID-20240122-SS0I-MTJQ-R7LG-RWV6HG2WR5DF-low.svg图 1-1 IIR 滤波器功能方框图

2 所需外设

所需外设

该应用需要一个集成式 ADC、MathACL 和 DAC12 模块。

表 2-1 所需外设
子块功能 外设使用 注释
模拟信号捕获 1 个 ADC 在代码中显示为 ADC12_0_INST
IIR 滤波器 1 个 MathACL 在代码中显示为 MATHACL
模拟信号输出(可选) 1 个 DAC12 在代码中显示为 DAC12_0_INST

3 兼容器件

根据表 2-1 中的要求,该示例与表 3-1 中列出的器件兼容。相应的 EVM 可用于原型设计。

表 3-1 兼容器件
兼容器件 EVM
MSPM0G35xx、MSPM0G15xx LP-MSPM0G3507

4 设计步骤

  1. 确定所需的最小 ADC 采样频率。这必须至少是输入信号带宽的两倍。
  2. 确定所需的抑制系数。单极 IIR 滤波器中的抑制系数决定了滤波器随频率变化的衰减速率。抑制系数有时被称为 β 值或衰减值。
    1. 有不同的工具可用来计算 IIR 滤波器系数,本文档不讨论这些工具。
  3. 将滤波器系数转换为定点值。
    1. 在示例代码中,使用 Q8(八个小数位)表示形式。使用 IQMath 库 或通过将系数乘以 2n 来执行此转换,其中 n 是所需的小数位数。验证所选数据类型是否可以保留这些值而不会溢出。
    2. 滤波器系数是常数值,可根据需要包含在闪存中以节省 SRAM 中的空间。

5 设计注意事项

  1. 输入信号带宽:
    必须解析的信号带宽决定 ADC 采样频率和代码必须处理的数据量。
  2. ADC 基准电压:
    选择 ADC 基准电压时,必须能够以良好的分辨率完全捕捉信号幅度。
  3. 衰减系数:
    在单极 IIR 滤波器中,衰减值是衡量新样本对当前结果的贡献的单个系数。衰减系数的范围介于 0 到 1 之间。衰减值越高,截止频率就越早。

6 软件流程图

GUID-20240122-SS0I-W6KK-JCSQ-3HN1TDQZWD4D-low.svg图 6-1 示例软件序列

7 应用代码

volatile bool gCheckADC;
/* Filtered Result */
uint32_t gResult = 0;
/* ADC Value Output */
uint32_t gADCResult = 0;

/* Scaling Factor, Q8 value (0-255) */
uint32_t gBeta = 16;
const DL_MathACL_operationConfig gMpyConfig = {
    .opType      = DL_MATHACL_OP_TYPE_MAC,
    .opSign      = DL_MATHACL_OPSIGN_SIGNED,
    .iterations  = 0,
    .scaleFactor = 0,
    .qType       = DL_MATHACL_Q_TYPE_Q8};
int main(void)
 {
    SYSCFG_DL_init();
    NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
    gCheckADC = false;
    DL_ADC12_startConversion(ADC12_0_INST);

    /* Configure MathACL for Multiply and Accumulate */
    DL_MathACL_configOperation(MATHACL, &gMpyConfig, 0, 0 );
    DL_MathACL_enableSaturation(MATHACL);

    while (1) {
        while (false == gCheckADC) {
            __WFE();
        }
        gCheckADC = false;

        /* Calculate IIR Filter Output */
        gADCResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
        /* Set Operand One last */
        DL_MathACL_setOperandTwo(MATHACL, gADCResult - gResult);
        DL_MathACL_setOperandOne(MATHACL, gBeta);
        DL_MathACL_waitForOperation(MATHACL);
        gResult = DL_MathACL_getResultOne(MATHACL);
        DL_DAC12_output12(DAC0, gResult);

    }
}
/* Set the ADC Result flag to trigger our main loop to process the new data */
void ADC12_0_INST_IRQHandler(void)
{
    switch (DL_ADC12_getPendingInterrupt(ADC12_0_INST)) {
        case DL_ADC12_IIDX_MEM0_RESULT_LOADED:
            gCheckADC = true;
            break;
        default:
            break;
    }
}

8 其他资源

  • 德州仪器 (TI),MSPM0 G 系列 80MHz 微控制器 技术参考手册。
  • 德州仪器 (TI),MSPM0 L 系列 32MHz 微控制器 技术参考手册。
  • 德州仪器 (TI),MSPM0G350x 具有 CAN-FD 接口的混合信号微控制器 数据表。
  • 德州仪器 (TI),MSPM0G150x 混合信号微控制器 数据表。
  • 德州仪器 (TI),MSPM0L130x 混合信号微控制器 数据表。

9 E2E

请访问 TI 的 E2E 支持论坛,查看讨论并发布新主题,以获得在设计中使用 MSPM0 器件的技术支持。

重要声明和免责声明

TI 均以“原样”提供技术性及可靠性数据(包括数据表)、设计资源(包括参考设计)、应用或其他设计建议、网络工具、安全信息和其他资源,不保证其中不含任何瑕疵,且不做任何明示或暗示的担保,包括但不限于对适销性、适合某特定用途或不侵犯任何第三方知识产权的暗示担保。

所述资源可供专业开发人员应用TI 产品进行设计使用。您将对以下行为独自承担全部责任:(1) 针对您的应用选择合适的TI 产品;(2) 设计、验证并测试您的应用;(3) 确保您的应用满足相应标准以及任何其他安全、安保或其他要求。所述资源如有变更,恕不另行通知。TI 对您使用所述资源的授权仅限于开发资源所涉及TI 产品的相关应用。除此之外不得复制或展示所述资源,也不提供其它TI或任何第三方的知识产权授权许可。如因使用所述资源而产生任何索赔、赔偿、成本、损失及债务等,TI对此概不负责,并且您须赔偿由此对TI 及其代表造成的损害。

TI 所提供产品均受TI 的销售条款 (http://www.ti.com.cn/zh-cn/legal/termsofsale.html) 以及ti.com.cn上或随附TI产品提供的其他可适用条款的约束。TI提供所述资源并不扩展或以其他方式更改TI 针对TI 产品所发布的可适用的担保范围或担保免责声明。IMPORTANT NOTICE

邮寄地址:上海市浦东新区世纪大道 1568 号中建大厦 32 楼,邮政编码:200122

Copyright © 2024 德州仪器半导体技术(上海)有限公司

 

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale