49
ANEXOS

ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

  • Upload
    lekhanh

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

ANEXOS

Page 2: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo
Page 3: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 4: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 5: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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)

Page 6: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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)

Page 7: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 8: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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 · · · ·

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)

Page 9: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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)

Page 10: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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( ) · ( ) ( ) .

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)

Page 11: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 12: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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:

Page 13: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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)

Page 14: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo
Page 15: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 16: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 17: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 18: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 19: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 20: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 21: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 22: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 23: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 24: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 25: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 26: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 27: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 28: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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 (

%)

Page 29: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%

)

Page 30: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 31: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 32: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 33: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 34: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 35: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 36: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 37: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 38: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 39: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 40: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 41: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 42: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

Page 43: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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.

Page 44: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 45: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 46: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 47: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 48: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo

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

(%)

Page 49: ANEXOS - zaguan.unizar.eszaguan.unizar.es/record/9682/files/TAZ-PFC-2012-703_ANE.pdfANEXO I. ALGORÍTMO MÍNIMOS CUADRADOS 43 ANEXO I. ALGORITMO MÍNIMOS CUADRADOS En el presente anexo