硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1736|回复: 2
收起左侧

请教一个一节滤波器的问题

[复制链接]

11

主题

30

回帖

63

积分

初级会员

积分
63
发表于 2024-5-18 02:39:46 | 显示全部楼层 |阅读模式
本帖最后由 gaoxiaohu110 于 2024-5-18 02:42 编辑

最近在看TI的PID 用到个微分滤波   

typedef struct _FILTER_FO_Obj_
{
    float32_t a1;       //!< the denominator filter coefficient value for z^(-1)
    float32_t b0;       //!< the numerator filter coefficient value for z^0
    float32_t b1;       //!< the numerator filter coefficient value for z^(-1)
    float32_t x1;       //!< the input value at time sample n=-1
    float32_t y1;       //!< the output value at time sample n=-1
} FILTER_FO_Obj;

y[n] = b0*x[n] + b1*x[n-1] - a1*y[n-1]

一节滤波器不应该只有一个系数吗,这样
Y[n]=αX[n]+(1&#8722;α)Y[n&#8722;1]

TI这个是怎么来的,帮忙给分析一下,附源码











filter_fo.c

5.55 KB, 下载次数: 2

filter_fo.h

15.02 KB, 下载次数: 1

回复

使用道具 举报

0

主题

37

回帖

37

积分

新手上路

积分
37
发表于 2024-5-18 12:51:02 | 显示全部楼层
滤波器的阶数是指传递函数分子多项式或分母多项式的最高阶数,所以TI这样定义是没有问题的。你下面提到的那个一阶滤波器是通用一阶滤波器中的一个特例(术语应该是全极点滤波器),实际上,令b1=0,则TI的通用一阶滤波器就变成你那个特定滤波器了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115650
QQ
发表于 2024-5-18 14:27:24 | 显示全部楼层
TI的这个没有有研究过,这个是ARM的,FIR和IIR有研究过

https://www.armbbs.cn/forum.php?mod=viewthread&tid=94547
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-9 13:43 , Processed in 0.227245 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表