View
226
Download
0
Category
Preview:
Citation preview
ANEXOS
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
43
ANEXO I. ALGORITMO MÍNIMOS
CUADRADOS
En el presente anexo se desarrolla el algoritmo mínimos cuadrados. Primero se
describe la forma matricial así como las características del algoritmo. Seguidamente se
trata la forma recursiva del mismo y se obtienen las ecuaciones para dos métodos
distintos según los parámetros de entrada. También se analiza la forma extendida del
algoritmo para su posterior implementación. Finalmente se explican las formas de
discretización aplicadas al sistema.
I.1 Descripción
Para la aplicación del algoritmo mínimos cuadrados es necesario que el sistema
pueda ser representado por un modelo de estructura fija, en nuestro caso una ecuación
en diferencias lo que conlleva trabajar con un modelo de naturaleza discreta. Este
algoritmo se aplica mediante procesado posterior, recopilando previamente toda la
información relativa a la entrada y salida del sistema en una matriz.
Dado un sistema que sigue un modelo ARX (AutoRegresive Exogenous), donde
u(k) son las entradas e y(k) las salidas, el comportamiento de un conjunto discreto de
mediciones de la entrada y la salida puede expresarse con la siguiente ecuación en
diferencias:
1 0
( ) · ( ) · ( ) ( ).n m
j j
j j
y k a y k j b u k j k
(I-1)
En la cual, la primera parte constituye una auto-regresión de los valores
anteriores de la salida y(k-n), la segunda la suma de los valores previos de la entrada
u(k-n) y la tercera es una componente a la que se le asocia el ruido y todas las
imprecisiones que del modelo causadas por la no-linealidad, perturbaciones o
simplificaciones. Las características de dicha componente son:
( ) 0,E k
(I-2)
2 2( ) ,E k
(I-3)
donde el operador E representa la esperanza matemática, que implica que el término ε(k)
representa un ruido blanco, con media igual a cero y varianza constante 2 , no
correlacionado con la entrada o la salida. El método de mínimos cuadrados busca
minimizar dicho error.
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
44
La ecuación en diferencias (I-1) puede escribirse de forma general como un
modelo lineal parametrizable cuya salida y(k) es la combinación de las p entradas
anteriores en el instante k:
1 1 2 2( ) ( )· ( )· ... ( )· ( ),p py k x k x k x k k (I-4)
( ) ( )· ( ) ( ),Ty k x k k k (I-5)
donde 1 2( ) ( ) ( ) ( ) ,T
px k x k x k x k ( )k el vector de parámetros del modelo,
ε(k) el error de estimación y x(k) el vector de entradas.
Con las k observaciones obtenemos un sistema de ecuaciones lineal
sobredeterminado (k>p):
1 2 1
1 2 2
1 2
(1) (1) (1)(1) (1)
(2) (2) (2)(2) (2)· ( ) ( )· ( ) ( ).
( ) ( ) ( )( ) ( )
p
p
p p
x x xy
x x xyY k k k E k
x k x k x ky k k
(I-6)
Donde Y es el vector de observaciones, Φ(k) la matriz de las k mediciones, ( )k
el vector con la solución y E el vector con los errores de la estimación.
Como se ha dicho anteriormente este algoritmo consiste en minimizar el error, o
más específicamente la función coste V( ,k), obteniendo un vector de parámetros
óptimo ̂ :
2
1
1 1( , ) ( )· ( ) ( ).
2 2
kT
i
V k E k E k i
(I-7)
La función (I-7) representa la suma de los cuadrados de los errores de predicción
a lo largo de las k observaciones. Derivándola respecto a se obtiene el vector de
parámetros óptimo:
1ˆ ( )· ( ) · ( )· ,T Tk k k Y
(I-8)
donde ·T es la matriz de varianzas-covarianzas también llamada R, por lo que la
expresión (I-8) queda:
1ˆ ( ) · ( )· .TR k k Y
(I-9)
Se obtiene así la ecuación que define al algoritmo de mínimos cuadrados en su
forma matricial y a partir de la cual se puede desarrollar el recursivo.
Las características del método son la mejora de la estimación al aumentar el
número de muestras, la necesidad de que la matriz R sea invertible y la poca robustez
del algoritmo si la matriz Φ está mal condicionada. La consecuencia de esta última
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
45
serían grandes errores en las estimaciones debidos a pequeños errores en las medidas, ya
que se amplifican por la siguiente cantidad:
max
min
( )( ) ,
( )
Rcond R
R
(I-10)
donde λ es el valor absoluto de los valores propios de R.
En la aplicación del algoritmo puede asignarse a las muestras de mayor
antigüedad un menor valor aplicando el factor de olvido exponencial φ. En ese caso la
función coste a minimizar sería:
1 2
1
1( , ) ( ).
2
kk
i
V k i
(I-11)
El objetivo de esta técnica es minimizar la influencia de muestras pasadas para
advertir cambios en la carga. Puesto que cada semiciclo de red de 10 ms se vuelve a
iniciar el cálculo no es necesario aplicarla, así que se toman todas las muestras con el
mismo peso, siendo el factor de olvido igual a uno.
A continuación y a partir de lo obtenido se desarrolla la forma recursiva, que
consiste en actualizar en sucesivas iteraciones un valor inicial estimado. A diferencia de
la anterior no necesita almacenar los datos en una matriz, lo que permitirá su
implementación en una FPGA.
I.2 Algoritmo recursivo
La forma recursiva de este algoritmo resulta de la necesidad de reducir el uso de
la memoria, así como el tiempo de operaciones al calcular la inversa de R y los errores
que acarrea. Además permite obtener las estimaciones requeridas en tiempo real, que es
uno de los objetivos perseguidos. Para obtenerla comenzamos definiendo la matriz P(k)
y el vector b(k):
1 1
(1)
( ) ( )· ( ) (1) ( ) · ( 1) ( )· ( ),
( )
T
T T
T
x
P k k k x x k P k x k x k
x k
(I-12)
(1)
( ) ( )· ( ) (1) ( ) · ( 1) ( )· ( ).
( )
T
y
b k k Y k z z k b k z k y k
y k
(I-13)
La ecuación (I-8) puede expresarse de la siguiente forma mediante los dos
parámetros anteriores:
1 1
1 1ˆ ( ) · ( )· ( 1) ( )· ( ) · ( 1) ( )· ( ) .T TP k k Y P k x k x k b k x k y k
(I-14)
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
46
Utilizando el lema de inversión matricial descrito mediante la ecuación:
1 11
1
1
· · ·· ,
1 · ·
TT
T
A x y AA x y A
y A x
(I-15)
la expresión (I-14) queda del siguiente modo:
( 1)· ( )ˆ ˆ ˆ( ) ( 1) · ( ) ( )· ( 1) ,1 ( )· ( 1)· ( )
T
T
P k x kk k y k x k k
x k P k x k
(I-16)
Descomponiéndolo en partes y aplicando la técnica del olvido exponencial
obtenemos el algoritmo definitivo para la identificación en tiempo real:
( 1)· ( )( ) ,
( )· ( 1)· ( )T
P k x kL k
x k P k x k
(I-17)
ˆ ˆ ˆ( 1) ( )· ( ) ( )· ( 1) ,Tk L k y k x k k
(I-18)
( 1)( ) ( )· ( ) · ,T P k
P k I L k x k
(I-19)
donde L y son vectores p×1, P es una matriz p×p y los valores iniciales son:
(0) · ;P I 0; ˆ(0) 0; ( ) 0.Tr P k (I-20)
Si se dispone de una estimación inicial realista de los parámetros puede elegirse
un α pequeño, en caso contrario se utiliza uno mucho mayor que uno para generar
rápidos cambios en los parámetros.
I.3 Estudio con parámetros de entrada V0 e IL
En la aplicación de calentamiento por inducción doméstico la carga está formada
por el sistema inductor-recipiente en serie con un condensador de resonancia. En una
primera aproximación, el sistema inductor-recipiente puede modelarse como la
conexión en serie de una resistencia equivalente y una inductancia equivalente. Se
obtiene así un circuito RLC como el mostrado en la Figura I.1, donde las entradas serán
la tensión V0 que cae en la carga inductor-recipiente junto con el condensador de
resonancia y la intensidad IL que circula por el inductor. Hay que tener en cuenta que el
método de discretización aplicado a la carga tiene que ser el mismo que el aplicado al
sistema. En caso contrario se producirían elevados errores en las estimaciones. La
ecuación que define dicho sistema es la siguiente.
02
·( ) · ( ).
1 · · · ·L
C sI s V s
R C s L C s
(I-21)
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
47
Figura I.1. Modelo equivalente del sistema inductor-recipiente.
La transformada a aplicar al sistema depende del método de discretización
escogido. En caso de escoger Euler hacia adelante se debe aplicar la ecuación (I-22) y si
es Trapezoidal, la (I-23).
1,
s
zs
T
(I-22)
2· 1,
· 1s
zs
T z
(I-23)
donde TS es el periodo de muestreo.
La representación gráfica de ambos métodos se muestran en la Figura 2.2.
(a) (b)
Figura 2.15. Aproximación según el método (a) Euler hacia adelante. (b) Trapezoidal.
En el primer caso la expresión que corresponde a la integral de la función es la
mostrada en (2-6), mientras que la trapezoidal hace referencia a (2-7):
( 1)
( ) ( ),k Ts
kTsx d Ts x k
(1-24)
( 1)( ) ( 1)
( ) ,2
k Ts
kTs
x k x kx d Ts
(1-25)
donde ẋ(τ) es la función a discretizar, Ts el periodo de muestreo y τ el instante de
tiempo.
V0
R
C VC
ILL
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
48
Euler Hacia Adelante
Aplicando la transformada (I-22) a la ecuación (I-21) resulta la expresión en el
campo transformado ‘z’:
02
1·
( ) · ( ).1 1
1 · · · ·
s
L
s s
zC
TI z V z
z zR C L C
T T
(I-26)
Dicha ecuación puede representarse en función de eventos pasados obteniendo la
ecuación en diferencias:
2
0 0
· ·( ) 2 · ( 1) 1 · ( 2) · ( 1) ( 2) .
·
s s s sL L L
RT RT T TI k I k I k V k V k
L L L C L
(I-27)
Considerando los parámetros a1, a2, b1 y u(k):
1
·2 ,sR T
aL
(I-28)
2
2
·1,
·
s sRT Ta
L L C (I-29)
1 ,sTb
L (I-30)
0 0( 1) ( 1) ( 2),u k V k V k (I-31)
se llega a la ecuación:
1 2 1( ) · ( 1) · ( 2) · ( 1).L L LI k a I k a I k b u k
(I-32)
Aplicando el algoritmo mínimos cuadrados a (I-32) se obtienen finalmente las
estimaciones de los parámetros a1, a2, b1 y u(k). A partir de dichos parámetros se puede
despejar la resistencia R y la inductancia L que representan el modelo inductor-
recipiente y el condensador de resonancia C, llegando a las siguientes expresiones:
1
1
ˆ2,
ˆ
aR
b
(I-33)
1
,ˆsT
Lb
(I-34)
1
1 2
ˆ·.
ˆ ˆ1
sT bC
a a
(I-35)
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
49
Trapezoidal
Se realiza el mismo proceso para desarrollar el algoritmo en su forma
trapezoidal, aunque en este caso se aplica la ecuación (I-23) a la (I-21), obteniendo:
02
2· 1·
· 1( ) · ( ).
2· 1 2· 11 · · · ·
· 1 · 1
s
L
s s
zC
T zI z V z
z zR C L C
T z T z
(I-36)
Tras expresar (I-36) en función de eventos pasados resulta la ecuación en
diferencias:
2 2
2 2
0 02
8· · 2· 2· · · 4· ·( ) · ( 1) · ( 2)
2· · · 4· · 2· · · 4· ·
2· ·· ( ) ( 2) .
2· · · 4· ·
s s sL L L
s s s s
s
s s
L C T R C T T L CI k I k I k
T R C T L C T R C T L C
C TV k V k
T R C T L C
(I-37)
Introduciendo los parámetros a1, a2, b1 y u(k) definidos a continuación:
2
1 2
8· · 2·,
2· · · 4· ·
s
s s
L C Ta
T R C T L C
(I-38)
2
2 2
2· · · 4· ·,
2· · · 4· ·
s s
s s
R C T T L Ca
T R C T L C
(I-39)
1 2
2· ·,
2· · · 4· ·
s
s s
C Tb
T R C T L C
(I-40)
0 0( ) ( ) ( 2),u k V k V k
(I-41)
se llega a la siguiente ecuación:
1 2 1( ) · ( 1) · ( 2) · ( ).L L LI k a I k a I k b u k
(I-42)
Aplicando el algoritmo a (I-42) y despejando R, L y C se obtienen sus
expresiones en función de las estimaciones de los parámetros a1, a2, b1 y u(k):
2
1
ˆ1,
ˆ2·
aR
b
(I-43)
1 2
1
ˆ ˆ 1· ,
ˆ8·s
a aL T
b
(I-44)
1
1 2
ˆ2· ·.
ˆ ˆ1
sb TC
a a
(I-45)
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
50
I.4 Estudio con parámetros de entrada V0, IL y VC
En este caso, debido al conocimiento del valor del condensador de resonancia C,
se añade a los parámetros de entrada la tensión en el condensador Vc. El sistema
estudiado, tal y como puede verse en la Figura I.1 será el definido por la siguiente
expresión:
0
1( ) · ( ) ( ) .
·L CI s V s V s
L s R
(I-46)
Euler Hacia Adelante
Como en el caso anterior se aplica la transformada (I-22) a la ecuación (I-46)
que modela el sistema, llegando a la siguiente expresión:
0
1( ) · ( ) ( ) .
1·
L C
s
I z V z V zz
L RT
(I-47)
La ecuación en diferencias resultante es la mostrada a continuación:
0
·( ) 1 · ( 1) · ( 1) ( 1) .s s
L L C
RT TI k I k V k V k
L L
(I-48)
A diferencia del anterior caso, se introducen solo los parámetros a1, b1 y u(k-1):
1
·1 ,sR T
aL
(I-49)
1 ,sTb
L (I-50)
0( 1) ( 1) ( 1),Cu k V k V k (I-51)
quedando la anterior expresión como:
1 1( ) · ( 1) · ( 1).L LI k a I k b u k
(I-52)
Aplicando el algoritmo a la ecuación anterior se obtienen las estimaciones de a1,
b1 y u(k-1) y despejando R y L se llega finalmente a las ecuaciones siguientes:
1
1
ˆ1,
ˆ
aR
b
(I-53)
1
.ˆsT
Lb
(I-54)
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
51
Trapezoidal
Para la discretización trapezoidal se utiliza la transformada (I-23) y a partir de
(I-46) se obtiene la ecuación en el campo transformado ‘z’:
0
1( ) · ( ) ( ) .
2 1· ·
1
L C
s
I z V z V zz
L RT z
(I-55)
En este caso la ecuación en diferencias resultante sería:
0 0
2· ·( ) · ( 1)
2· ·
· ( ) ( 1) ( ) ( 1) .2· ·
sL L
s
sC C
s
L R TI k I k
L R T
TV k V k V k V k
L R T
(I-56)
Añadiendo los parámetros a1, b1 y u(k):
1
2· ·,
2· ·
s
s
L R Ta
L R T
(I-57)
1 ,2· ·
s
s
Tb
L R T
(I-58)
0 0( ) ( ) ( 1) ( ) ( 1) ,C Cu k V k V k V k V k (I-59)
la expresión (I-56) queda como sigue:
1 1( ) · ( 1) · ( ).L LI k a I k b u k
(I-60)
Aplicando el algoritmo a la anterior ecuación se obtienen las estimaciones de a1,
b1 y u(k). Finalmente despejando R y L:
1
1
ˆ1,
ˆ2·
aR
b
(I-61)
1
1
ˆ1· .
ˆ4·s
aL T
b
(I-62)
I.5 Forma extendida del algoritmo mínimos cuadrados
Puesto que el objetivo es implementar el algoritmo en una FPGA, se precisa que
ningún parámetro tenga más de una dimensión, motivo por el cual no es posible utilizar
el algoritmo en su forma matricial. Es por ello necesario que las operaciones sean entre
vectores de una dimensión, desarrollando a partir del algoritmo recursivo la forma
extendida del mismo.
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
52
Hay que diferenciar entre las dos formas del algoritmo según los parámetros de
entrada puesto que el número de operaciones a realizar en cada iteración no es el
mismo. El cómputo final de operaciones viene reflejado en TABLA I.1, según el cual el
algoritmo con parámetros de entrada V0 e IL requiere más operaciones y por tanto será
más compleja su implementación.
TABLA I.1.
NÚMERO DE OPERACIONES PARA EL ALGORITMO MÍNIMOS CUADRADOS
Parámetros de entrada V0 e IL Parámetros de entrada V0, IL y VC
Sumas Productos Divisiones Sumas Productos Divisiones
42 54 3 16 22 2
I.6 Discretización de la carga
El proceso de discretización consiste en transformar las ecuaciones de estado en
tiempo continuo (I-63) y (I-64) que modelan el sistema de la Figura I.1, en las
ecuaciones en tiempo discreto (I-65) y (I-66).
( ) ( ) ( ),x t A x t B u t (I-63)
( ) ( ) ( ),y t C x t D u t (I-64)
( 1) ( ) ( ),x k F x k G u k (I-65)
( ) ( ) ( ),y k C x k D u k (I-66)
donde en nuestro caso las matrices A, B, C y D son respectivamente (I-67), (I-68), (I-69)
y (I-70).
1
,1 0
RL L
A
C
(I-67)
1,
0
LB
(I-68)
1,
0C
(I-69)
0.
0D
(I-70)
El resto de parámetros dependen del método de discretización. Para el caso de
Euler hacia adelante los vectores de variables de estado x(k), de entrada de fuentes
independientes u(k) y el de salida y(k) son:
ANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS
53
( )( ) ,
( )
L
C
I kx k
V k
(I-71)
0 ( )( ) ,
0
V ku k
(I-72)
( )( ) ,
0
LI ky k
(I-73)
y las matrices F y G las reflejadas en (I-74) y (I-75):
,SF I T A (I-74)
.SG T B (I-75)
A su vez, en el caso del Trapezoidal el vector de entrada de fuentes
independientes u(k) es distinto al utilizado en el anterior método, quedando:
0 0( 1) ( )( ) ,
0
V k V ku k
(I-76)
así como las matrices F y G mostradas en (I-77) y (I-78):
1
,2
SS
TF I T A I A
(I-77)
1
.2
SS
TG I T A B
(I-78)
Equation Section (Next)
ANEXO II. RESULTADOS DE SIMULACIÓN
55
ANEXO II. RESULTADOS DE
SIMULACIÓN
En este anexo se exponen las gráficas obtenidas de las simulaciones realizadas
en Matlab utilizando el algoritmo mínimos cuadrados. Se ha estudiado el error en las
estimaciones de la resistencia R y la inductancia L que definen la carga inductor-
recipiente y el condensador de resonancia C. El parámetro principal en función del que
se ha hecho el estudio ha sido la frecuencia de conmutación del sistema fsw, puesto que
varía en función de la potencia que precise el usuario.
Se distinguen dos apartados según los parámetros de entrada dentro de los cuales
se ha simulado el algoritmo en función de la discretización utilizada, Euler hacia
adelante o trapezoidal. Ya que el objetivo del proyecto es implementar el algoritmo en
una FPGA, se ha desarrollado también el algoritmo en su forma extendida. Las gráficas
sin embargo no se han incluido debido a que los resultados eran muy similares a los de
la forma no extendida. Por último se presentan los resultados del estudio del tiempo de
cómputo TC del algoritmo, para conocer el tiempo del que dispondrá la FPGA para
realizar las operaciones entre tomas de muestras.
Para cada una de las gráficas se compara el resultado de la forma recursiva con
el de la forma matricial, dado que este último es el utilizado actualmente, y con
frecuencia de muestreo FS de 10 y 20 MHz. También se han obtenido resultados para un
número de bits de las señales de entrada de 8 y 10. Además las simulaciones se han
realizado tanto sin ruido blanco como con él, puesto que es el tipo de ruido que
presentan las señales involucradas en el sistema real. Dicho ruido se ha aplicado a la
corriente IL que circula por L; a la tensión V0 en la carga, la cual incluye R, L y C; y a la
tensión VC que cae únicamente en C.
II.1 Parámetros de simulación
A continuación se presentan los parámetros fijados para la simulación en
MATLAB del sistema.
Para el estudio de fsw se ha supuesto una carga de R = 2.85 Ω y L = 18.65 μH,
condensador de resonancia de C = 1440 nF y duty D = 0.5. El rango de estudio ha sido
de 30 a 75 kHz ya que se corresponde con el utilizado en las cocinas de inducción. Para
la obtención de las señales de entrada V0, IL y VC, se ha discretizado el sistema mostrado
en la Figura I.1 según los dos métodos de discretización utilizados. Se introdujo ruido
blanco de potencia 10-14
W y se tomaron FS de 10 y 20 MHz. Se simuló también con
señales de entrada con un número de bits de 8 y 10 para una FS de 10 y 20 MHz.
ANEXO II. RESULTADOS DE SIMULACIÓN
56
El estudio del tiempo de cómputo se realizó en un rango de 0.1 a 5 μs para una
fsw fija de 75 kHz y FS de 10 MHz.
Por último aclarar que los errores mostrados en las gráficas han sido obtenidos
mediante la ecuación (II-1).
_ _(%) 100.
_
Parámetro estimado Parámetro realError
Parámetro real
(II-1)
II.2 Resultados con parámetros de entrada V0 e IL
Este apartado se divide según los dos métodos de discretización utilizados, Euler
hacia adelante y trapezoidal. Para esta forma del algoritmo no se simuló con ruido en las
medidas ya que el error introducido por la cuantización es tan elevado que no tiene
sentido continuar con el estudio.
II.2.1. Euler hacia adelante sin ruido
En las siguientes parejas de gráficas, de Figura II.1 a Figura II.3, se compara el
error del algoritmo para FS de 10 y 20 MHz. Como puede verse los resultados son de
órdenes tan bajos que pueden considerarse con error nulo. La forma matricial es siempre
incluso más cercana a cero debido a su mayor precisión.
(a) (b)
Figura II.1. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.2. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
30 40 50 60 70 80-5
0
5
10
15
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
30 40 50 60 70 80-10
0
10
20
30
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
30 40 50 60 70 80-0.1
-0.05
0
0.05
0.1
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
30 40 50 60 70 80-0.1
-0.05
0
0.05
0.1
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
57
(a) (b)
Figura II.3. Error en la estimación del condensador de resonancia C en función de la frecuencia de
conmutación (a) Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
La variación del número de bits de las señales de entrada influye en gran medida
en los resultados. Como se observa en la Figura II.4 se obtienen errores en la estimación
de R de hasta tres órdenes de magnitud para el caso de 8 bits y del 100% para el de 10
bits. También los errores en la estimación de L y C son altos tal y como muestran la
Figura II.5 y la Figura II.6 respectivamente. Esta forma del algoritmo con discretización
Euler hacia adelante queda descartada y no se continúa con el estudio.
(a) (b)
Figura II.4. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
(a) (b)
Figura II.5. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
30 40 50 60 70 80-0.3
-0.2
-0.1
0
0.1
0.2
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
30 40 50 60 70 80-0.3
-0.2
-0.1
0
0.1
0.2
Frecuencia (kHz)
Err
or*
10
-3 (
%)
RecursivoMatricial
30 40 50 60 70 800.5
1
1.5
2
2.5
3
Frecuencia (kHz)
Err
or*
10
3 (
%)
RecursivoMatricial
30 40 50 60 70 8060
80
100
120
140
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-40
-20
0
20
40
60
80
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-10
-5
0
5
10
15
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
58
(a) (b)
Figura II.6. Error en la estimación del condensador de resonancia C en función de la frecuencia de
conmutación con frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.2.2. Trapezoidal sin ruido
Al igual que en el caso anterior se pueden considerar errores nulos puesto que
estamos obteniendo órdenes de en torno a 10-6
. Aun así puede apreciarse en la Figura
II.7 a Figura II.9 como el error del algoritmo con esta discretización es menor que con
Euler hacia adelante.
(a) (b)
Figura II.7. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.8. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
30 40 50 60 70 80-2
-1
0
1
2
Frecuencia (kHz)
Err
or*
10
3 (
%)
RecursivoMatricial
30 40 50 60 70 80-50
0
50
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-20
0
20
40
60
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
30 40 50 60 70 80-50
0
50
100
150
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
30 40 50 60 70 80-1.5
-1
-0.5
0
0.5
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
30 40 50 60 70 80-1.5
-1
-0.5
0
0.5
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
59
(a) (b)
Figura II.9. Error en la estimación del condensador de resonancia C en función de la frecuencia de
conmutación (a) Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
También con discretización trapezoidal los errores aumentan considerablemente
con respecto a los resultados obtenidos utilizando las señales de entrada en reales. En la
Figura II.10 a Figura II.12 se observan errores de la misma magnitud que los de
discretización Euler hacia adelante. La implementación del algoritmo con parámetros de
entrada V0 e IL queda descartada y no tiene sentido continuar con el estudio añadiendo
ruido a las señales de entrada.
(a) (b)
Figura II.10. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
(a) (b)
Figura II.11. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
30 40 50 60 70 80-0.5
0
0.5
1
1.5
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
30 40 50 60 70 80-0.5
0
0.5
1
1.5
Frecuencia (kHz)
Err
or*
10
-6 (
%)
RecursivoMatricial
30 40 50 60 70 800.5
1
1.5
2
Frecuencia (kHz)
Err
or*
10
3 (
%)
RecursivoMatricial
30 40 50 60 70 8060
80
100
120
140
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-50
-40
-30
-20
-10
0
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-10
-5
0
5
10
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
60
(a) (b)
Figura II.12. Error en la estimación del condensador de resonancia C en función de la frecuencia de
conmutación con frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.3 Resultados con parámetros de entrada V0, IL y VC
Este apartado sigue la misma estructura que el anterior a diferencia de que solo
se presentan las gráficas que hacen referencia a las estimaciones de R y L, ya que, para
esta forma del algoritmo, el valor de C se considera conocido. A su vez para ambas
formas se presentan los resultados tanto con ruido blanco como sin él. Dicha señal de
ruido ha sido dotada de una potencia igual a 10-14
W en relación con la de las señales de
entrada, para tener un sistema más cercano a la realidad.
II.3.1. Euler hacia adelante sin ruido
En este caso y sin introducir ruido a las señales de entrada se obtienen también
errores nulos para los dos parámetros estimados R y L:
(a) (b)
Figura II.13. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
30 40 50 60 70 80-1
-0.5
0
0.5
1
Frecuencia (kHz)
Err
or*
10
3 (
%)
RecursivoMatricial
30 40 50 60 70 80-40
-20
0
20
40
60
80
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-20
0
20
40
60
80
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 80-10
0
10
20
30
40
50
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
61
(a) (b)
Figura II.14. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
La disminución del número de bits a la hora de representar las señales de entrada
también afecta considerablemente en este caso a los resultados, aunque no en tanta
medida como para el algoritmo con señales de entrada V0 e IL. En la Figura II.15 y
Figura II.16 se observan errores que no superan el 2.5% para R y el 1% para L.
(a) (b)
Figura II.15. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
(a) (b)
Figura II.16. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.3.2. Trapezoidal sin ruido
Los errores en la estimación de R y L siguen siendo nulos al igual que en casos
anteriores sin la adición de ruido:
30 40 50 60 70 80-8
-6
-4
-2
0
2
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 80-4
-3
-2
-1
0
1
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.1
-0.05
0
0.05
0.1
0.15
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-1
-0.5
0
0.5
1
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.2
-0.1
0
0.1
0.2
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
62
(a) (b)
Figura II.17. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.18. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
Los resultados son similares a los obtenidos con el otro método de
discretización, con 8 y 10 bits para las señales de entrada, aunque presentando menos
picos a lo largo de la zona de estudio:
(a) (b)
Figura II.19. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
30 40 50 60 70 80-20
0
20
40
60
80
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 80-10
0
10
20
30
40
50
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 80-8
-6
-4
-2
0
2
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 80-4
-3
-2
-1
0
1
Frecuencia (kHz)
Err
or*
10
-9 (
%)
RecursivoMatricial
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.2
-0.1
0
0.1
0.2
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
63
(a) (b)
Figura II.20. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.3.3. Euler hacia adelante con ruido
En las gráficas presentes en la Figura II.21 a Figura II.24 se observa como esta
forma del algoritmo es menos sensible al ruido que la que utiliza únicamente los
parámetros de entrada IL y V0. En el caso de la estimación de R se obtiene un error
máximo de 2.5% para FS de 10 MHz y fsw de 75 kHz. Al duplicar FS empeoran los
resultados debido a los errores de cancelación.
(a) (b)
Figura II.21. Estimación de la resistencia R en función de la frecuencia de conmutación (a) Frecuencia de
muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.22. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
30 40 50 60 70 80-1
-0.5
0
0.5
1
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.2
-0.1
0
0.1
0.2
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 802.84
2.86
2.88
2.9
2.92
2.94
Frecuencia (kHz)
R (
Oh
m)
RecursivoMatricialReal
30 40 50 60 70 802.85
2.9
2.95
3
Frecuencia (kHz)
R (
Oh
m)
RecursivoMatricialReal
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
1
2
3
4
5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
64
La estimación de L acarrea un error en torno a -0.2%, por lo que se puede
concluir que esta forma del algoritmo responde bastante bien aún con ruido en las
medidas.
(a) (b)
Figura II.23. Estimación de la inductancia L en función de la frecuencia de conmutación (a) Frecuencia de
muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.24. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
Respecto al número de bits de las señales de entrada, para 8 bits los errores
aumentan ligeramente y presenta mayor dispersión. Con 10 bits los resultados son muy
parecidos a los obtenidos al utilizar reales:
(a) (b)
Figura II.25. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
30 40 50 60 70 8018.6
18.61
18.62
18.63
18.64
18.65
18.66
Frecuencia (kHz)
L (
H)
RecursivoMatricialReal
30 40 50 60 70 8018.54
18.56
18.58
18.6
18.62
18.64
18.66
Frecuencia (kHz)
L (
H)
RecursivoMatricialReal
30 40 50 60 70 80-0.22
-0.2
-0.18
-0.16
-0.14
-0.12
-0.1
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.45
-0.4
-0.35
-0.3
-0.25
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
1
2
3
4
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
65
(a) (b)
Figura II.26. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.3.4. Trapezoidal con ruido
Con respecto al anterior método de discretización se obtienen resultados
similares en la estimación de R, también con un error máximo de 2.5%:
(a) (b)
Figura II.27. Estimación de la resistencia R en función de la frecuencia de conmutación (a) Frecuencia de
muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.28. Error en la estimación de la resistencia R en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
Es en la estimación de L donde se observa una mayor mejoría de los resultados.
El valor en torno al que se sitúa el error sigue siendo de -0.2% pero se han suavizado los
picos presentes en parte de la zona de estudio:
30 40 50 60 70 80-0.35
-0.3
-0.25
-0.2
-0.15
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.25
-0.2
-0.15
-0.1
-0.05
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 802.84
2.86
2.88
2.9
2.92
2.94
Frecuencia (kHz)
R (
Oh
m)
RecursivoMatricialReal
30 40 50 60 70 802.85
2.9
2.95
3
Frecuencia (kHz)
R (
Oh
m)
RecursivoMatricialReal
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
1
2
3
4
5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
66
(a) (b)
Figura II.29. Estimación de la inductancia L en función de la frecuencia de conmutación (a) Frecuencia de
muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
(a) (b)
Figura II.30. Error en la estimación de la inductancia L en función de la frecuencia de conmutación (a)
Frecuencia de muestreo 10 MHz (b) Frecuencia de muestreo 20 MHz.
Como en el caso anterior los resultados con las señales de entrada representadas
en 10 bits son similares a los obtenidos al trabajar con las mismas en reales y con las
medidas en 8 bits empeoran ligeramente:
(a) (b)
Figura II.31. Error en la estimación de la resistencia R en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
30 40 50 60 70 8018.6
18.61
18.62
18.63
18.64
18.65
18.66
Frecuencia (kHz)
L (
H)
RecursivoMatricialReal
30 40 50 60 70 8018.54
18.56
18.58
18.6
18.62
18.64
18.66
Frecuencia (kHz)
L (
H)
RecursivoMatricialReal
30 40 50 60 70 80-0.25
-0.2
-0.15
-0.1
-0.05
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.5
-0.45
-0.4
-0.35
-0.3
-0.25
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
1
2
3
4
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 800
0.5
1
1.5
2
2.5
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
ANEXO II. RESULTADOS DE SIMULACIÓN
67
(a) (b)
Figura II.32. Error en la estimación de la inductancia L en función de la frecuencia de conmutación con
frecuencia de muestreo de 10 MHz y señales de entrada en (a) 8 bits (b) 10 bits.
II.4 Resultados del estudio del tiempo de cómputo del
algoritmo
El propósito de este apartado es conocer el tiempo del que dispondría la FPGA
para realizar las operaciones sin que el error de las estimaciones aumente
excesivamente. El tiempo que requiere el algoritmo para realizarlas se denomina tiempo
de cómputo TC.
La Figura II.33 muestra gráficamente el significado de TC, para evitar
confundirlo con el periodo de muestreo TS. En ella aparece un trío de medidas
representadas por cruces rojas y otro trío posterior representado por triángulos. En cada
caso las medidas están separadas entre ellas un tiempo TS, puesto hace referencia al
tiempo de muestreo. Con las cruces se obtendría el vector (k) que contiene la solución
en el instante k. Tras un tiempo TC se volvería a ejecutar el algoritmo con las medidas
simbolizadas por los triángulos, obteniéndose el vector (k+1) con las soluciones en el
instante k+1.
Figura II.33. Esquema de tiempos del tiempo de cómputo del algoritmo TC con parámetros de entrada V0
e IL.
30 40 50 60 70 80-0.35
-0.3
-0.25
-0.2
-0.15
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
30 40 50 60 70 80-0.26
-0.24
-0.22
-0.2
-0.18
-0.16
-0.14
Frecuencia (kHz)
Err
or
(%)
RecursivoMatricial
TS
TC IL
TS TS TS
ANEXO II. RESULTADOS DE SIMULACIÓN
68
El estudio se ha realizado para las dos formas del algoritmo que difieren en los
parámetros de entrada y para los dos tipos de discretización con FS de 10 MHz. La fsw a
la que se ha hecho el estudio ha sido de 75 kHz por ser el caso más desfavorable.
Como se ha dicho anteriormente solo el algoritmo con parámetros de entrada V0,
IL y VC se ha implementado con ruido debido a los elevados errores presentes en las
estimaciones con la otra forma del algoritmo. La forma matricial no se ha simulado ya
que no tiene sentido realizar este estudio sobre dicho método.
II.4.1. Parámetros de entrada V0 e IL sin ruido
Sin la adición de ruido los resultados representados en la Figura II.34 y Figura
II.35 muestran que el error al aumentar TC es muy pequeño para ambas formas de
discretización. Aun así se observa como la trapezoidal es menos sensible a la variación
de este parámetro y presenta errores de dos órdenes menos que la forma Euler hacia
adelante.
(a) (b)
Figura II.34. Error en la estimación de la resistencia R en función del tiempo de cómputo Tc (a) Euler
hacia adelante (b) Trapezoidal.
(a) (b)
Figura II.35. Error en la estimación de la inductancia L en función del tiempo de cómputo TC (a) Euler
hacia adelante (b) Trapezoidal.
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.2
0.4
0.6
0.8
Tiempo de computo (s)
Err
or
(%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.5
1
1.5
2
2.5
3
Tiempo de computo (s)
Err
or*
10
-3 (
%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.5
1
1.5
2
Tiempo de computo (s)
Err
or*
10
-3 (
%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
0
Tiempo de computo (s)
Err
or*
10
-3 (
%)
ANEXO II. RESULTADOS DE SIMULACIÓN
69
II.4.2. Parámetros de entrada V0, IL y VC sin ruido
En este caso el algoritmo presenta error nulo para todas las estimaciones:
(a) (b)
Figura II.36. Error en la estimación de la resistencia R en función del tiempo de cómputo TC (a) Euler
hacia adelante (b) Trapezoidal.
(a) (b)
Figura II.37. Error en la estimación de la inductancia L en función del tiempo de cómputo TC (a) Euler
hacia adelante (b) Trapezoidal.
II.4.3. Parámetros de entrada V0, IL y VC con ruido
Partimos de un error en la estimación de R del 2.5% para ambas formas de
discretización, considerando TC igual al periodo de muestreo. En la Figura II.38 se
observa que el sistema tiene una precisión menor del 5% para un TC de 0.6 µs en el caso
de Euler hacia adelante y de 2.5 µs en el caso del algoritmo trapezoidal. Por ello dichos
tiempos serían los que tendría la FPGA para realizar las operaciones requeridas por el
algoritmo correspondiente sin que aumentara considerablemente el error.
(a) (b)
Figura II.38. Error en la estimación de la resistencia R en función del tiempo de cómputo TC (a) Euler
hacia adelante (b) Trapezoidal.
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
1
2
3
4
Tiempo de computo (s)
Err
or*
10
-6
(%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
1
2
3
4
Tiempo de computo (s)
Err
or*
10
-6
(%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.8
-0.6
-0.4
-0.2
0
Tiempo de computo (s)
Err
or*
10
-6 (
%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.4
-0.3
-0.2
-0.1
0
Tiempo de computo (s)
Err
or*
10
-6 (
%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-5
0
5
10
Tiempo de computo (s)
Err
or
(%
)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-5
0
5
10
Tiempo de computo (s)
Err
or
(%
)
ANEXO II. RESULTADOS DE SIMULACIÓN
70
Como muestra la Figura II.39 para la estimación de L el aumento del error al
variar TC es menor por lo que es la estimación de R la que nos restringe el valor máximo
del tiempo de cómputo.
(a) (b)
Figura II.39. Error en la estimación de la inductancia L en función del tiempo de cómputo TC (a) Euler
hacia adelante (b) Trapezoidal.
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
3
Tiempo de computo (s)
Err
or
(%)
0.1 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-3
-2
-1
0
1
2
Tiempo de computo (s)
Err
or
(%)
ANEXO III. ENTORNO VIVADO HLS
71
ANEXO III. ENTORNO VIVADO HLS
En este anexo se pretende introducir el software de síntesis de alto nivel para
FPGAs de Xilinx llamado Vivado HLS (High-Level Synthesis). Todas las figuras
contenidas en los siguientes apartados así como la información que en ellos se expone
ha sido obtenida de la documentación desarrollada por Xilinx respecto a Vivado HLS
[11, 12].
Las herramientas de síntesis de alto nivel parten de un diseño descrito
algorítmicamente mediante un código en lenguaje C, C++ o SystemC. A partir de él
crean un diseño RTL (Register Transfer Level) en un lenguaje de descripción de
hardware HDL (Hardware Description Language) para sintetizarlo posteriormente a
nivel de puertas lógicas.
En la Figura III.1 se muestra el desarrollo de un diseño con Vivado HLS. En el
primer nivel se tiene el código en lenguaje C, tanto el diseño como el Test Bench.
Además es posible imponer algunas restricciones como el dispositivo en el que se
quiere implementar el diseño o valores de latencia máximos. En esta etapa ya es posible
comprobar si el código funciona correctamente. Tras la síntesis se crea el diseño RTL a
partir del cual se puede verificar si su comportamiento es el adecuado. Por último se
implementa en bloques lógicos en función del dispositivo elegido. En este nivel se
obtienen resultados relacionados con la utilización de componentes y el tiempo de
ejecución del diseño.
Figura III.1. Pasos en el desarrollo de un diseño con Vivado HLS.
ANEXO III. ENTORNO VIVADO HLS
72
La principal ventaja que conlleva el uso de herramientas HLS es el control que
proporcionan al diseñador sobre la optimización de la arquitectura del diseño. Además
aportan las ventajas propias de realizar la descripción con HDLs. Algunas de ellas son:
Verificación del funcionamiento del sistema dentro del proceso de diseño sin
necesidad de implementar el circuito.
Simulación del diseño, previo a que éste sea implementado a nivel RTL,
permitiendo probar la arquitectura del sistema y así tomar decisiones en cuanto a
cambios en el diseño.
Las herramientas de síntesis tienen la capacidad de convertir una descripción
hecha en un HDL, VHDL por ejemplo, a puertas lógicas y, además, optimizar
dicha descripción de acuerdo a la tecnología utilizada.
Esta metodología elimina el antiguo método tedioso de diseño a nivel RTL,
reduciendo el tiempo de diseño y la cantidad de errores producidos en la
implementación del circuito.
Las herramientas de síntesis permiten transformar automáticamente un circuito
obtenido mediante la síntesis de un código en algún HDL, a un circuito pequeño
y rápido. Además, es posible aplicar ciertas características al circuito dentro de
la descripción para afinar detalles (latencia, segmentación, etc.) en la
arquitectura del circuito y que dichas características se obtengan en la síntesis de
la descripción.
Las descripciones en un HDL proporcionan documentación de la funcionalidad
de un diseño independientemente de la tecnología utilizada.
Un circuito hecho mediante una descripción en un HDL puede ser utilizado en
cualquier tipo de dispositivo programable capaz de soportar la densidad del
diseño. Es decir, no es necesario adecuar el circuito a cada dispositivo porque las
herramientas de síntesis se encargan de ello.
En las secciones expuestas a continuación se muestran las distintas formas que
tiene Vivado HLS de representar el código, de forma que se facilita su comprensión
respecto a los componentes utilizados y a los ciclos de reloj necesarios. También se
muestra la forma de llevar a cabo las optimizaciones durante el desarrollo de un diseño.
III.1 Interfaz de Vivado HLS
La interfaz de Vivado HLS es distinta dependiendo en qué punto del desarrollo
se encuentre o de la forma en que se quiere tratar el código que modela el diseño. Esto
permite facilitar la visualización del código a la hora de depurarlo y la comparación de
los resultados relativos al área de ocupación y latencia.
ANEXO III. ENTORNO VIVADO HLS
73
La interfaz gráfica de usuario GUI (Graphical User Interface) general es la
mostrada en la Figura III.2.
Figura III.2. Interfaz gráfica de usuario.
En la ventana situada a la izquierda aparecen las distintas soluciones del diseño,
así como los archivos referentes al código fuente y a los Test Bench. En la ventana
central se muestra el contenido de los archivos seleccionados y las soluciones de
implementación tras la misma. A la derecha una lista con las funciones y vectores
contenidos en el código seleccionado permite la imposición de las directivas. Por último
en la ventana inferior se incluye la consola, en la que se visualizan mensajes de error o
alerta y los datos que el código muestra por pantalla.
En los primeros pasos del diseño se parte de un código en lenguaje C que
modela el diseño. Para compilarlo y depurar los posibles errores cometidos al
programarlo es posible utilizar una forma distinta al mostrar el código.
ANEXO III. ENTORNO VIVADO HLS
74
Figura III.3. Modo de visualización del código al depurarlo.
En la Figura III.3 se muestra una parte de la interfaz en esa etapa. En ella se
observan simultáneamente el código y la instrucción que se está ejecutando en ese
instante así como los valores que las variables toman en cada momento.
Para facilitar la depuración se pueden añadir puntos de parada a lo largo del
código, los cuales aparecen en la ventana de la derecha al moverse a través de las
distintas pestañas. También en este caso se muestra la consola con los mensajes de error
o valores que el código enseña por pantalla.
Una vez que se ha sintetizado el diseño es posible visualizarlo en forma de
bloques tal y como muestra la Figura III.4. En ella se observa como el bloque bb
contiene el inicio de la sentencia ‘if’, que desemboca en los bloques bb2 o bb1 en
función de si se cumple la condición impuesta o no.
En la ventana central se muestran a su vez las instrucciones contenidas en cada
bloque y los ciclos de reloj que necesitan para ejecutarse. Existe la posibilidad de
cambiar de pestaña para visualizar el código, lo que facilita la comprensión del esquema
de bloques.
ANEXO III. ENTORNO VIVADO HLS
75
Figura III.4. Modo de visualización del diseño por bloques.
Los recursos de hardware utilizados para implementar el código aparecen
listados en la ventana de la izquierda. Estos se agrupan en:
Puertos.
Módulos.
Memorias.
Expresiones.
Registros.
En el caso de la operación seleccionada en la Figura III.4 se observa que el
recurso utilizado es un registro y que para su ejecución requiere únicamente un ciclo de
reloj.
De esta forma tan visual el usuario alcanza una idea de lo que ocupa el diseño y
los componentes que emplea, facilitando la fase de optimización al poner al descubierto
las partes claramente mejorables del diseño.
El informe de resultados de síntesis se presenta en la ventana central de la GUI
tal y como se muestra en la Figura III.5. En ella las estimaciones se agrupan en
conjuntos tales como el rendimiento, el área o la potencia, dentro de los cuales se
despliega información más detallada acerca de cada uno de los conjuntos.
ANEXO III. ENTORNO VIVADO HLS
76
Figura III.5. Visualización de resultados de implementación.
De la parte de rendimiento estimado se obtiene información acerca de la máxima
frecuencia de reloj y de la latencia general del diseño y de la individual de los bucles.
En la categoría de área estimada se exponen los recursos utilizados para
implementar los registros, expresiones, memorias, etc. Se detalla también por separado
qué hardware concreto utiliza cada uno.
En la de potencia estimada se muestra la que consume cada recurso por separado
y la global. El valor obtenido es una mera estimación que sirve únicamente de
comparación entre distintas soluciones del diseño.
III.2 Optimización del diseño con Vivado HLS
La síntesis de un diseño en lenguaje C a RTL requiere muchas transformaciones
que modifican aspectos del mismo relativos al área utilizada y su ejecución. Una
herramienta HLS permite realizarla con mínimas modificaciones. Los dos tipos de
síntesis son:
De algoritmo. Sintetiza las instrucciones contenidas en las funciones en
instrucciones de RTL a lo largo de un número de ciclos de reloj.
De interfaz. Transforma los parámetros de la función en puertos con protocolos
de tiempo, permitiendo al diseño comunicarse con otros diseños del sistema.
ANEXO III. ENTORNO VIVADO HLS
77
La síntesis de alto nivel se ejecuta en múltiples pasos. Además los efectos de
cada tipo de síntesis afectan al alcance de la otra. Debido a las numerosas decisiones
que se toman, el número de implementaciones y optimizaciones posibles es enorme.
Vivado HLS permite al usuario obtener el mejor diseño en un tiempo reducido debido a
la facilidad de implementación de las optimizaciones. Esta se realiza sin variar el código
del diseño, simplemente introduciendo directivas.
Figura III.6. Interfaz gráfica de usuario con directivas.
La Figura III.6 muestra la GUI en la que aparecen las distintas directivas que se
pueden imponer al diseño. En la ventana (1) se especifica el código fuente que se quiere
visualizar. En la pestaña (2) aparece la lista con las funciones y vectores del código. En
esa misma ventana aparecen también las directivas introducidas. Para ello simplemente
se selecciona la función que se quiere optimizar (3). Se despliega entonces una lista con
las directivas disponibles según las cuales se optimizará de una manera u otra el
comportamiento del diseño. Es en esa ventana (4) donde se introducen los parámetros
necesarios para cada una de las distintas directivas.
De esta forma se optimiza el diseño sin necesidad de modificar el código.
Además es posible disponer de cuantas soluciones se requiera, modeladas por el mismo
código pero a las que se les han añadido distintas directrices. De esta manera se pueden
visualizar simultáneamente los resultados de implementación de varias soluciones
facilitando la comparación entre ellas.
ANEXO III. ENTORNO VIVADO HLS
78
De entre el gran número de directivas de las que dispone, la que consigue la
mayor ventaja es PIPELINE, aportando concurrencia al diseño. La naturaleza secuencial
del lenguaje C causa dependencias entre operaciones, que tienen que esperar su turno de
ejecución. Con la directiva mencionada se permite tanto a las funciones como a los
bucles ejecutar las operaciones en paralelo reduciendo las limitaciones de tiempo.
(a) (b)
Figura III.7. Comportamiento de la directiva PIPELINE a nivel de (a) función (b) bucle.
Por defecto Vivado HLS intenta ejecuta las operaciones en paralelo reduciendo
la latencia del diseño. Con la directiva se puede mejorar el rendimiento permitiendo
diferentes formas de ejecución de la función o iteraciones del bucle, solapándolas en el
tiempo. En la Figura III.7 se muestran las latencias de un código con tres funciones y
otro de un bucle con tres operaciones en cada iteración. A priori los ciclos de reloj
necesarios son 8 y 6 respectivamente. Al incluir la directiva se solapan las funciones A,
B y C reduciéndose el número de ciclos a 5. En el caso del bucle, cuando termina la
primera operación de la primera iteración comienza la operación siguiente,
simultáneamente a la primera operación de la segunda iteración, reduciéndose la
latencia a 4 ciclos.
También es posible modificar el hardware utilizado para la implementación del
diseño. A priori al sintetizarlo se crea de forma óptima siguiendo las restricciones
impuestas por defecto. Pero es posible que sea interesante ocupar menos o distintos
componentes de los que se han utilizado a cambio de un aumento del tiempo de
ejecución.
ANEXO III. ENTORNO VIVADO HLS
79
En el ejemplo de la Figura III.8 aparecen tres opciones distintas de
implementación para un mismo diseño. En la primera de ellas las operaciones se
ejecutan en paralelo necesitando un único ciclo de reloj, aunque para ello se utilizan
cuatro multiplicadores y tres sumadores. En la opción dos se reducen a la mitad los
multiplicadores y se reducen a dos los sumadores, aumentando la latencia a dos ciclos
de reloj. En la última implementación vuelven a duplicarse los ciclos de reloj, aunque en
este caso solo son necesarios un multiplicador y un sumador para llevar a cabo el
diseño.
Estas modificaciones son posibles simplemente indicando la utilización de qué
operación se quiere minimizar, el límite de recursos a emplear o la latencia que se desea
para la ejecución del diseño.
Figura III.8. Distintas implementaciones de un mismo diseño.
Otro ejemplo de optimización del diseño es la partición de vectores. Con el
lenguaje C los grupos de elementos similares se almacenan en vectores. Al sintetizarlos
como elementos de almacenamiento, manteniéndose el valor constante a lo largo de los
ciclos de reloj, pueden agruparse en RAMs (Random-Access Memory) o separarlos e
implementarlos como registros individuales. Los beneficios de cada uno son:
Si se accede a un único elemento del vector en cada instante, es más eficiente
respecto al área ocupada almacenarlos juntos en la RAM.
Si por el contario es necesario acceder a más de un elemento a la vez, son
mayores las ventajas funcionales al implementar el vector como un registro
individual, permitiendo el acceso a los datos de forma paralela.
Las directivas que asegurar que la implementación de los vectores se realice de
manera óptima permiten:
Partir vectores con muchos elementos en vectores más pequeños que puedan ser
implementados en la RAM de forma que los datos que se leen en el mismo ciclo
de reloj queden almacenados en distintas instancias.
Implementar pequeños vectores juntos con los mismos recursos de RAM.
ANEXO III. ENTORNO VIVADO HLS
80
La aplicación de unas pocas de las directivas que proporciona Vivado HLS
aumenta significativamente el número de implementaciones distintas, asegurando que
cada diseño en particular se desarrolle en su forma óptima de forma fácil y rápida.
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
81
ANEXO IV. RESULTADOS DE LA
IMPLEMENTACIÓN EN VIVADO HLS
En este anexo se muestran los resultados de la implementación en FPGA de la
forma recursiva trapezoidal del algoritmo mínimos cuadrados mediante el software
Vivado HLS. La FPGA utilizada ha sido la Spartan-6 XC6SLX45 con el package
CSG324C de Xilinx, trabajando a una frecuencia de reloj de 100 MHz.
En los apartados siguientes se presentan los parámetros elegidos para dicha
implementación. A continuación se muestran los resultados respecto a los recursos de la
FPGA y los obtenidos con las distintas optimizaciones. Por último se exponen los
resultados de las estimaciones de la resistencia R y la inductancia L que modelan la
carga inductor-recipiente, así como sus errores en función del tiempo de simulación
TSTOP.
IV.1 Parámetros escogidos para la implementación
Las señales IL, V0 y VC, mediante las que se ejecuta el algoritmo, fueron
obtenidas experimentalmente mediante un banco de pruebas del laboratorio con una
frecuencia de muestreo FS de 10 MHz, un ciclo de servicio D = 0.5 y con un tamaño de
10 bits.
Los valores de la carga patrón utilizada han sido de R = 2.85 Ω y L = 18.65 μH y
el del condensador de resonancia de C = 1440 nF. El rango de estudio respecto a la
frecuencia de conmutación fsw está comprendido entre 35 y 75 kHz. Todos los
parámetros anteriores se eligieron de acuerdo a un estudio previo realizado en
MATLAB.
IV.2 Resultados de síntesis
En este apartado aparecen los resultados referentes a la FPGA. Estos son los
relativos al área de ocupación y a la latencia del algoritmo en función del periodo
mínimo de reloj y el número de ciclos necesarios para su ejecución. El valor de la
potencia es una estimación que debe servir únicamente para la comparación entre
soluciones.
Como restricciones impuestas se tienen el máximo de componentes que presenta
la FPGA, que no deberá superar el 100%, el tiempo de conmutación TC, que no será
mayor de 2 µs, y el periodo de reloj máximo que será inferior a 10 ns.
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
82
En la TABLA IV.1 se observa como la utilización de componentes sobrepasa el
100%, por lo que es necesario implementar alguna optimización que reduzca el área
ocupada.
TABLA IV.1.
RESULTADOS
Mínimo periodo de
reloj (ns) 8.63
Ciclos de reloj
utilizados 116
TC (µs) 1
Potencia 3220
Utilización de
componentes (%)
BRAM DSP48E FF LUT SLICE
0 234 28 60 0
La directiva utilizada para la reducción del número de componentes utilizados es
PIPELINE. El parámetro que se modifica es el intervalo de inicio II. El valor que toma
es el mínimo número de ciclos posible en los que es capaz de procesar una nueva señal
de entrada, permitiendo realizar las operaciones. A través de la TABLA IV.2 a la TABLA
IV.5 se presentan los resultados para distintos II.
TABLA IV.2.
RESULTADOS
Mínimo periodo de
reloj (ns) 15.92
Ciclos de reloj
utilizados 108
II 107
TC (µs) 1.72
Potencia 1509
Utilización de
componentes (%)
BRAM DSP48E FF LUT SLICE
0 58 13 28 0
TABLA IV.3.
RESULTADOS
Mínimo periodo de
reloj (ns) 15.12
Ciclos de reloj
utilizados 116
II 112
TC (µs) 1.75
Potencia 2170
Utilización de
componentes (%)
BRAM DSP48E FF LUT SLICE
0 58 9 40 0
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
83
TABLA IV.4.
RESULTADOS
Mínimo periodo de
reloj (ns) 8.63
Ciclos de reloj
utilizados 117
II 116
TC (µs) 1
Potencia 1523
Utilización de
componentes (%)
BRAM DSP48E FF LUT SLICE
0 58 13 28 0
Finalmente es para un II de 118 ciclos para el que se obtienen los mejores
resultados. El TC se sitúa en torno a 1 µs y el máximo de ocupación no supera el 29%, lo
que conlleva además una importante reducción de la potencia consumida. Además el
tiempo de reloj es menor de 10 ns, lo que permite trabajar con la FPGA seleccionada a
frecuencia de reloj de 100 MHz.
TABLA IV.5.
RESULTADOS
Mínimo periodo de
reloj (ns) 8.63
Ciclos de reloj
utilizados 121
II 118
TC (µs) 1.04
Potencia 1289
Utilización de
componentes (%)
BRAM DSP48E FF LUT SLICE
0 29 11 23 0
IV.3 Resultados de las estimaciones
Las gráficas expuestas a continuación revelan las estimaciones obtenidas y los
errores cometidos en función de TSTOP, tanto de R como de L.
Como muestran la Figura IV.1 y la Figura IV.2, los mejores resultados se
obtienen para fsw = 35kHz, con errores del 3% y tiempo de respuesta de en torno a 1 ms.
De la Figura IV.3 a la Figura IV.18 se observa como al aumentar fsw lo hacen también
los errores y el tiempo de respuesta. El máximo lo alcanzan para una fsw de 75 kHz,
presentando un error en la estimación de R del 21% y del 7% en la de L, siendo la
primera mucho más sensible al cambio de fsw. El tiempo de respuesta máximo es de
unos 2 ms.
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
84
(a) (b)
Figura IV.1. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 35 kHz.
(a) (b)
Figura IV.2. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L en
función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 35 kHz.
(a) (b)
Figura IV.3. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 40 kHz.
(a) (b)
Figura IV.4. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L en
función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 40 kHz.
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
85
(a) (b)
Figura IV.5. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 45 kHz.
(a) (b)
Figura IV.6. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L en
función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 45 kHz.
(a) (b)
Figura IV.7. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 50 kHz.
(a) (b)
Figura IV.8. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L en
función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 50 kHz.
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
86
(a) (b)
Figura IV.9. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 55 kHz.
(a) (b)
Figura IV.10. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L
en función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 55 kHz.
(a) (b)
Figura IV.11. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 60 kHz.
(a) (b)
Figura IV.12. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L
en función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 60 kHz.
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
87
(a) (b)
Figura IV.13. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 65 kHz.
(a) (b)
Figura IV.14. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L
en función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 65 kHz.
(a) (b)
Figura IV.15. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 70 kHz.
(a) (b)
Figura IV.16. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L
en función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 70 kHz.
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
ANEXO IV. RESULTADOS DE LA IMPLEMENTACIÓN EN VIVADO HLS
88
(a) (b)
Figura IV.17. (a) Estimación de la resistencia R (b) Estimación de la inductancia L en función del tiempo
de simulación TSTOP para frecuencia de conmutación fsw de 75 kHz.
(a) (b)
Figura IV.18. (a) Error en la estimación de la resistencia R (b) Error en la estimación de la inductancia L
en función del tiempo de simulación TSTOP para frecuencia de conmutación fsw de 75 kHz.
0 1 2 3 4 52.5
3
3.5
4
4.5
5
Tiempo de simulación (ms)
R (
Oh
m)
0 1 2 3 4 519
20
21
22
23
24
Tiempo de simulación (ms)
L (
H)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
0 1 2 3 4 50
10
20
30
40
50
Tiempo de simulación (ms)
Err
or
(%)
Recommended