打印

STM32 DSP库应用做FIR滤波器出现问题啦,求大虾们帮忙指导下

[复制链接]
6590|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yihuohong|  楼主 | 2011-4-20 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在ST的DSP库 中,提供了一个FIR滤波函数,我在matlab中计算出了滤波系数

typedef struct  
{
  long *h;
  u32 nh;     
}COEFS;
extern u16 ADC_ConvertedValueTab[92];
long fout[N];       /*filter output vector*/

long h[29]={  97,    131,    208,    338,    528,    779,   1085,   1434,   1807,
     2182,   2535,   2840,   3076,   3226,   3277,   3226,   3076,   2840,
     2535,   2182,   1807,   1434,   1085,    779,    528,    338,    208,
      131,     97};
void fir(void)
{   
   int m;
COEFS fir_coefs; /*coefficients structure*/  
  
fir_coefs.nh=M; /*number of coefficients for FIR*/

fir_coefs.h =h; /*Pointer on FIR coefficient vector*/


    fir_16by16_stm32(fout,(long*)ADC_ConvertedValueTab,&fir_coefs,N);//performs the FIR filtering

    for(m=0;m<64;m++)
{
   fout[m]=fout[m]/32768.0;
  // GPIO_Write(GPIOD,fout[m]);
}

}

我想请问下,ADC_ConvertedValueTab[92]是正数,h系数也是正数,为什么经过fir后会有负数啊,是溢出问题么,但是我这定义了long型啊,求解
沙发
yihuohong|  楼主 | 2011-4-20 16:44 | 只看该作者
自己顶一下,要是有实例就更好了,

使用特权

评论回复
板凳
qidaimengxing| | 2011-6-1 20:36 | 只看该作者
http://www.docin.com/p-213307038.html

看看这个,有详细的例子代码。

使用特权

评论回复
地板
selina1983| | 2011-6-9 11:16 | 只看该作者
这个不错,好好学习一下啊

使用特权

评论回复
5
lou0908| | 2011-6-9 20:22 | 只看该作者
记号一下

使用特权

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

本版积分规则

0

主题

2

帖子

1

粉丝