Está en la página 1de 99

Ejemplos de Simulink

Pedro Corcuera
Dpto. Matemtica Aplicada y
Ciencias de la Computacin
Universidad de Cantabria
corcuerp@unican.es

ndice

Creacin de modelos
Solucin de ecuaciones diferenciales
Subsistemas
Ejemplos en ingeniera

Simulink

Creacin de nuevo modelo en Simulink


Para editar un modelo

Abrir la ventana de un nuevo modelo


Conectar los bloques
Aadir bloques
Cambiar el tamao de los bloques
Modificar etiquetas y aadir anotaciones
Parametrizar los bloques y la simulacin
Ejecutar y modificar

Guardar un modelo (formato Simulink y .m)


Abrir un modelo desde Matlab
Simulink

Elementos de un modelo Simulink


Un modelo Simulink tpico consiste de tres
elementos:
Entradas, Sources o inputs
Constantes, generadores de funciones (ondas senoidales,
escaln o seales creadas en Matlab)

Sistema modelado, representado por el diagrama de


bloques
Salidas, Sinks u outputs
Grficos, osciloscopios, ficheros
Sources

Diagrama
de bloques
del Sistema
Simulink

Sources
4

Abrir ventana de nuevo modelo


Para crear un modelo en Simulink se pulsa sobre el
icono New model del Simulink Library Browser
o se selecciona File New Model

Simulink

Espacio de trabajo
En el espacio de trabajo se colocarn los diagramas
de bloque del modelo

Espacio de trabajo

Simulink

Aadir bloques
Hacer click sobre una librera
para desplegar los bloques

Arrastrar los bloques deseados


dentro de la ventana del modelo
Simulink

Simulink

Aadir bloques
Hacer click sobre una librera
para desplegar los bloques

Arrastrar los bloques deseados


dentro de la ventana del modelo
Simulink

Simulink

Aadir bloques
Hacer click sobre una librera
para desplegar los bloques

Arrastrar los bloques deseados


dentro de la ventana del modelo
Simulink

Simulink

Conectar los bloques


Para aadir un conector:
Arrastrar, pulsando el botn derecho del ratn y la
tecla Ctrl, desde una salida, o desde una entrada, de
alguno de los bloques al otro bloque

Simulink

10

Cambiar el tamao y/o mover los bloques


Tras seleccionar el bloque, aparecen en l los
puntos, desde los cuales se puede arrastrar para
cambiar el tamao del bloque

Posteriormente se pueden mover el bloque


para que las lneas de conexin queden rectas

Simulink

11

Modificar etiquetas y aadir anotaciones


Hacer click en la etiqueta y editarla
Etiquetas
Anotaciones

Hacer dobleclick en el
fondo y escribir el texto
Simulink

12

Parametrizar los bloques

Hacer doble click


sobre el bloque que
se desea
parametrizar
Simulink

13

Parametrizar los bloques

Hacer doble click


sobre el bloque que
se desea
parametrizar
Simulink

14

Parametrizar los bloques

Hacer doble click


sobre el bloque que
se desea
parametrizar
Simulink

15

Parametrizar los bloques

Hacer doble click


sobre el bloque que
se desea
parametrizar
Simulink

16

Guardar el modelo
Para guardar el modelo seleccionar File Save
El sufijo de los modelos Simulink es .mdl
Desde la ventana de comandos de Matlab se puede
abrir el modelo escribiendo el nombre del fichero

Simulink

17

Ejecucin de la simulacin del modelo


Asignar los parmetros de la simulacin
Ejecutar una simulacin desde la ventana del modelo
Poner y sacar valores en/desde los modelos
Utilizar en Matlab los valores obtenidos en la simulacin
Variables definidas en Matlab y Simulink

Simular desde la lnea de comandos

Simulink

18

Asignar parmetros de la simulacin

Simulink

19

Parmetros de la simulacin
Solvers proporcionados:
ode45: Mtodo basado en Dormand - Prince , un paso Runge
Kutta y es recomendado como un primer mtodo
ode23: Mtodo basado en Bogacki Shampine, un paso un
paso Runge Kutta y pude ser ms eficiente que ode45 cuando
la tolerancia es amplia
ode113: Este es un multipaso , de orden variable Adams
Bashforth Moulton PECE. Es recomendable cuando la funcin
evaluacin consume tiempo y la tolerancia es poca
ode15s: Es un multipaso , de orden variable basado en la frmula
de diferenciacin backward
ode23: un paso basado en la frmula de Rosembrock de orden
2.
Simulink

20

Parmetros de la simulacin
Otros parmetos tiene que ver con la entrada/salida
de datos al modelo y desde el modelo

Simulink

21

Parmetros de la simulacin
Los parmetros y variables de los modelos se pueden
acceder desde la ventana de Comandos de Matlab

Simulink

22

Parmetros de la simulacin
Los parmetros y variables de los modelos se pueden
acceder desde la ventana de Comandos de Matlab
Despus de ejecutar la
simulacin en Simulink

Simulink

23

Variables definidas en Matlab y Simulink


Tanto desde la ventana de Matlab como la de
Simulink se ve el mismo Workspace o Espacio de
trabajo
Matlab

Simulink

T=2;
K=1;

Espacio de
trabajo
T=2
K=1

t = 0:0.01:10
pi=3.14159...
Simulink

24

Ejecucin de la simulacin
Se pulsa el icono Start
Start

o en el men Simulation

Simulink

25

Ejecucin de la simulacin
Comando Matlab sim
[t, x, y] = sim('model', Timespan, Opciones, ut)
donde model es el nombre del diagrama de bloques.
Timespan especifica la salida de los puntos de tiempo
Opciones es una estructura que permite asignar los
valores de los parmetros en la ventana de dilogo
Simulation:Parameters
ut asigna la parte Load de la pgina Workspace I/O de la
ventana Simulation:Parameters
Ejemplo:
> [t, y] = sim(ejem1_1,5);
> plot(t, y)
Simulink

26

Solucin de ecuaciones diferenciales que


modelan Sistemas Continuos
Modelo Simulink que resuelve la ecuacin diferencial:
dx
= 5sin ( 4t )
dt
Condicin inicial:

x(0) = 2.

Simulink

27

Diagrama del modelo


Input: funcin 5sin(4t)
Output: x(t) que es la solucin de la ecuacin
diferencial
x(0) = 2
dx
dt

5sin(4t)
(input)

1
s

x( t )
(output)

integrador

A continuacin, se construye el modelo con Simulink


Simulink

28

Seleccin de bloques para el modelo


La siguiente tabla resume el bloque y la librera
donde se encuentra para ser inludo en el modelo
Se arrastra el bloque de la librera hasta la ventana de
trabajo
Modelo
Input
Integrador
Output

Librera
Sources
Continuous
Sink

Simulink

Bloque
Sink
Integrator
Scope

29

Seleccin de bloques para el modelo

Simulink

30

Seleccin de bloques para el modelo

Simulink

31

Seleccin de bloques para el modelo

Simulink

32

Conexin de los bloques con lneas de


seal
Colocar el cursor en el puerto de salida
(> a la derecha) del bloque Sine Wave
.El cursor cambia de forma a cruz
Arrastrar desde el puerto de salida del
bloque Sine Wave hasta el puerto de
entrada (> a la izquierda) del bloque
Integrator . Cuando el cursor se
encuentra sobre el puerto de entrada
cambia de forma a cruz doble
Arrastrar desde la salida del bloque
Integrator hasta la entrada del bloque
Scope

Simulink

Las flechas indican la


direccin de la seal.
33

Configurar bloques con datos del modelo


El input del modelo es:
5sin(4t)
Para ello se hace doble click
en el bloque Sine Wave y en
la ventana de dilogo de los
parmetros del bloque
ingresar:
Amplitude = 5
Frequency = 4
Simulink

34

Configurar bloques con datos del modelo

El valor inicial es: -2


Para ello se hace doble click
en el bloque Integrator y se
ingresa la condicin inicial = -2

Simulink

35

Ejecutar la simulacin

En la ventana de trabajo, click


en Simulation y seleccionar
Start

Otra forma es hacer click en el


icono Start

Simulink

36

Visualizar resultados de la simulacin

Hacer doble click en el


bloque Scope
Se visualiza el output x(t) en
la ventana Scope
Se puede mejorar la
visualizacin utilizando los
iconos de la ventana. Ej.:
Autoscale y Tick labels all

Simulink

37

Visualizar resultados de la simulacin


Ejercicio: Poner en la misma grfica la seal de entrada y la
de salida

Simulink

38

Sistema masa-muelle-amortiguador
Descripcin:

Modelo:
2

Notacin Laplace:

d x
dx
m 2 + c + kx = f (t ) ms 2 X ( s ) + csX ( s) + kX ( s ) = F ( s )
dt
dt
1/ m
X (s)
Notacin simplificada:

G(s) =

mx + cx + kx = F

F ( s)

c
k
s + s+
m
m

FT

Condiciones iniciales, sistema en equilibrio:

funcin de la fuerza es un escaln con magnitud 3


valores de los parmetros: m = 0.25, c = 0.5, k = 1
Simulink

39

Diagrama de simulacin del sistema


continuo de segundo orden
Si se expresa la ecuacin en trminos de la derivada
de mayor orden

1
k
c
x = f (t ) x x
m
m
m

mx + cx + kx = f (t )

Diagrama de bloques asociado:


f(t)
input

velocidad desplazamiento

1m

x

1
s

x

1
s

x(t)
output

c/m
k/m
Simulink

40

Diagrama de bloques Simulink del


sistema continuo de segundo orden
A partir del modelo se identifican los bloques
necesarios en las libreras Simulink:

Bloque Step (1) - Librera Sources


Bloque Sum (1) - Librera Math Operations
Bloque Gain (3) - Librera Math Operations
Bloques Integrator (2) - Librera Continuos
Bloque Scope (1) - Librera Sink

Cada bloque requiere ser configurado con las ICs:


el sistema inicialmente est en equilibrio: x = 0, x = 0
input: escaln con magnitud 3
valores de los parmetros: m = 0.25, c = 0.5, k = 1
Simulink

41

Creacin del diagrama de bloques en


Simulink (scso)
Arrastrar el bloque Sum desde la
librera Math Oper

Doble click en Sum para cambiar los


parmetros a rectangular y + - Simulink

42

Creacin del diagrama de bloques en


Simulink (scso)
Arrastrar el bloque Gain
desde la librera Math Oper

La ganancia es 4 porque 1/m=4

Doble click en Gain para cambiar


los parmetros del bloque
Cambiar etiqueta
Simulink

43

Creacin del diagrama de bloques en


Simulink (scso)
Arrastrar el bloque Step
desde la librera Math Oper

Doble click en Step para cambiar


los parmetros Step time a 0 y
Final value a 3
Simulink

44

Creacin del diagrama de bloques en


Simulink (scso)
Arrastrar los bloques Integrator
desde la librera Continuous

El bloque integrator tiene por defecto valor


inicial 0. No es necesario modificarlo.
Se cambian los ttulos
Simulink

45

Creacin del diagrama de bloques en


Simulink (scso)
Arrastrar el bloque Scope desde
la librera Sink

Simulink

46

Creacin del diagrama de bloques en


Simulink (scso)
Crear dos nuevos bloques Gain
desde la librera Math Oper

Para girar el bloque gain, seleccionarlo,


y elegir Flip Block en el men Format.
Cambiar etiqueta. Doble click en los
bloques Gain para modificar los
parmetros. c/m =2, k/m = 4
Simulink

47

Creacin del diagrama de bloques en


Simulink (scso)
Conectar todos los bloques. Etiquetar las seales haciendo doble click
sobre las lneas.
Para hacer derivaciones de una lnea se coloca el cursor sobre la lnea y
se mantiene pulsada la tecla Ctrl hasta conectar al otro bloque.

Ejecutar

Simulink

48

Resultados del modelo en Simulink (scso)

Respuesta subamortiguada
Overshoot de 0.5
Valor final de 3

Simulink

49

Comprobacin de resultados
x

Forma Standard

c
1
+ x + x = f (t )
k
k
k
= 2.0
m

Frecuencia natural

n =

Tasa de amortiguamiento

c
=
= 0.5
n k

Ganancia esttica

1
K = =1
k

Simulink

50

Uso del bloque de funcin de


transferencia en un scso
El siguiente sistema muelle-masa-amortiguador se
resuelve segn la ec. de movimiento (sin friccin):

mx + cx + kx = f (t )
Tomando la transformada de Laplace e ignorando las
condiciones iniciales
ms 2 X ( s ) + csX ( s ) + kX ( s ) = F ( s )
La funcin de transferencia (output/input X(s)/F(s)) es:
X (s)
1/ m
4
G(s) =
=
G (s) = 2
F (s) s 2 + c s + k
s + 2s + 4
m
m
Simulink

51

Uso del bloque de funcin de


transferencia en Simulink para un scso
Arrastrar los bloques Transfer
Fcn desde la librera Continuous

Ajustar el Numerator y Denominator coefficient a [4]


y [1 2 4] del bloque Transfer Fcn
Simulink

52

Bloque de espacio de estado


El bloque espacio de estado (state-space) es una
alternativa al bloque funcin de transferencia
Las variables de estado para el sistema mma son
posicin y velocidad

x1 = x
x2 = x
Las derivada de las variables de estado son
x1 = x2
k
c
1
x 2 = x1 x2 F
m
m
m
Simulink

53

Bloque de espacio de estado


En notacin matricial
x = Ax + Bu
x1
x=
x2
1
0
c
A= k
m m
u=F
0
B=1
m

y = Cx + Du
y = x1
C = [1 0]
D=0
donde:
A = matriz del sistema
B = matriz de entrada
C = matriz de salida
D = matriz de transmitancia directa
Simulink

54

Bloque de espacio de estado en Simulink


para un scso
Arrastrar los bloques State Space
desde la librera Continuos

Ajustar los valores de las matrices A=[0 1;-4 -2],


B=[0; 4], C=[1 0] y D=[0] del bloque State Space
Simulink

55

Sistema discreto Simulink


Se modela la amortizacin de un prestmo de dinero:

b(k ) = rb( k 1) p (k )
donde:
b(k) pago mensual
r = i+1 siendo i el inters mensual, y
p(k) pago de final de mes.

Modelo de bloques
p(k)

b(k)
z-1

b(k-1)

ki
Simulink

56

Modelo de bloques de sistema discreto


Simulink
Si el balance de un prstamo es:

b(k ) = rb( k 1) p (k )
Considerar como condiciones iniciales:
Balance inicial: 15000
Inters: 1%
Pago mensual = 200

Calcular el balance del prstamo despues de 100


pagos

Simulink

57

Modelo de bloques de sistema discreto


Simulink
A partir del modelo se identifican los bloques
necesarios en las libreras Simulink:

Bloque Constant (1) - Librera Sources


Bloque Sum (1) - Librera Math Operations
Bloque Gain (3) - Librera Math Operations
Bloques Unit delay (1) - Librera Discrete
Bloque Scope y Display (1) - Librera Sink

Cada bloque requiere ser configurado con las ICs:


Bloque Unit Delay, Initial Condition: 15000, Sample Time:
1
Bloque Gain: 1.01
Simulink

58

Modelo de bloques de sistema discreto


Simulink
Modelo Simulink:

200
Constant

6341

z
Unit Delay

Display

-K Gain

Simulink

Scope

59

Modelo de bloques de sistema discreto


Simulink
En Parameter Configuration
de Simulation ajustar a
Solver type: Fixed-step
Solver: discrete
Start time: 0 Stop
time: 100

Simulink

60

Resultado de la simulacin de sistema


discreto Simulink
200
Constant

1
6341

z
Unit Delay

Display

-K Gain

Scope

Simulink

61

Creacin de Subsistemas: Encapsulado


Seleccionar todos los bloques y
seales a ser includos en el
subsistema usando una caja
envolvente
Seleccionar Edit:Create Subsystem
del menu del modelo. Simulink
reemplaza los bloques
seleccionados por un bloque
Subsystem con puertos de entrada
y salida segn las lneas de seales
y les asigna un nombre por defecto
Cambiar el tamao del bloque
Subsystem para que las etiquetas
de puertas sean legibles y mover
para alinear
Simulink

62

Creacin de Subsistemas: Encapsulado


Para ver o editar el subsistema, hacer
doble-click sobre el bloque. Aparecer
una nueva ventana conteniendo el
subsistema.
Adems del los bloques, se aade un
bloque Inport para la seal que entra
al subsistema y un bloque Outport se
aade para la seal que sale del
subsistema. Si se cambia las etiquetas
de esos puertos, cambia las etiquetas
en el icono del nuevo bloque.
Nota: Una vez se crea el subsistema
no hay operacin inversa, por lo que
se sugiere guardar el modelo antes de
crear el subsistema.
Simulink

63

Creacin de Subsistemas: bloque


subsystem
Se desea modelar un sistema de masa-resorte:

El modelo de cada mvil es:


Ecuacin para un mvil:
1
xn =
[kn ( xn1 xn ) kn +1 ( xn xn+1 )]
mn
Simulink

64

Creacin de Subsistemas: bloque


subsystem
Se construye el subsistema de un mvil segn el modelo. La ganancia del
bloque 1/masa se asigna 1/m1.
1
Der

k1
Add

Res.izq
-K-

2
Izq

k2
Add 1

Fuerza
resultante

1/masa

1
s

1
s

Velocidad

Posicion

1
Despl

Res.der

Se hacen dos copias del bloque


subsystem y se conectan los
bloques como se muestra

Simulink

65

Creacin de Subsistemas: bloque


subsystem
Se asignan las constantes de los resortes y masas desde Matlab creando
un fichero .m (pe setSubsys) y se ejecuta en Matlab
% Asignacin de constantes para resortes y masas
k1 = 1; k2 = 2; k3 = 4; m1 = 1; m2 = 3; m3 = 2;
Los parmetros de cada bloque subsystem se configura:
Mvil 1: valor del bloque Gain del bloque Resorte Izq a k1 y para el
bloque Resorte Der a k2. Valor del bloque Gain del bloque 1/masa a
1/m1. Inicializar el bloque Integrator Velocidad a 0 y el Integrator
Posicion a 1.
Mvil 2: valor del bloque Gain del bloque Resorte Izq a k2 y para el
bloque Resorte Der a k3. Valor del bloque Gain del bloque 1/masa a
1/m2. Inicializar el bloque Integrator Velocidad a 0 y el Integrator
Posicion a 0.
Mvil 3: valor del bloque Gain del bloque Resorte Izq a k3 y para el
bloque Resorte Der a 0. Valor del bloque Gain del bloque 1/masa a 1/m3.
Inicializar el bloque Integrator Velocidad a 0 y el Integrator Posicion a 0.
Simulink

66

Creacin de Subsistemas: bloque


subsystem

Desplazamiento

Se configura el bloque Scope para almacenar los datos de salida al


workspace. Asignar Start time a 0 y Stop time a 100. Se puede obtener la
grfica desde Matlab con el comando simplot. Despus de ejecutar las
simulacin, se obtiene:

Tiempo (seg)
Simulink

67

Ejemplo: enmascarado de bloques


Se crea un subsistema. Usamos el
desarrollado para el sistema masaresorte copiando en una nueva ventana
de modelo el bloque Masa-Resorte1

Seleccionar el bloque y
se escoje Edit:Mask
Subsystem en el
men de la ventana de
modelos para obtener
la ventana de dilogo
del editor Mask.
Guardar el modelo
(CartMask)

Simulink

68

Ejemplo: enmascarado de bloques


El editor Mask tiene cuatro
pestaas: Icon,
Parameters, Initialization,
Documentation.
La pgina Documentation
del editor sirve para
establecer un tipo , colocar
una descripcin del bloque
y una descripcin ms
detallada que se mostrar
cuando se selecciona el
sistema Help de Matlab

Simulink

69

Ejemplo: enmascarado de bloques


La pgina Parameters
del editor Mask se usa
para definir parmetros
para el bloque del
Aadir
susbsistema. Se divide Eliminar
en dos secciones: Una Mover arriba
superior en la que se
Mover abajo
define los campos de
dilogo y el orden en
que se muestran,
asociando una variable
Matlab con cada campo.
La seccin inferior
contiene opciones para
cada campo definido en
la parte superior.
Simulink

70

Ejemplo: enmascarado de bloques


La pestaa Parameters se usa
para crear, editar y eliminar
campos de dilogo asociado a
variables Matlab con cada campo.
Para cada campo aadido se
asocia un Prompt, Variable, Type,
Evaluate y Tunable.
Resultado:

Simulink

71

Ejemplo: enmascarado de bloques


El campo Type en Dialog parameters puede ser: edit, Checkbox y Popups .
El valor asignado a la variable asociada con un campo de dilogo depende
del estado de si selecciona el campo Evaluate.
Si Evaluate se selecciona la variable asociada con el campo tendr el valor
de la expresin del campo. El campo Tunable determina si el parmetro se
puede modificar durante la ejecucin de la simulacin.
El campo Callback permite asociar con el parmetro un bloque de cdigo
que se ejecuta cuando el parmetro de dilogo se ingresa.

Simulink

72

Ejemplo: enmascarado de bloques


La pgina Initialization proporciona una lista de variables asociados con
los parmetros del bloque y un campo de Initialization commands. Los
bloques del subsistema se debe configurar para usar las variables
definidas en las pginas Initialization y Parameters. Para ello se selecciona
el subsistema y se escoge Edit:Look Under Mask en el men de la
ventana de modelo. Hacer doble click en el bloque Gain con etiqueta
Res.Izq. Y asignar Gain a k_izq. Repetir con Res.Der. Para asignar Gain a
k_der. Lo mismo con 1/mass para asignar Gain a masa. Asignar Initial
condition del integrador Velocidad a x_dot0 y en Posicion a x0.

Simulink

73

Ejemplo: enmascarado de bloques


Las variables definidas en la mscara de un subsistema son locales y no
pueden acceder a las variables del workspace de Matlab. Un campo de
entrada en el dilogo de un bloque enmascarado puede contener
constantes o expresiones usando variables definidas en el workspace de
Matlab. El valor del contenido del campo de entrada se asigna a la
variable interna del subsistema enmascarado asociado con el campo de
entrada. Esta variable se puede usar para inicializar el bloque o puede
usarse para definir otras variables internas definidas en el campo
Initialization commands
1
Der

-KAdd

2
Izq

Res.izq

-K Add 1

-KFuerza
resultante

1/masa

1
s

1
s

Velocidad

Posicion

1
Despl

Res.der

Simulink

74

Ejemplo: enmascarado de bloques


La pgina Icon permite disear iconos propios para los bloques
enmascarados. Consiste de seis campos. En el campo Drawing commands
se puede poner comandos Matlab para dibujar y etiquetar el icono.
m
Masa-Resorte1

Si en la pgina Initialization se
agrega la lnea:
m_etiq=sprintf('%1.1f kg',mass);
y en Drawing Commands:
text(0.45,0.6,'m')
text(0.25,0.4,m_etiq)

Simulink

75

Ejemplo: Uso de bloque enmascarado


Una vez que se crea el bloque enmascarado se puede copiar a una
ventana de modelo de forma idntica cuando se copia de la librera de
bloques de Simulink. Para el ejemplo se arrastra tres copias del bloque
Masa-Resorte, se conecta y se asignan los parmetros con un fichero .m.
El modelo as queda completo.

Simulink

76

Ejemplo: Vector de estado del modelo


Se tiene el siguiente modelo
Simulink guardado en el fichero
llamado ejmod.mdl

1
s
Sine Wave

1
s

Velocidad

Desplazamiento

Scope

0.2

En la ventana de comandos Matlab se


Gain
ejecuta el comando:
0.4
>> [sizes,x0,states]=ejmod([],[],[],0)
Gain 1
sizes =
2
0
x0 =
0
0
0
0
0
states =
0
'ejmod/Desplazamiento'
1
'ejmod/Velocidad'

Simulink

77

Ejemplo: linealizacin de un modelo


= x2
x 2 = x1 + x23 3x2

1
Se tiene el siguiente sistema no lineal: x

cuyo modelo (nolinear_mod.mdl) en Simulink es:


1
s
x2
Integrator

-1
Gain

1
s
x1
Integrator

f(u)

1
x1 Out

2
x2 Out

Fcn

pow(u[1],3)-3*u[1]

En la ventana de comandos Matlab se ejecutan los comandos:


>> [A,B,C,D]=linmod('nolinear_mod');
>> disp(A)
0 -1.0000
1.0000 -3.0000
>> disp(eig(A))
-0.3820
indica que el sistema es estable
-2.6180
Simulink

78

Movimiento de un vehculo
Considrese un coche conducido en lnea recta a lo
largo de una carretera plana
La ecuacin de movimiento se deduce a partir de los
siguientes factores:
F

b.v

m
Simulink

79

Modelo del vehculo


Ecuaciones:
F = m.dv/dt + b.v
donde:

F = fuerza proporcionada por el motor


m = masa del vehculo
dv/dt = tasa de cambio de velocidad (aceleracin)
b = factor de amortiguamiento (resistencia del viento)
v = velocidad (velocidad del vehculo)

Simulink

80

Modelo del vehculo: Simulink


Ecuaciones:
F/m v.b/m= dv/dt
Subsistemas:
La entrada del sistema es el control de combustible (pedal
de aceleracin), bajo control del conductor
El subsistema Engine Management convierte la posicin
del pedal a potencia del motor
El subsistema Vehicle Dynamics convierte la potencia
del motor a velocidad del vehculo
La salida se suministra en horsepower (hp)
Simulink

81

Modelo del vehculo: Simulink

Simulink

82

Subsistema Engine Management


Convierte la entrada del pedal de combustible (0100%) a potencia del motor (0 200 hp)

Simulink

83

Tablas de interpolacin (Lookup Tables)


Convierte rpm a potencia

Simulink

84

Subsistema Vehicle Dynamics


Convierte la entrada del pedal de combustible (0100%) a potencia del motor (0 200 hp)

Simulink

85

Modelo del vehculo: Ajustes


Cambiar la masa m del vehculo entre 1 ton (coche
pequeo) y 35 tons (camin).
Incrementar la resistencia del aire incrementando la
variable b.
Usando datos reales del fabricante para la Lookup
Table. Se puede modelar tambin motores diesel
Remplazar la entrada Ramp con una entrada Step
para simular cambios bruscos en el pedal de
aceleracin
Simulink

86

Cancelacin de ruido acstico (CRA)


Desarrollar el modelo Simulink de un sistema de
reduccin de ruido utilizando el algoritmo de mnimo
cuadrados medio (Least Mean Squares, LMS)
En audio ruido se refiere a cualquier seal junto a
las que se desean escuchar
Se usa un filtro adaptativo

Simulink

87

CRA: Filtro adaptativo


Diagrama de bloques

Ecuacin
Es un filtro tipo FIR con N coeficientes variables w
N

y(n) = wk ( n) x(n k )
k =0
Simulink

88

CRA: La ecuacin LMS


El algoritmo Least Mean Squares (LMS) actualiza
cada coeficiente sobre la base de cada muestra y
basado en el error e(n)

wk (n + 1) = wk (n) + e(n) xk (n)


Esta ecuacin minimiza la potencia del error e(n)
El valor de (mu) es crtico (compromiso)
Si es demasiado bajo, el filtro reacciona lentamente
Si es muy grande, la resolucin del filtro es pobre
Simulink

89

CRA: Modelo Simulink

Simulink

90

CRA: Entrada/Salidas

Entrada: Seal + Ruido


Salida
Error

Evolucin de los pesos


Simulink

91

Modulacin DSB-AM

Simulink

92

Transformada de Park

Simulink

93

Sistema de Control PI

Simulink

94

Control de tensin de un generador

Simulink

95

Control de tensin de un generador

Simulink

96

Control tensin/frecuencia de un
generador

Simulink

97

Control tensin/frecuencia de un
generador

Simulink

98

Circuito paralelo RLC

Simulink

99

También podría gustarte