evolutionary platform, the circuit is designed in
hardware by the genetic algorithm. The
implementation also takes place in hardware. In the
extrinsic evolutionary platform this entire process
takes place in software. The hybrid platform mixes
the concept of both. The first method is better in
terms of the possibility of also being able to verify
the circuit's operation physically, while the second
only addresses the operation through a simulator.
This work will follow the second option and
presents the implementation of an extrinsic platform,
in order to enable the evolution of usual audio
electronic circuits. The modeling presented is based
on a genetic algorithm for evaluating the choices of
components that approximate the circuit's operation
to the desired specification. This paper is organized
in four sections. The second section describes the
basics of evolutionary environment and the proposed
platform. Section three discusses case studies in
connection with the evolutionary circuits’ platform.
Finally, section four ends the paper with the
conclusions.
2 EVOLUTIONARY PLATFORM
2.1 Extrinsic Platform
The extrinsic platform (Coelho et. al., 2021) is
carried out through the use of circuit simulators,
with implementation only in software. It gives the
designer more freedom to find more varied solutions
regarding topology. There is no limitation on the
types and components that can be used in the
population. However, extrinsic evolution will
require a much longer time compared to its intrinsic
equivalent, requiring high processing capacity of the
machine on which the genetic algorithm and
simulator will be executed. Figure 1 shows the
working diagram of this type of platform.
The simulator brings to the process the ability to
establish a specific configuration for calculations of
some regime parameters such as noise, temperature
and others, and thus generate candidates even closer
to the desired ones.
The developed platform focuses
on analyzing the numerical values generated by the
genetic algorithm directly within MATLAB, which
was used to trigger Simulink within the development
environment itself, to simulate the circuit with the
solutions proposed by the genetic algorithm and also
to obtain functions circuit transfer. MATLAB has
several toolboxes, some important for the area of
artificial intelligence, such as neural networks,
genetic algorithms and fuzzy logic. There is a
toolbox named GAOT (Genetic Algorithm
Optimization Toolbox) whose algorithm was
developed by researchers at North Caroline State
University, so that it could be used directly within
the MATLAB development environment.
Figure 1: Extrinsic platform.
This toolbox was used in this work for several
reasons, the main one is that it has open code,
without any restrictions for changes. It should be
noted that MATLAB has an optimization function
based on genetic algorithms, the GA function, which
comes with the software. Figure 2 shows a flowchart
of the developed evolution platform, based on a
genetic algorithm, allowing the transfer function of a
circuit to be obtained, and also the analysis of any
system through this function. Simulink has two
functions within the platform. It is used to obtain
circuit transfer functions, at the time of modeling, in
which the platform user does not know the
mathematical description of the relationship between
the output and input of the circuit. In addition, it can
be used as a simulator after obtaining the optimal
values. In order to make the platform's operation
clearer, figure 3 presents a brief description of the
evolution process. First, the circuit topology is
chosen for the evolution of the component values.
Next, their ranges of values are related to the genes
of the individuals in the genetic algorithm, thus
determining the size of the chromosomes. After
these steps, the parameters for executing the genetic
algorithm must be defined. This configuration will
depend on the designer's objective as well as the
design specifications. Finally, the solution is
analyzed using the best chromosome, i.e. the transfer
function obtained for the optimal solution is
compared with the one considered ideal, that is, the
one conceived by a MATLAB function. The