Sei sulla pagina 1di 2

Departamento de Eletrónica, Telecomunicações e Informática Universidade de Aveiro

Identificação de Sistemas Total time elapsed: 30*8.215 minutes ~ 4.1 hours


Average squared estimation error: 7.43*10-3.
System Identification
Best squared estimation error achieved: 8.44*10^-6.
2018/2019 Approximated L: 11.998574815547 mH.
Approximated C: 12.000985374 uF.
Approximated T1: 1.197194052617591.
Work Assignment No. 03 Worst squared estimation error achieved: 1.019*10^-1.
Student's Report Nº of runs that achieved a squared error < 10^-2: 26(86.67%).
Nº of runs that achieved a squared error < 10^-3: 18(60%).
Nº of runs that achieved a squared error < 10^-4: 14(46.67%).
Prof. Telmo Reis Cunha Nº of runs that achieved a sqaured error < 10^-5: 3(5%).

Diogo Martins – 59401

Identifying the problem at hand and defining a strategy

Given an amplifying electronic circuit and three variables(L, C


and T1 each related to different components of the circuit) that can
vary inside a known interval, the problem at hand consists in estimating
their values according to two reference signals(vi, input voltage vector
and vo, output voltage vector), measured with a specific value to L, C
and T1. The electronic circuit can be tested for different L/C/T1 Fig.1-3D and 4D graphical convergence for the best run (8.44*10^-6
values, yet the vi and vo are static, measuring this way, the error err.)
between the output voltage vector obtained with the unknown
parameters and the output voltage vector obtained with the tested
parameters(estimation error, the smaller the merrier).
To achieve so, a very simple method would be to measure the
estimation error for a very large number of L/C/T1 combinations,
choosing the one associated to the smallest estimation error, however,
to obtain good results, at least 1000 different values for L, C and T1
would be needed which leads to 10^9 combinations, also, the Circuit
function used to obtain the circuit's response for different input
parameters, takes a considerable amount of time to simulate, to be
more precise, an average of 4.61 seconds (note that this value will vary
depending on the computational speed capability), which means that it
would take 4.61*10^9 seconds, slightly over 146 years, to compute a
solution using such method. Another solution is to use a nonlinear
optimization method, there are a few diferent options such as Gradient
Descent, Simulated Annealing or Nelder Mead Simplex methods, let's
cover the three of them;
Gradient Descent – It is a very straightforward method with
very good chances of converging to at least a local minimum, however,
when compared to the other 2 methods, it is the slowest, also, in this
case we have 3 diffrerent variables which means that every iteration, it
has to consider the derivative in all the different 26 directions requiring
more than 26*4.61 seconds (~2 minutes) per iteration.
Simulated Annealing – Although this can be a fast method
even for a high number of parameters, it does not guarantee
convergence to a local minimum. Nevertheless, due to it's Fig.2- 4D graphical 30 runs (4.1 hours) total convergence.
implementation simplicity, is worth the try.
Nelder Mead Simplex – When compared with the last two As we can see in the fig.3, theres a big converging zone
methods, this one is the most reliable, it may take longer to converge centered at L~12mH, C~12uF and T1~1.2 where the squared error
than Simulated Annealing but its results are in average considerably obtained is very small. There are also a few local minimums like for
better. Its downside is the implementation complexity, however, in this example L~15mH, C~14.5uF and T1~1.025.
work, i believe it's the best shot to solve the problem because even
being slower than Simulated Annealing, it may be faster converging to
an estimation error smaller than a fixed value.
Concluding, for this work, Simulated Annealing and Nelder
Mead Simplex will be implemented via Matlab, the convergence time,
results' reliability between each method's performance will be
compared.

Nelder Mead Simplex


NOTE: Squared error will be taken into account through all this report,
for comparison with the signal in cause(vo): 10^-2 Squared error →
-72dB (NMSE). NMSE = 10log10(sum(error.^2)/sum(signal.^2)).
Test 1 – Testing the waters(Fixed iteration number to 30, no
minimum squared estimation error setpoint).

Nº of times the method was run: 30.


Maximum iterations allowed: 30.
No setpoint for minimum error.
Average iteration duration: 16.43 sec.
Average convergence duration: 30*16.43 sec = 8.215 minutes. Fig.3- Result validation for the lowest error associated parameters
obtained.

1/2
Departamento de Eletrónica, Telecomunicações e Informática Universidade de Aveiro

Overall, the results are solid and show that 30 iterations is more than Test 3- Global minimum convergence. Test duration~13.3 hours.
necessary for the method to find a good parameter estimation within a few runs.
This test consists in finding the rate that the method converges to the
Test 2- Speed Test. Test duration: 21.2 hours. global minimum. For that, Nelder mead simplex was run 20 times with a max.
iteration nº of 150 to make sure the convergence reached a steady state.
Squared Error Setpoint: 10^-2. Test duration: ~3.8 hours.
Iteration nº limit: 35.
Nº of successful runs(error smaller than the setpoint): 57(95%).
Average Squared Error value: 4.6*10^-3.
Average nº of iterations on the successful runs: 14.
Average nº of iterations on all runs(max. Iterations was set to 40): 14.4.
Average iteration duration: 16.1 sec.
Average Nelder Mead run duration(all runs): 3.75 minutes.
Best run: 5 iterations(1.38 minuntes), 9.78*10^-3 squared error.
Average run: 14.4 iterations(3.83 minutes), 4.6*10^-3 squared error.
Worst run: 35 iterations(9.54 minutes), 1.06*10^-2 squared error.

Fig.7- Nº of times the method converged to the global and local minimums.

Fig.4- All runs 4D convergence plot and parameter validation.

Squared Error Setpoint: 10^-3. Test duration: ~7.2 hours.


Iteration nº limit: 45.
Nº of successful runs(error smaller than the setpoint): 51(85%).
Average Squared Error value: 5.8*10^-4.
Average nº of iterations on the sucessful runs: 22.84.
Fig.8– NMSE evolution for the 20 Nelder Mead Simplex runs.
Average nº of iterations on all runs(max. Iterations was set to 40): 27.
Average iteration duration: 16.15 sec.
Best error achieved: -226 dB(NMSE).
Average Nelder Mead run duration(all runs): 7.2 minutes.
NMSE values for local minimuns interval: [-35dB -49dB].
Best run: 11 iterations(3.14 minuntes), 4.12*10^-4 squared error.
NMSE values for global minimum runs interval:[-91dB -226dB].
Average run: 27 iterations(7.4 minutes), 5.8*10^-4 squared error.
We can conclude that even 150 iterations was not enough for some global
Worst run: 45 iterations(12.3 minutes), 1.25*10^-3 squared error.
minimum convergence runs, due to different starting points.
Global minimum convergence rate: 70%.
Parameters converged to the optimal values:
L = 12mH.
C = 12uF.
T1 = 1.2.
For these values, NMSE = -Inf. (Squared error = 0).
Nelder Mead Simplex convergence thoughts: One very important aspect about
the “success” for this method is the initial values for the polygon vertexes, during
all this work, those initial vertex values were randomly calculated which harms
the overall optimization method performance, the initial solution should create a
polygon with a good area/volume so that there are higher chances for the global
mninimum to be inside of it, also if the polygon is well balanced, possible
reflections and contractions will have an higher impact on the polygon's centroid,
Fig.5- All runs 4D convergence plot and parameter validation. overall reducing the needed amount of iterations and increasing the chances of
finding the global minimum. The use of random initial solutions was although on
Squared Error Setpoint: 10^-4. Test duration: 10.2 hours. purpose to prove the method's resillience and reliability under unfavorable initial
Iteration nº limit: 60. circumstances. There are also four constants related to the method's sub
Nº of successful runs(error smaller than the setpoint): 47(78%). operations reflection (alfa =1), expansion (gamma=2), contraction (ro=0.5) and
Average Squared Error value: 7.6*10^-5. shrink (ro=0.5), these values were kept default, however, they can be modified to
Average nº of iterations on the sucessful runs: 31.4. increase performance if for example we have an idea on how the squared error
Average nº of iterations on all runs(max. Iterations was set to 40): 37.9. function behaves.
Average iteration duration: 16.12 sec.
Average Nelder Mead run duration(all runs): 10.18 minutes.
Best run: 14 iterations(3.81 minuntes), 8.65*10^-5 squared error.
Average run: 37.9 iterations(10.3 minutes), 7.6*10^-5 squared error.
Worst run: 60 iterations(16.1 minutes), 2.03*10^-4 squared error.

Fig.9- Convergence “mapping”. In this figure, we can see the polygon evolution
to find the global minimum. Even tho the initial polygon doesn't contain the gobal
Fig.6- All runs 4D convergence plot and parameter validation. minimum

2/2

Potrebbero piacerti anche