DSP模数转换后进行FIR滤波,结果不理想

2019-03-26 15:26发布

  • FIR滤波后,依然还存在高频毛刺,结果如下 1.jpg 2.png 滤波程序如下:
    • void fir_filter(float b[],float c[])
      {
      int i,j=0;
      float sum;
      float h[21]={
            -0.09055792262407, 0.009744804975761,  0.01838867509003,  0.03195961694651,
             0.04917012260358,  0.06836127325356,  0.08774901331544,   0.1053433191277,
              0.1194310387162,    0.128484986607,   0.1316381457976,    0.128484986607,
              0.1194310387162,   0.1053433191277,  0.08774901331544,  0.06836127325356,
             0.04917012260358,  0.03195961694651,  0.01838867509003, 0.009744804975761,
            -0.09055792262407
             };
      for(i=0;i<3000;i++)
      {
        sum=0.0;
        for(j=0;j<21;j++)
        {
         if(i >= j)
         sum+=h[j]*b[i-j];
         else
         ;
        }
        c=sum;
      }
      for(i=0;i<2980;i++)
        {
        c=c[i+20];
        }
      }









此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
caijianfa55
2019-03-27 02:49
<
ljj3166 发表于 2015-1-4 22:47
相邻采样点数据客观上差距不大
是不是可以考虑一些简单的限幅或者均值就可以了吧



前面那个已经是均值滤波后的了,之前我的数组只有300个数据时觉得那个FIR滤波效果还挺好的,采样数据增加到3000个以后还是原来的滤波算法,结果输出却出现了很大的毛刺

一周热门 更多>