加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab/fdatools的使用

(2012-04-23 21:47:52)
标签:

fdatool使用

分类: matlab

1 工具箱界面如下图所示:

http://s7/middle/93b8fd4egbe50ddf8bc66&690

可以进行IIR和FIR 的滤波器设计,IIR 和 FIR 的设计方法可以采用默认值。

通过FIR方法设计好的滤波器幅频特性可以在上图中看到。

单击上图中的"Target" 下面的“generate C header” 可生成滤波器Z域下的参数:如下所示:


#include "tmwtypes.h"

const int BL = 10;
const real64_T B[10] = {
   0.005855494671722,  0.02635716991791,  0.06589754487034,   0.1142249815961,
     0.1482747247486,   0.1482747247486,   0.1142249815961,  0.06589754487034,
    0.02635716991791, 0.005855494671722
};

则传递函数是: Y(n)= B[0]*X(n) + B[1]*X(n-1) + B[2]*X(n-2) + B[3]*X(n-3) +

                     B[4]*X(n-4) + B[5]*X(n-5) + B[6]*X(n-6) + B[7]*X(n-7) +

                     B[8]*X(n-8) + B[9]*X(n-9)

5 通过IIR滤波器设计好的幅频特性如下图所示:

 

 产生的4 阶滤波器的程序如下所示,其中num表示分子,den表示分母。

 


#include "tmwtypes.h"

#define MWSPT_NSEC 5
const int NL[MWSPT_NSEC] = { 1,3,1,3,1 };
const real64_T NUM[MWSPT_NSEC][3] = {
  {
   0.002714498779694,                 0,                 0
  },
  {
                   1,                 2,                 1
  },
  {
   0.002572487672707,                 0,                 0
  },
  {
                   1,                 2,                 1
  },
  {
                   1,                 0,                 0
  }
};
const int DL[MWSPT_NSEC] = { 1,3,1,3,1 };
const real64_T DEN[MWSPT_NSEC][3] = {
  {
                   1,                 0,                 0
  },
  {
                   1,   -1.911072035629,   0.9219300307482
  },
  {
                   1,                 0,                 0
  },
  {
                   1,   -1.811092821293,   0.8213827719835
  },
  {
                   1,                 0,                 0
  }
};

 

以上程序表示:将 4阶滤波器 转换为 5个2阶滤波器串联的结构。这样会有一定的延时,程序写起来也很方便。

 


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有