打印

FIR滤波怪现象

[复制链接]
1957|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我做FIR滤波,用fdatool工具生成的系数,一开始用的是低通滤波,出现下面图现象,后来觉得这个是由于原始信号存在直流偏置,把直流偏执叠加上去的,就换了个带通滤波,低频截止频率改的也蛮大的,但还是有这个问题,但可以确定的是这个偏移肯定和原始信号的直流偏执有关系。我故意加个直流偏执上去,会使这种处理后的波形偏移加大

问题图.GIF (15.55 KB )

问题图.GIF

相关帖子

沙发
yunlaishi|  楼主 | 2012-8-10 17:02 | 只看该作者
是不是fdatool工具箱里出的系数不支持这种有偏执的直流信号

使用特权

评论回复
板凳
yunlaishi|  楼主 | 2012-8-10 17:03 | 只看该作者
float FIR( float *Input, float *Output, int  order, int length,const float *Iir_Coef)
{
    int i;
    float fSum;
        fSum=0;
    for(i = 0; i < length ; i++)
        {
            Input[i] = Input[i] - 786;
        }

    for(i = order; i < length ; i++)
        {
            for ( j=0;j<order;j++ )
            {
                    fSum+=(Input[i - j]*Iir_Coef[j]);
            }
        Output[i] = fSum;
        }

}

使用特权

评论回复
地板
yunlaishi|  楼主 | 2012-8-10 17:04 | 只看该作者
这是我自己编的FIR程序,是不是程序有问题,应该不会那,很简单的

使用特权

评论回复
5
yunlaishi|  楼主 | 2012-8-10 17:06 | 只看该作者
本帖最后由 yunlaishi 于 2012-8-10 17:22 编辑

求高手指点,应该和滤波器没有关系,我试过好几种滤波器,都有这个现象

使用特权

评论回复
6
huangzj121| | 2012-8-11 08:09 | 只看该作者
幅值衰减了,并且还漂上去了,

截止频率的问题?换一组系数试试,

搞个常规的平均

使用特权

评论回复
7
aresc| | 2012-8-11 08:09 | 只看该作者
1、fSum应该清0。
2、如果fir函数会重复被调用:
     a、output的前order个点未计算。
     b、input数据块之间的延迟线需要考虑。

使用特权

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

本版积分规则

48

主题

90

帖子

0

粉丝