summaryrefslogtreecommitdiffstats
path: root/Project/TransferFunction.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2018-07-14 09:04:40 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2018-07-14 09:04:40 -0300
commit73e934c17098281ffccd214f7517cd0f6ce03ab6 (patch)
tree8138eb23f888d151c475aca68c5701ce2c574282 /Project/TransferFunction.cpp
parent7ddd1d26ad13ad23f520dff08485ef2794d5958b (diff)
downloadPSP.git-73e934c17098281ffccd214f7517cd0f6ce03ab6.tar.gz
PSP.git-73e934c17098281ffccd214f7517cd0f6ce03ab6.tar.xz
PSP.git-73e934c17098281ffccd214f7517cd0f6ce03ab6.zip
fault and control system implementation error fixed
Diffstat (limited to 'Project/TransferFunction.cpp')
-rw-r--r--Project/TransferFunction.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Project/TransferFunction.cpp b/Project/TransferFunction.cpp
index 8e7b68f..b78d74a 100644
--- a/Project/TransferFunction.cpp
+++ b/Project/TransferFunction.cpp
@@ -291,10 +291,11 @@ void TransferFunction::CalculateSpaceState(int maxIteration, double error)
}
for(int i = 0; i < order - 1; i++) {
ss.A[order - 2][i] = -(denominator[order - 1 - i] / denominator[0]);
- ss.C[i] = (numerator[order - 1 - i] - denominator[order - 1 - i] * numerator[0]) / denominator[0];
+ ss.C[i] = numerator[order - 1 - i] / denominator[0] -
+ (denominator[order - 1 - i] / denominator[0]) * (numerator[0] / denominator[0]);
}
ss.B[order - 2] = 1.0;
- ss.D = numerator[0];
+ ss.D = numerator[0] / denominator[0];
m_ss = ss;