From: <par...@us...> - 2011-10-04 20:41:34
|
Revision: 8674 http://octave.svn.sourceforge.net/octave/?rev=8674&view=rev Author: paramaniac Date: 2011-10-04 20:41:28 +0000 (Tue, 04 Oct 2011) Log Message: ----------- control: add draft code Added Paths: ----------- trunk/octave-forge/main/control/devel/__dss_bilin__.m trunk/octave-forge/main/control/devel/test_dss_bilin.m Added: trunk/octave-forge/main/control/devel/__dss_bilin__.m =================================================================== --- trunk/octave-forge/main/control/devel/__dss_bilin__.m (rev 0) +++ trunk/octave-forge/main/control/devel/__dss_bilin__.m 2011-10-04 20:41:28 UTC (rev 8674) @@ -0,0 +1,64 @@ +## Copyright (C) 2011 Lukas F. Reichlin +## +## This file is part of LTI Syncope. +## +## LTI Syncope is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## LTI Syncope is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with LTI Syncope. If not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## 1. Discrete -> continuous +## _ +## E = alpha*E + A +## _ +## A = beta (A - alpha*E) +## _ +## B = sqrt(2*alpha*beta) * B +## _ -1 +## C = sqrt(2*alpha*beta) * C * (alpha*E + A) * E +## _ -1 +## D = D - C * (alpha*E + A) * B +## +## +## 2. Continuous -> discrete +## _ +## E = beta*E - A +## _ +## A = alpha (beta*E + A) +## _ +## B = sqrt(2*alpha*beta) * B +## _ -1 +## C = sqrt(2*alpha*beta) * C * (beta*E - A) * E +## _ -1 +## D = D + C * (beta*E - A) * B + +## Author: Lukas Reichlin <luk...@gm...> +## Created: October 2011 +## Version: 0.1 + +function [Ar, Br, Cr, Dr, Er] = __dss_bilin__ (A, B, C, D, E, beta, discrete) + + if (discrete) + Er = E + A; + Ar = beta * (A - E); + Br = sqrt (2*beta) * B; + Cr = sqrt (2*beta) * C / (E + A) * E; + Dr = D - C / (E + A) * B; + else + Er = beta*E - A; + Ar = beta*E + A; + Br = sqrt (2*beta) * B; + Cr = sqrt (2*beta) * C / (beta*E - A) * E; + Dr = D + C / (beta*E - A) * B; + endif + +endfunction Added: trunk/octave-forge/main/control/devel/test_dss_bilin.m =================================================================== --- trunk/octave-forge/main/control/devel/test_dss_bilin.m (rev 0) +++ trunk/octave-forge/main/control/devel/test_dss_bilin.m 2011-10-04 20:41:28 UTC (rev 8674) @@ -0,0 +1,5 @@ +sys = inv (Boeing707); + +d = c2d (sys, 0.2, "bilin") + +c = d2c (d, "bilin") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |