打印

新手请教dsp5509的fir滤波器问题

[复制链接]
1833|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
04111237|  楼主 | 2008-5-1 19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   最近做毕设用5509做一数字滤波器,主要程序如下,现在出现一个问题,我采集256个点,进行fir处理后用da输出,结果出现问题,不知原因,请教达人指点,不胜感激,
如图所示,每隔一定周期将会输出一段失真,不知什么原因,该如何改正?
    
    for ( i=0;i<256;i++ )
      {
              ...........         //ad采集程序
                  fIn[nIn]=nADC2;           //滤波器程序
        k=nIn;
        fOutput=FIR();
        fOut[nOut]=fOutput;
                  nDAC3=(int)fOut[nOut];    //滤波送给da输出
                ........
        nIn++; 
        nIn%=256;        
              nOut++;        
                  if ( nOut>=256 )
        {
                     nOut=0;
            
         }
           
            }
float FIR()                          //滤波算法
{
    float fSum;
    fSum=0;
    for (j=0;j<FIRNUMBER;j++ )       //FIRNUMBER为滤波阶数,为8
    {  
        if(k>=j)
            fSum+=(fIn[k-j]*fHn[j]);
        else
        break;
    
    }
    
    return(fSum);
}

相关帖子

沙发
04111237|  楼主 | 2008-5-1 21:33 | 只看该作者

大家帮帮忙呀

大家帮帮忙呀

使用特权

评论回复
板凳
ahong007| | 2008-5-2 14:40 | 只看该作者

瑞泰的板子,程序也是瑞泰的,问技术支持吧

使用特权

评论回复
地板
zgl7903| | 2008-5-4 09:37 | 只看该作者

把FIR的滤波器原理和结构搞明白了就知道问题在哪里了

而且TI DSP中的MACD指令时高效的卷积运算指令,注意下滤器系数和数据的存放方向就好了,参看库中带的FIR滤波器代码

使用特权

评论回复
5
04111237|  楼主 | 2008-5-5 09:25 | 只看该作者

感谢

谢楼上

使用特权

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

本版积分规则

3

主题

6

帖子

1

粉丝