2699|1

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

FIR滤波怪现象 [复制链接]

我做FIR滤波,用fdatool工具生成的系数,一开始用的是低通滤波,出现下面图现象,后来觉得这个是由于原始信号存在直流偏置,把直流偏执叠加上去的,就换了个带通滤波,低频截止频率改的也蛮大的,但还是有这个问题,但可以确定的是这个偏移肯定和原始信号的直流偏执有关系。我故意加个直流偏执上去,会使这种处理后的波形偏移加大,应该不是滤波器的事情,我换过滤波器,还是这样
以下是FIR滤波函数
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 = Input - 786;
        }

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

}


[ 本帖最后由 yunlaishi 于 2012-8-10 17:42 编辑 ]

问题图.GIF (15.55 KB, 下载次数: 0)

问题图.GIF

问题图.GIF (15.55 KB, 下载次数: 0)

问题图.GIF

最新回复

代码有问题: 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 = Input - 786;         }     for(i = order; i < length ; i++)         {             //   详情 回复 发表于 2012-8-13 15:29

点评

代码有问题: float FIR( float *Input, float *Output, int order, int length,const float *Iir_Coef) { int i; float fSum; fSum=0; // -----------------------> for(i = 0; i <  详情 回复 发表于 2012-8-13 15:29
点赞 关注
 

回复
举报

54

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 yunlaishi 的帖子

代码有问题:

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 = Input - 786;
        }

    for(i = order; i < length ; i++)
        {
            // <---------------------- 把fSum=0放到这个位置,参考FIR滤波的公式
            for ( j=0;j             {
                    fSum+=(Input[i - j]*Iir_Coef[j]);
            }
        Output = fSum; // <-------------- 这里是*Output++?
        }

}
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表