Cypress技术论坛
直播中

毛微

7年用户 216经验值
私信 关注
[问答]

数字滤波器组能手动输入数字吗?

大家好,
有人知道是否可以手动输入数字滤波器块的滤波器系数?也可以支持IIR滤波器吗?这项功能是否计划在创建者2中发布?
谢谢,
亚历克斯

回帖(11)

马昱

2019-8-19 08:23:00
嗨,AlexB,
是的,可以手动输入数字滤波器块的滤波器系数。
滤波器组件使用数字滤波器块(DFB)来实现数字FIR滤波器。过滤器组件是一个简化的基于GUI的组件,允许您创建数字过滤器并实现它们,而不必访问过滤器系数或过滤器拓扑。目前,该工具不允许您直接输入自定义SOUTROMENT。
为了编辑过滤器的系数,您需要编辑一个名为FielthRAMXDATA .C的文件。
滤波器系数包含在CyCaldFieldDATAYB[]的块中,并被记录为32位有符号的十六进制值。
十六进制值在小字节中格式化,因此0xAA、0xAA、0x2a、0x00表示0x02aaaa1。上面的图显示了3抽头FIR移动平均滤波器的系数。
即使DFB只使用乘法器/累加器外的24位数据,RAM是32位宽的。为了将浮点滤波器系数转换成适当的整数值,可以简单地将滤波器系数乘以2 ^ 23 - 1=8388607。
举报

马昱

2019-8-19 08:41:22
十六进制值在小字节中格式化,因此在附图中,0xAA、0xAA、0x2a、0x00表示0x02aaaa1。这个图显示了3抽头FIR移动平均滤波器的系数。
即使DFB只使用乘法器/累加器外的24位数据,RAM是32位宽的。为了将浮点滤波器系数转换成适当的整数值,可以简单地将滤波器系数乘以2 ^ 23 - 1=8388607。
过滤数据
678.6 K
举报

马昱

2019-8-19 09:00:41
你必须遵循的过程,把你自己的系数如下:
1)放置过滤器部件。
2)适当配置过滤器组件。如果插入自定义系数,那么采样率、截止值和窗口等参数并不重要。
3)确保在插入自定义系数之前不需要生成任何组件代码。
4)将你的系数,应该是1的分数,转换成一个有符号的定点24位数字。例如,如果你想要系数为2/3,使用2 ^ 23×2/3作为你的过滤系数。
5)将你的系数分解成FielthRAMYDATA中使用的格式。记住使用小的Endiad格式。
6)一旦将自定义系数插入到文件中,就将它们复制到文本文件中并保存。下次在项目中生成任何组件时,需要替换FielthRAMYDATA .C中的系数。
7)构建项目,编程PSOC
举报

王淑珍

2019-8-19 09:18:27
CyPress会发布工具,以便我们可以自己编程数字滤波器吗?有什么想法吗?
谢谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分