注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
小喇叭的个人空间 https://home.eeworld.com.cn/space-uid-370743.html [收藏] [复制] [分享] [RSS]
日志

FIR滤波程序(求解答)

已有 1047 次阅读2012-3-20 23:02

大家好,因项目需要,我需要做个FIR滤波器程序,可是根据参考程序,自己设计的还是不行,今天实在没有办法了,把程序重要部分贴上来,大家帮我解答一下吧,谢谢了!!

 

#include "DSP28_Device.h"

#include"math.h"

//FIR相关参数初始化

#define Pi          3.1415926    //圆周率系数

#define  SampleNum   200       //AD采样个数

#define WindowNum   25         //窗函数长度为25    τ(延迟时间)=25-1/2

#define DelayTime   WindowNum/2       //即专业术语   τ(延迟时间)

 

//下面这个函数就是求FIR系数的函数,我定义是25阶的滤波(WindowNum),加汉明窗了

void firdes(int DelayTime1,int WindowNum1, double npass1)

  {

      int n;

     for (n=0; n<WindowNum1; n++)

      {

  H[n]= sin((n-DelayTime1)*npass1*2*Pi)*(0.54-0.46*cos(2*n*Pi/(WindowNum1-1)))
/(Pi*(n-DelayTime1));         

 

//此处即是冲击响应函数公式,(汉明窗), npass是数字截止频率=截止频率/采样频率

  

  if (n==WindowNum1/2) H[n]=npass1*2;

      }

   }

 

本文含有来自论坛的附件或图片:[系数.jpg],点击查看原帖附件。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章