连续传函的离散化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
+
%就陷波器而言,品质因数越大,阻带越窄;品质因数越小,阻带越宽。
% discretize
ts = 0.0002; % 采样周期5k
dsys = c2d(sys, ts, 'tustin'); % 采用双线性方法将传递函数离散化
% extract
[num, den] = tfdata(dsys,'v'); % 提取差分方程系数
(将分子分母转换为Q15格式的数据)结果为:
>> 32768*num
ans =
>> 32768*den
ans =
得到离散化方程是: