打印

STM32 DSP lib中的FIR例子是否有错还是我理解错误?

[复制链接]
2970|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dhyana|  楼主 | 2011-1-16 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用st的DSP 2.0库中的FIR滤波器,发现一个问题。
文档UM0585中的FIR例子里面:
#define M 32 /*number of coefficients*/
#define N 32 /*number of output samples*/
COEFS fir_coefs;/*coefficients structure*/
int a[N];/*filter output vector*/
short x[M+N-1] = {x0,x1...,xM+N-1};/*filter input vector*/
short h[M]={h0,h1...,hM-1};/*filter coefficients vector*/
fir_coefs.nh = M; /*Number of Coefficients for FIR*/
fir_coefs.h = h; /*Pointer on FIR coefficient vector*/
fir_16by16_stm32(a,x,&fir_coefs,N);/*performs the FIR filtering*/
其中对于滤波系数数组的定义为short ,但是在给 fir_coefs.h = h;赋值的时候,发现数据类型不同一个是有符号的,一个是无符号的。发现对于
COEFS 的定义中  
typedef struct {
  uint16_t *h;
  uint32_t nh;
} COEFS;
是 u16的
而从matlab中计算得出的系数都是有符号的,正负都有。那么哪一种才是正确的呢?
沙发
dhyana|  楼主 | 2011-1-17 11:36 | 只看该作者
没有回馈啊,难道没有人用过吗?

使用特权

评论回复
板凳
selina1983| | 2011-3-30 09:00 | 只看该作者
h应该全是正数吧  没有负数的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

1

粉丝