FIR数字滤波的理解

2019-07-21 01:20发布

前段时间搞了下stm32f103的FIR 也上论坛求助过,发现做过这方面的人不多,问这方面的人还是不少

下面把我对

stm32f103 的DSP库FIR滤波算法写下我的理解

void  fir_16by16_stm32(void *a,void *x,COEFS *c,u32 N)

第一个参数为输入数组,
第二个参数为输出数组,
第三个参数为系数结构体,
第四个参数为输出数组中数的个数。

注意:
1.系数个数必须是 4 的倍数,输出数组中元素的个数必须为 4 的倍数。
2.COEFS是结构体:
typedef struct {

  uint16_t *h;

  uint32_t nh;

} COEFS;

这个结构体中 h 是系数数组的指针,nh为系数数组元素的个数。

3.输入数组中数组元素的个数 N = 系数个数 + 输出数据的个数 - 1 .

测试:

输入数组  DATA_In[]={0,1,2,3,4,5,6}

系数矩阵 hx[]={111,212,201,212} 

经过计算 输出的数据应该为    3×212+2×201+1×212+0×111 = 1250

                                            4×212+3×201+2×212+1×111 = 1986

                                            5×212+4×201+3×212+2×111 = 2722

                                            6×212+5×201+4×212+3×111 = 3458

实验得数据如下图



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
八度空间
1楼-- · 2019-07-21 06:35
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-21 10:40
谢谢分享
丫的呵呵
3楼-- · 2019-07-21 14:59
求分享stm32f103 的DSP库
xc1989
4楼-- · 2019-07-21 15:31
回复【4楼】丫的呵呵:
---------------------------------
邮箱给我我给你发
xc1989
5楼-- · 2019-07-21 17:04
回复【3楼】正点原子:
---------------------------------
相互学习~~
lsj9383
6楼-- · 2019-07-21 20:29
把信号与系统与数字信号处理学好,FIR滤波器简单的不得了,简单说来就一句话:输入信号与各种窗函数卷积。
写个卷积函数,根据指标把系统函数求出来,滤波器就做好了。

一周热门 更多>