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

📄 d2ci.m

📁 数字通信第四版原书的例程
💻 M
字号:
function [a, b] = d2ci(phi, gamma, t)
%D2C	Conversion of state space models from discrete to continuous time.
%	[A, B] = D2C(Phi, Gamma, T)  converts the discrete-time system:
%
%		x[n+1] = Phi * x[n] + Gamma * u[n]
%
%	to the continuous-time state-space system:
%		.
%		x = Ax + Bu
%
%	assuming a zero-order hold on the inputs and sample time T.
%
%	See also: D2CM and C2D.

%	J.N. Little 4-21-85
%	Copyright (c) 1990-94 by The MathWorks, Inc.
%	Revised 9-22-88 JNL  Phi=1 case fixed,
%	10-17-90 A.Grace Better logm, and handles rows of zeros in gamma.

error(nargchk(3,3,nargin));
error(abcdchk(phi,gamma));

[m,n] = size(phi);
[m,nb] = size(gamma);

% phi = 1 case cannot be computed through matrix logarithm.  Handle
% as a special case.
if m == 1
	if phi == 1
		a = 0; b = gamma/t;
		return
	end
end

% Remove rows in gamma that correspond to all zeros
b = zeros(m,nb);
nz = 0;
for i=1:nb
	if any(gamma(:,i)~=0) 
		nonzero = [nonzero, i];
		nz = nz + 1;
	end
end

% Do rest of cases using matrix logarithm.

s = logm2([[phi gamma(:,nonzero)]; zeros(nz,n) eye(nz)])/t;
a = s(1:n,1:n);
b(:,nonzero) = s(1:n,n+1:n+nz);

⌨️ 快捷键说明

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