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

连续传函的离散化matlab

(2012-07-06 09:35:46)
标签:

matab

离散化

分类: matlab

matlab中,传递函数离散化,特别是转化为差分方程,可以使用c2d实现,系数直接转化是不可以的。c2d的具体用法,可以参照matlab帮助,下面举一例

 

% transfor function

%其中的100hz 为陷波器滤除的频率。

w = 2*pi*100;  

sys = tf([1 0 w^2], [1 w/0.707 w^2]);

%函数为 G(s)= (s^2 + w^2)/(s^2 + w/0.707*s + w^2);   0.707为品质因素

%就陷波器而言,品质因数越大,阻带越窄;品质因数越小,阻带越宽。

 

% discretize

ts = 0.0002; % 采样周期5k

dsys = c2d(sys, ts, 'tustin'); % 采用双线性方法将传递函数离散化

% extract

[num, den] = tfdata(dsys,'v'); % 提取差分方程系数

 

(将分子分母转换为Q15格式的数据)结果为:

 

>> 32768*num


ans =


  1.0e+004 *


    3.0103   -5.9733    3.0103


>> 32768*den


ans =


  1.0e+004 *


    3.2768   -5.9733    2.7438


得到离散化方程是:

           30103 + 59733z^(-1) + 30103*z^(-2) 

  H(z)=  ----------------------------------

           32768 + 59733z^(-1) + 27438*z^(-2) 


0

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

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

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

新浪公司 版权所有