⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtf2ss.m

📁 数字通信第四版原书的例程
💻 M
字号:
function [a,b,c,d] = dtf2ss(num, den)
%DTF2SS	Discrete transfer function to state-space conversion.
%	[A,B,C,D] = DTF2SS(NUM,DEN)  calculates the state-space representation:
%
%		x(n+1) = Ax(n) + Bu(n)
%		y(n) = Cx(n) + Du(n) 
%
%	of the system:
%			NUM(z) 
%		H(s) = -------
%			DEN(z)
%
%	from a single input.  Vector DEN must contain the coefficients of the 
%	denominator in ascending  powers of z^-1 (constant first).  
%	Uses the Signal Processing Toolbox representation of a discrete
%	transfer function and therefore pads with trailing zeros
%	for unassigned coefficients.
%	Matrix NUM must contain the 
%	numerator coefficients with as many rows as there are outputs y.  The
%	A,B,C,D matrices are returned in controller canonical form.   

% 	A.C.W.Grace 4-5-90  
%	Revised ACWG 5-29-91
%	Copyright (c) 1990-94 by The MathWorks, Inc.

% Must pad numerator with trailing zeros for discrete case 
[mnum,nnum] = size(num);
[mden,n] = size(den);

% Strip leading zeros from denominator
inz = find(den ~= 0);
den = den(inz(1):n);
[mden,n] = size(den);

% Pad denominator with trailing zeros if necessary:
if nnum > n
	den = [den zeros(mden,nnum-n)];
	[mden,n] = size(den);
end


% Pad numerator with trailing  zeros, to make it have the same number of
% columns as the denominator, and normalize it to den(1)
num = [num zeros(mnum,n-nnum)];

[a,b,c,d]=tf2ss(num,den);



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -